mult1plexer 1 Жалоба Опубликовано February 1, 2017 Добрый день. Возникла задача в 3d реконструкции местности, с помощью стерео системы. Конкретно интересует потоковая "склейка" карт глубин. Может есть у кого какие-то источники примитивных алгоритмов без кучи фреймворков и надстроек. OpenSlam, orbslam и т.д находил уже. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано February 1, 2017 Склейка - это что-то типа ICP (пример из OpenCV)? Или какие алгоритмы имеются ввиду? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mult1plexer 1 Жалоба Опубликовано February 1, 2017 Алгоритмы реконструкции. склейка в данном случае подразумевает создание большого полотна из полученных в моменте карт глубин в одну большую, с учетом сдвига и поворота. Что-то вроде этого: Единственная проблема это вычислительная сложность алгоритмов и их реализация. Планируется доработка и перенос кода в железо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано February 1, 2017 2 часа назад, mult1plexer сказал: Добрый день. Возникла задача в 3d реконструкции местности, с помощью стерео системы. Стерео-система имеется ввиду 2 камеры или обычный Structure from motion с одной камеры? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано February 1, 2017 2 часа назад, mult1plexer сказал: Единственная проблема это вычислительная сложность алгоритмов и их реализация. Это да ))) Тут или фреймворки копать или самим писать на основе OpenCV http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mult1plexer 1 Жалоба Опубликовано February 2, 2017 20 часов назад, fotomer сказал: Стерео-система имеется ввиду 2 камеры или обычный Structure from motion с одной камеры? На момент написания поста 2 камеры, но есть вероятность что будет только одна. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 2, 2017 Open Drone Map, OpenSFM, OpenMVG смотрели ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mult1plexer 1 Жалоба Опубликовано February 2, 2017 43 минуты назад, Smorodov сказал: Open Drone Map, OpenSFM, OpenMVG смотрели ? Да. все что на поверхности уже смотрел. опять же набор фреймворков. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 2, 2017 @mult1plexer Есть еще довольно старый проект, но поковырять кишки можно: https://github.com/anuranbaka/OpenDTAM ну и PTAM от местного товарища: https://github.com/BelBES/PTAM это разгруженная версия вот этого https://github.com/Oxford-PTAM/PTAM-GPL/tree/master/Src . Такие проекты любят пришивать к ROS, BLAS и либам разреженной математики, т.к. математики там действительно прилично и писать с нуля мало кому охота. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mult1plexer 1 Жалоба Опубликовано February 3, 2017 22 часа назад, Smorodov сказал: @mult1plexer Есть еще довольно старый проект, но поковырять кишки можно: https://github.com/anuranbaka/OpenDTAM ну и PTAM от местного товарища: https://github.com/BelBES/PTAM это разгруженная версия вот этого https://github.com/Oxford-PTAM/PTAM-GPL/tree/master/Src . Такие проекты любят пришивать к ROS, BLAS и либам разреженной математики, т.к. математики там действительно прилично и писать с нуля мало кому охота. За это спасибо. Посмотрю. Есть идея еще средствами opencv все сделать. Но не находил описательной формы алгоритма. конкретно уточнение и обновление накопленной информации. Не встречали что то подобное? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано February 3, 2017 Чтобы был весь pipeline написан для OpenCV я не нашел, все сделано так, чтоб никто не догадался. )) Насобирал из разных мест по крупицам. - Вначале делаешь калибровку камеры по шахматной доске, на выходе матрица К с 5 параметрами. - делаешь undistortImage в соответсвии с этой матрицей К. - исправленные фотки передашь findFundamentalMat, получашь матриу F. - матрица E = K'TF K - Матрицу Е передаешь в функцию SVD и получаешь искомые R t матрица вращения и переноса между фотками. - далее делашь триангуляция, т.е. получаешь координаты точек в пространстве. Я это все проделал, но данные на выходе получились плоховатые. Сейчас копаю OpenMVG, но слишком там все запутано. Если что получится сделать напиши. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 3, 2017 Еще один проект: https://github.com/tum-vision/mono_dataset_code PTAM: https://www.robots.ox.ac.uk/~vgg/rg/papers/klein_murray__2007__ptam.pdf DTAM: https://www.robots.ox.ac.uk/~vgg/rg/papers/newcombe_davison__2011__dtam.pdf Ну и этот проект тоже вроде может пригодиться : https://github.com/mp3guy/ElasticFusion , но тут RGBD. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано February 3, 2017 Интересно, а на чем сейчас модно отрисовывать облака точек с наложением текстур? Может OpenCV Viz? OpenGL слишком низкоуровневый. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 3, 2017 Может http://pointclouds.org/ ? http://pointclouds.org/documentation/tutorials/correspondence_grouping.php#correspondence-grouping Да тут наверное проще на шейдерах написать или взять какой нибудь фреймворк для отрисовки. Недавно юзал этот: https://github.com/bkaradzic/bgfx правда не для точек, кросс-платформенный и вроде без лишних хвостов. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано February 3, 2017 OpenCV Viz - это обёртка над VTK. Его и используют. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 3, 2017 С VTK у меня не сложилось как-то, заморочно матрицами проекции управлять было, плохой осадок остался. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано June 4, 2017 openMVG + openMVS, снято с коптера DJI Фантом, пирамида в Подмосковье, которую недавно ураган порушил. Это собралась хорошо, а на других вариантах openMVG работает стабильно, а openMVS падает при построении сетки, в отладчике при сохранении сетки обращение к индексу вне диапазона. Еще посоветуйте либу для выравнивания освещенности на массиве фоток, чтоб текстуры хорошо совмещались. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано June 5, 2017 openMVG + openMVS эта связка умеет тоже самое что умеет Photoscan, т.е. создание orthophoto, DEM, экспорт параметров камер? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
fotomer 16 Жалоба Опубликовано June 5, 2017 28 минут назад, mrgloom сказал: openMVG + openMVS эта связка умеет тоже самое что умеет Photoscan, т.е. создание orthophoto, DEM, экспорт параметров камер? Сравнение https://habrahabr.ru/post/320766/ orthophoto не умеет, но коорд. GPS умеет всасывать. Сейчас хочу реализовать orthophoto, смотрю как в openDroneMap реализовано. Есть кстати мысли как orthophoto прикрутить? openMVG сохраняет только в ply. Из экспорта есть файлик exportCameraFrustum но фик знает что это такое. З.Ы. Сфоткал коробку на столе и загрузил в pix4D. Так вот openMVS явно лучше текстуру сделал, все буквы на коробке читаются, а pix4D буквы размазал. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах