Matlab Cascade Zug für Bienen zählen

8

Ich bin Student in Agronomie und das Thema meines letzten Jahres Studie ist es, die Anzahl der Bienen in Bildern zu bewerten. Ich habe einige Methoden ausprobiert (Threading, Template Matching mit dem ciratefi-Algorithmus oder mit imageJ), aber keine funktioniert gut.

Ich bin ein Anfänger mit Matlab und ich frage mich, ob es möglich ist, Kaskadendetektor zu trainieren und die fonction vision.CascadeObjectDetector zu verwenden, um Bienen auf Bildern zu zählen.

Zwei Bilder Beispiele:
Ссылка und
Ссылка

Wie viele positive und negative Proben muss ich verwenden? HOG? Haar? LBP?

Danke für Ihre Hilfe

    
Hgwen 18.04.2014, 14:39
quelle

2 Antworten

2

Es mag funktionieren, aber es wird schwer werden. Von den Bildern, die Sie mir zur Verfügung gestellt haben, haben Sie eine gute Chance, vereinzelte Bienen zu entdecken, aber es wird schwer sein, diejenigen zu entdecken, die zusammengepfercht sind. Im letzteren Fall ist es schwer, die Umrisse der Form jeder Biene zu erkennen, und einige Bienen verschließen andere Bienen. Aber du wirst es nicht wissen, bis du es versuchst. :)

Beachten Sie auch, dass der Kaskadenobjektdetektor keine Rotation in der Ebene unterstützt. Das bedeutet, dass Sie mehrere Detektoren für verschiedene Orientierungen der Bienen trainieren müssten. Sie können die Funktion trainCascadeObjectDetector verwenden, um die Detektoren zu trainieren.

Sie würden mindestens einige hundert positive Proben jeder Orientierung benötigen. Sie können die App Training Image Labeler verwenden kommt mit der neuesten Version der Computer Vision System Toolbox, um die Bienen in Bildern zu kennzeichnen.

Sie würden auch viele Bilder der Bienenwabe benötigen, ohne Bienen darauf als negative Bilder zu verwenden.

Soweit Features, würde ich mit HOG oder LBP beginnen, weil sie viel schneller sind als Haar. Wenn Sie ermutigende Ergebnisse erhalten, sollten Sie Haar ausprobieren, um zu sehen, ob Sie Ihre Genauigkeit verbessern können.

    
Dima 21.04.2014 17:12
quelle
0

Wenn Sie Bilder der Bienenstöcke ohne die Bienen machen können, wäre es bei den gleichen Lichtverhältnissen großartig! Probieren Sie es aus und subtrahieren Sie dann die zwei Bilder (Pixel für Pixel) und sehen Sie, was Sie bekommen. Dieses Differenzbild wäre viel einfacher zu bearbeiten.

Auch beim Training eines Klassifikators: Wenn Sie sich die Bilder ansehen, benötigen Sie einen "rotationsinvarianten" Klassifikator. Dies ist eine phantastische Art zu sagen, dass Bienen in verschiedenen Winkeln sein können. Sie würden also grundsätzlich mehrere Dutzend Bienenbilder aufnehmen und beliebig rotieren. Dies würde Ihnen mehrere hundert positive Beispiele geben. Dann probiere Plätze ohne Bienen aus, ich denke auch mehrere Dutzend. Drehe diese nicht, da Orte ohne Bienen nicht rotationsinvariant sind. Trainiere jetzt einen Klassifikator. Ich denke nicht, dass es wichtig sein sollte, welchen du benutzt - benutze einfach den einfachsten (wie Viola-Jones).

Also, zur Erinnerung: Es gibt zwei Hauptteile: 1) sehen, ob Sie den Hintergrund abziehen könnten 2) Trainieren Sie Ihren Klassifikator.

Bitte sagen Sie mir, wenn es hilft!

    
zuuz 25.04.2014 12:38
quelle