2017-12-24 5 views
1

Ich verstehe, dass die Tensorflow-API zum Trainieren von benutzerdefinierten Objekterkennungs-Datensätzen nur rechteckige Bounding-Boxen verwendet, nämlich xmin, xmax, ymax, ymin. Ich verstehe auch, dass eine Polygon-Begrenzungsbox die Erkennungsgenauigkeit erheblich verbessert, da sie unnötige Informationen innerhalb der Begrenzungsbox entfernt, wodurch ein weit überlegener Trainingsdatensatz ermöglicht wird. Ich benutze derzeit labelImg, um alle meine Bilder zum Training zu binden, und es bietet Polygon-Boxen an. Meine Frage ist, gibt es eine Möglichkeit, den Code in der Tensorflow-API zu ändern, um mit Polygon-Boxen im Gegensatz zu nur rechteckigen Boxen zu arbeiten?Polygon Bounding Box mit Tensorflow

Antwort

0

Nein, an diesem Punkt sind Sie vielleicht mehr interessiert an semantischen Segmentierung wie Maske R-CNN (nicht in Tensorflow Objekterkennung API implementiert) .Die Modelle in der API haben spezifische differenzierbare Schichten (somit trainierbar), die Bounding-Boxen finden. Die Freiheitsgrade eines Polygonmodells wären komplizierter. Maske R-CNN löst das Polygonproblem etwas, indem es das Objekt identifiziert und dann segmentiert, was innerhalb der Begrenzungsbox tatsächlich das Objekt gegenüber dem Hintergrund ist.

Hier einige Einführung in einige der populären Algorithmen in Objekterkennung verwendet und wie sie funktionieren:

https://blog.athelas.com/a-brief-history-of-cnns-in-image-segmentation-from-r-cnn-to-mask-r-cnn-34ea83205de4?gi=b386f4274020