Разработана стереокамера машинного зрения на базе FPGA Gowin и Arduino Portenta H7. Изначальный прототип на базе Arrow Deca MAX10 и плат расширения был заменен на специально спроектированный модуль с двумя сенсорами MT9V034, FPGA GW2AR-LV18QN88C8/I7, SD-картой и JTAG. FPGA выполняет роль предварительной обработки видеопотока, синхронизирует и объединяет изображения с двух сенсоров. Обработка изображений и машинное обучение выполняются на Arduino Portenta H7 с использованием OpenMV.
Проект включает в себя пользовательский драйвер для OpenMV, адаптированный под конкретные сенсоры. Собственный RISC-V процессор на FPGA управляет сенсорами и настраивает параметры. Для синхронизации работы сенсоров используется Control Sequence Generator, управляющий экспозицией и считыванием данных. Для захвата, преобразования и вывода видео используются модули из Intel Video and Image Processing Suite.
Стереокамера способна определять расстояние до объектов, используя методы blob detection и корреляции. Применение TensorFlow Lite позволяет детектировать и классифицировать объекты. Синхронизация кадров достигается на уровне наносекунд, что позволяет точно сопоставлять образы с левого и правого сенсора даже при быстром перемещении объектов и камеры. Эксперименты проводились с применением 3D-печатных моделей людей, с последующим определением расстояния до них.
Планируется расширить функционал камеры за счет реализации автоматической экспозиции и усиления, гамма-коррекции, фильтрации, морфологических преобразований и алгоритмов определения движения на уровне FPGA.
Изображение носит иллюстративный характер
Проект включает в себя пользовательский драйвер для OpenMV, адаптированный под конкретные сенсоры. Собственный RISC-V процессор на FPGA управляет сенсорами и настраивает параметры. Для синхронизации работы сенсоров используется Control Sequence Generator, управляющий экспозицией и считыванием данных. Для захвата, преобразования и вывода видео используются модули из Intel Video and Image Processing Suite.
Стереокамера способна определять расстояние до объектов, используя методы blob detection и корреляции. Применение TensorFlow Lite позволяет детектировать и классифицировать объекты. Синхронизация кадров достигается на уровне наносекунд, что позволяет точно сопоставлять образы с левого и правого сенсора даже при быстром перемещении объектов и камеры. Эксперименты проводились с применением 3D-печатных моделей людей, с последующим определением расстояния до них.
Планируется расширить функционал камеры за счет реализации автоматической экспозиции и усиления, гамма-коррекции, фильтрации, морфологических преобразований и алгоритмов определения движения на уровне FPGA.