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.

Dírková komora: co snímek ztratí

Kamera vrátí pixely. Robot potřebuje milimetry ve své vlastní bázi. Tahle labka je ten řetěz mezi tím — a každý jeho článek je místo, kde může být odpověď tiše špatně.

pixelyco kamera vrátíVisionLabkalibrace, póza, hand-eyemilimetry v bázi robotuco robot potřebujeMezi tím leží čtyři místa, kde může být odpověď tiše špatně.
VisionLab je překlad z pixelů do milimetrů. Ostatní labky ty milimetry používají; tahle je vyrábí.

Model, který stačí

Objektiv je složitá věc, ale geometricky se chová jako díra: každý paprsek prochází jedním bodem a dopadá na rovinu za ním. Z toho plyne všechno ostatní:

u = f·XZ + cu      v = f·YZ + cvperspektivní projekce

A to, co se z toho nedá vzít zpátky

V těch rovnicích vystupuje X a Z jen jako podíl. Zdvojnásob obojí a pixel se nehne. Jeden snímek tedy neurčí bod — určí paprsek.

kameraobrazová rovinapředměta tohle takyJeden snímek neurčí bod. Určí PAPRSEK — všechno na něm dá tentýž pixel.
Bod X = 150 mm ve vzdálenosti Z = 1000 mm padne 120,0 px od středu. Jeden pixel tam odpovídá 1,250 mm.
Zdvojnásob Z a zároveň X — pixel se nehne. To není nedokonalost objektivu, to je celá povaha zobrazení: hloubka je pryč a žádné zpracování obrazu ji nevrátí. Každá metoda v téhle labce je jiný způsob, jak tu chybějící informaci dodat zvenčí.
Táhni vzdáleností i posunem stranou tak, aby zůstal poměr. Pixel se nehne. Šedé body na paprsku dají tentýž obraz jako ten žlutý.

Hloubka není ztracená ze špatné kamery. Je ztracená z principu. Žádné zpracování obrazu ji nevrátí, protože v datech není. Každá metoda v téhle labce je jiný způsob, jak tu chybějící informaci dodat zvenčí:

MetodaCo dodá měřítko
kalibracedeska se známou roztečí
marker (PnP)známá velikost markeru
stereoznámá základna mezi kamerami
hand-eyerobot, který se posune o známý kus

Kdo čeká, že kamera změří vzdálenost bez jedné z těchto čtyř věcí, čeká nemožné.

Kde tahle labka sedí

LabkaOtázka
RotLabjak se orientace zapisuje — VisionLab ji používá, neučí znovu
KineLabrámy a DH; hand-eye je most, který kameru do toho řetězu připojí
FilterLabodhad ze šumu v čase; tady je to statická úloha nejmenších čtverců
VisionLabjak z pixelů udělat milimetry, kterým se dá věřit

Vzorce v této kapitole

u, v — perspektivní projekce
u = f·X/Z + c_u, v = f·Y/Z + c_v [px] dírková komora
— — co jeden snímek dá
paprsek, ne bod [—] X a Z jen jako podíl