26.05.2021 18:02

Разработка счетчика рыбы на основе видеоанализа с использованием ПЛИС

Разработка счетчика рыбы на основе видеоанализа с использованием ПЛИС

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

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

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

В качестве устройства видеоанализа, была выбрана микросхема CycloneVSoC, в которую входят ПЛИС CycloneVи двухъядерный ARM процессор Cortex-A9.
Из-за большой частоты кадров, невозможно переложить весь процесс подсчета на процессор, а из-за сложности реализации алгоритма подсчета в ПЛИС, было бы слишком трудоемким реализовывать весь проект на ПЛИС. Из-за этого, проект разделен на две части - часть для FPGA и часть для ARM процессора.

В FPGA части реализована обработка кадров, а именно - BLOB-анализ (распознавание пикселей по яркости и поиск связных областей).

В процессорной части реализованы алгоритмы подсчета количества рыбы и ее биомассы.

Алгоритм подсчета рыбы состоит из следующих основных шагов:
1. Захват кадра;
2. Выделение пикселей по яркости и поиск связных областей;
3. Классификация объекта по размеру. Объект может классифицироваться как ложный, как одиночный или как группа объектов;
4. Далее осуществляется слежение за объектом;
5. Происходит подсчет.

В приведенном выше алгоритме, FPGA-части отводятся первые три шага. Оставшиеся два отводятся ARM процессору.

Рис. 1. Результат работы счетчика:1 — оригинальный кадр, 2 — найдены все пиксели, подходящие по яркости, 3 — отброшены все ложные объекты и анализируется только объект, выделенный рамкой, 4 — произведен подсчет.

Помимо обработки кадров, в ПЛИС также реализован пользовательский интерфейс, который выводится на сенсорный дисплей (рис. 2).

Рис. 2. Пользовательский интерфейс: 1 — ввод данных, 2 —скачивание данных на USB-накопитель, 3 — окончание счета, 4 — сброс счетчика, 5 - сброс калибровки, 6 - служебная информация, 7 - количество пройденной рыбы, 8 - средняя масса особи, 9 - общая масса, 10 - изображение с камеры.

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

После проведения подсчета, существует возможность скачивания результатов на USB- накопитель. Результаты представляются в виде документа Microsoft Excel. Помимо данных, введенных при помощи сенсорного дисплея, в документ сохраняется количество пройденной рыбы, а также биомасса.
Все компоненты счетчика собраны воедино в водонепроницаемом корпусе. В верхней части корпуса располагаются видеокамера, сенсорный дисплей, устройство видеоанализа. В нижней части - подсветка и прозрачная труба.

Аннотация. В статье приводится описание разрабатываемого счетчика рыбы, а также обоснована актуальность ведения данной разработки.
Ключевые слова: рыбоводство, видеоанализ, ПЛИС, FPGA, BLOB-анализ, компьютерное зрение, ARM процессор, сенсор.

О. А. Вакуленко

Разработка счетчика рыбы на основе видеоанализа с использованием ПЛИС

Опубликовано 26.05.2021 18:02 | Просмотров: 612 | Блог » RSS

Всего комментариев: 0