Első mérföldkő


Folyamat áttekintés

Diagram linkekkel:
https://drive.google.com/open?id=0BxcIGCVQ1uxLLVpoT19NT044NE0
Elmélet:
https://en.wikipedia.org/wiki/3D_reconstruction
https://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.html#epipolar-geometry
Érdemes googlizni erre: 3D image reconstruction image sequence

Kamera kalibráció

Bemenet: képek sorozata (XML-ben kell definiálni), XML paraméterek (kockák száma, kockák mérete, stb.)
Kimenet: torzulási mátrix, leképezési mátrix

Függvények (C/C++):

http://docs.opencv.org/3.0-beta/modules/calib3d/doc/calib3d.html Tutorialok itt: http://docs.opencv.org/3.0-beta/doc/tutorials/calib3d/table_of_content_calib3d/table_of_content_calib3d.html#table-of-content-calib3d

Jellemzők kinyerése

Itt van néhány feature detektor tutorial:
(C/C++)http://docs.opencv.org/3.0-beta/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html#table-of-content-feature2d
Egyszerűbb jellemző kinyerő függvények: (C/C++)
http://docs.opencv.org/3.0-beta/modules/features2d/doc/features2d.html
Kicsit összetettebb jellemzők (SIFT és SURF is meg van valósítva C/C++)
http://docs.opencv.org/3.0-beta/modules/xfeatures2d/doc/xfeatures2d.html

Matching

Tutorial1:
http://docs.opencv.org/3.0-beta/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html#feature-flann-matcher
Bármit találtok, lehet ide dobálni, meg olvasgatni ezeket, kiszedni belőle a lényeget, hogy legyen egy programváz, amit be tudunk mutatni. Hol milyen függvényeket hívnánk, hogy olvasnánk be a sok képpárt, miként párosítjuk őket, milyen jellemzők alapján, milyen módszerrel, stb.

Egyéb olvasnivaló


https://en.wikipedia.org/wiki/Computer_stereo_vision
https://en.wikipedia.org/wiki/Epipolar_geometry
https://en.wikipedia.org/wiki/Fundamental_matrix_%28computer_vision%29

Költségbecslés

Software költségek:
OpenCV : ingyenes még commercial use-ra is (BSD licence)
C++: Visual Studio Professional: 500$/fő
forrás:https://www.visualstudio.com/en-us/products/how-to-buy-vs.aspx)
Eclipse for C++: ingyenes
további opció?

Hardware költségek: Drón:
DJI Phantom Standard 3 : 180e kb. (http://www.220volt.hu/DJI+Phantom+3+Standard)
Fényképezőgép:
Canon EOS 40D objektív nélkül: 90e utolsó ismert ára (http://www.arukereso.hu/digitalis-fenykepezogep-c40/canon/eos-40d-body-p17684781/)
Belépőszintű Canon DSLR+18-55mm objektív: 110e (http://www.edigital.hu/canon-dslr/canon-eos-1200d-digitalis-fenykepezogep-kit-(ef-18-55mm-dc-iii)-fekete-p419251.html)
Mivel a quadcopter kell, meg egy fényképezőgép, így min. 300e Ft-ra lenne szükség itt. Így feltesszük, hogy számítógépet nem veszünk, saját laptopon dolgozunk, stb. Ez a becslés csak nőhet. (pl memóriakártya, akksi/elem a gépbe, áramfogyasztás, stb...)

Kulcsszavak gyakorlatról: rektifikáció, fundamentális-mátrix, Menet: kulcspontok › párosítás (Ransac vagy vmi más) › párokból fundamentális mátrixot számolni › 3D rekonstrukció (ehhez kell a kamera kalibráció, az előző lépésekhez nem)

Csapat felosztása elvégzendő feladatok szerint:

Kamera kalibráció: elvégezhető egy ember által is (főként a rekonstrukcióban van szerepe)
Pontok kinyerése és párosítása (pl.: RANSAC módszerrel) és fundamentális mátrix létrehozása: 2 lépésből áll, többen kell, hogy foglalkozzanak vele (ketten-hárman)
3D rekonstrukció: utolsó lépés, 1-2 embernek érdemes dolgozni rajta (előfeltétel a kalibráció), létrehozott pontfelhő jósága megnézhető Meshlab segítségével
A csapat felosztása csak támpont, igény szerint változhat. Az ilyen fokú felosztás segítségével bizonyos lépéseken párhuzamosan tudunk dolgozni -> gyorsabb fejlesztési ciklus.