La dernière fois, j'ai écrit sur le modèle d'apprentissage de la détection des enseignes. Cette fois, j'écrirai un programme pour le détecter et le visualiser à l'aide du modèle détecté.
・ Enregistrez la vidéo estimée en utilisant la vidéo avec yolov5. -Visualiser la détection sur un autre système lorsqu'elle est détectée. ・ Enregistrez l'heure et les choses détectées. Je voudrais réellement réaliser ce domaine.
En fait, j'en ai fait un simple en utilisant tensorflow, python et traitement auparavant, donc j'aimerais l'écrire en détournant ce programme. Le programme est posté sur github. * J'ai oublié comment créer un modèle d'apprentissage et comment exécuter ce modèle avec le programme d'étiquette. URL https://github.com/S-mishina/Personal-estimation Le sketch_190628a / sketch_190628a.pde de ce programme est la partie visualisation. Je publierai également l'ensemble du système ici. De là, nous allons modifier yolov5.
Cette fois, je voulais l'implémenter facilement, donc quand j'ai trouvé quelque chose que je voulais détecter, je l'ai détecté. J'ai créé un programme qui émet une notification.
detect.py
label1 = str((names[int(c)])) # add to string
if label1=="chair":
print("Détecté une chaise.")
Eh bien, c'est un code simple, donc tout le monde peut le comprendre, mais pour le moment, quand yolo détecte un objet, il semble que ce qui est détecté est probablement enregistré dans des noms [int (c)]. Alors je l'ai converti en chaîne S'il correspond à ce que vous voulez détecter, il sera détecté OK, et s'il ne correspond pas, il sera détecté NG.
Dans la perspective de cette fonction implémentée, je voudrais la connecter à un système qui peut visualiser si elle est détectée ou non par la communication par socket au lieu de la base de caractères.
Cette fois, le but est de détecter la chaise, donc je voudrais écrire un programme qui enregistre quand la chaise est détectée. Importer une pièce
detect.py
import pathlib
Partie création de fichier
detect.py
#Initialisation
set_logging()
device = select_device(opt.device)
if os.path.exists(out):
shutil.rmtree(out) #Supprimer le dossier de sortie
os.makedirs(out) #Créer un nouveau dossier de sortie
d_today = datetime.date.today()
f = pathlib.Path('daystext/'+ str(d_today) +'.txt')
f.touch()
Partie d'enregistrement
detect.py
label1 = str((names[int(c)])) # add to string
if label1=="chair":
print("Détecté une chaise.")
with open('daystext/'+str(d_today)+'.txt', 'a') as f:
dt_now = datetime.datetime.now()
f.write(str(dt_now)+"Détecté une chaise."+"\n")
Ce qui a été enregistré
2020-10-12 17:27:42.914446 Chaise détectée.
2020-10-12 17:27:42.941445 Chaise détectée.
2020-10-12 17:27:42.968444 Chaise détectée.
2020-10-12 17:27:42.996444 Chaise détectée.
2020-10-12 17:27:43.024443 Chaise détectée.
2020-10-12 17:27:43.051442 Chaise détectée.
2020-10-12 17:27:43.079441 Chaise détectée.
2020-10-12 17:27:43.108440 Chaise détectée.
2020-10-12 17:27:43.135454 Chaise détectée.
2020-10-12 17:27:43.162439 Chaise détectée.
2020-10-12 17:27:43.190452 Chaise détectée.
2020-10-12 17:27:43.218437 Chaise détectée.
2020-10-12 17:27:43.245436 Chaise détectée.
2020-10-12 17:27:43.274445 Chaise détectée.
2020-10-12 17:27:43.301448 Chaise détectée.
2020-10-12 17:27:43.329434 Chaise détectée.
2020-10-12 17:27:43.357433 Chaise détectée.
2020-10-12 17:27:43.384432 Chaise détectée.
Ce sera enregistré comme ça.
Cela semble être assez difficile ici, alors je reviendrai la prochaine fois pour le moment. Pardon.
Cette fois, j'ai principalement écrit un programme qui améliore le programme par défaut de yolov5 et l'enregistre après avoir détecté un objet. La prochaine fois, j'aimerais écrire la partie à visualiser concrètement, alors merci.
Recommended Posts