Материал: Методы обратного проектирования и определение способов создания трёхмерных моделей на основе данных трёхмерного сканирования разных видов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Кроме положения точек объекта в пространстве, сканером так же фиксируется интенсивность отражённого сигнала, которую на этапе постобработки модели можно представить в псевдоцветах. Но чтобы получить естественные цвета в каждой точке сканирования используют цифровую камеру, которой снимают объект с нескольких ракурсов, либо камеру, установленную на сканер. В первом случае требуется так же ориентирование фотоснимков в пространстве, а во втором перед лазерной съёмкой на каждой точке стояния камерой фиксируется вся область сканирования, поэтому координаты фотоснимка относительно облака точек известны, и дополнительная их ориентация не требуется. Затем на этапе пост обработки каждой точке модели можно присвоить соответствующее значение оптической плотности. Это существенно повышает информативность полученной точечной модели.[14,15,16]

.4 Фотограмметрические 3d-сканеры

Фотограмметрические сканеры разделяют по принципу работы на 2 типа: активные и пассивные.

Активные фотограмметрические сканеры представляют собой аппарат с двумя разнесёнными на определённое расстояние (базис) камерами, с ярким светодиодом, служащим вспышкой для равномерного и правильного сканирования текстуры объекта, а так же с источником структурированного света. Источником может быть LCD проектор, который проецирует свет в виде сетки на объект. Две камеры одновременно получают изображения деформированной сетки, спроецированной на объект. По полученной стереопаре фотоснимков специальное программное обеспечение вычисляет положение точек объекта относительно сканирующего устройства, используя основные фотограмметрические зависимости, после чего выводит на экран компьютера предварительную модель. Частота кадров для захвата и обработки данных варьируется от десятков до сотен Гц, поэтому во время его работы можно видеть в реальном времени прогресс сканирования, что позволяет полностью отсканировать объект, не допуская появления дыр и участков без данных. Данный метод сканирования является одним из самых быстрых и точных, так как вместо сканирования одной точки в момент времени, такие сканеры получают данные со всего поля зрения сразу.[22]

Пассивные фотограмметрические 3d сканеры отличаются от активных отсутствием проектора, поэтому они регистрирует лишь свет, отражённый от объекта в видимом диапазоне. По сути своей они являются спаренными цифровыми камерами, но для построения модели также можно воспользоваться и обычной цифровой фотокамерой. Для создания трёхмерных моделей также используются фотограмметрические методы, которые требуют более 60% перекрытия между снимками, для выполнения условий построения модели.[10]

.5 Контактные 3d-сканеры

Контактные 3d-сканеры исследуют физические объекты, находясь с ними в контакте. Они могут представлять собой:

систему состоящую из щупа, закреплённого на каретках перемещающихся в нескольких осях. Такую систему целесообразно использовать при сканировании плоских или выпуклых поверхностей, не имеющих резких изгибов, недоступных для щупа.

систему шарнирных сочленений в виде руки-манипулятора с множеством степеней свободы и щупом на конце, снабжённую угловыми датчиками высокой точности. Эта система более функциональна и может сканировать почти любые формы объектов.

сочетание двух вышеописанных систем. Данная система позволяет сканировать объекты самых разнообразных форм, даже с внутренними полостями.[22]

Принцип работы этих сканеров заключается в том, что исследуемый объект ощупывается наконечником щупа, снабжённым сенсором касания. При этом он перемещается в пространстве, тогда как измерения по угловым датчикам или кареткам фиксируют точные координаты наконечника в каждый момент касания объекта. Частота измерений обычно не превышает 100 Гц.

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

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

Кроме описанных недостатков скорости сканирования таких сканеров, нужно добавить ограничение размеров исследуемого объекта, так как объект нужно поместить в рабочий объем сканирующей системы, которая обычно не превышает 2 метров по горизонтальным осям и 1,5 метра по вертикали. А также необходимость непосредственного контакта с поверхностью объекта, что может привести к его повреждению, если он хрупок.[30]

1.6 Виды представления трёхмерных данных в процессе обратного проектирования

