VisionLab kamera jako měřidlo

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Kolik ta kamera vlastně změří

Kalibrace vydá o sobě jediné číslo — reprojekční chybu. Je to nejcitovanější a nejhůř chápaný údaj v celém oboru.

RMS = √( 1N Σ ‖mij − m̂(K, Ri, ti, Mj)‖² )jak daleko od naměřených rohů leží ty spočítané
0.00.51.01.52.00.01.02.03.0šum v detekci rohů [px]chyba fx [%]zvolený počet snímků2, 3, 5
Při šumu 0,3 px a 5 snímcích: chyba fx 0,500 %, reprojekční chyba 0,397 px.
Reprojekční chyba je jediné číslo, které kalibrace o sobě vydá — a je to průměr. Jeden mizerný snímek se v něm schová, proto nástroj ukazuje i chybu po snímcích. A pozor na obrácenou past: reprojekční chyba se dá snížit tím, že se přidají parametry, které nic nemodelují. Malá chyba není důkaz správnosti, je to jen důkaz, že se model dokázal na ta data ohnout.
Chyba ohniska proti šumu v detekci rohů, pro dva, tři a pět snímků. Táhni šumem a sleduj, že víc snímků pomáhá, ale nezachrání špatně natočenou desku.

Tři věci, které reprojekční chyba neříká

  1. Je to průměr. Jeden mizerný snímek z dvaceti se v něm rozpustí. Proto tenhle nástroj ukazuje i chybu po snímcích — a je to první místo, kam se má člověk podívat.
  2. Dá se snížit podvodem. Přidej parametr, který nic nemodeluje (zkosení, třetí radiální člen), a chyba klesne, protože si fit má čím pohnout. Vypadá to jako lepší kalibrace a je to horší — ten šum se vzal z ohniska, kde ho nikdo nevidí.
  3. Neříká nic o tom, co tě zajímá. Reprojekční chyba je v pixelech na desce, kterou jsi měl v ruce. To, co potřebuješ vědět, je chyba v milimetrech na předmětu, který tam tehdy nebyl.

Extrapolace je ta skutečná past. Kalibrace platí tam, kde deska byla. Vzdálenost od 400 do 800 mm a pak měření na 3 metrech je extrapolace modelu zkreslení daleko za data — a nedozvíš se to z ničeho, co ten nástroj vypíše. Kalibruj v tom rozsahu, ve kterém se bude pracovat.

Co s tou přesností jde dělat

ZásahÚčinek
víc snímkůklesá jako 1/√n — deset místo tří pomůže znatelně, sto místo deseti ne
lepší detekce rohůlineárně; subpixelová detekce je zdarma dostupný faktor pět
větší deskalineárně — víc pixelů mezi krajními rohy
pokrýt celý obrazskokově, protože jinak se zkreslení nezměří vůbec
naklonit kolem víc osskokově, viz předchozí kapitola

Vzorce v této kapitole

RMS — reprojekční chyba
RMS = √(Σ‖m − m̂‖²/N) [px] Zhang, rov. (14)