• Механическая обработка и изготовление деталей из металла
  • Комплектация производства промышленным оборудованием
  • Комплексная поставка микроэлектронных компонентов
+7(342)203-78-58
Тех.отд: +7-922-308-78-81

Meshlab как пользоваться: устранение ошибок в 3D моделях / Хабр

Опубликовано: 08.04.2021 в 12:45

Автор:

Категории: Популярное

устранение ошибок в 3D моделях / Хабр

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

Довольно популярной проблемой при работе с 3D моделями является возникновение отверстий (holes, gaps). Такие проблемы возникают из-за несовершенной процедуры реконструкции сцены или недостаточной точности и качества 3D камер типа Microsoft Kinect.

Мы можем восстановить поврежденные поверхности моделей и закрыть дыры в программе Meshlab. Meshlab включает специальный фильтр для задачи закрытия отверстий в 3D моделях.

В начале откроем Meshlab и импортируем модель: File > Import Mesh.

Здесь показан пример модели с отверстием:

Применим фильтр. Откроем в верхнем меню Filters > Remeshing, Simplification … > Close Holes

Откроется диалог настройки параметров:

Введем значение для параметра Max size to be closed и нажмем Apply. В моем случае хороший результат дало значение 210.

Результат применения фильтра:

Выглядит неплохо, не правда ли?

Как мы видим не нужно писать специальный скрипт для закрытия отверстий. Все работает «из коробки».

Решение проблемы с дубликат вершины в модели

После применения фильтра Close Holes при экспорте модели в obj файл могут возникнуть вершины-дубликаты, т.е. вершины с одинаковыми координатами. Это может привести к некорректной обработке модели при использовании библиотек типа OpenMesh.

Давайте создадим obj файл со следующим содержимым:

v 0 0 0
v 1 0 0
v 0 1 0
v 1 1 0
f 0 1 2
f 1 2 3

Создадим скрипт test_duplicates.py с использованием библиотеки OpenMesh (туториалы по ней можно посмотреть здесь)

import openmesh as om 
import numpy as np
mesh_3 = om.read_trimesh('duplicate_vert_test.obj')
print('Test duplicate vertices')
for i, vh in enumerate(mesh_3.vertices()):
    print('Vertices adjacent to vertex ', i)
    for vh_n in mesh_3. vv(vh):
        print(vh_n.idx())

Запустим его

Vertices adjacent to vertex  0
2
1
Vertices adjacent to vertex  1
0
2
Vertices adjacent to vertex  2
1
0
Vertices adjacent to vertex  3
Vertices adjacent to vertex  4

Добавим дубликат вершины

v 0 0 0
v 1 0 0
v 0 1 0
v 1 1 0
v 1 0 0
f 0 1 2
f 4 2 3

Здесь мы добавили еще одну вершину с координатами 1 0 0.

Запустим скрипт еще раз

Vertices adjacent to vertex  0
Vertices adjacent to vertex  1
3
2
Vertices adjacent to vertex  2
1
3
Vertices adjacent to vertex  3
2
1
Vertices adjacent to vertex  4

Сейчас мы видим, что для вершины 0 нет соседних вершин, зато для вершины 3 появились две соседние вершины 2 и 1. Кажется, что вершина 4 перетянула к себе всех соседей вершины 0, с которой имеет одинаковые координаты.

Попробуем удалить дубликаты вершин на модели из примера выше. Импортируем модель:

Здесь мы видим множество цветных граней.

Применим специальный фильтр для удаления дубликатов вершин

Filters -> Cleaning and Repairing -> Remove duplicate Vertices

Результат применения фильтра:

Если мы применим фильтр на нашей первоначальной простой модели после экспорта модели мы получим obj файл следующего содержания

vn 0. 000000 -nan(ind) 0.000000
v 0.000000 0.000000 0.000000
vn 0.000000 0.000000 -0.785398
v 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -0.785398
v 0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.570796
v 1.000000 1.000000 0.000000
# 4 vertices, 0 vertices normals
f 4//4 2//2 3//3
# 1 faces, 0 coords texture

На этом все. Удачи в использовании MeshLab для манипуляции с 3D моделями и до новых встреч.

Немного о фотограмметрии или создании модели из фото

Продолжаю рассказывать о своих находках, может кому-нибудь пригодится.

Как-то раз мне понадобилось отсканировать керамическую фигурку для её увеличения и распечатки в пластике. Поиск в сети дал результат — материал ‘Создание 3D модели голени’. Там весьма подробно описан процесс, за что автору спасибо, но есть некоторые мелочи, которые позволяют значительно улучшить результат.

Для сканирования нашего объекта (возьмём безе, оно же меренги) понадобится:

— любой фотоаппарат (хватит и мобильника, но лучше зеркалка для того, чтобы обеспечить хорошую глубину резкости)

— Meshlab c официального сайта http://www. meshlab.net/
— open-source программа Visual-SFM (автор Changchang Wu) http://ccwu.me/vsfm/ , точно работает версия Windows 64 bit, Windows 64 bit Cuda не испытывал, у кого получится с ней или с другими, отпишитесь

— дополнительный софт к программе Visual SFM https://code.google.com/archive/p/osm-bundler/downloads, качать папку osm-bundler-pmvs2-cmvs-full-32-64.zip — поднос Снудда из Ikea чтобы удобно было крутить объект, если нет, то пойдет и лист А4 с напечатанным текстом

— желательно производительный компьютер, время обработки напрямую зависит от мощности системы

Порядок действий:

А) Установка софта

1. Качаем и ставим Мешлаб

2. Скачиваем Visual, распаковываем и кидаем на рабочий стол или в папку, ВЕСЬ путь к которой НЕ содержит кириллицу (софт не понимает ничего, кроме английского)

3. Скачиваем дополнительный софт к программе Visual SFM, распаковываем, переходим

osm-bundler — osm-bundlerWin64 – software – pmvs – bin, копируем файлы в папку

VisualSFM_windows_64bit,

Повторяем с содержимым из osm-bundler — osm-bundlerWin64 – software – bundler – bin и

osm-bundler — osm-bundlerWin64 – software – cmvs – bin

Там, где при копировании в папку VisualSFM_windows_64bit просит заменить уже существующие файлы, заменяем.

4. Опционально — чтобы ноут не перегрелся, Панель управленияВсе элементы панели управленияЭлектропитаниеИзменение параметров схемы — изменить дополнительные параметры питания – управление питанием процессора – выставить максимум на 90 процентов

Софт и железо готовы.

Б) Фотографирование

Здесь несколько особенностей:

1. Программа создает облако точек, чтобы «увидеть» одну и ту же точку на разных фотографиях, ей нужны контрастные переходы. Кто фотографировал, знает, что автофокус хорошо цепляется там, где изображение имеет цветовой и световой переход. Софт видимо работает так же, как и автофокус на камере. Поэтому идеальный вариант для фотограмметрии – объект с матовой цветной поверхностью. Черный не распознает, слишком темный тоже.

2. Если объект глянцевый как керамическая статуэтка – делаем его пятнистым и полосатым с помощью водорастворимого красителя (детские фломастеры для разукрашивания лица). Так программа сможет «ухватиться» за похожие точки на разных фотографиях.

3. Работает принцип – софт видит только то, что видим мы на фотографиях, если нужно проработать какую-то часть, то ее нужно отфотографировать поближе

4. Фотографии должны быть качественными, резкими, сделаны при хорошем освещении.

5. Фотографировать можно обходя объект по кругу или вращая его на подносе. При этом область вокруг объекта тоже должна вращаться (если положить на наш поднос подушку, которая полностью закроет поднос, софт ее не распознает – будет думать, что все фото сделаны из одной точки, нужна имитация «обхода» объекта)

Сам процесс:

Клеим А4 с текстом (чтобы софт видел основание) на поднос, ставим объект на поднос, закрепляем камеру на штативе или держим в руках, стоим на месте, фотографируем каждый раз вращая поднос на 7-10 градусов.

Если фигурка маленькая с простой геометрией (типа безе) для отличного качества хватает 50 фотографий. Если статуэтка – 80. Чем больше, тем лучше, но дольше просчет модели.

B) Работа в программе

1. Открываем VisualSFM, загружаем фотографии (open Multiimages), выбираем все нас интересующие. Ждём. Под кнопкой File есть пиктограмма листа бумаги – это лог программы, можно кликнуть и наблюдать за тем, что происходит

2. Жмём по очереди слева – направо кнопки. Ждём. Долго ждём. Минут 20-30.

3. В конце выбираем папку, куда сохранить проект (только латиница в пути папки!)

4. После просчета находим файл ply. в папке проекта.

5. Открываем файл в Мешлаб, чистим модель от ненужного – сначала выбираем (левая стрелка), потом удаляем (правая стрелка)

6. Создаем полнотелую модель из облака точек: Filters, Remeshing Simplification and Reconstraction, Screened poison Surface Reconstraction, откроется окно, Reconstraction depth меняем на 9 и жмём ок.

7. Дальше File — Export Mesh, сохраняем в stl.

8. Открываем в Repetier Host, увеличиваем по максимуму и сохраняем через Repetier Host в stl. Каким то образом при этом значительно уменьшается вес самого файла.

9. Если есть какие-то ненужные пузыри, то отрезаем в редакторе типа Netfabb.

Готово. Если есть рац.предложения, как сделать качественнее или быстрее, просьба написать в комментариях.

MeshLab

MeshLab
система с открытым исходным кодом для обработки и редактирования 3D треугольных
сетки.
Предоставляет набор инструментов для редактирования, очистки, лечения, проверки,
рендеринг, текстурирование и преобразование мешей. Он предлагает функции для
обработки необработанных данных, полученных с помощью инструментов/устройств 3D-оцифровки, и для
подготовка моделей к 3D печати.

Предыдущий
Далее

Новости

Новая версия MeshLab и PyMeshLab: 2022.02

28/02/2022

Мы выпустили MeshLab и PyMesh2Lab с новыми улучшениями и исправлениями! Вы можете проверить больше
подробности здесь
и здесь.

Выпущены MeshLab и PyMeshLab 2021.10
29.10.2021

Выпущены MeshLab и PyMeshLab 2021.10, с множеством
исправления и новые функции! Вы можете проверить больше
подробности здесь
и здесь.

Вышла MeshLab 2021.07
23.07.2021

Вышла MeshLab 2021.07! В этой версии мы представляем поддержку
несколько форматов файлов (*.gltf, *.glb, *.nxs, *.nxz, *.e57) и
совершенно новый плагин для точной логической сетки. Скачать можно в разделе загрузок, или на гитхабе
страница выпуска.

Вы можете проверить все подробности о новом выпуске здесь.

MeshLab 2021.05 выпущен
27.05.2021

Вышла версия MeshLab 2021.05! Вы можете скачать в загрузке
раздел или на гитхабе
страница выпуска.

Вы можете проверить все подробности о новом выпуске здесь.

Вышла новая версия 2020.12!!

12.01.2020

Выпущен MeshLab 2020.12. С этой версией мы отклоняем
meshlabserver в пользу PyMeshLab,
наша новая библиотека Python для пакетной обработки сетки с использованием MeshLab
фильтры.
Мы также выпускаем новую версию, которая хранит данные с двойным
точность. Для получения более подробной информации вы можете прочитать обсуждение
на нашей странице GitHub.

Список изменений:

  • множество исправлений ошибок
  • Улучшения графического интерфейса
  • новая версия 2020.12d, хранящая данные с двойной точностью
    (бета!!)

MeshLab 2020.07 выпущен

07.06.2020

MeshLab 2020.07 вышел! Вы можете скачать в загрузке
раздел или на гитхабе
страница выпуска.

Список изменений:

  • новый плагин «Глобальная регистрация» на основе библиотеки OpenGR;
  • опция реверса колеса;
  • Snap-пакет

  • позволяет ассоциировать расширения файлов и открывать
    файлы на внешних дисках;
  • экспортер u3d стал более стабильным и работает на всех платформах;
  • удалена поддержка подключаемых модулей XML и зависимостей QtScript;
  • VisualSFM (и некоторые другие форматы) вывод *. nvm, *.rd.out
    проекты, поддерживаемые meshlabserver
  • различные исправления

MeshLab 2020.06 выпущен

06.01.2020

MeshLab 2020.06 вышел! Вы можете скачать в загрузке
раздел или на гитхабе
страница выпуска.

Список изменений:
Из-за устаревания QtScript и всех связанных с ним проблем,
мы отказываемся от поддержки плагинов XML из MeshLab, и
поэтому все плагины XML были преобразованы в классические
плагины в этой версии MeshLab. Задействованные плагины:

  • Экранированный Пуассон;
  • Мера;
  • Вороной;
  • Взаимная информация;
  • Скетчфаб;

В связи с этим переносом все старые сценарии .mlx MeshLab, включающие один из
эти плагины могут не работать на MeshLab и MeshLabServer 2020. 06.
Начиная с MeshLab 2020.07, подключаемые модули XML больше не будут компилироваться и
они больше не могут быть загружены.

Новый MeshLab 2020.03 и автоматическое развертывание

26.03.2020