.6.1 Облако точек

Облако точек (точечная модель) - представляет собой набор точек, полученных в результате 3D-сканирования объекта реального мира и представляющих поверхность этого объекта в трехмерной системе координат (рис.5.). Кроме того точечную модель можно получить из уже спроектированной цифровой модели, не имеющей аналога в реальном мире. Точки облака обычно представлены координатами XYZ, которые могут быть просто записаны в файле, но существуют форматы, которые имеют несколько иное представление. Например, выходные данные с 3d-сканера могут быть представлены в виде массива углов наклона прямой, проходящей через начало системы координат сканера и точку объекта, и значений расстояний до соответствующих точек объекта. Сканирование может выполняться с нескольких точек обзора и порождать множество таких наборов данных. Также данные сканирования могут содержать метаданные, зависящие от типа 3d-сканера. Под метаданными понимаются специфические данные, являющиеся побочным продуктом процесса измерения координат точек. К примеру, для активных бесконтактных сканеров таковыми будут интенсивность отраженного сигнала, количество отражений, время фиксации точки, цвет поверхности и т.д. Точность отображаемой поверхности объекта напрямую зависит от количества точек в облаке, а следовательно от разрешающей способности сканера.

Рис.5. Облако точек поверхности объекта.

Облака точек обеспечивают быструю визуализацию объекта реального мира. При этом они успешно используются для измерений и контроля объектов, 3D-печати, наглядной визуализации труднодоступных мест или больших протяженных объектов, создания трехмерных и математических моделей, распознавания образов, при автоматизированном анализе, реконструкциях и эксплуатации, а так же являются основой для обратного проектирования реально существующих объектов. [25]

В случае обратного инжиниринга первым этапом анализа данных такого типа обычно является восстановление поверхности и ее триангуляция с целью получить базовую аппроксимацию в виде полигональной сетки. Триангуляция может использоваться в дальнейшем для аппроксимации такой поверхности функциями более высоких порядков, например параметрическими или Nurbs поверхностями.[4]

1.6.2 Полигональная сетка.

Полигональная сетка (модель) представляет собой набор топологически связанных простых геометрических двумерных примитивов, которые описывают поверхность объекта. Этими примитивами являются полигоны, которые представляют собой фигуры с прямыми сторонами (3 и более сторон), определенными посредством точек трехмерного пространства (вершин) и соединяющих эти точки линий (ребер) (рис.6). Внутренняя область полигона называется гранью.[25,32,33]

Обычно в полигональной сетке вершины и ребра совместно используются разными гранями, так реализуется их топология. В этом случае их называют общими вершинами или общими гранями. Внешние ребра сетки называются граничными ребрами.[25]

Рис.6. Составляющие полигональной сетки.

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

Рис.7. Нормали граней.

Порядок перечисления вершин, окружающих грань, определяют ее направление (в какую сторону грань обращена лицом, а в какую - изнанкой). Этот факт может оказаться важным, так как полигоны видны только со своей лицевой стороны.[25]

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

Поэтому признаку полигональные модели разделяются на высокополигональные (high poly) и низкополигональные (low poly), и так как объём данных в полигональных моделях очень влияет на производительность технического оборудования, то эти два вида полигональных моделей имеет различное применение. Низкополигональные модели используются в основном там, где нужна высокая производительность и скорость визуализации модели в программе, например в играх.[32,33]Но существует возможность повысить детализацию модели с помощью замощения (тесселяции). Тесселяция - способ, с помощью которого возможно увеличить количество полигонов в трёхмерной модели, используя кривые Безье. При этом каждый полигон модели разбивается на заданное число связанных полигонов, которые выстраиваются в соответствии с общим направлением поверхности модели. Таким путём можно сначала создать простую модель, а затем быстро и просто повысить её детализацию.[20]

Полигональное моделирование, это моделирование только поверхности объекта, поэтому оно относится к пустотелому моделированию. Это проявляется в том, что при редактировании такой модели, если удалить часть полигонов, образуется дырка в поверхности, через которую будет видно всю внутреннюю часть модели. То есть такая модель в отличие от твердотельных моделей не имеет информации о своём объёме. Поэтому к недостаткам полигональных моделей можно отнести то, что из таких моделей невозможно получить сведения о физических свойствах объекта, таких как масса, объём, центр тяжести и др.[5]

