Назад

СЕКЦИЯ 5. «ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ И КОМПЬЮТЕРНЫХ СИСТЕМ, СРЕДСТВА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ПО И СИСТЕМ»

УДК 004.021

Классификация моделей САПР с помощью машинного обучения

А.В. Григорьев*1, Е.С. Бондаренко*2

1 к.т.н, доцент, Донецкий национальный технический университет, grigorievalvl@gmail.com

2 магистрант, Донецкий национальный технический университет, kate.bond777@gmail.com

Григорьев А.В., Бондаренко Е.С. Классификация моделей САПР с помощью машинного обучения. В работе исследована возможность оценки сходства 3D-моделей в САПР с помощью нейронных сетей. Выявлены преимущества использования подхода машинного обучения при классификации 3D-моделей в САПР. Проведено сравнение трех различных алгоритмов контролируемого обучения. Предложен алгоритм создания надстройки в САПР для различия 3D-геометрии.

Ключевые слова: 3D-модель, машинное обучение, классификация, геометрия, нейронная сеть, САПР.

Введение

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

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

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

До сих пор не существует метода прямого сравнения 3D-моделей. Поэтому исследователи разработали серию дескрипторов, называемых сигнатурами формы, представляющих 3D-модель и ее атрибуты. Большинство работ сосредоточено на разработке единого «идеального» дескриптора, который позволит сравнивать объекты и точно определять их коэффициент сходства. В действительности использование только одной сигнатуры формы обычно приводит к описанию детали, которое подходит только для какой-то конкретной области применения.

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

Целью работы является исследование возможности оценки сходства 3D-моделей в САПР с помощью нейронных сетей. Для этого были поставлены следующие задачи:

Машинное обучение

Машинное обучение (ML) - это область компьютерных наук, использующая статистику и помогающая компьютеру обучаться без непосредственных инструкций [1]. Методы машинного обучения можно разделить на 2 основные категории – контролируемое обучение и неконтролируемые алгоритмы обучения. Алгоритмы контролируемого обучения, включая, например, регрессию, должны быть снабжены как входными данными, так и желаемыми выходными данными. Основываясь на этих двух наборах данных, алгоритм узнает, как получить желаемый результат на основе соответствующих входных данных. С другой стороны, при неконтролируемом обучении желаемые результаты не представляются модели, и предполагается, что алгоритм найдет оптимальный метод категоризации данных без каких-либо указаний.

Как контролируемые, так и неконтролируемые методы машинного обучения оказались полезными во многих реальных приложениях. Они могут быть использованы для задач типа классификации, регрессии и уменьшения размерности. Благодаря своей способности обобщать шаблоны, они не чувствительны к шуму во входном векторе. Кроме того, поскольку работа многих моделей ML, таких как нейронная сеть, основана на простых вычислениях, после обучения они работают быстрее, чем методы, использующие фильтрацию и набор логических правил [2].

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

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

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

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

Другой метод, называемый машиной опорных векторов (SVM), или его разновидностью, называемой классификатором опорных векторов (SVC), создает набор гиперплоскостей в многомерном пространстве, который, как предполагается, разбивает набор данных на желаемые кластеры, сохраняя при этом максимальное расстояние между гиперплоскостями и соседними выборками. Эти гиперплоскости затем могут быть использованы для регрессии (в приложении SVM, называемом Регрессия опорного вектора или SVR) или для целей классификации. Считается, что алгоритм SVC обеспечивает высокую точность классификации наборов данных, состоящих из относительно небольшого числа выборок по сравнению с количеством признаков, описывающих выборки.

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

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

на веса, присвоенные связям, соединяющим нейроны. Результирующие значения затем суммируются и обрабатываются функцией активации в нейронах следующего слоя. Схема структуры нейронной сети NN представлена на рис. 1.

Рисунок 1 – Структура нейронных сетей NN

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

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

Сравнение 3D-моделей

В САПР 3D-модели нельзя сравнивать напрямую. Вместо этого из геометрии извлекаются дескрипторы тела, называемые представлениями формы или сигнатурами формы. Затем сходство между компонентами получается путем сравнения их дескрипторов формы. Набор требований к идеальному представлению формы обсуждался в [3]. Наиболее важные из них включают эффективность извлечения дескриптора формы из модели и количество значений, из которых он состоит.