Мы рады сообщить, что вышла MeshLab 2020.03! Мы создали
автоматическая система на нашем
Репозиторий Github для автоматического выпуска версии MeshLab
каждое первое число месяца. Ultimate-релиз можно найти в релизе
страница.

Примечание для версии Windows: перед установкой MeshLab 2020.03, пожалуйста,
удалите вручную любую старую версию MeshLab. Это известная ошибка
установщик и будет исправлено как можно скорее в будущем
версии.

SGP Software Award

06.06.2017

Мы с гордостью сообщаем, что 6 июля, в
Симпозиум Eurographics по обработке геометрии (SGP), MeshLab
была удостоена престижной награды Eurographics Software Award !

Награда вручена за » вклад в
научного прогресса в обработке геометрии, сделав
общедоступное программное обеспечение, которое другие могут воспроизвести
результаты и в дальнейшем использовать их в своей исследовательской работе
«.

MeshLab 2016 Выпущено

23.12.2016

Спустя очень долгое время огромный процесс переписывания, и сильно
новые усилия наконец-то вышла новая версия MeshLab!

  • Полная переработка внутренней системы рендеринга. Огромный рендеринг
    скорость вперед!
  • Экранированная реконструкция поверхности Пуассона обновлена ​​до самого
    Последняя версия.
  • Новые фильтры трансформации.
  • Новые способы получения метрической информации из ваших моделей.
  • Матрицы преобразования теперь используются более единообразно среди
    фильтры.
  • Альфа-значение теперь правильно используется всеми фильтрами, связанными с цветом.
  • Улучшение и устранение опечаток в различных текстах справки/описания.
  • Прямая загрузка моделей в SketchFab
  • Регистрация растра на 3D модели на основе 2D/3D
    переписки
  • Исправление ошибок почти во всех фильтрах.

Скачать

MeshLab 2022.02

28.02.2022

Вин 64
MacOS
Linux AppImage Linux FlatPak Исходники
Другие выпуски Образцы сеток

Функции

Поддержка

Мистер
P. Учебники YouTube

Основы

В этом плейлисте показаны основные концепции 3D-модели.
обработка в MeshLab.

Features

В этом плейлисте описаны интересные возможности MeshLab:
редактировать, фильтры, украшения, которые могут быть полезны в вашем
повседневная жизнь, связанная с «обработкой сетки».


Сканирование конвейера

В этом плейлисте описаны основные этапы сканирования
конвейер, выполненный с помощью MeshLab.

Очистка

В этом плейлисте описывается способ «очистить» сетку путем удаления
нежелательная геометрия или атрибуты.

Вопросы и форум

Для вопросов, разъяснений и любых
какие-то сомнения по поводу MeshLab и как получить наилучший результат
с различными фильтрами используйте stackoverflow .
Будьте конкретны и отмечайте свои вопросы с помощью MeshLab.

Поиск
Вопрос Задать вопрос
Вопрос

Отчет об ошибке

Пожалуйста, сообщите о github ТОЛЬКО ошибки и
неисправность. Пожалуйста, не отправляйте файлы, так как проблемы с github
вопросы о том, как использовать MeshLab.

Прежде чем выдавать ошибку, пожалуйста , внимательно прочитайте как
сообщить об ошибке
Сообщить об ошибке

Хвастовство

За то, что вы делитесь хорошими фотографиями, сообщаете об интересных
опыт, благодарность (или порицание) разработчиков или просто
хвастаясь своими последними результатами, следите за официальной
Страница MeshLab в фейсбуке.
Помните: не задавайте технические вопросы на Facebook. (фейсбук
трудно найти и плохо индексировать: любой
усилия, затраченные на ответы на технические вопросы, немного
зря)

MeshLab
на

Лицензирование

Источники MeshLab распространяются под лицензией GPL
3.0 Схема лицензирования.
Название «MeshLab»
Торговая марка EUIPO, принадлежащая
CNR.
логотипов MeshLab ( ) распространяются под номером
Creative
Commons Attribution-Sharealike 4.0 Международная лицензия
и их можно свободно использовать внутри любого проекта викимедиа.

Ссылки

Самый простой способ выразить признательность системе MeshLab — это
не забывайте цитировать его всякий раз, когда вы использовали некоторые из его функций.

Есть много публикаций, связанных с MeshLab, в случае сомнений используйте
первое, но, пожалуйста, просмотрите список и процитируйте также все
правильные.

Общая информация: MeshLab — это система с открытым исходным кодом, разработка которой с 2005 года ведется Лабораторией визуальных вычислений ISTI-CNR.
Его скачали более 3 миллионов раз, и, согласно обновляемой статистике, в настоящее время им пользуются более 100 000 пользователей.

