RhinoPhoto

3D digitalizace fyzického modelu pomocí digitálního fotoaparátu

Popis

3D digitalizace reálných objektů pomocí fotoaparátu

RhinoPhoto 13D digitalizace skutečného objektu do podoby počítačového modelu je tvrdý oříšek. Existují sice 3D digitizéry nebo skenery, kvůli obrovské ceně jsou ale často pro běžného smrtelníka nedosažitelné. Zásuvný modul RhinoPhoto jde na věc úplně jinak a kromě něj k digitalizaci potřebujete jenom to, co už většinou stejně máte - digitální fotoaparát s rozlišením alespoň 5 mpix.

Jak funguje automatická rekonstrukce 3D bodů?

Rhinophoto automaticky vytváří 3D body ze sady fotografií objektu s nalepenými kódovými terčíky. Je to skutečně tak jednoduché, jak jednoduše to zní. Na objekt nalepíte speciální kódované terčíky (ty si vytisknete na samolepicí papír nebo je zakoupíte u výrobce), vyfotíte jej z několika úhlů, obrázky nahrajete do nějakého adresáře, řeknete modulu RhinoPhoto kde tento adresář je a on vám z fotek vygeneruje 3D body.

Terčíky vypadají třeba takto:

Dva terčíky jeden terčík

Tvar každého terčíku odpovídá určitému číslu. Toto číslo načte Rhinophoto z fotografie a automaticky vytvoří 2D bod na obrázku ve středu terčíku.

Poté Rhinophoto vypočítá 3D pozice bodů z jednotlivých 2D bodů ze všech obrázků a vytvoří 3D body v Rhinu. Podívejte se na video "How to modelize a Car Hood with Rhinophoto" a bude vám vše jasné.

Postup digitalizace

1 - Umístěte kódový terčík na reálný objekt do každého bodu, který chcete digitalizovat (při 50 terčících - což je 100 bodů - tato práce zabere cca. 10 minut)

RhinoPhoto 01

2 - Umístěte speciální kódové terčíky představující počátek a jednu z os

RhinoPhoto 02

3 - Pořiďte sérii fotografií objektu s terčíky z různých úhlů a nakopírujte tyto fotografie do připravené prázdné složky (dalších cca. 5 minut)

RhinoPhoto 03

4 - Spusťte Rhino a poté spusťte příkaz Rhinophoto a nahrejte fotku ze seznamu.

RhinoPhoto 04

5 - A je to hotovo! Vše je automatické, po provedení výpočtů (čas závisí na počtu obrázků, většinou je to několik minut) vytvoří Rhinophoto v Rhinu 3D body.

RhinoPhoto 05

6 - Nyní můžete z 3D bodů vymodelovat plochy pomocí standardních příkazů Rhina. Můžete použít například příkaz Plát (Patch) pro proložení bodů plochou nebo můžete skrz charakteristické linie bodů proložit křivky a tyto křivky využít opět jako vstup standardních příkazů Rhina, například SíťKřivek (NetworkSrf), Táhnout1 (Sweep1), Táhnout2 (Sweep2) apod.

RhinoPhoto 06

Otázky a odpovědi

Otázky a odpovědi

1. Jaká je minimální velikost digitalizované součásti?

Minimální velikost součásti je dána velikostí terčíků, které na součást musíte nalepit. Obecně lze říci, že tato metoda není vhodná pro součásti menší než cca. 10 x 10 x 10 cm.

2. Jaká je maximální velikost digitalizované součásti?

Reálné omezení maximální velikosti digitalizované součásti neexistuje, pouze jde o to, že kódové terčíky musí být na součásti viditelné a na fotografii musí být "čitelné". Pokud vytisknete a nalepíte na součást velké kódové terčíky a pokud na fotografii bude mít černá tečka uprostřed terčíku průměr alespoň 6 pixelů (obrazových bodů), pak z těchto snímků dokáže Rhinophoto scénu zrekonstruovat.

Výrobce uvádí úspešnou digitalizaci součásti o rozměrech 15 x 3 metry.

3. Je nějak omezen maximální počet fotografií součásti?

Ne, teoreticky není, ale limitem může být paměť vašeho PC. Výrobce provedl úspěšné testy s 200 fotografiemi na PC s Win XP a 2GB RAM.

4. Kolik terčíků mohu použít v jenom projektu?

Počet terčíků je omezen použitým kódováním. Standardní verze Rhinophoto používá 14 bitové kódové štítky.

Kódové terčíky

14bitové kódování teoreticky poskytuje 16384 variant ale protože Rhinophoto načítá terčíky v jakýchkoliv pozicích, máte při použití 14bitového kódování reálně k dispozici 1181 různých variant.

Terčíky mohou být kódovány od 8 do 17 bitů.

Tím máte k dispozici maximálně :

  • 35 různých terčíků při 8bitovém kódování
  • 59 různých terčíků při 9bitovém kódování
  • 107 různých terčíků při 10bitovém kódování
  • 187 různých terčíků při 11bitovém kódování
  • 351 různých terčíků při 12bitovém kódování
  • 631 různých terčíků při 13bitovém kódování
  • 1181 různých terčíků při 14bitovém kódování
  • 2191 různých terčíků při 15bitovém kódování
  • 4115 různých terčíků při 16bitovém kódování
  • 7711 různých terčíků při 17bitovém kódování

