Решающая битва за 1 мм, OVM6946 внутри решения FPGA с открытым исходным кодом
Решающая битва за 1 мм, OVM6946 внутри решения FPGA с открытым исходным кодом

Объектив OVM6946 составляет около 1 мм.,поэтому:Решающая битва 1мм!


Наконец, мы подошли к нашей третьей статье — эндоскопическому решению на FPGA. Я никогда не думал, что эта тема окажется настолько популярной!

Статья внутри истории FPGA

【1】

Прочтите эндоскоп и найдите позиционирование FPGA в одной статье.

【2】

Разберите эндоскоп стоимостью в тысячи деталей и найдите точку прорыва в FPGA

【3】

Используйте OVM6946 и OV426 для проектирования эндоскопов!


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


【1】Выпущена плата декодирования OV426.

Наконец, после того, как все с нетерпением ждали этого более недели, плата SMT декодера OV426, разработанная с большим трудом, вернулась, как показано на рисунке выше, конкретные характеристики следующие:

Создатель

Сумасшедшая ПЛИС

модель

VC-OV426

размер

30*30mm

Входной интерфейс 1

6P 2,54 мм Вход OV6946 6P 1,25 мм (зарезервировано на будущее)

Входной интерфейс 2

Входной источник питания 2P 5 В, в будущей версии планируется повышение напряжения на 3,3 В.

Выходной интерфейс

Интерфейс 20P DVP: определение I2C PCLK VS HS DATA, совместимое со всеми конструкциями модулей CrazyBingo DVP‍

Соответствующая дочерняя карта

Плата разработки Yilinsi Titanium Ti60F225 Плата разработки Xilinx A7 100K FPGA

  • 6P 2,54 мм вход OV6946
  • Разъем 6P 1,25 мм (зарезервирован на будущее)

Входной интерфейс 2

  • Входной источник питания 2P 5 В
  • В будущей версии планируется повышение напряжения 3,3 В.

Выходной интерфейс

  • 20P DVPинтерфейс:I2C PCLK VS HS DATA
  • Определение Совместимо со всеми модулями CrazyBingo DVP.

Соответствующая дочерняя карта

  • Плата разработки Yilinsi Titanium Ti60F225
  • Плата разработки Xilinx A7 100K FPGA

Плата декодера OV426,Хотя аппаратная часть не очень сложная,Но здесь полно подводных камней. Главным образом потому, что OV6946 является аналоговым входом.,если неПозаботились об электропитании,Или слишком много помех при проводке.,Тогда конечная картина, которую вы получите, будет ужасной.

В настоящее время в плате декодирования присутствуют два основных шума:

  • Помехи, вызванные слишком длинным проводом OVM6946 (лучше всего в пределах 1,5 метров)
  • Плата декодера OV426дизайн Земля слишком грязная,В результате получается множество горизонтальных полос + вертикальных полос.,Ужасный.

Ранее мы уже пошли на некоторые обходные пути в этом отношении, поэтому в настоящее время мы выбрали вывод объектива OVM6946 длиной 1 м и в то же время тщательно подошли к нему при проектировании платы декодера OV426.

Определение входного интерфейса платы декодера VC-OV426 совместимо с основным решением OVM4689, представленным на рынке. Соответствующие определения следующие (включая источник питания, светодиод, аналоговый выходной видеосигнал):

VC-Плата декодера OV426из Выходной интерфейсопределение,Как показано ниже。ДолженинтерфейсиПредыдущий CMOS-модуль DVP CrazyBingo полностью совместим,Поэтому любую Плату разработки FPGA можно подключить (естественно для последующей обработки изображений ISP).,Больший масштаб более надежен).


【2】Подробное объяснение решения для внутреннего тестирования FPGA OVM6946.

Сначала покажите схему установки платы декодера VC-OV426, как показано выше:

середина

BGA — это основной чип OV426, отвечающий за декодирование аналогового видео и базовую обработку.

верхний левый

Внешний вход 5 В (следующая версия имеет усиление 5 В, поэтому плате декодера требуется только источник питания 3,3 В. Это полностью для совместимости с предыдущим модулем DVP CMOS и не влияет на эффект)

вверху справа

