Telegram Agrovesti chanel
Реклама

Нейронные сети в фермерском хозяйстве

Источник: vc.ru

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

Примерно год назад японец по имени Макото Койке решил помочь своим родителям, которые занимаются выращиванием огурцов. В Японии крупные и прямые огурцы считаются товаром экстра-класса, поэтому все фермеры стремятся выращивать эти овощи именно такой формы.

Сделать это тяжело, и Койке в этом убедился. «Каждый огурец отличается от других — все они бывают разной формы, качества и свежести», — объясняет инженер. Для того, чтобы конечный продукт попал в магазины, овощи необходимо сортировать. В Японии насчитывается девять классов огурцов. Классификация производится согласно форме, размеру и ряду других свойств. Чем выше класс, тем дороже огурец.

Классы огурцов согласно японским стандартам

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

Койке взял за основу своего огуречно-сортировочного алгоритма open-source-разработку Google, технологию TensorFlow. В 2015 году компания открыла исходный код этого продукта для всех. TensorFlow позволяет разработчику использовать готовый код и возможности нейронных сетей, а не создавать всё с нуля. Для создания собственного проекта необходимо скачать код, прочитать инструкцию — и можно начинать работу.

Кроме кода, нужно ещё и аппаратное обеспечение. Японец использовал Arduino Micro и Raspberry Pi 3. Электроника использовалась в качестве основного контроллера для работы с камерой и отсылки изображений в Google Cloud, где происходил анализ информации. Также платы управляют сервоприводами сортировщика.

На первом этапе инженер обучил систему распознавать изображения и определять, изображен на фотографии огурец или нечто иное. После проверки работоспособности системы он создал более сложный алгоритм, который классифицировал огурцы согласно стандартам, принятым в Японии.

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

Для того, чтобы получить фотографии огурцов разных классов, отсортированных его матерью, японец потратил около трёх месяцев. Ему пришлось сделать и загрузить в систему более 7000 снимков огурцов. И этого оказалось недостаточно. Когда проводился тест лишь с изображениями, система работала с точностью в 95%. Но когда дело дошло до фотографирования реальных огурцов, точность упала до 70%. Как оказалось, проблема заключалась в том, что базы из нескольких тысяч фотографий недостаточно для качественного обучения системы.

Вторая проблема — в том, что система потребляет много ресурсов, времени и энергии. Текущий сортировщик — это обычный компьютер на базе Windows, который используется для тренировки нейронной сети. И хотя компьютер преобразует полученные фотокамерами снимки в изображения с разрешением 80 х 80 пикселей, обучение системы на их основе занимает 2−3 дня.

Дело в том, что требуется несколько тысяч таких снимков. А поскольку фотографии имеют низкое разрешение, тот сортировщик оперирует такими свойствами, как форма, длина и уровень погрешности. Цвет, текстура, царапины — всё это проходит незамеченным. Если увеличить разрешение фотографий, это увеличит точность работы системы. Но одновременно увеличится и время, которое требуется на обучение нейронной сети.

Свою проблему японец планирует решить при помощи ещё одного сервиса Google. Cейчас корпорация предлагает по низкой цене облачную платформу Cloud Machine Learning (Cloud ML). Здесь задействованы тысячи серверов. Они обрабатывают информацию и помогают обучать нейронную систему на основе TensorFlow.

Сейчас Макото Койке планирует использовать Google ML в своих целях. «Я могу использовать сервис для создания системы обучения на основе гораздо более качественных снимков. Также я могу использовать разные конфигурации, параметры и алгоритмы нейронной системы, что может помочь найти вариант, при котором система будет точнее всего».

Пока результаты работы Койке с Google ML недоступны, он продолжает эксперименты.

Возможно, вам это будет интересно