Приложение для смартфона прогнозирует урожайность винограда машинным зрением

0
33

Команда исследователей из инженеров Корнелльского университета разработала дешёвое и простое приложение для раннего прогнозирования урожайности винограда. Приложение работает на основе методов машинного обучения и оптического отслеживания. 

Приложение для смартфона прогнозирует урожайность винограда машинным зрением

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

Метод ручного подсчёта неточный. Частота ошибок составляет до 23,5 % от объёма урожая. Кроме того, рабочие считают количество гроздьев на кустах неточно. Например, в ходе эксперимента исследователи обнаружили, что на кустах из четырех виноградных лоз на 320 гроздьев рабочие насчитывают от 237 до 309 гроздьев. 

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

Для разработанного метода потребуется смартфон с приложением и трактор или робот, чтобы ездить между кустами. Свёрточная нейронная сеть на основе алгоритма Faster R-CNN ищет грозди винограда. Далее обнаруженные объекты отслеживаются от кадра к кадру для предотвращения повторений. 

Приложение для смартфона прогнозирует урожайность винограда машинным зрением

(А) Схематическое изображение установки для автоматического подсчета кустов и побегов на виноградниках. (B) Кадр из записанного видео с примерами гроздьев и побегов, выделенными прямоугольниками. 

Faster R-CNN обучали при помощи модели TensorFlow1, обученной до этого на наборе данных COCO. Предварительное обучение модели увеличило итоговую скорость обнаружения. Система изучила 611 изображений с 4580 гроздьями и 1158 изображений с 6746 побегами. 

Чтобы программа могла различать сорта винограда, в течение двух лет её обучали на изображениях виноградных лоз с двух виноградников. Гроздья и побеги отмечали вручную в два этапа. Ограничивающие прямоугольники выбраны так, чтобы минимально охватить видимую часть грозди и самый большой белый лист вверху побега. Данные собирались в течение двух лет разными людьми, которые по-разному располагали камеру при проезде между кустами. Ярлыки изображений создавали через программу на Python с открытым исходным кодом LabelImg2. Обучение сети заняло 5,5 часов на рабочей станции с восьмиядерным Xeon с Nvidia GeForce GTX 1080.

Созданный автоматический метод подсчёта через приложение лучше справляется с нахождением побегов и гроздьев, чем ручной. Частота ошибок в среднем составляет 4,9 %, максимум ошибок — не выше 12,5 %. Чтобы добиться такой же точности, рабочим необходимо вручную посчитать 70 % всего виноградника. Исследователи связывают часть ошибок с качеством видеосъёмки и постановкой кадра.

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

В настоящее время исследователи занимаются вопросами лицензирования и распространения технологии на мелких и крупных хозяйствах. 

Результаты исследования опубликованы в статье «Low-Cost, Computer Vision-Based, Prebloom Cluster Count Prediction in Vineyards»в журнале Frontiers in Agronomy Doi.org/10.3389/fagro.2021.648080.