В рамках проекта была разработана специализированная программа разметки данных на языке C# .Net с интерфейсом WinForms и подробной инструкцией для пользователей. Базой для построения алгоритмов стали около 12 000 фотографий, полученных от РИЯ.
На этапе сбора обучающего датасета команда столкнулась с дефицитом бракованных изделий — данные были недостаточно репрезентативными. Поэтому было принято решение искусственно моделировать дефекты в производственном процессе и фиксировать их, формируя обогащенную обучающую выборку.
Нейросети для определения дефектов разрабатывались вручную. Обучение происходило на языке Python 3.6 с использованием TensorFlow 2, OpenCV, tensorboard и других инструментов. Особое внимание уделялось созданию сбалансированных mini-batch-датасетов, исключающих пересечения и перекосы классов.
Анализ данных на РИЯ реализован также на C# .Net, при этом для интеграции модуля ИИ использовался TensorFlow .Net. Обмен между программными компонентами происходил через протокол OPC с применением OPC UA SDK.
Кроме того, было создано веб-решение для формирования отчётов, интегрированное во внутреннюю систему управления предприятием.
Итоговая система в реальном времени:
- Выявляет дефекты сварки.
- Определяет их координаты и делает фото.
- Сохраняет результаты и автоматически формирует отчет.
- Предоставляет данные в цифровой системе управления.