Osmibodový algoritmus - Eight-point algorithm
The osmibodový algoritmus je algoritmus používaný v počítačové vidění odhadnout základní matice nebo základní matice vztahující se ke dvojici stereofonních kamer ze sady odpovídajících obrazových bodů. To bylo představeno Christopher Longuet-Higgins v roce 1981 pro případ základní matice. Teoreticky lze tento algoritmus použít i pro základní matici, ale v praxi normalizovaný osmibodový algoritmus, který popsal Richard Hartley v roce 1997, je pro tento případ vhodnější.
Název algoritmu je odvozen od skutečnosti, že odhaduje základní matici nebo základní matici ze sady osmi (nebo více) odpovídajících obrazových bodů. Varianty algoritmu však lze použít pro méně než osm bodů.
Omezení koplanárnosti
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Epipolar_Geometry1.svg/300px-Epipolar_Geometry1.svg.png)
Jeden může vyjádřit epipolární geometrie dvou kamer a bodu v prostoru s algebraickou rovnicí. Všimněte si toho, bez ohledu na to, kde to má smysl je ve vesmíru, vektory , a patří do stejné roviny. Volání souřadnice bodu v referenčním rámci levého oka a zavolejte souřadnice v referenčním rámečku pravého oka a zavolejte rotace a translace mezi dvěma referenčními snímky s.t. je vztah mezi souřadnicemi ve dvou referenčních rámcích. Následující rovnice vždy platí, protože vektor generovaný z je kolmý k oběma a :
Protože , dostaneme
- .
Výměna s , dostaneme
Dodržujte to lze považovat za matici; Longuet-Higgins použil tento symbol naznačit to. Produkt se často nazývá základní matice a označeno .
Vektory jsou rovnoběžné s vektory a proto platí omezení koplanárnosti, pokud tyto vektory dosadíme. Pokud zavoláme souřadnice projekcí do levé a pravé obrazové roviny, pak může být omezení koplanárnosti zapsáno jako
Základní algoritmus
Zde je popsán základní osmibodový algoritmus pro případ odhadu základní matice . Skládá se ze tří kroků. Nejprve formuluje a homogenní lineární rovnice, kde řešení přímo souvisí , a poté rovnici vyřeší, přičemž vezme v úvahu, že nemusí mít přesné řešení. Nakonec jsou spravována vnitřní omezení výsledné matice. První krok je popsán v práci Longuet-Higgins, druhý a třetí krok jsou standardní přístupy v teorii odhadu.
Omezení definované základní maticí je
pro odpovídající obrazové body představované v normalizovaných souřadnicích obrazu . Problém, který algoritmus řeší, je určit pro sadu odpovídajících obrazových bodů. V praxi jsou obrazové souřadnice obrazových bodů ovlivněny šumem a řešení může být také nadměrně určeno, což znamená, že nemusí být možné najít který splňuje výše uvedené omezení přesně pro všechny body. Tato otázka je řešena ve druhém kroku algoritmu.
Krok 1: Formulace a homogenní lineární rovnice
S
- a a
omezení lze také přepsat jako
nebo
kde
- a
to je představuje základní matici ve formě 9-dimenzionálního vektoru a tento vektor musí být na vektor kolmý což lze považovat za vektorovou reprezentaci matice .
Každá dvojice odpovídajících obrazových bodů vytváří vektor . Vzhledem k sadě 3D bodů to odpovídá množině vektorů a všichni musí uspokojit
pro vektor . Vzhledem k dostatečně velkému počtu (nejméně osmi) lineárně nezávislých vektorů je možné určit přímočarým způsobem. Sbírejte všechny vektory jako sloupce matice a pak to tak musí být
Tohle znamená tamto je řešení a homogenní lineární rovnice.
Krok 2: Řešení rovnice
To naznačuje standardní přístup k řešení této rovnice je levý singulární vektor z odpovídající a singulární hodnota to se rovná nule. Za předpokladu, že alespoň osm lineárně nezávislých vektorů se používají ke konstrukci z toho vyplývá, že tento singulární vektor je jedinečný (bez ohledu na skalární násobení) a v důsledku toho a pak lze určit.
V případě, že ke konstrukci je použito více než osm odpovídajících bodů je možné, že nemá žádnou singulární hodnotu rovnou nule. K tomuto případu dochází v praxi, když jsou souřadnice obrazu ovlivněny různými typy šumu. Běžným přístupem k řešení této situace je popsat ji jako a celkem nejméně čtverců problém; nalézt což minimalizuje
když . Řešením je vybrat si jako levý singulární vektor odpovídající nejmenší singulární hodnota . Změna pořadí zpět do a matice dává výsledek tohoto kroku, zde označovaného jako .
Krok 3: Prosazování vnitřního omezení
Dalším důsledkem řešení hlučných souřadnic obrazu je, že výsledná matice nemusí uspokojit vnitřní omezení základní matice, to znamená, že dvě z jejích singulárních hodnot jsou stejné a nenulové a druhá je nula. V závislosti na aplikaci mohou nebo nemusí být menší nebo větší odchylky od vnitřního omezení problém. Pokud je kritické, aby odhadovaná matice splňovala vnitřní omezení, lze toho dosáhnout vyhledáním matice 2. úrovně, která se minimalizuje
kde je výsledná matice z kroku 2 a Frobeniova maticová norma se používá. Řešení problému je dáno nejprve výpočtem a rozklad singulární hodnoty z :
kde jsou ortogonální matice a je diagonální matice, která obsahuje singulární hodnoty . V ideálním případě jeden z diagonálních prvků by měla být nula nebo alespoň malá ve srovnání s ostatními dvěma, které by měly být stejné. V každém případě nastavte