Как уже писал ранее — возникла необходимость отсканировать некоторые участки кузова автомобиля. Ценники на услуги аппаратных сканеров конские, да и найти их не так-то просто. Хотя, кто ищет — тот всегда найдет, но об этом чуть позже.
И пока суд да дело — решил попробовать самим же ранее упоминавшуюся прогу для создания 3D-моделей объектов по фотографиям — Meshroom 2021 1.0. Очень заманчивый вариант, кстати, омраченный единственным моментом — требования к железу там отнюдь не детские: карта NVIDIA с поддержкой CUDA 2.0. Для тех, кто не в теме — ценники на эти карты начинаются от 30 тыр и далее за горизонт. Не у каждого (даже на работе) есть такие компы… Но вроде как писалось, что очередная версия способна работать и с другими видюхами, так почему бы не попробовать — ведь попытка не пытка, правда, Лаврентий Палыч?
Взяв фотоаппарат (снимать на телефон показалось неуважительным к предстоящей задаче), сделал под сотню снимков, и, помолясь, загрузил их в проект… Домашняя машина сказала "Кря!" уже на этом этапе. Погуглил, и накатил пару библиотек С++, отсутствовавших в моей системе. Фото подгрузились, процесс пошел. Радость, однако, была недолгой — на узле StructureFromMotion возник затык: сам нод просчитался успешно, но облако точек, которое к этому моменту должно уже было сформироваться, не появилось и следующий нод подсветился красным — мое железо выкинуло белый флаг.
Притаранил файлы на работу и попробовал прогнать все это на рабочей машине (Win7, NVIDIA GeForse GT 640). Процесс пошел бойчее, облако точек сформировалось, но на ноде PrepareDenseScene опять-таки все крякнулось…




Эксперименты на других рабочих машинах с более мощным железом привели к такому же результату — дальше облака точек продвинуться не удалось. Посмотрев листинги процесса, пришел к выводу, что программе все же необходима видюха, поддерживающая CUDA (а такого железа у меня под рукой нет даже на работе).
Напряг нашего гуру Павла kudabitonibilo — попробовали просчитать это на его машинах:

Первый результат был вообще обескураживающий — fatal error

Но Павел человек упорный:






Каково резюме?
Ну, во-первых, прога рабочая. Кривые ручонки конкретного индивидуума не в счет: поверхность сложная (в силу цвета и однородности), поэтому стоило, наверное, наклеить на нее маркеры для облегчения программе задачи просчета.
Во-вторых, количество фото в данном случае было недостаточно, да и с ракурсом съемки я откровенно облажался — надо было поснимать под большим количеством углов.
И в-третьих — требования к железу даже у крайней версии программы достаточно жесткие: как ни крути, но хоть каких-то результатов удалось добиться только на мощном железе.
Чисто для сравнения, вот результаты работы другой подобной программы — автодесковского онлайн сервиса для фотоскана (это было сделано Павлом еще в эпоху проектирования клубных фендеров)




Но этот сервис уже прикрыли, к сожалению…
Так что при соблюдении ряда условий — вполне себе вариант. Хотя с аппаратным сканером это и не сравнится, ну так гвоздь с пальцем кто ж сравнивает?
ОГРОМЕННАЯ благодарность коллеге kudabitonibilo — без него и этой записи бы не было, наверное.










Комментарии 6
Красавчик! цель работ какая?)
Водянка на интеркулер турбины и возможно — козырек на лобовое. Первое — необходимость, навеянная текущим днем, второе — блажь, но живущая в голове не первый год (и с ней надо что-то делать)
Кстати, следите за обновлениями — вдогонку к софтовому скану уже сделан аппаратный ;)
Вот это тема! Капец технологии по фото можно модель создать. Круто конечно.
Ну, технология для бедных. Условно бедных (ибо вычислительные мощности нужны весьма недешевые, увы)…
Да я вот недавно принтером 3d начал баловаться. Интересная тема. Лет 10 назад это были какие то космические технологии. А сейчас он у меня дома на комоде стоит)))
Ну, теперь можешь модели под него сканировать — алгоритм проверен)