Использование Камеры «Рыбий Глаз» На Raspberry Pi 3: Запуск Предварительно Обученных Моделей Dl Для Компьютерного Зрения

Добрый день, в продолжении цикла статей: первый И второй об использовании камеры «рыбий глаз» с Raspberry Pi 3 и ROS я хотел бы поговорить об использовании предварительно обученных моделей глубокого обучения для компьютерного зрения с камерой «рыбий глаз» на Raspberry Pi 3. Для интересующихся см.

кат.



Классификация изображений

Как и в предыдущих статьях, мы будем использовать Ubuntu 16.04. Для работы нам понадобится библиотека Keras. Вы можете установить его на Ubuntu, следуя руководству.

отсюда .

Пойдем страница и нажмите кнопку СКАЧАТЬ КОД! внизу страницы.

Вы получите электронное письмо с источниками.

Скачаем архив, разархивируем его и зайдем в папку.

Сначала давайте запустим скрипт классификации объектов на основе предварительно обученной модели GoogleNet:

  
  
  
  
  
  
  
  
  
  
   

cd pi-deep-learning/ python pi_deep_learning.py --prototxt models/bvlc_googlenet.prototxt \ --model models/bvlc_googlenet.caffemodel --labels synset_words.txt \ --image images/barbershop.png

Мы получаем этот вывод в терминале

[INFO] loading model. [ INFO:0] Initialize OpenCL runtime. [INFO] classification took 1.7103 seconds [INFO] 1. label: barbershop, probability: 0.78055 [INFO] 2. label: barber chair, probability: 0.2194 [INFO] 3. label: rocking chair, probability: 3.4663e-05 [INFO] 4. label: restaurant, probability: 3.7257e-06 [INFO] 5. label: hair spray, probability: 1.4715e-06



Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения

Он использует модуль глубокой нейронной сети (DNN) из OpenCV 3.3. Вы можете прочитать о нем Здесь .

Теперь давайте попробуем классифицировать объекты с помощью предварительно обученной модели Squeezenet:

python pi_deep_learning.py --prototxt models/squeezenet_v1.0.prototxt \ --model models/squeezenet_v1.0.caffemodel --labels synset_words.txt \ --image images/barbershop.png



[INFO] loading model. [ INFO:0] Initialize OpenCL runtime. [INFO] classification took 0.86275 seconds [INFO] 1. label: barbershop, probability: 0.80578 [INFO] 2. label: barber chair, probability: 0.15124 [INFO] 3. label: half track, probability: 0.0052873 [INFO] 4. label: restaurant, probability: 0.0040124 [INFO] 5. label: desktop computer, probability: 0.0033352



Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения

Моя классификация сработала за 0,86 секунды.

Давайте теперь попробуем использовать изображение cobra.png:

python pi_deep_learning.py --prototxt models/squeezenet_v1.0.prototxt \ --model models/squeezenet_v1.0.caffemodel --labels synset_words.txt \ --image images/cobra.png

Заключение:

[INFO] classification took 0.87402 seconds [INFO] 1. label: Indian cobra, probability: 0.47972 [INFO] 2. label: leatherback turtle, probability: 0.16858 [INFO] 3. label: water snake, probability: 0.10558 [INFO] 4. label: common iguana, probability: 0.059227 [INFO] 5. label: sea snake, probability: 0.046393



Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения



Обнаружение объектов

Теперь давайте попробуем обнаружить объекты с помощью Raspberry Pi с камерой «рыбий глаз».

Пойдем страница и нажмите кнопку СКАЧАТЬ КОД! внизу страницы.

Вы получите электронное письмо с источниками.

Аналогично классификации скачиваем, разархивируем, заходим в папку.

Запустим скрипт обнаружения объектов:

python pi_object_detection.py --prototxt MobileNetSSD_deploy.prototxt.txt --model MobileNetSSD_deploy.caffemodel

Заключение:

[INFO] loading model. [INFO] starting process. [INFO] starting video stream. [ INFO:0] Initialize OpenCL runtime. libEGL warning: DRI3: failed to query the version libEGL warning: DRI2: failed to authenticate

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

Error: AttributeError: ‘NoneType’ object has no attribute ‘shape’ (comment to post)

Чтобы решить проблему, откройте файл pi_object_detection.py и закомментируйте строку 74:

vs = VideoStream(src=0).

start()

и раскомментируйте строку 75

vs = VideoStream(usePiCamera=True).

start()



Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения



Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения

Мы видим, что скрипт обнаруживает некоторые объекты, хотя и не все объекты распознает корректно.

По моим наблюдениям, скрипт довольно быстро обнаруживает объекты (к сожалению, fps не удалось записать).

Мы также можем запустить скрипт real_time_object_detection.py. В случае ошибки повторите процедуру для скрипта pi_object_detection.py: закомментируйте строку 38 и раскомментируйте строку 39. Результат

Использование камеры «рыбий глаз» на Raspberry Pi 3: запуск предварительно обученных моделей DL для компьютерного зрения

Это все на данный момент. Удачи всем и до новых встреч! Теги: #Raspberry Pi #Робототехника #глубокое обучение #глубокое обучение #компьютерное зрение #обнаружение объектов #рыбий глаз

Вместе с данным постом часто просматривают: