Takéletecká fotogrammetrie, pozemní fotogrammetrie, digitální fotogrammetriePokročilý
Definice
Fotogrammetrie je metoda určování tvaru, polohy a rozměrů objektů z překrývajících se fotografií nebo jiných obrazových snímků. Software v nich hledá stejné body, odhaduje pozice kamer a z geometrie paprsků skládá mračno bodů, 3D model, ortofoto nebo měřitelné mapové podklady.
Proč z fotografií vznikne měřitelný 3D model
Fotogrammetrie využívá jednoduchý geometrický fakt: stejný bod viděný z více míst leží na průsečíku paprsků, které vycházejí z jednotlivých kamer. Pokud software najde na snímcích dost společných detailů, může dopočítat polohy kamer i přibližnou prostorovou polohu bodů ve scéně. Z obyčejných fotografií tak vznikne mračno bodů, povrchová síť, texturovaný model, ortofoto nebo podklad pro měření objemu a vzdáleností.
Fotogrammetrie není jen „3D sken z mobilu“. V profesionální podobě pracuje s kalibrací objektivu, souřadnicemi vlícovacích bodů, metadaty ze senzoru a odhadem nejistoty. Ve vývoji se s ní často potkáte v 3D pipeline, GIS aplikacích, kontrole staveb, herní grafice, dokumentaci památek nebo robotice.
Snímek, kamera a překryv: tři podmínky přesnosti
Kvalita výsledku stojí hlavně na tom, zda mají snímky dostatečný překryv a výraznou texturu. Betonová zeď s prasklinami se rekonstruuje lépe než jednolitá bílá plocha. Matná socha je vhodnější než lesklá kovová koule, protože odlesky se při změně úhlu pohledu posouvají jinak než skutečný povrch.
Kamera nemusí být speciální, ale její parametry musí být buď známé, nebo odhadnutelné. Důležitá je ohnisková vzdálenost, zkreslení objektivu, rozlišení, čas závěrky a stabilita expozice. Dron s RTK polohováním může pomoci s georeferencí, ale špatně nafocená scéna zůstane špatná i s drahou technikou.
Výpočetní řetězec fotogrammetrie
Orientace kamer a svazkové vyrovnání
První fáze hledá shodné obrazové příznaky mezi snímky. Algoritmus z nich sestaví vazby, odhadne relativní polohy kamer a vytvoří řídké mračno bodů. Následuje svazkové vyrovnání, které současně zpřesňuje pozice kamer, 3D body a často i parametry objektivu. Právě tato optimalizace rozhoduje, zda model drží pohromadě, nebo se rozpadá na zdeformované části.
Mračno bodů, síť a textura
Druhá fáze zvyšuje hustotu rekonstrukce. Multi-view stereo dopočítá další body na povrchu, z nich vznikne polygonová síť a na síť se promítne textura ze snímků. Pro vizualizaci je důležitý vzhled, pro měření je důležitější správné měřítko, kontrola chyb a jasně popsaný souřadnicový systém.
Kde se přesnost ztrácí
Fotogrammetrie je citlivá na pohyb, málo detailů, opakující se vzory, rozmazání a změny osvětlení. Vegetace ve větru, lesklá auta, vodní hladina nebo průhledné sklo mohou vytvořit věrohodně vypadající, ale geometricky špatný model. Při mapování velkých ploch se chyba může hromadit, pokud projekt nemá kontrolní body nebo uzavřené snímkové bloky.
Fotogrammetrie se často srovnává s LiDARem. LiDAR přímo měří vzdálenost aktivním senzorem, zatímco fotogrammetrie odvozuje tvar z obrazů. Fotogrammetrie obvykle lépe zachytí texturu a barvy, LiDAR bývá stabilnější u scén s horší texturou nebo při požadavku na přímé měření vzdálenosti.
Příklady z praxe
Kontrola fasády historického domu
Památkáři nafotí fasádu historického domu dronem z několika výšek a úhlů. Software spojí snímky do georeferencovaného modelu, ve kterém lze měřit velikost trhlin a plochu poškozené omítky. Výsledek se porovná s dalším letem po rekonstrukci a rozdíly se vyhodnotí bez stavění lešení na celou budovu.
Rychlá kontrola překryvu snímků
Vývojář připravuje webový katalog muzejních exponátů a chce před zpracováním ověřit, zda mají dvojice fotografií dost společných detailů. Krátký skript najde obrazové příznaky a spočítá jejich shody. Nízký počet shod naznačí, že je potřeba exponát přefotit s větším překryvem nebo lepším světlem.
import cv2 img1 = cv2.imread("socha_01.jpg", cv2.IMREAD_GRAYSCALE) img2 = cv2.imread("socha_02.jpg", cv2.IMREAD_GRAYSCALE) orb = cv2.ORB_create(3000) kp1, des1 = orb.detectAndCompute(img1, None) kp2, des2 = orb.detectAndCompute(img2, None) matcher = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) matches = sorted(matcher.match(des1, des2), key=lambda m: m.distance) print(f"Nalezeno shodných bodů: {len(matches)}") print(f"Nejlepších bodů pro kontrolu: {len(matches[:100])}")
Časté omyly
- MýtusFotogrammetrie udělá přesný 3D model z jakýchkoli fotek.
- Ve skutečnostiFotogrammetrie potřebuje překryv, ostrost, texturu a vhodné úhly pohledu. Náhodné snímky z různých časů, s odlesky nebo bez společných detailů často nestačí ani pro stabilní rekonstrukci.
- MýtusKdyž model vypadá dobře, musí být i rozměrově správný.
- Ve skutečnostiVizuálně pěkný model může mít špatné měřítko, lokální deformace nebo posunutý souřadnicový systém. Pro měření je nutná kontrola přesnosti, ne jen kontrola textury.
Časté dotazy
- Kolik fotografií potřebuje fotogrammetrie pro spolehlivý model?
- Fotogrammetrie potřebuje tolik fotografií, aby každý důležitý bod scény byl vidět z více úhlů a s dostatečným překryvem. Malý předmět může stačit nafotit v několika desítkách snímků po kruhu, rozsáhlá stavba nebo lom jich může vyžadovat stovky až tisíce. Rozhodující není samotný počet, ale pokrytí scény, ostrost, textura, stabilní expozice a vhodná změna pozice kamery mezi snímky.
- Proč fotogrammetrie selhává na lesklých a průhledných objektech?
- Fotogrammetrie selhává na lesklých a průhledných objektech proto, že algoritmus hledá stejné obrazové body, které odpovídají stejnému místu na povrchu. Odlesk na chromu nebo skle se při pohybu kamery chová jako odraz okolí, ne jako pevný bod objektu. Průhledný materiál navíc míchá povrch, lom světla a pozadí, takže rekonstrukce může vytvořit díry, vlnění nebo falešné tvary.
- Jak přesná může být fotogrammetrie bez geodetických bodů?
- Fotogrammetrie bez geodetických bodů může dobře zachytit relativní tvar, ale měřítko a absolutní poloha bývají slabší. Model může vypadat správně, přesto nemusí sedět na přesné souřadnice nebo na skutečné rozměry v terénu. Pro technické měření se proto používají vlícovací body, kontrolní body, známé vzdálenosti, kvalitní kalibrace kamery nebo přesná poloha snímače.
- Kdy dává fotogrammetrie přednost dronu před ručním focením?
- Fotogrammetrie z dronu dává smysl u střech, fasád, stavenišť, lomů, polí a jiných scén, které jsou velké nebo špatně dostupné ze země. Ruční focení je vhodnější pro malé předměty, interiéry, detaily a situace, kde lze dobře řídit světlo. Dron nepomůže, pokud předpisy, vítr, stíny nebo nevhodná trajektorie způsobí horší snímky než pečlivé focení ze stativu.
Zdroje
- Photogrammetry(otevře se v novém okně)
- Structure from motion(otevře se v novém okně)
- Structure-from-Motion Revisited(otevře se v novém okně)
- Pixelwise View Selection for Unstructured Multi-View Stereo(otevře se v novém okně)