{{pi.description}} {{pi.paperAuthors}}
{{pi.paperTitle}}
{{pi.paperVenue}}, {{pi.paperYear}}

{{pi.bibtex}}

PDF

Дополнительные функции

На этой странице представлены методы, которые могут быть полезны с точки зрения улучшения результатов или улучшения анализа.
Используйте поиск по ключевым словам, чтобы прочитать эту страницу. См. базовую страницу рабочего процесса для получения информации об основных функциях.

 


VisualSFM


Как использовать параметры калибровки в VisualSFM (GUI)?

Откройте VisualSFM. В строке меню включите sfm > дополнительные функции > используйте общую калибровку.
Установите параметры. В строке меню нажмите sfm > дополнительные функции > установите параметры калибровки (fx cx fy cy r)

Откройте ini-файл, рассчитайте и установите коэффициент.

Как рассчитать фокусное расстояние, учитывая размер изображения

fx/f2==w1/w2 (для расчета фокусного расстояния изображения другого размера)

сх=ширина/2

cy=высота/2

r обычно устанавливается равным 0.

Каковы возможные способы улучшения результатов 3D-реконструкции в VisualSFM?

1. Попробуйте «SfM->Дополнительные функции->Найти дополнительные точки», а затем «SfM->Возобновить SFM». Возможно, можно будет зарегистрировать еще несколько изображений.

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

Как создать плотную реконструкцию, которую можно использовать для реконструкции сетки в Meshlab?

Дважды щелкните значок приложения VisualSFM, чтобы открыть VisualSFM.

Выполните четыре шага ниже. Первые три шага такие же, как в основном рабочем процессе. Единственное отличие в шаге 4.

На шаге 4 нажмите (или Shift+щелчок) на кнопку, чтобы начать плотную реконструкцию. В появившемся окне назовите файл и нажмите «Сохранить». Поскольку мы не меняем параметры «Сохранить как тип», по умолчанию создается новая папка «yourfilename.nvm.cmvs». Процесс может занять несколько часов, в зависимости от количества изображений и функций.

Программное обеспечение Meshlab возьмет на себя отсюда. Подробности смотрите в разделах Meshlab.


Мешлаб


Как очистить облако точек в Meshlab?

Используйте для выбора нежелательной области. Вы также можете использовать для выбора точек на плоскости. Это полезно для удаления точек внутри модели. Например, салон автомобиля.

Нажмите Shift, чтобы вычесть выделение (отменить выделение). Нажмите Ctrl, чтобы добавить выделение (не очень легко управлять в режиме выбора плоскости, полезно при обычном выделении).

После выбора нажмите кнопку еще раз, чтобы выйти из режима выбора. Это для того, чтобы можно было повернуть модель и проверить, прежде чем удалять точки. Нажмите, чтобы удалить выбранную область. Повторяйте, пока этот слой не будет очищен.

Как подготовить сетку для 3D печати в Meshlab?

Файл, необходимый для 3D-принтера, должен быть в формате stl, размером не более 1000 КБ.

В Meshlab используйте Quadric Edge Collapse Decimation, чтобы упростить сетку. Ссылаться на:
эту статью для получения дополнительной информации.

В меню выберите «Фильтры» > «Повторное создание сетки, упрощение и построение» > «Обнаружение свертывания квадратичных краев». Если ваша модель текстурирована, то тоже есть вариант (с текстурой)

1) Целевое количество лиц должно быть пропорционально желаемому размеру файла. Например, 19Файл 0000-faces имеет размер 9000kb. Таким образом, целевое количество лиц должно быть около 20000, чтобы уменьшить размер в 9 раз. В большинстве случаев модель на 20000 лиц будет стоить около 1000 бк.

2) Обязательно установите флажки: Сохранить нормаль, Сохранить топологию, Оптимальное положение qупрощенных вершин, Планарное упрощение, Очистка после упрощения.

3) Как обычно, перейдите в Файл > Экспортировать сетку как… Сохраните ее в .stl.

Как импортировать файл слоя ASCII в Meshlab?

При импорте появляется окно с запросом:

  • количество строк в заголовке: (в нашем случае 16)
  • разделение: (выберите ; или . или пробел)
  • разделение столбцов: x y z r g b nx ny nz отражательная способность (обратитесь к заголовку и найдите правильный, соответствующий порядку параметров в заголовке).

Примечания:

