2017-06-19 10 views
4

Ich versuche ein Modell zu trainieren, um die Grundformen wie Kreis, Quadrat, Rechteck usw. mit Tensorflow zu erkennen. Was wäre der beste Eingabedatensatz? Um die Formen direkt zu laden oder den Rand des Bildes mit OpenCV zu finden und nur das Kantenbild zu laden.Shape Detection - TensorFlow

Wir können Formen auch mit OpenCV erkennen. Was wäre der zusätzliche Vorteil, Machine Learning zu nutzen?

Beispielbilder zum Training des Modells.

Circle Detected using OpenCV Square detection

Antwort

0

Sie möchten objektive Erkennung in tensorflow zur Kasse. https://github.com/tensorflow/models/tree/master/object_detection

Es gibt eine vortrainiert Modell hier http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_11_06_2017.tar.gz

Ein möglicher Vorteil von neuronalen Netzen unter Verwendung der Nachweis zu tun ist, dass es die CPU-Zyklen reduzieren zu berechnen. Dies ist nützlich auf mobilen Geräten. Zum Beispiel - die Hough-Transformation https://en.wikipedia.org/wiki/Hough_transform ist zu teuer für die Berechnung/aber wenn stattdessen ein konvolutionelles neuronales Netz verwendet wird - eröffnen sich mehr Möglichkeiten für Echtzeit-Bildverarbeitung.

Um ein neues Modell tatsächlich trainieren - hier sehen https://www.tensorflow.org/tutorials/deep_cnn

1

ich mit diesem Handbuch beginnen würde empfehlen, Klassifizierung zu tun, nicht Erfassungsobjekt: https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/#0

Klassifizierung ist für eine eindeutige Kennung für ein Bild (99 % Quadrat, 1% Kreis). Die Objekterkennung dient zur Klassifizierung mehrerer Objekte innerhalb des Bildes (x_min = 3, y_min = 8, x_max = 20, y_max30, 99% Quadrat). Ihr Fall sieht eher wie ein Klassifizierungsproblem aus.

Sie benötigen nicht die vollständige Docker-Installation wie in der Anleitung. Wenn Sie Python 3.6 auf Ihrem System installiert haben, können Sie einfach tun:

pip install tensorflow 

Und dann springe zur „4. Abrufen der Bilder“

hatte ich es ausprobieren mich, so habe ich heruntergeladen die erste 100 Bilder von Quadraten und Kreisen von Google mit dem Add-on "fatkun batch download image" aus dem Chrome Web Store.

Bei meinen ersten 10 Tests erreiche ich eine Genauigkeit zwischen 92,0% (0,992 ..) und 99,58%. Wenn Ihre Beispiele einheitlicher sind als viele andere Bilder von Google, werden Sie wahrscheinlich bessere Ergebnisse erzielen.