.6.3 Твердотельные модели

Твердотельное моделирование является самым совершенным и самым достоверным методом создания копии реального объекта.[35]

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

Твердотельная модель строится путем создания целостной, не имеющей разрывов совокупности поверхностей, которые сшиты между собой и образуют правильный замкнутый геометрический объем, то есть твердое тело содержит внутренний объем, ограниченный внешней поверхностью. Изменение одной из них приводит к изменению других. [24] Фундаментальным свойством твердотельного моделирования является сохранение топологии элементов тела (отношения элементов - их взаимного расположения). Сохранение связей элементов тела обеспечивает замкнутость и непротиворечивость объема твердого тела. Установленные между элементами связи сохраняются вместе с геометрической информацией в базе данных.

Методы твердотельного моделирования, основанные на булевых операциях, особенно удобны при вычислении поверхностных и весовых характеристик тел, расчете напряжений, имитации операций механической обработки. [35] В последнем случае операции резания металла (точение, фрезерование, сверление и т. п.) могут быть легко описаны при помощи булевой разности.

Методы создания твердотельных моделей подразделяются на два класса:

1.Метод конструктивного представления (C-Rep)[35]:

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

Инструментами построения C-Rep являются булевы операции, они базируются на алгебраической теории множеств. Булевы операции являются главным инструментарием для построения модели С-Rep при определении взаимоотношений между соседними примитивами.

Чаще всего используются операции:

¾      Операция объединения (È) определяет пространство внутри внешней границы составной формы, полученной из двух тел с общей областью. Объединение двух произвольных кругов А и В в таблице 1 представляет собой заштрихованную область A∪В. Таким образом, операция объединения определяет результирующую составную форму как один элемент. На том же рисунке показано применение эквивалентной операции для двух твердотельных примитивов (цилиндра Р и кубоида Q). Там же проведено сечение объединения P∪Q, чтобы подчеркнуть, что образовалась новая цельная форма, не похожая ни на цилиндр, ни на кубоид.

¾      Операция разности (─) определяет пространство, ограниченное поверхностью, оставшейся от одной формы, и внешней границей общей области двух форм. В таблице 1 заштрихованной областью А─В показан результат действия операции булевой разности на круги А и В. Ниже на этом же рисунке изображен цилиндр с пазом Р─Q, являющийся разностью двух твердых тел Р и Q. Например, модель плиты с отверстием в ней может быть получена вычитанием цилиндра из параллелепипеда.

¾      Операция пересечения (Ç) определяет пространство внутри границ общей области объектов. Пересечение кругов А и В представлено в таблице 1 заштрихованной областью А∩В, а пересечение тел Р и Q - твердотельной формой P∩Q.

Булевы операции на примере твёрдых тел.

Теория множеств

Объединение È

Разность ¾

Пересечение Ç

A B

AÈB

A ¾ B

AÇB




Таблица. 1. Булевы операции на примере твёрдых тел.

2.Метод граничного представления (поверхностный) (B-Rep)[24,35]:

Метод граничного представления (B-Rep) также оперирует с примитивами, связанными при помощи булевых операций. Граничное представление - задание граничных элементов детали - параметрически описанных поверхностей (граней - face), ребер (границы или же пересечения граней), вершин (часть/точка на кривой, формирующей ребро), описывающих тело. Эти данные дополняются информацией о топологии примитива и особенностях его геометрии.

В этом методе задаётся ось и контур будущего объекта, далее происходит построение области, занятой контуром. Затем удаляют скрытые линии и закрашивают поверхности с учетом их свойств. Именно ребра и грани образуют трёхмерную граничную поверхность объёмного тела. Это единственный метод, позволяющий создать точное, а не приближенное представление геометрического твердого тела.

