Forum: Mikrocontroller und Digitale Elektronik Bildverarbeitung auf Embedded System - Welches Board? Welcher uC?


von Tom B. (kompi19)


Lesenswert?

Hallo liebe Community,

für ein Projekt ist die mobile Bildverarbeitung auf einem eingebetteten 
System vorgesehen. Zwei Kameras liefern Videos mit vermutlich ca. 30fps 
und einer Auflösung von ca. 800x600px. Die Bilder sollen von einem 
entsprechenden Board "empfangen" und anschließend verarbeitet werden.

Welches Board mit welchem uC eignet sich dafür?

Ich habe bereits gelesen, dass ausreichend RAM vorhanden sein sollte und 
insbesondere ARM-Prozessoren für diesen Job geeignet seien. Für die 
Implementierung sind ca. 90 Arbeitsstunden vorhanden, weshalb das System 
schnell zu verstehen und leicht zu implementieren sein sollte 
(vorzugsweise mit C o.Ä.).

Was sagt ihr?

Danke im Voraus!

von Grendel (Gast)


Lesenswert?

Tom B. schrieb:
> ca. 90 Arbeitsstunden
> weshalb das System schnell zu verstehen und
> leicht zu implementieren sein sollte
> Was sagt ihr?


Nimm einen PC mit OpenCV.

von 132 (Gast)


Lesenswert?

Tom B. schrieb:
> für ein Projekt ist die mobile Bildverarbeitung auf einem eingebetteten
> System vorgesehen. Zwei Kameras liefern Videos mit vermutlich ca. 30fps
> und einer Auflösung von ca. 800x600px. Die Bilder sollen von einem
> entsprechenden Board "empfangen" und anschließend verarbeitet werden.

Was genau muss mit den Bildern gemacht werden? Es ist ein Himmelweiter 
Unterschied, ob du ein Histogramm machen möchtest oder Canny Edge 
Detection. Je nach Aufgabenstellung bei der Bildverarbeitung variiert 
das zwischen einem Cortex Mx bis hin zu einem Computercluster mit 
mehreren 100 Intel i7 Clients.

Generell: bei 800x600@30fps kommst du um einen FGPA nicht herum. Es gibt 
einige gute Boards mit Camera Link Interface, dann kann man kompatible 
Kameras direkt anschließen ohne das ganze Camera Interface nochmal neu 
machen zu müssen.

90 Arbeitsstunden für was? Wenn es keinen fertigen Quellcode für den 
Imagesensor gibt, dann bekommst du binnen 90 Stunden nicht mal den 
Sensor an den FPGA und ein Bild von da wieder über eine serielle 
Schnittstelle raus um schauen zu können, ob du das Bild überhaupt 
korrekt ausliest.

von Tom B. (kompi19)


Lesenswert?

Die Bilder werden voraussichtlich als Graustufenbilder verarbeitet. Sie 
sollen bspw. dazu verwendet werden zu erkennen, ob der Fahrer eines 
Fahrzeuges noch aufmerksam ist (Augen) oder zur Erkennung von Kurven 
bzw. Hindernissen auf der Fahrbahn oder auch zur Erkennung des 
Kennzeichens des Vordermanns.

Das Camera-Interface selbst zu implementieren soll nicht Sinn der Sache 
sein. Für den Rasp Pi gibt es doch bspw. Module, die eine schnelle 
Nutzung ermöglichen.

Die 90 Stunden sind angesetzt für die Inbetriebnahme des Boards, die 
Nutzung der Kamera und die Verarbeitung der Bilddaten, um daraus 
Informationen zu gewinnen, also entsprechende Algorithmen zu verwenden.

OpenCV zu verwenden wäre zumindest vorstellbar, da die Bibliothek die 
Image Processing Arbeit stark erleichtert.

von Grendel (Gast)


Lesenswert?

Tom B. schrieb:
> ob der Fahrer eines
> Fahrzeuges noch aufmerksam ist (Augen) oder zur Erkennung von Kurven
> bzw. Hindernissen auf der Fahrbahn oder auch zur Erkennung des
> Kennzeichens des Vordermanns.


Du wirst froh sein, diese Anwendungen erstmal überhaupt mit der 
angestrebten Framerate+Auflösung auf einem ausgewachsenen PC ans laufen 
zu bekommen.
Auf ein embedded System portiert man sowas erst wenn es grundsätzlich 
läuft... aber dann sind die 90 Stunden wahrscheinlich schon rum.

von Georg G. (df2au)


Lesenswert?

Tom B. schrieb:
> 90 Arbeitsstunden

Vergiss es, da ist selbst ein Profi mit 10 Jahren Erfahrung überfordert. 
Du wirst Monate brauchen.

von Oliver R. (orb)


Lesenswert?

Tom B. schrieb:
> oder auch zur Erkennung des Kennzeichens des Vordermanns.

Sag Bescheid wenn das stabil läuft. Bewegte Kennzeichen sicher aus einem 
bewegten Fahrzeug erkennen, damit wirst Du reich.

von 132 (Gast)


Lesenswert?

Tom B. schrieb:
> Die Bilder werden voraussichtlich als Graustufenbilder
> verarbeitet.

Das werden sie in 99,9% aller Fälle. Die Konvertierung nach Graustufen 
wird dich auf einem Rapsberry Pi von 30fps@640x480 auf ~11 fps 
abbremsen. Schaut also, dass ihr eine Kamera bekommt die man von 
vornherin auf Graustufen konfigurieren kann! Einige können das!

> Sie
> sollen bspw. dazu verwendet werden zu erkennen, ob der Fahrer eines
> Fahrzeuges noch aufmerksam ist (Augen) oder zur Erkennung von Kurven
> bzw. Hindernissen auf der Fahrbahn oder auch zur Erkennung des
> Kennzeichens des Vordermanns.

Die Augen sind machbar - auf einem Rpasberry Pi würde ich optimistisch 
mit 1-2 fps rechen. Kurven und Hindernisse sind meist mit Canny oder 
Hough realisiert und entsprechend ebenfalls sehr rechenintensiv. Mach 
mal mit Matlab den coder und schau mal was er da für Ressourcen braucht. 
Kennzeichenerkennung (OCR) ist nicht minder leicht oder 
rechenunintensiv. Alles in allem gehören alle Themen die du bearbeiten 
willst in die Königsklasse der Bildverarbeitung.

> Das Camera-Interface selbst zu implementieren soll nicht Sinn der Sache
> sein. Für den Rasp Pi gibt es doch bspw. Module, die eine schnelle
> Nutzung ermöglichen.

Ja schon ... nur hat der Rasp halt kaum Rechenleistung. Alleine bis du 
OpenCV für Rapsberry kompiliert hast vergeht ein Tag.

> Die 90 Stunden sind angesetzt für die Inbetriebnahme des Boards, die
> Nutzung der Kamera und die Verarbeitung der Bilddaten, um daraus
> Informationen zu gewinnen, also entsprechende Algorithmen zu verwenden.

Auf gut Deutsch - du hast 2 Wochen Zeit für ein Projekt an dem sämtliche 
Automobilhersteller seit mehreren Jahrzehnten arbeiten? Ernsthaft?

> OpenCV zu verwenden wäre zumindest vorstellbar, da die Bibliothek die
> Image Processing Arbeit stark erleichtert.

Ja das kann man machen, wenn man für deine Aufgabe einen Computercluster 
zur Verfügung hat. OpenCV hat einen Overhead, dass es kracht. Jeder der 
sowas embedded macht, der muss das natürlich neu schreiben!

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.