• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Сортировка фруктов с использованием OpenCV
на Raspberry Pi

 

 

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

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

 

Итак, соберем для нашего проекта следующие компоненты.

 

 

 

 

Предпосылки

Предполагая, что вы уже установили последнюю версию ОС Raspbian и среду Python на свою плату Raspberry Pi, откройте терминал Linux, а затем установите необходимые модули и библиотеки, используя следующий синтаксис.

sudo apt-get update

sudo apt-get upgrade

sudo nano / etc / dphys-swapfile

Затем измените строку CONF_SWAPSIZE = 100 на CONF_SWAPSIZE = 1024

sudo /etc/init.d/dphys-swapfile stop  

sudo /etc/init.d/dphys-swapfile start

sudo pip3 установить opencv

sudo pip3 установить numpy

wget https://bootstrap.pypa.io/get-pip.py

pip3 установить dlib

pip3 установить тензор потока

После установки вы можете приступить к клонированию модулей, примеров и файлов TF , используя следующую команду: 

git clone https://github.com/tensorflow/tensorflow.git  

Кодирование 

Теперь перейдите в каталог, в который вы загрузили папку TensorFlow, а затем откройте папку object_detection.

tenorflow1 / модели / исследования / object_detection

Теперь откройте папку с данными и создайте файл с именем fruit.pbtxt. Здесь составьте список фруктов, которые нужно обнаружить. (См. Рис. 1.)

 

Файл TensorFlow для обнаружения фруктов

 

Рисунок 1.

Вернитесь в папку Object_detection и создайте новый файл с именем fruithort.py. Сделайте некоторые изменения в коде и поймите его.

Прежде всего, импортируем в код необходимые библиотеки. Здесь мы используем следующий набор библиотек и модулей Tensor. (См. Рис. 2.)

Операционные системы

cv2

Numpy

PiCamera

тензорный поток

argparse

sys

дата и время

gpiozero import Servo

Время

Следующая часть кода состоит из пути модели обнаружения объекта Tensorflow и пути модели метки обнаружения объекта. Здесь мы меняем файл метки обнаружения объекта на наш файл fruit.pbtxt, который мы создали ранее. (См. Рис. 2).

 

код 1

Рис 2.

В следующей части кода мы создали переменную имени, в которой хранятся результаты вывода объекта, обнаруженного камерой. После этого у нас есть еще две строковые переменные с именами substring1 и substring2, в которых мы устанавливаем имена фруктов, которые нужно отсортировать. Затем мы посчитаем имя подстроки в выходном результате обнаруженного объекта, чтобы получить точное количество фруктов, обнаруженное камерой. 

Затем условие if () проверяет, превышает ли количество обнаруженных апельсинов 1. Если да, то он перемещает вал сервопривода, чтобы отделить этот фрукт от других, а также подсчитать это количество фруктов. В следующем фрагменте кода мы сохраним данные об общем количестве фруктов с отметкой времени в текстовом файле. 

 

Код обнаружения объектов OpenCV Tensorflow

Рис 3.

Связь

Теперь подключите компоненты, как показано на принципиальной схеме ниже.

 

Связь

Рис 4.

 

Тестирование

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

 

https://www.electronicsforu.com/wp-contents/uploads/2020/04/fdgdgddgdg-500x474.png

 

Скачать исходный  код

 

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024