При таком подходе от пользователя требуется задание контуров или границ объекта, а также эскизов поверхностей разных видов, и указание линий связей между этими поверхностями, чтобы можно было установить взаимное соответствие. B-Rep метод актуален в образовании сложных структур, которые очень сложно воссоздать при помощи C-Rep метода. Так же преимуществом систем с B-Rep является простейшее изменение граничного представления в данную каркасную модель и обратным ее изменением. Причиной тому является то, что описание границ аналогично описанию каркасной модели.


Основные составляющие граничной модели.

Общий вид.

Грани и рёбра.

Вершины.

Таблица 2. Основные составляющие граничной модели.

Достоинства и недостатки методов C-Rep и B-Rep[24,35]:

¾      Система с C-Rep представлением имеет преимущества при первоначальном формировании модели, так как построить объемную модель правильной формы из объемных примитивов с использованием булевых операций достаточно просто. Кроме того, этот метод обеспечивает более компактное описание модели в БД.

¾      Однако B-Rep представление является актуальным при создании сложных форм, которые воссоздать с помощью C-Rep метода очень трудоемко.

¾      В C-Rep методе модель хранится в виде комбинации данных и логических процедур, при этом требуется меньше памяти, но большим оказывается объем вычислений при воспроизведении модели. С другой стороны модели c B-Rep представлением хранит точное описание границ модели, для этого нужно больше памяти, мощные аппаратные средства и ПО, но не требуется почти никаких вычислений для воссоздания изображения.

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

1.6.4 Nurbs-поверхности

Неоднородный рациональный сплайн Безье, NURBS (Non-Uniform Rational Bezier Spline) - частный случай кривых Безье. Это особая технология, предназначенная для создания плавных органических форм и моделей, основанная на сложном математическом аппарате.[20] Всего существует около 1500 уравнений для описания всех геометрических элементов, от простейших кривых до сложных поверхностей. Из-за особенности строения NURBS поверхности всегда гладкие (у них нет острых краев, присущих полигонам), поэтому они широко используются в органическом моделировании (подобном созданию растительных форм), для создания моделей животных, людей, машин и т. д. NURBS поверхности не состоят из сетки прямоугольников, разбиение поверхностей на многоугольники происходит лишь на этапе визуализации в программном обеспечении и предполагает использование оптимального алгоритма для сохранения гладкости. Поэтому при любом приближении соблюдается гладкость поверхности.[28] Моделирование на основе NURBS-кривых отличается большей гибкостью и позволяет создавать любые самые причудливые модели. Вместе с тем NURBS-модели более массивны, сложны в редактировании и дольше визуализируются.[29]

Любая NURBS-модель представляет собой некий набор NURBS-поверхностей, образованных NURBS-кривыми. Данные кривые описываются математическими формулами, в итоге отпадает необходимость запоминать каждую точку кривой, достаточно знать координаты ее начала и конца и математическую формулу, описывающую кривую. Это позволяет создавать сложные криволинейные поверхности с небольшим числом управляющих вершин (рис. 8) и легко избавляться от грубой огранки объектов, придавая им плавную искривленную форму путем простого увеличения детализации.

Рис. 8. Уровень детализации полигонального шара (слева) и NURBS-шара (справа) - видно, что число вершин у первого шара на порядок больше. Светлана Шляхтина.[29]

Самый простой вид NURBS-поверхностей - это NURBS-примитивы, представленные объектами Sphere (Сфера), Cube (Куб), Cylinder (Цилиндр), Cone (Конус), Plane (Плоскость) и Torus (Topус). Как и другие типы примитивов, NURBS-примитивы обычно используются в качестве основы для формирования более сложных моделей.[29]

Глава 2. Этапы обратного проектирования модели реально существующего объекта

.1 Сканирование объекта

Сканирование проводилось активным фотограмметрическим 3D-сканером Artec Spider (EVA-5), принцип работы таких сканеров описан в разделе 1.4. В качестве исследуемого объекта были выбраны старые настольные тиски производства СССР, так как они обладают множеством различных поверхностей в основном правильной геометрической формы.

