В статье ниже описаны основные этапы автоматического создания масок (для удаления фона) на основе грубой 3D-модели. Этот способ подходит для случая, когда объект статичен, а камера перемещается вокруг объекта. 

Объект, модель которого построена в примере, представляет собой автомобильное колесо, помещенное на стол (фон). Сценарий съемки был такой: сделали снимки одной стороны колеса, перемещая камеру вокруг стола; затем перевернули колесо и сделали снимки другой стороны по тому же принципу. Затем два набора снимков были загружены в два отдельных блока, и были построены грубые 3D-модели из снимков каждой стороны. На следующем этапе была применена маскировка из модели к каждому набору снимков. Затем была сгенерирована цельная модель в объединенном блоке. 


Рабочий процесс состоит из следующих этапов:



Построение грубой модели 

Пожалуйста, предварительно ознакомьтесь с рекомендациями по съемке в статьях, доступных в разделе: Правила и советы для съёмкиВ сценарии, использованном в данной статье, объект был снят с двух сторон, таким образом было получено два набора снимков. 


После того, как снимки сделаны и загружены в Metashape, можно приступать к основному процессу обработки. Подробную информацию о создании 3D-модели в Metashape можно найти в статье Построение 3D-модели.


Поскольку для создания масок не требуется детальная трехмерная модель, время обработки можно сократить, если на этапе выравнивания установить Точность - Средняя или Низкая. 



После завершения выравнивания модель можно построить по связующим точкам. Для этого выберите команду Построить модель в меню ОбработкаУстановите следующие рекомендуемые значения параметров в диалоговом окне: 


Для целей маскировки достаточно построить грубую модель, используя связующие точки в качестве исходных данных или карты глубины Низкого/Очень низкого качества, параметр Количество полигонов может быть Среднее или Низкое.

По окончании построения модели удалите лишние участки, восстановленные из фона, с помощью инструментов Выделение и Обрезать выделение на панели инструментов



Очень важно четко обрезать лишнее на модели, так как это влияет на качество определения краев масок.


Создание масок 

Выберите снимки на панели Снимки и откройте контекстное меню с помощью правой кнопки мыши. Выберите команду Маски > Импорт масок и в соответствующем диалоговом окне выберите Режим - Из модели и Применить к - Все камеры:


Маски будут созданы автоматически


Используйте тот же подход для второго набора снимков (во втором, отдельном блоке): 


Построение цельной модели

Блоки с наборами снимков можно объединить после создания масок. Выберите команду Обработка > Объединить блоки. В открывшемся диалоговом окне укажите галочками блоки, которые необходимо объединить. Поскольку для объединенных данных с масками процедура выравнивания будет выполняться повторно, нет необходимости объединять данные, содержащиеся в каждом блоке (связующие точки, модели и т. д.).


В объединенном блоке повторно выровняйте снимки, используя маски, созданные из модели. Выберите команду Обработка > Выровнять снимки и в диалоговом окне укажите необходимые параметры. Не забудьте активировать опцию Сбросить текущее выравнивание, чтобы сопоставление снимков началось с нуля: 


Используйте опцию Применить маски - Характерные точки, тогда области под масками будут исключены из процедуры поиска характерных и связующих точек для каждого снимка отдельно. Поэтому никакие связующие точки, которые могут повлиять на выравнивание, не будут обнаружены на фоне, закрытом масками.


Результаты процедуры выравнивания в объединенном блоке представлены на иллюстрации ниже:


Выберите команду Обработка > Построить модель, чтобы построить итоговую полигональную модель. 

Используйте Карты глубины в качестве исходных данных и установите для параметр Качество - Высокое



 Запасное колесо (от Agisoft на Sketchfab)