Forum: FPGA, VHDL & Co. akzeptable Bilderkennung


von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

Hallo,

ich habe diesen etwas älteren Artikel gefunden:
http://www.zeit.de/online/2007/16/bilderkennung
Es wäre doch einmal interessant so etwas selbst auszuprobieren, in einem 
FPGA z. B. Es wäre halt gut wenn man da eine möglichst detaillierte Doku 
dazu finden würde. Dieses Verfahren, das dort verwendet wurde scheint ja 
richtig gut zu sein. Wie umfangreich wird denn diese Sache eigentlich? 
Ist das noch im Hobbybereich handlebar? Wie hoch werden die 
Hardwareanforderungen sein (Stratix 4)? Hat das schon mal jemand 
versucht selbst zu realisieren? Gibt es dazu ausführliche Informationen 
frei verfügbar? - Oder kann ich das Vorhaben ganz schnell wieder 
vergessen?

von Bernhard R. (barnyhh)


Lesenswert?

Der Artikel klingt nach Neuronalen Netzen. Der Lösungsansatz sähe 
folgendermaßen aus:

1. Implementierung der Algorithmen auf einem PC
2. Wenn das Ganze zu langsam ist: auslagern auf Graphik-Karte
3. Wenn es dann immer noch zu langsam ist: bessere (einfachere und/oder 
schnellere) Algorithmen suchen.

Erfahrungsgemäß fallen in einem derartigen Projekt einige Studien- und 
Diplomarbeiten an und vielfach nicht nur eine Dissertation.

Ohne die entsprechenden Voraussetzungen (z.B. aktuelles Studium) spielt 
sich da kaum etwas ab.

Grüße
Bernhard

von Kest (Gast)


Lesenswert?

Es gibt sehr viele Bücher darüber. Such nach Stichworten wie: image 
registration, segmentation, fft, hugh room/space, edge detection, 
feature extraction und so weiter...

Im Endeffekt wirst Du feststellen, dass das FPGA nur bedingt dazu 
geeignet ist. Am besten man fängt "klein" an: mit Matlab, ImageJ, 
OpenCV. Wenn dann alles läuft, dann kann man alles in ein FPGA gießen.

Dan muss man sich entscheiden, ob man alles in Echtzeit haben möchte 
oder nicht. Wenn man genügend Zeit hat, dann kann man auch alles mit 
einem PIC erledigen ;-)) Wenn man aber so ein 1024x768 oder gar HD-Bild 
hat mit 60 fps, dann haleluja!

Ich selber mache nur pre/post processing im FPGA, höchstens 
Motion-detection oder irgendwelche Skalierungen/Rotationen/Wrapping. Das 
geht ganz gut, wenn man viel und schnellen Speicher hat.

Vergessen darfst Du aber dein Vorhaben aber keinem Fall -- wo kommt man 
so denn hin? :-)

Grüße,
Kest

von Marc (Gast)


Lesenswert?

Hi Kest,
darf man mal fragen was die DSP Softcore Geschichte macht ?
Gruss, Marc

von Kest (Gast)


Lesenswert?

DSP Softcore ist etwas eingeschlafen, nach dem ich quasi low-Level 
Funktion (MAC) implementiert habe. Bis jetzt habe ich frei 
konfigurierbare Cores, die aber nur eine Sache erledigen können :-( Und 
zwar FIR-Filter. Man kann mit GENERICs die Bitbreiten so einstellen, 
dass die Memory-Blöcke optimal ausgenutzt werden. Alles ist absolut frei 
konfigurierbar:

- ein FIR Filter -- mehrere Kanäle
- ein FIR Filter -- ein Kanal
- mehrere FIR Filter -- ein Kanal
- mehrere FIR Filter -- mehrere Kanäle
- Bitbreiten der Daten und Koeff.

Dazu kommt auch noch die Anzahl der Taps, die man beliebig einstellen 
kann, um wirklich Optimum rauszuholen. Als Feature ist auch die Wahl 
zwischen der parallelen und/oder sequentiellen Verarbeitung gegeben. 
Wenn man z.B. 4096 Takte pro Sample zur Verfügung hat, kann man z.B. 
enweder seriell FIR mit 4096 Taps erstellen oder seriell/parallel mit 2 
MACs und 8192 Taps, oder eben 2 Kanäle mit 2048 Taps.

Jetzt muss nur noch alles schön "verpackt" werden, damit man im Toplevel 
alle FIR-Charakteristika einstellen kann und daraus wird dann 
entsprechend alles generiert (mit Filter-Koeffizienten und so weiter, 
damit man auch ohne Matlab und Co auskommt). Bin also mit 
Signalverarbeitung-Theorie gut beschäftigt :-)

So richtig Release-reif ist die ganze Sache jedoch noch nicht.

Grüße,
Kest

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.