1.    Laboratorní práce z PVI – spojování obrazů

Vypracoval : Tomáš Polcar 780104/0258

 

 

Zadání

Spojte dva navazující obrazy focené z jednoho místa pouze otočením kamery do jednoho pomocí zadaných korespondujících bodů.

 

Postup

Spojení provedeme na základě výpočtu transformační matice mezi obrazy. Pro transformaci obrazu s body o souřadnicích  do obrazu s body o souřadnicích  platí

 

                                                                                                                                (1)

 

 je konstanta specifická pro každý bod

 je sloupcový vektor souřadnic bodu i přetransformovaného do druhého obrazu

 je transformační matice typu 3x3

 je sloupcový vektor souřadnic bodu  v prvním obraze .

 

Ze vztahu (1) sestavíme rovnice

                                                                 

 

                                                           

 

                                      

 

                                                                                                                                       (2)

 

Takto získáme z každých dvou korespondujících bodů dvě rovnice pro výpočet matice . Jelikož má matice  9 prvků, potřebujeme, aby matice  měla hodnost 8. Tím získáme jednodimensionální prostor řešení. Nezáleží na tom, které konkrétní nenulové řešení si vybereme (podle vybraného řešení se nám bude měnit koeficient  jednotlivých bodů.


Nyní se řešení dělí podle počtu zadaných korespondujících bodů.

 

Zadány 4 korespondující body po 3 LN:

V tomto případě máme k dispozici 8 potřebných rovnic a tudíž bez větších problémů vypočteme ze vztahu (2) matici .

 

Zadáno více než 4 korespondujících bodů:

Máme-li zadáno více jak 4 korespondující body, získáme příliš mnoho rovnic. Jelikož však měření není přesné, při přesném řešení rovnic se nám nepodaří nalézt řešení.

Potřebujeme snížit hodnost matice  v rovnici (2) na 8, k čemuž použijeme  techniku SVD. Sestrojíme matici , která bude „blízko“ matice , ale bude mít hodnost 8. „Blízko“ zvolíme tak, aby součet kvadrátů odchylek jednotlivých prvků matic byl minimální

Vycházíme z poznatku, že libovolnou reálnou matici  typu , jde rozložit na součin tří matic

kde  typu  a  typu  jsou ortonormální a  diagonální o  prvcích , kde  a .

 zvolíme tak, že na diagonále matice  necháme prvních 8  a ostatní vynulujeme.

Potom je  a hodnost matice  je 8. Nyní můžeme ze vztahu (2) vypočíst matici  dosazením  za . Před výpočtem matice , je vhodné vynásobit souřadnice normalizační transformací, abychom dosáhli co nejmenšího rozptylu velikosti souřadnic jednotlivých bodů


Nyní již stačí převzorkovat jeden obraz do druhého. To se z důvodu konečné velikosti rastru neprovádí maticí , ale maticí inverzní. Pro každý bod výsledného obrazu se ptám, jaký bod ze zdrojového obrazu mu odpovídá (abych nemusel procházet celý obraz, zjistím kam se transformují rohové body obrazu a procházím jen takto vymezenou oblast). Pro výpočet jasové funkce jsou pak dvě základní metody

 

Nejbližší soused

Hodnota jasu nového pixelu bude dána jasem nejbližšího pixelu po zpětné transformaci

 

Bilineární interpolace

Hodnotu jasu získám interpolací přes  a následně přes .

 

Závěr


Na cvičeních jsem prakticky vyzkoušel spojování dvou obrazů pro zadané 4 body a více. Při spojování s vhodně zvolenými body a při transformaci 2 obrazu do 1 jsem dosáhl velice pěkného výsledku.


Při při transformaci 1 obrazu do druhého, ale došlo k vzájemnému posunutí a na výsledném obrazu je patrný schodovytý přechod.

Další chyba se objevila při zvolení jiných bodů, kdy se jeden bod vyskytoval na výčnělku na střeše. Při této volbě bodů došlo ke značnému zkreslení transformovaného obrazu.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zlepšení bychom možná dosáhli použítím normalizace obrazů. Kolegové, ale ověřili, že normalizace nemá zásadní vliv. Jedna z možných příčin zkreslení obrazů je lineární zkreslení kamery, kdy kamera nezobrazuje přímky na přímky, ale na oblouky. Toto se dá odstranit korekcí kamery, pro kterou však potřebujeme znát její parametry.