Das letzte Mal habe ich über das Lernmodell der Schildererkennung geschrieben. Dieses Mal werde ich ein Programm schreiben, um es mithilfe des erkannten Modells tatsächlich zu erkennen und zu visualisieren.
・ Speichern Sie das geschätzte Video mit dem Video mit yolov5.
Eigentlich habe ich vorher eine einfache mit Tensorflow, Python und Verarbeitung gemacht, also möchte ich sie schreiben, indem ich dieses Programm umlenke. Das Programm ist auf github veröffentlicht. * Ich habe vergessen, wie man ein Lernmodell erstellt und dieses Modell mit dem Label-Programm ausführt. URL https://github.com/S-mishina/Personal-estimation Die Skizze_190628a / Skizze_190628a.pde dieses Programms ist der Visualisierungsteil. Ich werde hier auch das gesamte System posten. Von hier aus werden wir yolov5 tatsächlich modifizieren.
Dieses Mal wollte ich es einfach implementieren. Als ich etwas fand, das ich erkennen wollte, erkannte ich es. Ich habe ein Programm erstellt, das eine Benachrichtigung ausgibt.
detect.py
label1 = str((names[int(c)])) # add to string
if label1=="chair":
print("Einen Stuhl entdeckt.")
Nun, es ist ein einfacher Code, so dass jeder ihn verstehen kann, aber vorerst, wenn Yolo ein Objekt erkennt, scheint es, dass das, was erkannt wird, wahrscheinlich in Namen [int (c)] aufgezeichnet ist. Wenn es mit dem übereinstimmt, was Sie erkennen möchten, wird es mit OK erkannt. Wenn es nicht übereinstimmt, wird es mit NG erkannt.
Als Aussicht auf diese implementierte Funktion möchte ich sie mit einem System verbinden, das visualisieren kann, ob sie durch Socket-Kommunikation anstatt zeichenbasiert erkannt wird oder nicht.
Dieses Mal soll der Stuhl erkannt werden, daher möchte ich ein Programm schreiben, das protokolliert, wenn der Stuhl erkannt wird. Teil importieren
detect.py
import pathlib
Teil der Dateierstellung
detect.py
#Initialisieren
set_logging()
device = select_device(opt.device)
if os.path.exists(out):
shutil.rmtree(out) #Löschen Sie den Ausgabeordner
os.makedirs(out) #Erstellen Sie einen neuen Ausgabeordner
d_today = datetime.date.today()
f = pathlib.Path('daystext/'+ str(d_today) +'.txt')
f.touch()
Aufnahmeteil
detect.py
label1 = str((names[int(c)])) # add to string
if label1=="chair":
print("Einen Stuhl entdeckt.")
with open('daystext/'+str(d_today)+'.txt', 'a') as f:
dt_now = datetime.datetime.now()
f.write(str(dt_now)+"Einen Stuhl entdeckt."+"\n")
Was wurde aufgezeichnet
2020-10-12 17:27:42.914446 Erkannter Stuhl.
2020-10-12 17:27:42.941445 Erkannter Stuhl.
2020-10-12 17:27:42.968444 Erkannter Stuhl.
2020-10-12 17:27:42.996444 Erkannter Stuhl.
2020-10-12 17:27:43.024443 Erkannter Stuhl.
2020-10-12 17:27:43.051442 Erkannter Stuhl.
2020-10-12 17:27:43.079441 Erkannter Stuhl.
2020-10-12 17:27:43.108440 Erkannter Stuhl.
2020-10-12 17:27:43.135454 Erkannter Stuhl.
2020-10-12 17:27:43.162439 Erkannter Stuhl.
2020-10-12 17:27:43.190452 Erkannter Stuhl.
2020-10-12 17:27:43.218437 Erkannter Stuhl.
2020-10-12 17:27:43.245436 Erkannter Stuhl.
2020-10-12 17:27:43.274445 Erkannter Stuhl.
2020-10-12 17:27:43.301448 Erkannter Stuhl.
2020-10-12 17:27:43.329434 Erkannter Stuhl.
2020-10-12 17:27:43.357433 Erkannter Stuhl.
2020-10-12 17:27:43.384432 Erkannter Stuhl.
Es wird so aufgenommen.
Es scheint hier ziemlich schwierig zu sein, deshalb werde ich es vorerst das nächste Mal drehen. Es tut uns leid.
Dieses Mal habe ich hauptsächlich ein Programm geschrieben, das das Standardprogramm von yolov5 verbessert und es nach dem Erkennen eines Objekts aufzeichnet. Das nächste Mal möchte ich den Teil schreiben, der konkret visualisiert werden soll. Vielen Dank.
Recommended Posts