Сканирование фотограмметрическим сканером обычно производится в несколько маршрутов. Программное обеспечение сканера Artec Studio 9 осуществляет отображение процесса сканирования в реальном времени, что позволяет определить то, что уже отсканировано и предстоящий объём работы(рис.9). Для правильного сканирования необходимо перемещать сканер вокруг объекта в определённом диапазоне расстояния от него, за этим можно наблюдать в окне программного обеспечения сканера (рис.10). При выходе из диапазона будет подан звуковой сигнал, в таком случае необходимо приблизить или отдалить сканер.

Так как объект имеет достаточно сложную геометрию, необходимо было сделать несколько сканов: 2 больших скана с двух сторон объекта, и еще 3 для внутренних и мелких областей.

В результате сканирования имеем предварительную визуализацию будущей модели (рис.11). Необходимо произвести обработку сканов, которые представляют собой набор снимков со сканера с предварительным внутренним ориентированием. Для этого задаём программе последовательное выполнение следующих действий: глобальная регистрация, точная склейка и фильтрование мелких объектов. Всё эти этапы проводятся автоматически, конечно имеется возможность более тонкой ручной настройки, но результат автоматической обработки нас вполне устраивает (рис.12). В данном программном обеспечении также можно произвести сведение сканов и объединение их в одну модель, но было решено сделать это в другом программном обеспечении с большим функционалом в работе с полигональными сетками, а именно в триальной версии Geomagic Wrap.

Рис.9. Процесс сканирования и его отображение в реальном времени в окне программного обеспечения.

 

Рис.10. Отображение процесса сканирования в окне программного обеспечения сканера.

 

Рис.11. Предварительная визуализация сканов.

 

 

Рис.12. Конечный результат обработки сканов.

.2 Обработка полигональной модели в Geomagic Wrap

После удаления поверхности стола со всех сканов первым этапом построения модели будет ориентирование (регистрация) всех сканов относительно друг друга, для их последующей склейки. Для начала можно обойтись ручным ориентированием по нескольким соответственным точкам (рис.13).

Дальше следует провести глобальную регистрацию, в ходе которой программа точно сориентирует сканы относительно друг друга в автоматическом режиме. При этом возможно выполнить настройку допусков, размера образца сравнения, количество итераций сравнения и т.д. В результате чего получаем точно ориентированные между собой полигональные сетки (рис.14).

Рис.13. Ориентирование сканов по нескольким точкам.

 

Рис.14. Сориентированные между собой части модели.

Следующим шагом будет объединение сканов в одну модель, процесс также автоматизирован и нуждается лишь в небольшой настройке. В результате получаем цельную полигональную модель (рис.15) количество полигонов около 10 300 000. Как видно на изображении, модель имеет много шумов и неровностей, вызванных отчасти блеском металла, сколов краски, а так же загрязнённостью узких щелей, а также отверстия, вызванные недопустимыми для сканера углами обзора и автоматической фильтрацией краевых частей объекта во избежание краевого эффекта.

Чтобы иметь возможность вписать различные поверхности в элементы объекта необходимо как можно лучше очистить модель от шумов, залить отверстия, исправить ошибки полигональной сетки, а так же уменьшить количество полигонов без изменения основной формы объекта для улучшения производительности работы программы. Для этого в программном обеспечении есть множество автоматизированных, полуавтоматизированных и ручных инструментов и функций.

Далее приведём основные инструменты редактирования полигональной сетки:

.”Устранение неполадок каркаса” - очень важный автоматизированный инструмент, который обнаруживает и исправляет самопересечения, рёбра с большим количеством складок, шипы, мелкие компоненты, туннели и отверстия;

.”Уменьшение количества треугольников” (полигонов) - сокращает до нужного количества или процента количество полигонов в полигональной сетке без ухудшения её детализации;

.”Пересечение” - накладывает ограниченную или неограниченную плоскость или кривую на полигональную сетку, после чего создаёт искусственную линию пересечения на полигональной сетки. Имеется возможность удаления полигонов по одну из сторон плоскости;

.”Перестроение каркаса” - повторно трингулирует каркас полигональной сетки для получения более равномерной триангуляции;

.”