|
|
# Метод постобработки реконструкции поверхности для 3D-сканированных объектов
|
|
|
|
|
|
## Аннотация
|
|
|
3D-сканирование широко используется во многих приложениях для получения высокоточной/неразрушающей документации реальных объектов, что особенно важно для сохранения культурного наследия ***КН***. Однако некоторые проблемы (в частности, отсутствующие детали, известные как "дыры") влияют на точность полученной 3D-модели после процедуры сканирования и требуют длительных процедур постобработки, которые включают ручное
|
|
|
редактирование высококвалифицированным персоналом. В данной статье предлагается автоматический метод реконструкции полученной поверхности 3D-моделей, улучшающий ранее полученные результаты для облаков точек высокой плотности.
|
|
|
|
|
|
## 1. Введение
|
|
|
3D-сканирование широко используется во многих приложениях благодаря высокоточным измерениям реальных объектов. Это имеет особое значение для сохранения культурного наследия ***КН*** как метод неразрушающего документирования произведений искусства, который имеет множество применений, таких как отслеживание и воспроизведение произведений искусства.
|
|
|
|
|
|
Хотя процедура 3D-сканирования становится быстрее и проще с использованием лазерных технологий, она по-прежнему требует выполнения высококвалифицированным персоналом, чтобы уменьшить проблемы, связанные с получением данных (в основном связанные с недостающими частями на поверхности объекта, видимыми как отверстия окончательно созданной 3D-модели) и сложные и трудоемкие процедуры постобработки (часто требующие ручного
|
|
|
редактирования поверхности) для повышения точности конечного результата созданной модели. Все эти факторы влияют на требуемое качество таких процедур документирования объектов ***КН***.
|
|
|
|
|
|
Как было сказано выше, одной из наиболее часто встречающихся проблем при применении методов 3D-сканирования является появление "дыр" из-за отсутствия данных измерений некоторых частей сканируемого объекта в процессе получения. Эта проблема снижает общую точность созданной модели и ее точное представление, обе проблемы представляют
|
|
|
особый интерес в области ***КН***.
|
|
|
|
|
|
В данной работе описан метод повышения точности компьютерных цифровых 3D-моделей. Его использование позволит увеличить скорость, сократить вычислительные затраты и время, затрачиваемое на фазу постобработки. Метод обратного
|
|
|
расстояния, разработанный и используемый для улучшения качества реконструкции человеческого лица для биометрических приложений [1], показал хорошие результаты при реконструкции трехмерных облаков точек без необходимости предварительного процесса создания сетки [2]. Результаты дополнительно улучшаются с точки зрения точности и скорости за счет субдискретизации поверхности и применения поправок в областях, где отсутствуют данные сбора данных.
|
|
|
|
|
|
## 2. Используемый метод
|
|
|
Большинство методик 3D-сканирования основаны на реакции исследуемого объекта на источник света. В одних случаях измеряется отраженный свет для определения расстояния до объекта ***(триангуляционный и времяпролетный методы)***, в других случаях оценивается деформация известного рисунка ***(структурированный свет)***, в других случаях делаются фотографии с разных ракурсов используются для получения 3D-модели с помощью специальных программных средств реконструкции ***(фотограмметрии)***. Общая проблема, которая проявляется в большей или меньшей степени при использовании всех этих методов, заключается в
|
|
|
наличии участков поверхности, в которых датчик не может проводить измерения, создавая "дыры" в измерении. Эта проблема может быть вызвана различными факторами, но в основном ее можно увидеть, когда отраженный свет не достигает сенсора устройства ***(из-за окклюзии, вызванной другими частями объекта, сильно отражающими поверхностями, такими как стекло или сильно освещенные поверхности, похожие на черную кожу [3-5])***. Поскольку датчик не может получить информацию об исследуемом объекте в этой области, прибор идентифицирует эту часть как "дыру" или пустую область в полученном облаке точек. Эта проблема, конечно, снижает общую точность созданной цифровой модели, что может поставить под угрозу цель всей процедуры.
|
|
|
|
|
|
Для исправления этих ошибок сбора данных используются ***методы постобработки*** [6]. Эти методы включают в себя ручные процедуры, когда высококвалифицированный персонал реконструирует отсутствующую область, стараясь сохранить форму как можно ближе к исходному объекту, и автоматические процедуры. ***Автоматические процедуры*** [7] используют разные методы (от простого "соединения" сетки с использованием геометрических фигур до более сложных методов, которые следуют локальной кривизне
|
|
|
формы), но все они имеют общую высокую стоимость вычислений и то, что они требуют много времени.
|
|
|
|
|
|
***Метод обратных расстояний*** был разработан для реконструкции трехмерной поверхности человеческого лица в приложениях биометрии. Метод использует небольшое количество точек нерегулярной сетки измерений для генерации недостающих точек,
|
|
|
создавая регулярную сетку вдоль области. Более подробное описание метода можно найти в [2]. В цитируемой статье была доказана эффективность метода на небольших участках ***(300х300 пикселей)***, сравнимая с другими более сложными методами и требующая меньших вычислительных мощностей, позволяющая успешно исправлять поверхности с недостающими частями от 3% до 30 % от
|
|
|
общей площади. Метод показал более низкую производительность при большем количестве баллов ***(15 000 точек и более)***.
|
|
|
|
|
|
Чтобы решить эту проблему, предлагаемая методика, опробованная в этой статье, в качестве первого шага обнаруживает отверстия на поверхности полученного скана, а затем выбирает соответствующую область вокруг отверстия для применения метода. Наконец,
|
|
|
обработанные детали добавляются на поверхность для получения конечного результата.
|
|
|
|
|
|
Этот вновь предложенный метод демонстрирует все ***преимущества метода обратных расстояний*** применительно к коррекции 3D-моделей и улучшает его работу в облаках точек высокой плотности, получаемых с помощью современных устройств 3D-сканирования.
|
|
|
|
|
|
## 3. Полученные результаты
|
|
|
Для проверки предлагаемого метода был разработан скрипт, написанный на языке Matlab (версия R2020b).
|
|
|
|
|
|
Чтобы правильно оценить точность тестируемого метода, скрипт создает "дыры" в тестируемом скане в известной области без каких-либо окружающих зазоров. Пробные области с различной кривизной использовались для проверки поведения метода. Скрипт использует
|
|
|
различные размеры и формы областей вокруг отверстия для вычисления недостающей информации и сохранения нового облака точек в формате ***.PLY***. Также скрипт вычисляет расстояние между точками исходного облака точек и нового облака точек с рассчитанных точек и получает его среднее значение и его стандартное отклонение. Следуя этой процедуре,
|
|
|
рограммное обеспечение CloudCompare (версия 2.11.1), Meshlab (версия 2020.12) и Geomagic (версия 2019) использовались для сравнения исходного сканирования и сгенерированного файла .PLY, помогая графически проверить местоположение максимальной разницы и окружение сгенерированного пробное отверстие.
|
|
|
|
|
|
Сканирование, использованное для этих экспериментов, было получено с помощью сканера на основе 3D-лазерной триангуляции (Коника Вивид 910). Сканируемый объект представлял собой мраморную скульптуру "Примавера" из собрания ***"Государственного музея-заповедника Царское Село" (Царское Село, Россия)***. Выбранный скан показывает части левой стороны лица и волосы исходного объекта. Для проверки эффективности метода при разной кривизне зоны были взяты три разные точки:
|
|
|
- первая точка на лбу/волосах фигуры, где поверхность почти ровная;
|
|
|
- вторая точка в глазу, где кривизна выше;
|
|
|
- третья точка в центральной части цветка, которая является частью украшения для волос, где кривизна была выше, чем в любой другой области сканирования.
|
|
|
|
|
|
В тестах использовались области вокруг отверстия квадратной и круглой формы, а количество точек, использованных для расчета, было от 0,5 до 80 раз больше количества точек, содержащихся в исходной удаленной области ***(размеры были рассчитаны с использованием расстояния между центром отверстия и его границей с добавлением процента от 10% до 700%)***. На рис. 1 показано сгенерированное отверстие и площадь, использованная для расчета области под названием ***"Цветок" (более высокая кривизна)*** и полученные результаты. В представленном случае используемая расчетная область содержала в 2 раза больше точек, чем исходное количество очков, удаленных из лунки.
|
|
|
|
|
|
![ref_001_img_001](uploads/7dd54172aec0b88f833e48cd07748440/ref_001_img_001.png)
|
|
|
Рис. 1. Обработка данных с помощью скрипта ***Matlab***. На ***(а)*** показана область, используемая для вычисления недостающей информации
|
|
|
(голубым цветом). На ***(b)*** сгенерированные точки с использованием метода (черный цвет).
|
|
|
|
|
|
Во всех случаях метод смог вычислить необходимые точки, покрывающие недостающую информацию. Как видно из ***таблицы 1***, результаты ближе к исходной информации, когда количество точек, используемых для расчета, больше, чем в 5 раз превышает количество удаленных точек (в два раза больше расстояния между центром и границами отверстия). Кроме того, мы можем наблюдать, что результаты колеблются вокруг этого значения, когда количество используемых точек больше, чем в 15 раз (примерно в 3,5 раза больше расстояния от центра отверстия до границы). В таблице также показаны лучшие результаты с меньшим количеством точек в зонах с более низкими значениями кривизны ***(в таблице названы "Волосы")***. Форма расчетной области не оказала существенного влияния на результаты наших экспериментов, сохраняя те же результаты при сравнении площадей с одинаковым количеством точек. Метод использует сетку для генерации координат X и Y новых точек: использовались разные размеры сетки, и результаты были почти одинаковыми.
|
|
|
|
|
|
### Таблица 1. Результаты, полученные в разных зонах и при разных расчетных областях.
|
|
|
|
|
|
|*<br><br><br>|<small>2<br>Mean<br>$`x\cdot10^{-3}`$</small>|<small>2<br>Std Dev<br>$`x\cdot10^{-3}`$</small>|<small>5<br>Mean<br>$`x\cdot10^{-3}`$</small>|<small>5<br>Std Dev<br>$`x\cdot10^{-3}`$</small>|<small>10<br>Mean<br>$`x\cdot10^{-3}`$</small>|<small>10<br>Std Dev<br>$`x\cdot10^{-3}`$</small>|<small>15<br>Mean<br>$`x\cdot10^{-3}`$</small>|<small>15<br>Std Dev<br>$`x\cdot10^{-3}`$|<small>20<br>Mean<br>$`x\cdot10^{-3}`$</small>|<small>20<br>Std Dev<br>$`x\cdot10^{-3}`$</small>|
|
|
|
|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
|
|
|Волосы|1.19|59.3|0.52|24.5|0.5|23.6|0.5|24|0.52|24.3|
|
|
|
|Глаза|1.22|67.3|0.55|29.3|0.43|22.7|0.39|21.1|0.38|20.6|
|
|
|
|Цветок|1.33|75.3|0.46|24.1|0.41|21.2|0.41|21.3|0.42|21.5|
|
|
|
|
|
|
*- размер расчетной области (исходное число точек отверстия, умноженное N раз)
|
|
|
|
|
|
Используя программное обеспечение для сравнения облаков точек, результаты были подтверждены. Области с более высокой кривизной показывают более высокую максимальную разницу, расположенную в центре расчетной области (см. результаты для различных областей в таблице 2). На рис. 2 показаны результаты, полученные в области с более высокой кривизной (называемой "Цветок") с использованием размера расчетной области, в 5 раз превышающего количество точек. В этом случае максимальная наблюдаемая разница составляет почти 2.25, но, как мы можем видеть в ***значении стандартного отклонения (Таблица 1)*** и подтверждать на изображении, количество точек, которые имеют высокую разницу с исходной информацией, невелико. В ***таблице 2*** мы можем наблюдать, что максимальная разница имеет тенденцию стабилизироваться около 2 с большими расчетными областями, независимо от кривизны используемой области.
|
|
|
|
|
|
### Таблица 2. Максимальное расстояние между расчетом и эталоном при различных областях расчета.
|
|
|
|
|
|
|*<br><br><br>|2<br>Max distance|5<br>Max distance|10<br>Max distance|15<br>Max distance|20<br>Max distance|
|
|
|
|---|---|---|---|---|---|
|
|
|
|Волосы|5.00|2.12|2.05|2.09|2.10|
|
|
|
|Глаза|5.84|2.61|2.17|1.97|1.96|
|
|
|
|Цветок|8.44|2.28|2.08|2.04|2.02|
|
|
|
|
|
|
*- размер расчетной области (исходное число точек отверстия, умноженное N раз)
|
|
|
|
|
|
![ref_001_img_002](uploads/19d28794702a7b195b105fc70a9c4a46/ref_001_img_002.png)
|
|
|
Рисунок 2. Сравнение рассчитанной информации об облаке точек и оригинала.
|
|
|
|
|
|
## 4. Выводы
|
|
|
Метод способен вычислять и восстанавливать недостающую информацию по координатам точек в окрестностях интересующей области во всех протестированных случаях. Процедура показала хорошие результаты при использовании расчетных областей, содержащих как минимум в 5 раз больше точек, чем исходная область. Интересно отметить, что результаты ***(среднее значение расстояния между эталонной и вновь рассчитанной областью, стандартное отклонение того же расстояния и максимум того же расстояния)*** начинают колебаться, когда количество точек, используемых для расчета, более чем в 15 раз превышает число точек созданной "дыры" в поверхности. Когда метод применяется к более плоской поверхности, максимальное расстояние меньше с меньшим количеством используемых точек, но при использовании примерно в 10 или более раз большего количества точек результаты почти одинаковы для зон с различной кривизной. Ни форма используемой области для расчета, ни размер сетки координат X-Y, используемых в методе, по-видимому, не влияют на полученные результаты. Будущим усовершенствованием будет поиск корреляционной функции между количеством точек и кривизной области, поиск идеального количества точек в каждом случае.
|
|
|
|
|
|
|
|
|
## Источники
|
|
|
[1] Shchegoleva N 2012 J Theor Appl Comput Sci 6(4) 37-50
|
|
|
|
|
|
[2] Shchegoleva N, Parfenov V and Smolina S 2020 WSEAS Transactions on Computers 19(4) 26-30
|
|
|
|
|
|
[3] Matusik W, Hanspeter P, Ziegler R, Ngan A and McMillan L 2002 Proc. of the 13th Eurographics Workshop on Rendering (Pisa) ed P Debevec and S Gibson (New York: Association for Computing Machinery) pp 267–78
|
|
|
|
|
|
[4] Mériaudeau F et al 2012 Depth Map and 3D Imaging Applications: Algorithms and Technologies ed A S Malik et al (Hershey: IGI Global) pp 229-43
|
|
|
|
|
|
[5] Zaimović-Uzunović N and Lemeš S 2010 IMEKO Conf. Proc.: 10th Int. Symp. on Measurement and Quality Control (Osaka) ed Y Takaya (Tokyo: Japan Society for Precision Engineering) pp 408–11
|
|
|
|
|
|
[6] Berger M, Tagliasacchi A, Seversky L, Alliez P, Levine J, Sharf A and Silva C 2014 Eurographics 2014 - State of the Art Reports (Strasbourg) ed S Lefebvre and M Spagnuolo (The Eurographics Association) pp 161-85
|
|
|
|
|
|
[7] Pérez E, Salamanca S, Merchán P and Adán A 2016 Int. J. Appl. Math. Comput. Sci. 26(4) 885-903 |
|
|
\ No newline at end of file |