Poznámky:

  • Čím vyšší počet bitů, tím obtížnější je dekódování, například terčíky s 16bitovým kódováním se z fotografie načítají obtížněji než terčíky s 14bitovým kódováním.
  • Počet nekódovaných terčíků není nijak omezen

5. Jak je to s přesností?

Přesnost je relativní vzhledem k velikosti součásti.

Přesnost 3D rekonstrukce závisí na několika faktorech:

* Rozlišení digitálního fotoaparátu a kvalita objektivu
* Kvalita kalibrace kamery
* Počet fotografií (více fotografií znamená vyšší přesnost).
* Počet terčíůk umístěných na digitalizované součásti (více terčíků znamená vyšší přesnost).

Podle testů výrobce se přesnost pohybuje v rozmezí 5/1000 až 5/10000 v závislosti na fotoaparátu a objektivu.

Například na ocelové kostce o rozměrech 100 x 100 x 100 mm bylo umístěno 40 terčíků a bylo pořízeno 17 fotografií. Po provedení digitalizace a následné analýze bylo zjištěno, že maximální chyba je 0.038 mm, střední chyba 0.013 mm( více na této stránce).

6. Mohu využít svůj fotoaparát pro digitalizaci?

Teoreticky ano, pokud není příliš starý a jeho senzor má alespoň 5 Megapixelů (Rhinophoto nemůže načítat terčíky z fotografií s méně než 5 MP).Pak by takový digitální fotoaparát měl být s Rhinophoto použitelný, ale pokud vezmeme v úvahu, jakým tempem roste počet fotoaparátů na světovém trhu, není v našich silách otestovat je všechny, nebo alespoň zaručit, že vám váš přístroj poskytne požadovanou přesnost.

Pro použití bez kalibrace je nezbytné, aby váš přístroj dokázal do každého obrázku zaznamenat určitá "EXIF" data (pokud víme, všechny "moderní" aparáty EXIF data zaznamenávají).

Pokud by tomu tak nebylo, je nezbytné spustit na počátku kalibrační proceduru a ověřit data, vypočtená softwarem. Tato data pak budou zapsána do konfiguračního souboru a budou automaticky používána.

Další informace o EXIF datech najdete na následujícím webu: Exchangeable image spins format, 20. září 2006, Wikipedie: http://en.wikipedia.org/wiki/EXIF.

Poznámka: pro dosažení slušné přesnosti doporučujeme SLR fotoaparát s minimálním rozlišením 6Mpixelů.

7. Mohu použít více fotoaparátů?

Rhinophoto pracuje s neomezeným počtem fotoaparátů.Rhinophoto automaticaky vyhledá existující kalibrační soubor pro dané aparáty v databázi. Pokud kalibrační soubor nenajde, použije automaticky data aparátu uložená v EXIF datech každého snímku. V toto případě bude přesnost nižší, ale dostanete alespoň odhad polohy 3D bodů.

8. Mohu mezi pořízením jednotlivých fotografií v jednom projektu zoomovat?

Ne, momentálně nemůžete mezi jednotlivými fotografiemi měnit zoom.

Je tedy nutné, abyste ve všech snímcích použili přesně stejný zoom, jako při kalibraci kamery (obvykle nejnižší zoom).

Praktická ukázka

Příklad použití - digitalizace kapoty automobilu

Všimněte si, že terčíky nebyly na kapotu umístěny náhodně, ale s pomocí nalepených nití tvoří souvislé křivky, které lze v Rhinu snadno rekonstruovat proložením digitalizovaných bodů křivkou. To je obrovská výhoda oproti klasické 3D digitalizaci, kdy je výsledkem změť miliónů bodů, které se jen obtížně převádí na plochy. Takto si můžete při troše šikovnosti zdigitalizovat charakteristické linie objektu a objekt pak rovnou vymodelovat pomocí těchto křivek v Rhinu.

Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 01Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 02
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 03
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 04
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 05
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 06
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 07
Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 08

Na posledním obrázku si všimněte přesnosti, s jakou plocha aproximuje body - odchylka (zjištěná příkazem OdchylkaBodů), se pohybuje v naprosté většině do 0.1 mm (střední vzdálenost je 0.035 mm), v nejhorším případě je to cca. 0.3 mm, což je na objekt velikosti kapoty automobilu myslím slušná hodnota...

Nakonec jsem zkusil dát do pozadí okna Rhina jednu z fotek a výslednou plochu jsem na ni zkusil napasovat - není to ještě úplně ideální a chtělo by to ještě chvíli trpělivosti a experimentů s ohniskovou vzdáleností a s nastavováním správného pohledu, ale je vidět, že plocha je opravdu velice věrná originálu. Žluté tečky jsou zdigitalizované body v Rhinu, pod nimi na ftce prosvítají černé terčíky, nalepené na kapotě auta:

Ukázka digitalizace kapoty auta pomocí modulu RhinoPhoto - 09