Jump to content
Compvision.ru
KAIIUK

3d реконструкция. Нахождение границ здания.

Recommended Posts

Доброго дня, форумчане) Появился интересная задачка - необходимо по фоткам здания, составить его контур, 360 градусов. 

На данный момент получилось реализовать только нахождение горизонтальных границ по 3м фото,которые очень близки по нахождению изображения на них, но точность соотношения сторон очень хромает и при использовании большего количества фото - все падает. Может кто то сталкивался? 

 

http://rghost.ru/6vc8CxC6g- ссылка на полученный результат(MeshLab)

post-7042-0-81215100-1433758716_thumb.jp

post-7042-0-07737200-1433758718_thumb.jp

post-7042-0-04674800-1433758719_thumb.jp

Share this post


Link to post
Share on other sites

Проблема родственна SfM (structure from motion), посмотрите Bundler ,может будет полезно.

 

Статья на Хабре

 

Насколько я помню, в задачах подобных Вашей, ищутся общие точки (SURS,SIFT,...) ищутся плоскости в этой куче точек (RANSAC), дальше всякие улучшения. 

Share this post


Link to post
Share on other sites

используется ASURF, но он как то странно находит сходство только на 3х фото, далее валится. А с бандлером не разобрался как запустить, ибо не нашел манула)

Share this post


Link to post
Share on other sites

Можно скачать образ Убунты с предустановленным ПО и попробовать. И образ, и мануалы по алгоритмам и использованию далее по ссылкам.

Share this post


Link to post
Share on other sites

Есть неплохая софтина Agisoft Photoscan, не дешевая, но на торрентах есть. ))

Share this post


Link to post
Share on other sites

да, хорошее ПО, его можно погонять и полноценный триал, только без сохранения моделей.

 

Но тут то вопрос ставился скорее не как получить point cloud или mesh, а построить модель из нескольких плоскостей.  

 

Мне еще интересно есть ли ПО, чтобы можно было руками ставить точки - соответсвия (что то похожее было на хабре, но статью найти не могу)

типа Google SketchUp но только чтобы на фотографиях ставились только точки соответствий, т.к. например для куба 4 стороны-плоскости (не считая верха и низа). 

вот типа такого

http://help.sketchup.com/en/article/158683

 

Еще помниться был ролик где модель дома крутили и он постепенно восстанавливался в 3Д тоже вроде простыми плоскостями(хотя по сути это наверно был mesh только низкополигональный)

 

 

Еще помниться у Google street view обещали 3Д модели домов, но не знаю на какой это у них стадии и как делается.

 

 

впрочем такое и фотоскан вроде как умеет

Share this post


Link to post
Share on other sites

Мне еще интересно есть ли ПО, чтобы можно было руками ставить точки - соответсвия

А цель какая? Просто 3D моделька или измерение размеров?

Share this post


Link to post
Share on other sites

Еще такой вопрос. Я правильно понял, что для взаимного ориентирования снимков в пространстве в OpenCV нужно минимум 7 сходственных точек на 2 снимках?

Share this post


Link to post
Share on other sites
А цель какая? Просто 3D моделька или измерение размеров?

 

 

Цель построить низкополигональную модель в ручную указывая точки на углах или например линии(грани).

 

вот грубо говоря восстановление коробки, хотелось бы проставить 8 точек в углах параллелепипеда

https://aerial.icg.tugraz.at/videos/3DV2014_Hofer_(1080p).mp4

 

похожее на то что надо

http://proteus.malteschwarzkopf.de/

 

еще кое что

http://robotics.ai.uiuc.edu/~scandido/?Structure_from_Motion

 

вспомнилось видео с домом:

 

 

 

Я правильно понял, что для взаимного ориентирования снимков в пространстве в OpenCV нужно минимум 7 сходственных точек на 2 снимках?

 

точно не знаю как в opencv обычно вроде используют 8 точек. 

Share this post


Link to post
Share on other sites

точно не знаю как в opencv обычно вроде используют 8 точек. 

В OpenCV Есть метод который и по 7 точкам, остальные от 8. Правда мне несколько это непонятно, ведь снимки можно сориентировать по 4-5 точкам, порылся в OpenCV, но не нашел такого метода, думал может что упустил. Для меня это критично (съемка ДТП), т.к. снимки часто весьма плохого качества.

Share this post


Link to post
Share on other sites

Если камеры калиброваны(внутренняя калибровка камеры), то используется 5-ти точечный метод.

 

математически вроде хватает 7, а 8 точку берут для стабильности решения.

Share this post


Link to post
Share on other sites

Если камеры калиброваны(внутренняя калибровка камеры), то используется 5-ти точечный метод.

А в OpenCV есть 5-ти точечный метод? Что-то я искал, но не нашел.

 

 

математически вроде хватает 7, а 8 точку берут для стабильности решения.

Не в курсе какая точность метода, допустим при измерении высоты здания?

Share this post


Link to post
Share on other sites

я в этой теме плохо разбираюсь 

 

для fundamental matrix там аж 4 метода

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#findfundamentalmat

так же насчет кол-ва точек

The function calculates the fundamental matrix using one of four methods listed above and returns the found fundamental matrix. Normally just one matrix is found. But in case of the 7-point algorithm, the function may return up to 3 solutions ( 3efb7f4ce33e93351a7f9e85fcfc85538095dc7f matrix that stores all 3 matrices sequentially).

 

 

а когда 5 точек(five-point algorithm) это называется essential matrix (для калиброванных камер)

 

тут есть про five-point и eight-point algorithms

http://www.cad.zju.edu.cn/home/gfzhang/training/SFM/SfM.html

так же 

http://nghiaho.com/?p=1675

 

вот еще есть SFM для opencv из Ch4 of the book "Mastering OpenCV with Practical Computer Vision Projects"

https://github.com/MasteringOpenCV/code/tree/master/Chapter4_StructureFromMotion

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×