Ich wurde von dieser Frage im Stackoverflow hierher geschickt . Bitte entschuldigen Sie, wenn die Frage zu spezifisch ist und nicht in der Art und Weise hier steht :)
Die Aufgabe besteht darin, ein Glas mit einer bestimmten Flüssigkeit darin zu finden. Lassen Sie mich Ihnen die Bilder zeigen und dann in der Beschreibung unter den Bildern beschreiben, was ich erreichen möchte und wie ich bisher versucht habe, dies zu erreichen.
Die Bilder : (anscheinend brauche ich mindestens 10 Ruf, um Bilder und Links zu posten, also müssen Links Folgendes tun :( Andernfalls können Sie sich die Frage zum Stapelüberlauf ansehen.)
Eine detaillierte Beschreibung : Ich habe versucht, einen Algorithmus zu implementieren, der ein Glas einer bestimmten Form in opencv erkennt (Glas kann durch einen anderen Aufnahmewinkel / -abstand der Kamera transformiert werden). Es wird auch andere Gläser anderer Formen geben. Das Glas, nach dem ich suche, wird auch mit einer farbigen Flüssigkeit gefüllt, die es von Gläsern mit anderen Farben unterscheidet.
Bisher habe ich versucht, mit dem SIFT-Funktionsextraktor einige Funktionen im Glas zu finden und sie dann mit anderen Fotos mit dem Glas darin abzugleichen.
Dieser Ansatz funktionierte nur unter sehr spezifischen Bedingungen, unter denen ich Glas an einer ganz bestimmten Position hätte und der Hintergrund den Lernbildern ähnlich wäre. Das Problem ist auch, dass das Glas ein 3D-Objekt ist und ich nicht weiß, wie ich Features daraus extrahieren kann (vielleicht mehrere Fotos aus verschiedenen Blickwinkeln - irgendwie miteinander verbunden?).
Jetzt weiß ich nicht, welchen anderen Ansatz ich verwenden könnte. Ich habe einige Hinweise dazu gefunden (hier /programming/10168686/algorithm-improvement-for-coca-cola-can-shape-recognition#answer-10219338 ), aber die Links scheinen unterbrochen zu sein.
Ein weiteres Problem wäre, unterschiedliche "Leeregrade" in einem solchen Glas zu erkennen, aber ich konnte das Glas selbst nicht einmal richtig finden.
Was würden Sie zum Ansatz bei dieser Aufgabe empfehlen? Wäre es besser, die lokale 3D-Objektfunktion auf andere Weise zu finden? Oder wäre es besser, einen anderen Ansatz zu verwenden? Ich habe von Algorithmen gehört, die das Objekt aus mehreren Fotos "lernen", aber ich habe dies in der Praxis noch nie gesehen.
Jeder Rat wäre sehr dankbar
quelle
Antworten:
Das Papier, auf das in Ihrem Link verwiesen wird, scheint dieses zu sein.
Von besonderem Interesse ist Tabelle 1 (unten enthalten). Die Genauigkeitsraten sind nicht großartig, obwohl sie besser sind als andere Ansätze.
quelle
Vielleicht kann Ihnen dieses Papier helfen: http://ai.stanford.edu/~ang/papers/iros09-ScalableLearningObjectDetectionGPU.pdf
Obwohl sie das aktive Stereosystem zusätzlich zu 2D-Bildern verwenden, um Tiefenbilder zu erfassen, ist es interessant, wie sie die Patch-basierten Funktionen verwenden, ein Wörterbuch des Objekts mit vielen kleinen Fragmenten erstellen und dann einen Klassifikator trainieren. Möglicherweise können Sie diese Funktionen hinzufügen, um Ihre Erkennungsrate zu verbessern.
quelle
In Bezug auf Gesichtserkennungssoftware wurde viel daran gearbeitet. Wenn Sie beispielsweise beim Markieren von Fotos auf Facebook feststellen, dass die Position der Gesichter eingerahmt und Ihnen vorgeschlagen wird.
Ich habe viel Literatur zur Gesichtserkennung in Bildern mit neuronalen Netzen gesehen, und eine schnelle Google-Suche wird zweifellos eine große Menge an Informationen zu diesem Thema liefern. Diese Netzwerke nehmen die Pixel des Bildes als Eingaben. In Ihrem Fall kann die Art und Weise, wie sich die Deckkraft ändert / das Licht vom Glas reflektiert wird, eine gute Identifizierung von Merkmalen sein, die das Netzwerk lernen wird.
Ein Problem kann die Anzahl der Fotos sein, die Sie als Trainingsdaten verwenden müssen, und die Vorverarbeitung dieser (dh die Identifizierung der Gesichter selbst). Wenn dies nicht möglich ist, damit genügend Bilder vorhanden sind, um Ihr Netzwerk gut genug zu trainieren, müssen Sie in der Lernphase nach Verknüpfungen suchen. Dieses Dokument ist relevant für das, was Sie tun möchten: http://www.ll.mit.edu/publications/journal/pdf/vol04_no2/4.2.5.neuralnetwork.pdf
Glücklicherweise ist dies ein sehr aktives Feld und ein Großteil des für diese Art von Problem erforderlichen Codes ist online verfügbar.
Sobald Sie die Brille in den Bildern identifizieren können, können Sie von dort aus weitere Analysen durchführen.
quelle