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

Ниже представлена информация о несколько наиболее интересных проектах.
Быстрый мульти-GPU реконструктор для рентгеновской томографии высокого разрешения
Заказчик:
Neoscan (Бельгия)

Задачи:
разработать модуль для быстрой реконструкции данных рентгеновской томографии высокого разрешения (10K × 3600 проекций) с использованием CUDA для мульти-GPU систем.

Платформа:
Windows x64

Стек:
C++ 17, CUDA

Ссылки и публикации:
Fast CT reconstruction of large datasets on multi-GPU systems (Youtube, en)
Neoscan
Описание

Задача команды Unicore Solutions состояла в разработке быстрой эффективной реализации классического алгоритма Feldkamp для конического пучка. Проект не допускал компромиссов качества, все оптимизации должны были проводиться без ухудшения конечного результата. Основная задача состояла в обработке данных высокого разрешения, однако эффективность работы с небольшими наборами также должна была оставаться высокой.

Разработанный модуль, интегрированный в ПО Neoscan microCT, поддерживает все стандартные опции, такие как 360/180+ сканирование, коррекцию увеличение жёсткости спектра и кольцевых артефактов, сглаживание, устранение геометрических отклонений, ROI и пр.

Целью процесса оптимизации было разработать решение с использованием CUDA, поддержки нескольких GPU и серверных кластеров. Наивысшая скорость обработки была достигнута за счет тщательной балансировки нагрузки на всему подсистемы GPU, включая доступ к памяти и кешу, текстурные модули, SM'ы. Мы так же реализовали прямой асинхронный доступ к дисковым накопителям и применили прямую работу в основными форматами графических файлов без использования медленных стандартных кодеков.
Сравнение скорости работы нашего реконструктора с коммерческими аналогами на реальной системе показало ускорение в 20–50 раз относительно обработке на CPU. Наше решение показало скорость на уровне лучших аналогов для небольших наборов данных, при этом опережая их в 3–5 раз на томографии высокого разрешения. Преимущество в скорости неуклонно растет с повышением сложности задачи.

Важно так же отметить, что наше решение прекрасно масштабируется. Простое обновление видеокарты может заметно улучшить скорость работы реконструктора. Добавление второго GPU дает прирост скорости в ×1.5–1.8 раза. Так же модуль реконструкции может применяться в кластере серверов, при этом добавление каждого дополнительного серверного модуля пропорционально увеличивает скорость.

Более детально результаты работы рассмотрены в видео-презентации (английский):
Программное обеспечение для системы рентгеновской инспекции печатных плат
Заказчик:
Продис.НДТ (Россия)

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

Операционные системы:
Linux, Windows

Платформы:
x64, Эльбрус 4C–8СB

Стек:
C++ 14–17, Qt/Qml, OpenGL, OpenCV, the Flow

Локализация:
Русский, английский, другие по запросу

Ссылки и публикации:
Цифровой рентген: прогулка по Эльбрусу (Хабр)
60 fps real-time 16384×16384px X-Ray image processing on GPU (Youtube, en)
Automatic counting of electronic components by X-Ray radiography (Youtube, en)
Система рентгеновской инспекции печатных плат Продис.Электро
Программное обеспечение proDIS
Описание

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

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

  • Простой и понятный интерфейс
  • Множество фильтров, в том числе реального времени
  • Видео режим с регулируемым биннингом
  • Поддержка любого детектора серии "Марк"
  • Использование формата: TIFF, JPG
  • Бесшовная сшивка серии изображений
  • Счётчик SMD компонентов
  • Поиск пустот SMD/BGA
  • Поиск зон плохого контакта в BGA массивах
  • Управление рентген аппаратом
  • Управление системой перемещения
  • Томография
  • Непрерывная калибровка по всему диапазону анодных напряжений
  • Навигация по технологической карте
  • Поддержка отечественных операционных систем
  • Поддержка отечественных процессоров Эльбрус 8С
Процесс разработки

Программное обеспечение для системы рентгеновской инспекции печатных плат требует серьезной обработки больших изображений в реальном времени и одновременной работы с различными модулями установки. Поскольку это был один из наших первых проектов на платформе Эльбрус 8С (также поддерживаются Linux и Windows) мы были главным образом сфокусированы на эффективном решении этих двух задач в кроссплатформенном варианте.

Сердце системы — плоскопанельный цифровой детектор — передает данные по 1 Гб Ethernet посредством протокола GigE vision. Существующие решения с открытым исходным кодом (например Aravis) не подошли нам по скорости и качеству. Известные коммерческие SDK были несовместимы с Эльбрус 8С. Поэтому мы были вынуждены реализовать его самостоятельно. Реализация получилась эффективной, полностью загружает 1 Гб канал и обеспечивает максимальную частоту кадров. Наша реализация оснащена полностью автоматической системой обнаружения детекторов, подключенных к системе, используя различные фильтры для выбора наиболее подходящего.

По этим же причинам нам пришлось реализовывать поддержку всех остальных модулей системы: механику (до 9 осей), ряд рентгеновских генераторов (Spellman, Hamamatsu, Eltech, X-Pro), оптических камер и ключей защиты. Система автоматического поиска устройств используется для поиска всех подключенных к системе устройств.

Системы для цифровой радиографии работают с большими 16-битными снимками. 16 Мп и более являются обычными размерами для захвата в реальном времени, а 100 Мп и более не предел для сшивок и технологических карт. Для всех них пользователи ожидают быструю обработку в реальном времени (30 кадров/сек и более), как минимум для самых распространенных операций, что сложно себе представить на всех целевых процессорах. Вследствие отсутствия полноценной кроссплатформенной поддержки CUDA/OpenCL/Vulkan мы были вынуждены реализовать на чистом OpenGL 3.0 весь тракт работы с изображениями, от захвата с детектора, калибровки, оценки и обработки гистограммы, повышения резкости и подавления шума, геометрических преобразований и цветовой дифференциации областей. Результаты обработки 16-битного изображении 3000x3000 пикселей показали от ~33 мс/кадр для устаревших видеокарт AMD R5 до ~2 ms/кадр на более современных GeForce RTX 2070 Max-Q. Эти цифры включают в себя все этапы обработки, от захвата с детектора до отображения результатов.

Сложная пост-обработка и анализ изображений был реализован на OpenCV, которая достаточно быстро работает на всех целевых платформах. Эльбрус 8С удивил нас превосходной оптимизацией и показал результаты сравнимые или лучше, чем современные модели Intel/AMD.

Подробнее о разработке для платформы Эльбрус.

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

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

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

Также мы активно использовали в проекте свои собственные наработки и библиотеку Flow для ускорения процесса и достижения нужной гибкости и качества продукта.
Программное обеспечения для определения криолитового отношения на GNR Explorer XRD/XRF
Заказчик:
GNR Nord (Россия) / GNR s.r.l. (Италия)

Задачи:
Разработать программное обеспечения для управления комбинированным рентгеновским дифрактометром/спектрометром GNR Explorer и создать новый метод автоматического определения криолитового отношения для алюминиевой промышленности.

Платформа:
Windows x64

Стек:
C#/WPF, Matlab

Languages:
Русский, Английский, Итальянский, другие по запросу

Ссылки:
GNR Explorer
Преимущества и результаты

Заводы ПАО Русал, крупнейшего производителя алюминия в России, используют наше программное обеспечение для определения криолитового отношения в электролите с помощью комбинированных рентгеновских дифрактометров/спектрометров GNR Explorer. Результаты анализа используются для оптимизации производственного процесса в реальном времени и снижении производственных затрат.

После проведения цикла исследований на образцах ПАО Русал был разработан новый метод для определения криолитового отношения на основании рентгенофлуоресцентных и дифракционных данных. Несмотря на большое количество параметров калибровки (более 10) прибор может быть успешно откалиброван по относительно небольшому набору рабочих образцов без необходимости создания сложных калибровочных стандартов. Вследствие сложности математических расчетов аналитический модуль был реализован в виде компилируемой библиотеки MatLab, используемой напрямую из C# приложения.

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

Для калибровки прибора был разработан сложный и мощный UI, который, как правило, используется лишь при первоначальной настройке оборудования. Напротив, интерфейс для персонала лаборатории минимизирован до нескольких кнопок и таблиц. Прибор автоматически измеряет наборы по 22 образца и отправляет результаты в сеть предприятия, не требуя внешнего вмешательства. Мы также разработали автоматическую процедуру для коррекции дрейфа на протяжении всего времени эксплуатации оборудования без необходимости регулярных затрат времени на проведение процедур коррекции.

Приборы GNR Explorer ежедневно анализируют до 800 образцов практически без участия оператора. Не протяжении многих лет не было зафиксировано ни одного серьезного сбоя работе программного обеспечения после первоначального внедрения.
Программное обеспечение для управления автоматизированной системой пробоотбора завода по производству удобрений
Заказчик:
ПАО Фосагро (Россия)

Задачи:
Разработать программное обеспечение для управления роботизированной системой пробоотбора завода удобрений, включая контроль качества образцов и отправку результатов на центральный сервер завода.

Платформы:
Windows x86, микроконтроллеры Siemens

Стек:
C, Java/Spring
Описание

Программное обеспечение для управления роботизированной системой пробоотбора для одного из крупнейших заводов ПАО Фосагро было разработано в 2010 году совместно с компанией АСГ Инжиниринг.

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

Модули на C используются для контроля многочисленных микроконтроллеров Siemens. Несколько видов UI было разработано для управления системой и контроля результатов. Центральная станция на Java используется для управления всей системой в целом. Специальный сервер генерирует различные отчеты, доступ к которым авторизованный персонал получается через обычный web браузер.

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