Методы кластеризации 3D-форм часто классифицируются на основе характеристик, используемых для описания геометрии. Эти общие группы алгоритмов основаны на характеристиках, графиках, гистограммах и 2D-представлениях модели.

В области дескрипторов, использующих глобальные объекты, те, которые основаны на геометрических свойствах, обычно легче всего извлечь. В [4] была предложена поисковая система, фильтрующая 3D-модели на основе их геометрических свойств. Используемые характеристики включали объем, общую площадь поверхности, а также геометрические соотношения – извилистость и компактность.

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

Другая популярная группа дескрипторов использует графики. Метод преобразования 3D-модели в атрибутивный граф был представлен в [6]. При таком подходе грани модели САПР представлены узлами графа, тогда как ребра модели относятся к ее связям.

В последние годы анализ изображений все чаще используется для сравнения 3D-режимов. Первая работа в этой области, вероятно, была представлена в [7]. Авторы использовали полностью подключенную нейронную сеть для классификации шахт на основе их поперечных сечений. В [8] был определен и использован для поиска 3D-модели «дескриптор высот», полученный на основе 6 базовых видов в сером масштабе (сверху, снизу, спереди и т.д.). Был представлен алгоритм выбора наиболее репрезентативных видов, представляющих 3D-геометрию. Это повысило точность поиска, одновременно снизив вычислительные затраты. Наконец, сверточная

нейронная сеть была использована для обнаружения сходства между эскизами и 2D-видами 3D-геометрии. Такой подход дает возможность найти существующую модель на основе наброска от руки, а не 3D-геометрия, которая может быть неизвестна или недоступна.

Обзор методологии

Для создания надстройки в САПР для различия 3D-геометрии, рассмотрим основные этапы ее создания. На рис. 2 представлен общий обзор исследуемой методологии.

Рис. 2 – Обзор методологии

На первом этапе модели САПР загружаются из системы управления жизненным циклом продукта (PLM). На втором этапе собранные модели обрабатываются с помощью приложения, разработанного на языке программирования VBA с применением API.

Последние версии многих САПР улучшили методы, поддерживаемые собственные объекты, и они были дополнены очень мощной математической утилитой. Эта функция позволяет легко выполнять базовые и расширенные точечные, векторные и матричные операции. Используя API в САПР, мы можем манипулировать тремя типами объектов: объектами, поступающими из САПР (собственные объекты модели), объектами, поступающими из базы данных математических утилит (математические объекты), и объектами, определяемыми пользователем (рис. 3). Собственные геометрические объекты относятся к объектам эскиза (точка, линия, круг, сплайн и т.д.) и их ограничениям, элементам (выдавливание, поворот, лофт и т.д.), управлению сборкой (сопряжение, вставка, перемещение и т.д.). Собственные математические объекты касаются точек, векторов и преобразований для манипулирования объектами (проецирование из пространства модели в пространство эскиза и наоборот, выполнение базовых операций с векторами и т.д.).

Рисунок 3 – Схема сущности API в САПР

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

С использованием вышеупомянутого программного обеспечения извлекаются различные переменные, характеризующие каждую модель САПР. Это, например, количество точек, граней и ребер, общая площадь поверхности, объем, отношение объема к площади, отношение площади к объему и т.д.

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

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

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

Собранные переменные, характеризующие модели САПР, затем сохраняются в файл.

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

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

Таблица 1 - Функции, используемые алгоритмами машинного обучения
Характеристика Тип данных
Количество точек Числовой
Количество ребер Числовой
Количество граней Числовой
Объем Числовой
Площадь поверхности Числовой
Отношение площади к объему Числовой
Отношение объема к площади Числовой

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

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

Точность = \(\frac{\text{кол-во правильных решений}}{\text{кол-во рассмотренных решений}}\)

(1)

Преимущества методологии

Большинство отраслей промышленности по-прежнему используют текстовые поисковые системы для поиска моделей САПР. В фоновом режиме они используют имя файла и введенные вручную атрибуты, описывающие геометрии. Это делает эти методы уязвимыми для человеческих ошибок и трудными в обслуживании.