Откройте файл слоя ASCII в текстовом редакторе. Замените #QNAN на 0.

Замените все знаки точки запятыми, если происходит ERROR:unspect eof. Это может быть из-за проблем с локализацией.

Проверьте свои данные, если часть информации не отобразилась (например, цвет определенной части). Программа опускает неверные данные и не всегда сообщает об ошибке.

Как сделать замер в Meshlab?

Фильтр> Нормали, лекарства и ориентации> трансформировать масштаб

Нажмите crtl+H, чтобы вернуть изображение в окно.

Как выровнять и объединить (с фильтром Пуассона) облака точек в Meshlab?

Загрузите два меша, которые мы хотели выровнять. Нажмите кнопку «Выровнять» . Выберите основной слой сетки и установите его как Glue Here Mesh. Выберите слой, который необходимо выровнять, и щелкните Склеивание по точкам.

Выберите четыре точки, чтобы выровнять две сетки. (установите флажок слева, чтобы включить масштабирование.)

Нажмите Ok, когда закончите выбирать точки выравнивания. Проверьте результат. Повторяйте выравнивание, пока не получим удовлетворительный результат.

Перейдите в меню «Фильтр» > «Слой-сетка» > «Сгладить видимые слои». Теперь у нас должен быть один объединенный меш из выровненных. Перейдите в меню «Фильтр» > «Повторное создание сетки, упрощение и реконструкция» > «Реконструкция поверхности: Пуассон». Дайте правильное значение октодерева и разделите решатель. Подождите, пока он обработается. Сохраните его как AlignedMesh.ply.

Откройте новое рабочее место Meshlab, загрузите растровые файлы исходного основного слоя сетки (Открыть проект…). Затем импортируйте AlignedMesh.ply(Import mesh…). Теперь удалите модель облака точек.

Перейдите в Фильтры > Текстуры > Параметризация, текстурирование из зарегистрированных растров. Выберите файл textrue png ОБА основной сетки и сетки для выравнивания.

Сохраните работу.

Советы по объединению подробной более плотной сетки с менее плотной:

Так как одно из двух облаков точек недостаточно плотное для проведения выравнивания. В этом случае попробуйте увеличить номер октодерева, чтобы получить более плотную сетку. Практически,

1) Сделайте больше снимков через соответствующие промежутки времени и повторите реконструкцию.

2) Отсечь менее важную часть основных (больших) данных облака точек; чтобы памяти хватило на более плотную сетку.

Как сделать реконструкцию сетки в Meshlab?

Примечание. При работе в Meshlab сохраняйте свою работу после каждого шага в виде отдельного файла. Это защищает любое предыдущее редактирование. Это также предотвращает сбой Meshlab из-за выделения памяти. При сохранении своей работы всегда ставьте галочку для Color, Normal. Мы рекомендуем снять флажок для двоичного кодирования. Это сохранит всю информацию в формате ascii.

1. откройте файл и импортируйте нужный файл сетки из результата VisualSFM.

Откройте Meshlab, «Файл» > «Открыть проект» > перейдите к папке (ваше имя файла).nvm.cmvs > 00, дважды щелкните, чтобы открыть файл bundle.rd.out, затем дважды щелкните, чтобы открыть файл list.txt. Подождите несколько секунд, чтобы разрешить загрузку сетки.

Нажмите кнопку на панели инструментов, если диалоговое окно слоя не отображается по умолчанию. Удалите текущую сетку (щелкнув правой кнопкой мыши имя в диалоговом окне «Слой» справа).

Перейдите в File > Import Mesh… > перейдите к 00/models. Нажмите «Ctrl» на клавиатуре и выберите все файлы «option-xxxx.ply». Нажмите «Открыть», чтобы импортировать. Есть еще файлы слоев, такие как «option-0000.ply», «option-0001.ply», «option-0002.ply» и т. д. Загрузите их все.

2. Объедините все файлы option-xxxx.ply в Meshlab.

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

В меню «Фильтры» > «Сетчатый слой» > «Сгладить видимые слои». Отметьте все четыре поля.

Сохрани это.

3. Очистите сетку.

Чтобы получить хорошую реконструкцию сетки, нам нужно удалить нежелательные точки из основной сцены/объекта:

  1. Окружение, не являющееся частью сцены/объекта
  2. Отдельные точки, разбросанные по сцене/объекту
  3. Шум

В диалоговом окне «Слой» щелкните, чтобы выбрать слой, который вы хотите очистить. Выбранный слой будет выделен.

