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

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

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

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

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

 

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