Вручную разметив фотографии пчёл и используя нейросетевую архитектуру u-net на одноплатнике Raspberry Pi, автору удалось подсчитывать пчёл на входе в улей.
Частичное обучение
Так как с камеры можно получить большое количество изображений, то можно воспользоваться интересным трюком: частичным обучением, оно же — обучение с частичным привлечением учителя (Semi-supervised learning).
В основе этого трюка лежит очень простой подход:
1. захватить 10’000 изображений
2. разметить 100 изображений и на этих данных обучить самую первую модель — model_1
3. использовать model_1 для разметки других 9’900 изображений
4. обучить вторую модель model_2 уже на этих «размеченных» 10’000 изображениях
В результате, качество model_2, будет выше, чем model_1.
Кроме того, после 3-го шага — можно исправить плохую разметку первой модели, что сделать быстрее, чем размечать картинку с нуля.
В итоге, приходим к следующему подходу разметки и обучения моделей:
1. разметить 10 изображений и натренировать модель,
2. использовать модель для разметки следующих 100 изображений,
3. использовать инструмент для разметки, чтобы исправить метки на этих 100 изображениях,
4. обучить модель уже на 110 размеченных изображениях,
5. повторить.
Запуск обученной TensorFlow-модели на Raspberry Pi показал очень медленную скорость работы — всего 1 картинка в секунду, поэтому автор работает над запуском модели на Movidius Neural Compute Stick.
Ссылки
counting bees on a rasp pi with a conv net
https://github.com/matpalm/bnn
По теме
Сегментация изображений при помощи нейронной сети: U-Net
Установка TensorFlow на Raspberry Pi 3
Использование TensorFlow для распознавания ваших объектов
Программа с нейросетью для закрывания окон на компьютере при приближении начальника
Сортировщик огурцов на Arduino, Raspberry Pi 3 и TensorFlow
Проблемы применения машинного обучения для решения реальных задач
Нейронная сеть
Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN