Используйте глубокое обучение, чтобы различать медоносных пчел, несущих и не несущих пыльцу.

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

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

Эти модели глубокого обучения могут оказаться полезными в пчеловодстве для анализа/генерации выводов.

Реализация идеи на cAInvas — здесь.

Набор данных

Цитата:

Иван Родригес, Реми Мегре, Эдгар Акунья, Хосе Агосто, Тугрул Гирей. Распознавание пыльцевых пчел из видео с использованием сверточной нейронной сети, Зимняя конференция IEEE. по приложениям компьютерного зрения, 2018 г., Лейк-Тахо, штат Невада. https://doi.org/10.1109/WACV.2018.00041

Этот набор данных изображений был создан на основе видеороликов, снятых у входа в пчелиную колонию в июне 2017 года на пчелином объекте Сельскохозяйственной экспериментальной станции Гурабо Университета Пуэрто-Рико.

Набор данных состоит из изображений с высоким разрешением отдельных пчел на рампе. Папка набора данных в записной книжке имеет следующее содержимое:

  • папка images — содержит изображения пчел обеих категорий с разрешением 300x180. Имена файлов изображений содержат категории — P (для пыльцы) или NP (для не пыльцы).
  • pollen_data.csv — файл .csv, содержащий имена изображений и соответствующие метки.

Заглянем в файл pollen_data.csv —

Набор данных содержит 714 изображений, разделенных на 2 категории.

Столбец «Без имени: 0» не нужен, его можно удалить.

Изучение разброса значений категорий в наборе данных —

Это кажется довольно сбалансированным набором данных.

Вот несколько изображений обеих категорий из папки с изображениями.

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

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

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

Изображения в наборе данных имеют размер 300x180 с 3 каналами. Таким образом, форма X будет (714, 300, 180, 3).

Точно так же массив y можно построить напрямую, используя атрибут pollen_carrying файла CSV. Форма массива y будет (714,).

Наборы поездов и тестов создаются с использованием разделения 80–20 на исходном наборе данных.

Модель

Модель имеет четыре пары слоев Conv2D-MaxPooling2D, за которыми следует слой Flatten, который сводит значения к одномерному массиву. Используется слой Dropout, за которым следуют два слоя Dense, один с ReLU, а другой с сигмовидной активацией.

Модель скомпилирована оптимизатором Adam со скоростью обучения 0,001.

Бинарная кросс-энтропийная потеря используется, поскольку последний слой имеет сигмовидную активацию.

Отслеживается точность модели на данных.

Модель достигает точности 94,4% на тестовом наборе после обучения в течение 16 эпох.

Метрики

Прогноз

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

глубокий C

Библиотека, компилятор и инфраструктура вывода deepC предназначены для включения и выполнения нейронных сетей глубокого обучения с упором на функции устройств малого форм-фактора, таких как микроконтроллеры, eFPGA, процессоры и другие встроенные устройства, такие как raspberry-pi, odroid, Arduino, SparkFun Edge, RISC-V, мобильные телефоны, x86 и портативные компьютеры.

Компиляция модели с помощью deepC для получения файла .exe —

Зайдите на платформу cAInvas (ссылка на блокнот дана ранее) и проверьте прогнозы по файлу .exe!

Источник: Аиша Д