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.

Póza z markeru

Kalibrace je hotová a K se zná. Teď opačná úloha: kde je ten předmět? Když na něm sedí značka známé velikosti, je odpověď jedna homografie daleko.

Čtyři rohy stačí

Rohatý marker dá přesně čtyři body v rovině se známými souřadnicemi — a čtyři body určují homografii, ze které se póza vytáhne přesně tak, jak to dělá kalibrace. Proto se čtvercové značky prosadily: nejsou to čtverce kvůli vzhledu, ale proto, že čtyři je právě to potřebné číslo.

1002005001.0k2.0k5.0k2.05.01020501002005001.0k2.0kpraktická mez ~20 pxpohodlněvzdálenost [mm]marker v obraze [px]
Marker 100 mm je čitelný do zhruba 8,00 m a pohodlně použitelný do 1,60 m.
Velikost v obraze klesá jako 1/Z, takže dvojnásobná vzdálenost znamená poloviční marker — ale přesnost pózy klesá rychleji, protože se zmenšuje i základna, ze které se orientace odhaduje. Nejhorší na tom je, že se to nezhroutí naráz: marker se pořád detekuje, jen se jeho natočení začne převracet sem a tam. Tomu se říká flipping a je to nejčastější stížnost na markerové systémy vůbec.
Velikost markeru v obraze klesá jako 1/Z. Pod zhruba dvaceti pixely přestane být póza použitelná, i když se značka pořád detekuje.

Měřítko je v té velikosti a nikde jinde

Kamera nerozezná malý blízký marker od velkého vzdáleného — z obrazu je to totéž. Vzdálenost tedy vychází úměrně zadané velikosti: kdo napíše 100 mm místo 50, dostane dvojnásobnou vzdálenost a nic se netváří podezřele. Je to nejčastější chyba v markerových systémech vůbec a nedá se odhalit z dat, jen z papíru.

Převracení natočení. S rostoucí vzdáleností se nezhroutí detekce, ale orientace. Rovinná čtveřice bodů má při slabé perspektivě dvě skoro stejně dobrá řešení, která jsou navzájem zrcadlená kolem roviny markeru — a šum mezi nimi přeskakuje. Projeví se to tak, že značka leží klidně a její natočení poblikává. Léčí to větší marker, delší ohnisko, nebo víc bodů mimo rovinu.

Co má marker splňovat

  • Aspoň 20 px na stranu, radši 50. Pod tím je póza k ničemu, i když se značka detekuje.
  • Nesmí být čelně. Marker kolmý k optické ose má slabou perspektivu a přesně to je stav, kdy se natočení převrací.
  • Ploché. Nalepený na zakřivené ploše přestává být rovinný a homografie mlčky přestane platit.

Vzorce v této kapitole

— — dosah markeru
Z_max = f·s/p_min [mm] perspektivní projekce
— — měřítko z velikosti
Z ∝ deklarovaná velikost markeru [—] podobnost