Darkflow: Testen Sie es auf VOC2007 und erhalten Sie 60% mAP

Erstellt am 7. Apr. 2017  ·  4Kommentare  ·  Quelle: thtrieu/darkflow

Hallo,

Gute Arbeit!
Aber ich habe einige Codes geschrieben, um es auf dem VOC2007-Testset mit der Konfiguration '--model cfg/yolo-voc.cfg --load models/yolo-voc.weights' zu testen, und habe 60% mAP erhalten, während das YOLO 9000-Papier 78,6% meldete. .
Dann habe ich die Eingabeauflösung in yolo-voc.cfg von 416 416 auf 544 544 geändert und mAP um 2% verbessert.
Ich habe auch einige Bilder getestet und sie mit Ausgaben von Darknet verglichen und erhebliche Unterschiede festgestellt.
Ich habe diese Testcodes schon ein paar Mal verwendet und bin sicher, dass sie fehlerfrei sind.
Ich denke also, es muss ein paar Bugs geben...

Vielen Dank

help wanted

Hilfreichster Kommentar

@ShawnDing1994 cloud

Alle 4 Kommentare

Dies ist eine schöne Arbeit für Tensorflow-Entwickler, und in der Cloud reparieren Sie den Code von Darkflow gemäß Projekt https://github.com/leetenki/YOLOv2 und https://github.com/hizhangp/yolo_tensorflow oder https://github. com/gliese581gg/YOLO_tensorflow

@ShawnDing1994 cloud

Beim Erstellen des Repo sehe ich, dass nach jeder Operation geringfügige numerische Unterschiede auftreten (z. B. erzeugt die Faltung in TF innerhalb von 1e-4 oder so ein anderes Ergebnis als Darknet), sie werden nach jeder Schicht verstärkt und führen schließlich zu (katastrophal) minderwertigem mAP in diesem Tensorflow Hafen. Ziemlich sicher, dass die High-Level-Implementierung in diesem Repository korrekt ist (angemessene Erkennung), aber die niedrigere Ebene (opKernels in Tensorflow und C-Implementierung in Darknet) kann technische Unstimmigkeiten aufweisen.

Es ist wichtig zu verstehen, wie schwerwiegend es ist, selbst wenn die numerischen Unterschiede klein sind (< 1e-7). Jede trainierte Schicht im Darknet erwartet ein anderes Ergebnis als das, was sie von Tensorflow erhält, also ein noch schlechteres Ergebnis für die nächste Schicht. Dieser Fehler häuft sich an, wenn das Netz tiefer wird.

Die Feinabstimmung von Darknet-Gewichten ist also eine billige und direkte Lösung für das, was ich oben beschrieben habe. Hoffe das hilft.

@ShawnDing1994 Wie haben Sie mAP für Darkflow implementiert, könnten Sie Ihren Code beisteuern, damit ich ihn verwenden kann? oder könnten Sie mir eine Anleitung zur Umsetzung geben?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen