Lors de la détection d'objets avec RaspberryPi, j'ai comparé la vitesse de détection et la précision de détection de chaque source de YOLO (vous ne regardez qu'une seule fois), qui est l'une des principales méthodes de détection d'objets, je vais donc la résumer.
Concernant le mécanisme de YOLO, il était facile à comprendre [Histoire de la méthode de détection d'objets: Introduction de YOLO].
En plus d'en faire une caméra pour animaux de compagnie pour chats, je souhaite distinguer quatre chats! Le modèle est différent pour les quatre! Je ne pense qu'à ce qu'il faut distinguer et ce qu'il faut faire, comme surveiller l'état du chat et contrôler la télécommande du climatiseur, ou regarder la quantité d'activité et l'utiliser pour la gestion de la santé.
![RaspberryPi-RaspberryPi4 ModelB (4 Go)](https://img.shields.io/badge/Raspberry Pi-RaspberryPi4 ModelB (4 Go) - vert clair)![OS-Raspbian 32 bits (version 2020.5.27)](https :: //img.shields.io/badge/OS-Raspbian 32bit (version 2020.5.27) - vert clair)
La cible de l'évaluation est le jeu de données COCO (80 classes), site de l'auteur YOLO: YOLO: Real-Time Object Detection et [AlexeyAB](https :: //github.com/AlexeyAB/darknet) utilise les poids du modèle entraîné distribué. Chaque modèle a un "Tiny" qui donne la priorité au temps de détection.
Voici le résultat de Source x Model. L'explication, l'image du résultat et l'impression seront décrites plus loin.
La source | Model | Temps de détection | Précision de détection |
---|---|---|---|
pjreddie | v2 | 477 secondes | ○ |
pjreddie | v2-Tiny | 42 secondes | × |
AlexeyAB | v2 | 33 secondes | ○ |
AlexeyAB | v2-Tiny | 6.6 secondes | △ |
AlexeyAB | v3 | 74 secondes | ◎ |
AlexeyAB | v3-Tiny | 6.7 secondes | ○ |
AlexeyAB | v4 | 152 secondes | ◎ |
AlexeyAB | v4-Tiny | 7.8 secondes | ○ |
keras-yolo3 | v3 | 12 secondes | ◎ |
keras-yolo3 | v3-Tiny | 0.75 secondes | ○ |
Tensorflow-YOLOv3 | v3 | 8.9 secondes | ◎ |
Tensorflow-YOLOv3 | v3-Tiny | 3.4 secondes | ○ |
yolov3-tf2 | v3 | 5.6 secondes | ◎ |
yolov3-tf2 | v3-Tiny | 0.67 secondes | ○ |
La précision de détection est subjective, mais elle est basée sur le taux de reconnaissance de l'objet principal dans chaque image. ◎ (90% -100%), 〇 (70% -90%), △ (50% -70%), × (méconnaissable).
pjreddie/darknet https://pjreddie.com/ https://github.com/pjreddie/darknet
Erreur de segmentation
. (Problème environnemental car il peut être détecté par Google Colaboratory)
――V2-Tiny ne semble pas être capable de détecter l'objet. (Il s'agit également d'un problème environnemental car il peut être détecté par Google Colaboratory)Model | dog | person |
---|---|---|
v2 | ||
v2-tiny |
AlexeyAB/darknet https://github.com/AlexeyAB/darknet
Model | dog | person |
---|---|---|
v2 | ||
v2-tiny | ||
v3 | ||
v3-tiny | ||
v4 | ||
v4-tiny |
qqwweee/keras-yolo3 https://github.com/qqwweee/keras-yolo3
Model | dog | person |
---|---|---|
v3 | ||
v3-tiny |
neuralassembly/Tensorflow-YOLOv3 https://github.com/neuralassembly/Tensorflow-YOLOv3 Essayez la détection d'objet avec YOLO v3-Tiny / YOLO v3 sur Raspberry Pi
--Série Tensorflow 1
Model | dog | person |
---|---|---|
v3 | ||
v3-tiny |
zzh8829/yolov3-tf2 https://github.com/zzh8829/yolov3-tf2
--tensorflow2 system (en utilisant tf.keras)
pip install tensorflow
, donc téléchargez et installez tensorflow-2.2.0-cp37-cp37m-linux_armv7l.whl
à partir de https://github.com/PINTO0309/Tensorflow-bin.Model | dog | person |
---|---|---|
v3 | ||
v3-tiny |
――Pour satisfaire "Je veux juger une fois par seconde", la précision de détection baisse un peu, mais c'est difficile uniquement avec Python v3-tiny. ――Lorsque je l'utilise, le nombre de classes sera petit, j'espère donc que cela améliorera la précision.
Utilisation de Darknet avec Raspberry Pi Traduction de papier YOLOv3
qqwweee/keras-yolo3
zzh8829/yolov3-tf2