Вставьте модуль OVM6946, и интерфейс будет совместим с основными решениями на рынке.

ниже

Вывод цифрового сигнала DVP, обработанного OV426.

Выходная синхронизация DVP здесь составляет 400*400 строк и полей.,в~VS&HS==1данные действительны, когда:

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

Мы извлекли дочернюю карту FPGA+68013 из нижней части коробки, собрали выходные данные DVP с помощью OV426 и отправили их на ПК без потерь через USB2.0 для дальнейшего анализа процесса сжатия и транспортировки данных.

Итак, быстро создайте тестовое решение USB2.0 OVM6946, среда показана ниже:


【3】Решающая битва на 1 мм, одна дорога ведет на темную сторону.

Мы получили изображение с главного USB-компьютера и начали решающую битву с 1-миллиметровым OVM6946, чтобы начать наше эндоскопическое путешествие. В этот момент мы официально начинаем разбирать картинки, полученные платой декодера VC-OV426 и как шаг за шагом улучшить качество:

  • Исходное изображение RAW (массив Байера, серый и серый):
  • Сначала увеличьте заполняющую яркость светодиода OVM4689 с помощью ШИМ:
  • Байер преобразует в RGB, чтобы получить цветное изображение (здесь используется 426 AWB)
  • Отрегулируйте гамму и контрастность
  • После 2D шумоподавления:
  • окончательная заточка кромок

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

2D-шумоподавление здесь — относительно широкая тема.,Простые включают медианную фильтрацию, среднюю фильтрацию и т. д.,Комплексный алгоритм имеет двустороннюю фильтрацию, нелокальное среднее и т. д.,Вы можете ознакомиться с ключевыми моментамиCrazyBingoиз《Учебное пособие по обработке изображений на основе MATLAB и FPGA.

Я до сих пор помню, что в первой части обзора мы получили изображение программного решения OVM4689, представленного на открытом рынке. Давайте сравним его здесь, чтобы увидеть, какие улучшения есть в изображении в дополнение к реальным преимуществам FPGA. время провайдера?

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

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


【4】Выпущено решение OVM6946 FPGA с открытым исходным кодом.

Спасибо всем друзьям за ожидание и спасибо за ожидание до сегодняшнего дня. Мы наконец-то выпустили общее решение FPGA. В настоящее время эндоскопическое решение подключено на основе Yilinsi 60K FPGA и задержки 800*480 RGBLCD 0 (без кэша). конвейер. Решение для отображения было реализовано, как показано на рисунке ниже:

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

На базе платформы Xilinx 60K или Xilinx 100K FPGA.

Версия с открытым исходным кодом

Реализация сбора данных OVM6946 в реальном времени + отображение задержки 0, полное преобразование Байера в RGB (3*3), полные алгоритмы гаммы и контрастности, полные базовые алгоритмы фильтрации и повышения резкости.

Версия с закрытым исходным кодом

Реализуйте сбор данных в реальном времени OVM6946 + отображение задержки 0, полное преобразование Байера в RGB (5*5), полный базовый алгоритм AWB, полную гамму, алгоритм регулируемого контраста, полную двустороннюю/локальную среднюю фильтрацию, полный регулируемый алгоритм повышения резкости, полное усиление с помощью билинейной интерполяции. алгоритм, полное кэширование. Post-HDMI демонстрирует более мощные алгоритмы постобработки ISP.

  • Реализовать сбор данных OVM6946 в реальном времени + отображение задержки 0
  • Полное преобразование Байера в RGB (3*3)
  • Полный алгоритм гаммы и контрастности
  • Полная базовая фильтрация и повышение резкости

Версия с закрытым исходным кодом

  • Реализовать сбор данных OVM6946 в реальном времени + отображение задержки 0
  • Полное преобразование Байера в RGB (5*5)
  • Полный базовый AWBалгоритм
  • Полная гамма, алгоритм регулировки контрастности
  • Полная двусторонняя/локальная фильтрация среднего значения
  • Полный регулируемый алгоритм заточки
  • Полный алгоритм усиления билинейной интерполяции
  • Дисплей HDMI после завершения кэширования
  • Более мощный алгоритм постобработки ISP
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose