Zhangova kalibrace
Do roku 1998 se kamery kalibrovaly na drahém trojrozměrném etalonu. Zhang ukázal, že stačí vytisknout šachovnici na papír a párkrát s ní pohnout před kamerou — a je to dodnes to, co dělá každá knihovna, která to umí.
Odkud se vezme K, když se nezná ani jedna póza
Homografie sama o sobě nestačí: má osm stupňů volnosti a póza jich spotřebuje šest, takže na vnitřní parametry zbudou jen dva. Ale ty dva jsou zadarmo z každého snímku a berou se z jediného faktu — r₁ a r₂ jsou ortonormální:
Označ B = K⁻ᵀK⁻¹. Ta matice je symetrická, takže má šest nezávislých prvků, a obě rovnice jsou v nich lineární. Z n snímků vznikne soustava 2n×6, jejíž řešení je vlastní vektor nejmenšího vlastního čísla. Z B se pak K vytáhne uzavřenými vzorci — Zhangova příloha B.
Proč zrovna ortonormalita. B je obrazem takzvané absolutní kuželosečky — objektu, který se projekcí nemění a nese v sobě všechnu metrickou informaci o kameře. Geometricky ty dvě rovnice říkají, že kruhové body roviny leží na obrazu té kuželosečky. Prakticky stačí vědět, že jsou to jediné dvě věci, které jde o kameře zjistit z jednoho pohledu na rovinu, a že jsou v šesti neznámých lineární — což je důvod, proč to má uzavřené řešení a nepotřebuje počáteční odhad.
Celý postup
- Vytiskni šachovnici a nalep ji na něco rovného.
- Nasnímej ji v různých natočeních — příští kapitola říká, jak různých.
- Najdi rohy (to tenhle nástroj nedělá, dostane je zadané).
- Z každého snímku spočítej homografii.
- Slož soustavu, vyřeš b, vytáhni K.
- Z K a homografií dopočítej pózy.
- Odhadni zkreslení a nakonec všechno dolaď nelineárně na reprojekční chybu.
Tenhle nástroj dělá kroky 4 až 6, tedy uzavřené řešení, a to nelineární doladění vynechává — a je to vědomé. Na přesných datech je uzavřené řešení přesné, což testy ukazují na 1e−9, takže je z něj vidět algebra bez toho, aby ji zakrývala optimalizace. Na zašuměných datech by doladění pomohlo a poslední kapitola to přiznává.