Heim >Technologie-Peripheriegeräte >KI >Trainieren Sie das YOLOv7-Modell und entwickeln Sie eine KI-Branderkennung
Der Datensatz verwendet Open-Source-Bilder, insgesamt 6.000 Feuerbilder, jeweils markiert mit Dichter Rauch
undFire
Zwei Kategorien. 浓烟
和火
两类。
火
浓烟
项目采用YOLO
训练,我已经把数据转成YOLO
格式,并分好了训练集和验证集,见dataset
火
Mit YOLO
Training, ich habe die Daten konvertiert indataset
Informationen zum Schulungsprozess finden Sie in der offiziellen Website-Dokumentation von YOLOv7.
Laden Sie das vorab trainierte Modell yolov7.pt herunter, und dann können Sie mit dem Training beginnen
3. Nach Abschluss des Trainings finden Sie die generierte Modelldatei – best.pt – im Laufverzeichnis unter yolov7-Verzeichnis. Das von mir trainierte Modell wird im Quellcode-Gewichtsverzeichnis mit dem Namen fire.pt abgelegt und kann direkt verwendet werden.Mit dem Modell entwickeln wir daraus ein Überwachungsprogramm.
Zuerst müssen Sie den yolov7-Quellcode für das aktuelle Projekt herunterladen.
Dann installieren Sie Pytorch und verwenden Sie Pytorch, um das trainierte Yolov7-Modell zu laden.fire_detector = torch.hub.load('./yolov7', 'custom', './weights/fire.pt', source='local')Der Quellcode enthält ein Feuervideo fire_video.mp4. Sie können opencv verwenden, um das Video zu lesen und den Erkennungseffekt zu testen.
ret, frame = cap.read() results = self.fire_detector(img_cvt) pd = results.pandas().xyxy[0] # 绘制检测框 for obj in pd.to_numpy(): box_l, box_t = int(obj[0]), int(obj[1]) box_r, box_b = int(obj[2]), int(obj[3]) obj_name = obj[6] if obj_name == 'smoke': box_color = (0, 0, 255) box_txt = '检测到浓烟' else: box_color = (0, 255, 0) box_txt = '检测到大火' frame = cv2.rectangle(frame, (box_l, box_t), (box_r, box_b), box_color, 2) frame = cv2_add_chinese_text(frame, box_txt, (box_l, box_t-40), box_color, 25)Nach erfolgreicher Ausführung ist der Effekt derselbe wie im Video am Anfang des Artikels. Sie können das Projekt zur Echtzeiterkennung auf einer eingebetteten GPU wie Jetson Nano bereitstellen. Entwickeln Sie einen Cloud-Kommunikationsdienst, um im Brandfall die Polizei zu rufen. Gleichzeitig können Sie auch eine APP entwickeln, um den Live-Videostream zurück an den Server zu übertragen. Die APP kann den Überwachungseffekt in Echtzeit sehen und bei der Entscheidungsfindung helfen. 4. SchwierigkeitenTatsächlich gibt es immer noch einige Schwierigkeiten bei der Verwendung der Zielerkennung zur Branderkennung. Beispielsweise gibt es viele Störproben, die leicht zu Fehlerkennungen führen können. Ein weiteres Beispiel: Eine inkonsistente Beschriftung verhindert eine effiziente Berechnung des mAP. 🎜🎜Also ist es am besten, wenn wir die Berechnungsmethode für Verlustfunktion und Genauigkeit anpassen können. Nehmen wir als Beispiel den Rückruf: Wenn wir auf dem Bild ein Feuer erkennen können, gilt dies als erfolgreich, es muss jedoch nicht unbedingt erkannt werden, wie viele Flammen und wie viel Rauch vorhanden sind. 🎜🎜Natürlich muss diese Art von Aufgabe nicht unbedingt durch Zielerkennung erledigt werden. Ein Freund hat mir die Verwendung von Klassifizierungsaufgaben und Segmentierungsaufgaben vorgeschlagen, und ich denke, ich kann beides ausprobieren. 🎜
Das obige ist der detaillierte Inhalt vonTrainieren Sie das YOLOv7-Modell und entwickeln Sie eine KI-Branderkennung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!