На панели инструментов нажмите кнопку Выбрать вершины. Щелкните левой кнопкой мыши и перетащите отображаемые данные. Выбранные части становятся красными. Нажмите «Ctrl» и перетащите, чтобы добавить больше к выделенному; «Shift» и перетащите, чтобы удалить из выбранного. После выбора нажмите кнопку еще раз, чтобы выйти из режима выбора. Это для того, чтобы можно было повернуть модель и проверить, прежде чем удалять точки.

Нажмите, чтобы удалить выбранную область.

Повторяйте, пока этот слой не будет очищен.

Сохраните его либо в исходную сетку (просто нажав кнопку «Сохранить»), либо как новый файл сетки, используя «Файл»> «Экспортировать сетку как…».

Примечание. В Meshlab очень важно, чтобы слой сохранялся после каждого шага. В противном случае программа может вылететь из-за переполнения памяти.

Выберите (выделите) другой слой и повторите процесс. Пока не будут удалены все нежелательные характерные точки.

4. Настроить и вычислить нормали.

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

Чтобы получить правильные вершины нормалей для каждой стороны, вы можете разрезать модель на несколько частей. Вырежьте его таким образом, чтобы точки на каждой части требовали относительно одинаковых нормалей. При разрезании старайтесь, чтобы на соседних кусках были общие области, чтобы эти куски можно было слить в один слой. Вычислите нормали для каждой части.
Перейдите в Рендер > показать нормальную вершину, а также показать arix. Выберите «Фильтры» > «Набор точек» > «Вычислить нормали для наборов точек». Отрегулируйте положение точки обзора до тех пор, пока поверхность не будет правильно распознана (большая часть нормальных вершин направлена ​​вверх от поверхности объекта). Проверьте нормали Flip w.r.t. смотровая площадка.

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

5. Реконструкция Пуассона.

В меню выберите «Фильтр» > «Наборы точек» > «Реконструкция поверхности: Пуассон». Установите параметры (12, 10, 2, 1). Применять. Дождитесь завершения процесса. Будет создан новый слой сетки Пуассона.

Примечание:
Параметры (12,10,2,1) предназначены для оптимального результата. Уменьшите числа, например. (6,6,2,1), сэкономит время вычислений и ухудшит качество реконструкции.

Алгоритм поверхности Пуассона имеет тенденцию создавать объекты, похожие на пузыри. Вы можете удалить посторонние грани с помощью «Фильтры > Выделение > Выбрать грани с краями длиннее». Значение по умолчанию обычно удаляет большинство посторонних граней.

6. Экспортируйте пуассоновскую сетку.

В диалоговом окне «Слой» выберите/выделите слой сетки Пуассона. Сохраните его в той же папке, что и файлы option-xxxx.ply. Также сохраните проект.

При необходимости удалите предыдущие слои точек помутнения.

7. Очистите сетку, используя выделение и удаление (см. 3. Очистите сетку). Сохрани это .

8. Снимите коллектор Edges; вершины многообразия.

Перейдите в меню «Фильтры» > «Выделение» > «Выбрать не многообразные края» и нажмите кнопку «Удалить». Сохрани это .

Перейдите в меню «Фильтры» > «Выделение» > «Выбрать не многообразные вершины» и нажмите кнопку «Удалить». Сохрани это .

9. Создайте текстурированную сетку.

Фильтры > текстура > параметризация + текстурирование из зарегистрированного растра… Установите размер текстуры как 4096, чтобы получить лучшие результаты. Карта текстур по умолчанию называется «texture.png». Установите флажки, чтобы использовать толщину расстояния, использовать толщину границы изображения и использовать УФ-растяжение (необязательно). Нажмите «Применить». Дождитесь завершения. Сообщение о завершении доставляется в правом нижнем окне журнала.

После завершения выберите слой. Перейдите в File > Export Mesh… Сохраните его как mesh_textured.ply, чтобы отличить его от предыдущего пуассоновского меша (без текстуры). Он должен быть сохранен в том же каталоге, что и файл texture. png. Таким образом, безопасно сохранять все в (ваше имя файла).nvm.cmvs\00\models.

Параметр 4096 можно заменить на 2048 или 1024. Опять же, это ускоряет процесс и ухудшает результат.

10. Создайте цветную сетку.

Фильтр > Камера > Проецировать цвет активных растров на текущую сетку, заполняя текстуру. Переименуйте файл текстуры, размер пикселя как 4096 (опять же, как 2048 или 1024 альтернативно). Установите флажки, чтобы использовать вес угла, вес расстояния, вес границы изображения и вес деконтрибуции глубины. Применять.

Сохраните слой как mesh_colored.ply; также сохраните проект. Перейдите в файл > перезагрузите слой. Включите режим рендеринга текстуры (крайняя правая кнопка). Переключитесь в режим Smooth (вторая справа кнопка), чтобы увидеть цвет.


CloudCompare


Как визуализировать отсканированное облако точек в Cloudcompare?

В случае, если облако точек не содержит информации о цвете. Это может помочь визуализировать облако точек.

Выберите слой.

Правка > Цвет > Рампа высоты

Возможно, назначьте цвет по оси Y (или по оси X, или по оси Z). Попробуйте, чтобы найти лучший вид.

Как измерить расстояние/точность двух облаков точек?

1) Загрузите два слоя облака точек.

2) Нажмите клавишу Ctrl на клавиатуре и выберите оба слоя. Теперь вам нужно разрезать два слоя на одинаковые размеры. Нажмите на инструмент «сегмент» на панели инструментов. Нажмите, чтобы установить начальную точку, нажмите еще раз, чтобы установить другую точку. Когда вы закончите установку границы, щелкните правой кнопкой мыши, чтобы отпустить курсор. В строке меню сегмента выберите сохранение внутренней части многоугольника и примите изменения, нажав .

3) Нажмите клавишу Ctrl, чтобы выбрать новые сегментированные слои. На панели инструментов нажмите кнопку «Сравнить облако/расстояние до облака». В всплывающем окне проверьте правильность параметров на каждой вкладке. Обычно мы сохраняем «Общие параметры» со значением по умолчанию.

Мы можем изменить функции, которые хотим использовать, на вкладке «Локальное моделирование». Когда локальная модель не используется, расстояние от облака до облака — это просто расстояние до ближайшего соседа (с использованием своего рода алгоритма расстояния Хаусдорфа). Если эталонное облако имеет низкую плотность или имеет большие дыры, мы используем локальное моделирование. Все 3 модели основаны на наилучшей плоскости наименьших квадратов, которая проходит через ближайшую точку и ее соседей:

  • Плоскость наименьших квадратов: мы используем эту плоскость непосредственно для вычисления расстояний.
  • 2D1/2-триангуляция: мы используем проекцию точек на плоскость для вычисления триангуляции Делоне (но мы используем исходные 3D-точки в качестве вершин сетки, чтобы получить 2,5D-сетку).
  • Функция высоты: название вводит в заблуждение, но сохранено для совместимости со старыми версиями. Фактически соответствующая модель представляет собой квадратичную функцию (6 параметров: Z = a.X2 + b.X + c.XY + d.Y + e.Y2 + f). В этом случае мы используем только нормаль плоскости, чтобы выбрать правильный размер для «Z».

Можно сказать, что локальные модели сортируются по возрастанию «верности» локальной геометрии (а также по увеличению времени вычислений). Следует также учитывать, является ли локальная геометрия в основном гладкой или с острыми краями. Потому что триангуляция Делоне — единственная модель, которая теоретически может представлять острые края (при условии, что у вас есть точки на краях), а квадратичная функция — единственная, которая может представлять гладкие/изогнутые поверхности. По умолчанию рекомендуется использовать квадратичную модель, поскольку она более универсальна.

ссылка: http://www.cloudcompare.org/doc/wiki/index.php?title=Cloud-to-Cloud_Distance
4) На третьей вкладке нажмите Compute, чтобы получить результат.

5) Вы можете просмотреть гистограмму, нажав кнопку «Показать гистограмму» на панели инструментов.

6) Сохраните сегментированные слои.

Как использовать гистограмму в CloudCompare?

Используйте для отображения дополнительных статистических результатов.

Прокрутите мышь, чтобы увеличить/уменьшить размер корзины. Перетащите полосу влево/вправо, чтобы просмотреть статистику для разных корзин. Это очень полезно для получения идеального размера / значения корзины, которое вы хотите.

Дополнительная информация: http://www.cloudcompare.org/doc/wiki/index.php?title=How_to_compare_two_3D_entities


CMPMVS


Как настроить параметры в CMPMVS?

Вы можете добавить больше опций для изменения параметров.

Например, скопируйте каталог файла mnv.ini. Затем поставьте еще один пробел и вставьте нужные параметры. Параметры можно найти в файле readme в корневой папке CMPMVS.

Нажмите Enter, чтобы запустить CMPMVS с вашими настройками.

Всего комментариев: 0

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>