Подход машинного обучения, использующий геометрические атрибуты для классификации, обеспечивает удобную альтернативу. Используя различные обучающие наборы данных, модель машинного обучения может соответствовать требованиям конкретной отрасли. Она также может быть расширена новыми классификационными «правилами» без необходимости определять их вручную – алгоритм просто нужно переучить с расширенным или измененным набором данных. В результате алгоритм является простым в обслуживании. Наконец, обучение модель относительно невелика по сравнению с методами, основанными на операторах if-then или И-ИЛИ деревьях. Это позволяет использовать модель даже на компьютерах с ограниченной вычислительной мощностью.

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

могли бы использовать знания, уже хранящиеся в производимых деталях. Это также предотвратило бы разработку очень похожих компонентов или дубликатов. Предлагаемый подход мог бы также позволить системам автоматизированного планирования технологических процессов (САРР) быстрее определять производственные процессы или оценивать производственные затраты на основе наиболее похожих компонентов, которые уже были рассмотрены.

Выводы

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

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

Дальнейшая работа должна проверить надежность предлагаемого метода. Эта тема открыта для исследования, т.к. еще не создан универсальный метод сравнения графики в САПР, который позволил бы сократить время разработки новых моделей. Наконец, разработка надстройки в одной из САПР по предлагаемому методу позволит различать примитивные объекты графики и проверить корректность этого метода на практике. И в дальнейшем эту программу можно постепенно улучшать и доводить до совершенства.

Список литературы

  1. Sunil V. B., Pande S. S. Automatic recognition of machining features using artificial neural networks // The International Journal of Advanced Manufacturing Technology. – 2009. – Vol. 41, № 9–10. – P. 932–947.
  2. Müller A. C., Guido S. Introduction to Machine Learning with Python: A Guide For Data Scientists. – O’Reilly Media Inc., 2016. – 392 p.
  3. Qin Z., Jia J., Qin J. Content based 3D model retrieval: A survey // 2008 International Workshop on Content-Based Multimedia Indexing. – London, 2008. – P. 249–256.
  4. Rea H. J., Corney J. R., Clark D. E. R. et al. Part-sourcing in a global market // Concurrent Engineering. – 2002. – Vol. 10, № 4. – P. 325–333.
  5. Cicconi P., Raffaeli R., Germani M. An approach to support model based definition by PMI annotations // Computer-Aided Design and Applications. – 2016. – Vol. 14, № 4. – P. 526–534.
  6. El-Mehalawi M., Miller R. A. A database system of mechanical components based on geometric and topological similarity. Part I: representation // Computer-Aided Design. – 2003. – Vol. 35, № 1. – P. 83–94.
  7. Kaparthi H., Suresh N. C. A neural network system for shape-based classification and coding of rotational parts // International Journal of Production Research. – 1991. – Vol. 29, № 9. – P. 1771–1784.
  8. Shih J., Lee C., Wang J. T. A new 3D model retrieval approach based on the elevation descriptor // Pattern Recognition. – 2007. – Vol. 40, № 1. – P. 283–295.

Григорьев А.В., Бондаренко Е.С. Классификация моделей САПР с помощью машинного обучения. В работе исследована возможность оценки схожести 3D-моделей в САПР с помощью нейронных сетей. Выявлены преимущества использования подхода машинного обучения при классификации 3D-моделей в САПР. Проведено сравнение трех различных алгоритмов контролируемого обучения. Предложен алгоритм создания надстройки в САПР для развития 3D-геометрии.

Ключевые слова: 3D-модель, машинное обучение, классификация, геометрия, нейронная сеть, САПР.

Grigoriev A.V., Bondarenko E.S. Classification of CAD models using machine learning. The paper investigates the possibility of assessing the similarity of 3D models in CAD using neural networks. The advantages of using the machine learning approach in the classification of 3D models in CAD are revealed. Three different algorithms of supervised learning are compared. An algorithm for creating an add-in in CAD to distinguish 3D geometry is proposed.

Keywords: 3D model, machine learning, classification, geometry, neural network, CAD.