Forum: Mikrocontroller und Digitale Elektronik Ziffernerkennung mittels Bildverarbeitung


von Tobi S. (schmidlitsky)


Lesenswert?

Guten Morgen zusammen,

Ich studiere Elektro- und Informationstechnik und will/muss im Rahmen 
einer Projektarbeit ein Bildverarbeitungssystem entwickeln, dass Ziffern 
(Zahlen, Buchstaben und beides in Kombination) mit maximal 3 Stellen 
erkennt und auswertet.

Konkret geht es darum, dass ein Stufenschalter auf einem Prüfstand mit 
einem Motor angetrieben wird und sämtliche Schalterstellungen "abfährt".
Die aktuelle Schalterstellung wird auf einer Ziffernscheibe (weiße 
Ziffer auf dunkel-blauem Hintergrund) dargestellt.
Um diese Stellung zu erfassen habe ich mir überlegt eine Kamera (Vision 
Sensor) an dem PC anzuschließen, der die Ziffer abliest und an ein 
Programm übergibt. Das Programm soll dann vergleichen, ob diese Stellung 
(Ist-Stellung) mit der Soll-Stellung übereinstimmt.
Falls nicht, soll eine Fehlermeldung erscheinen und der Prüfvorgang muss 
angehalten werden.

Das Programm dazu zu schreiben macht mir weniger sorgen, da ich während 
meines Studiums bereits reichlich Erfahrungen mit C/C++ sammeln konnte.
Leider habe ich keine Erfahrung mit Bildverarbeitungssystemen.

Nun habe ich mir ein paar dieser Vision Sensoren herausgesucht:

Keyence:
http://www.keyence.de/products/vision/vision-sensor/iv/models/iv-500ma/index.jsp

Baumer:
http://www.baumer.com/de-de/produkte/produktfinder/?tx_baumerproductfinder_pf%5Burl%5D=%2Fpfinder_vision%2Fscripts%2Fproduct.php%3Fcat%3DVision_Sensoren%26psg%3DMerkmalspruefung_Code_und_Text%7C1428393319%26pid%3DVS_ID110M03W10EP%26language%3Dde%26country%3D%26header%3D%26ptk%3D%26perpage%3D

Baluff:
http://www.balluff.com/balluff/MDE/de/produkte/catalogue/products_details.jsp?id=BVS000T-186856

Sind dieser dafür überhaupt geeignet, oder brauche ich ein gänzlich 
anderes System (Smart Camera)?
Hat jemand Erfahrung mit den drei oben genannten?

Noch ein paar Randbedingungen:
 - Die Kamera sollte leichte Stöße und Vibrationen aushalten
(Werde die Kamera vom System entkoppeln, ähnlich wie bei Festplatten im 
PC)
 - stabile Kommunikation zum PC
(sollte durch Ethernet gegeben sein; ich erwarte keine größeren 
Umwelteinflüsse)
 - Dauer eines Schaltvorgangs = 5,4sec

Viele Grüße
Tobi

von dunno.. (Gast)


Lesenswert?

Willst du denn die Bilderkennung an sich auf dem PC laufen lassen, oder 
suchst du ne Kamera die dir das abnimmt?

Die Kameras von Keyence sind schon ziemlich geil, hab mal damit 
rumgespielt. - Wenn du die allerdings nur als Webcam missbrauchen 
willst, wohl etwas overpowered..

von Christian B. (casandro)


Lesenswert?

Ähm, da kannst Du so ziemlich jede Videokamera verwenden, zur Not auch 
eine USB-Kamera, da ist die Anbindung halt Mist, aber für ein 
studentisches Projekt reicht das. Ich glaube nicht dass man von einem 
Studenten erwarten kann, dass er sich eine Kamera für viele hundert Euro 
zu legt.

Entweder Du verwendest einen frei programmierbaren Computer für das (die 
Rechenleistung reicht dafür locker aus) und vergleichst einfach das 
Bild das Du bekommst mit gespeicherten Abbildern der Ziffern, oder Du 
baust eine Schaltung die zunächst das Bild unterabtastet, und dann die 
dadurch weniger werdenden Pixel durch ein Schieberegister schickt. In 
diesem Schieberegister findest Du die Pixel und durch das Verschieben 
wird quasi das Bild verschoben. Die Auswerteschaltung besteht dann im 
Prinzip aus einem Vergleicher, der die Werte bestimmter Pixel mit 
bestimmten Sollwerten vergleicht.

Also mit einem frei programmierbaren Computer geht das am einfachsten. 
Es gibt da Programme wie webcam die Dir das Bild einer Kamera als JPEG 
ausgeben, mit Imagemagic kannst Du das dann in ein Portable Grey Map 
umwandeln, und das kannst du in so ziemlich jeder Programmiersprache mit 
Bordmitteln und ohne aufwändige Bibliotheken verarbeiten.

von Tobi S. (schmidlitsky)


Lesenswert?

Vielen Dank für die schnellen Antworten.

Webcam reicht leider nicht aus. Hintergrund ist der, dass es ein Projekt 
für die Industrie ist und das kooperierende Unternehmen, das auch die 
Mittel zur Verfügung stellt, das BV-System später mal an ihrem Prüfstand 
einsetzen möchte um eben diesen zu automatisieren.

dunno.. schrieb:
> Willst du denn die Bilderkennung an sich auf dem PC laufen lassen, oder
> suchst du ne Kamera die dir das abnimmt?

Beides wäre denkbar, so fern das Modell von Keyence dafür geeignet ist. 
Was würdest Du empfehlen?
Keyence war übrigens auch mein Favorit ;)

Christian Berger schrieb:
> Entweder Du verwendest einen frei programmierbaren Computer für das (die
> Rechenleistung reicht dafür locker aus) und vergleichst einfach das
> Bild das Du bekommst mit gespeicherten Abbildern der Ziffern, ...

Die Kamera soll direkt an einem PC angeschlossen werden, dieser könnte 
also die Rechenleistung übernehmen.
Die Soll-Werte liegen als .txt Datei vor und diese wollte ich eigentlich 
für den Vergleich verwenden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Tobi S. schrieb:
> Ich studiere Elektro- und Informationstechnik und will/muss im Rahmen
> einer Projektarbeit ein Bildverarbeitungssystem entwickeln, dass Ziffern
> (Zahlen, Buchstaben und beides in Kombination) mit maximal 3 Stellen
> erkennt und auswertet.
> Konkret geht es darum, dass ein Stufenschalter auf einem Prüfstand mit
> einem Motor angetrieben wird und sämtliche Schalterstellungen "abfährt".
Warum bastelst du nicht einen Absolutgeber mechanisch mit an die Anzeige 
und wertest den aus? Oder wirst du durch Dritte gezwungen, diesen 
technischen Bildverarbeitungs-Overkill zu basteln?
Dann lass einfach mal ein paar Vertreter mit ihren Kameras zum Test 
antanzen und schreibe einen Investitionsantrag über 2k€ für das System. 
Das Ding von Keyence kann das schon. Wir haben auch ein paar solche 
Kamerasysteme im Einsatz. Es ist aber immer ein Gelecke, das Gerät zu 
"teachen"...


Was mich sehr ins Grübeln bringt:
> Ich studiere Elektro- und Informationstechnik
Lernt man dort, Probleme mit maximalem Aufwand zu bearbeiten?

: Bearbeitet durch Moderator
von Tobi S. (schmidlitsky)


Lesenswert?

Lothar Miller schrieb:
> Warum bastelst du nicht einen Absolutgeber mechanisch mit an die Anzeige
> und wertest den aus? Oder wirst du durch Dritte gezwungen, diesen
> technischen Bildverarbeitungs-Overkill zu basteln?

Da liegst Du richtig ;)
Ist so vorgegeben und muss auch so umgesetzt werden.

> Dann lass einfach mal ein paar Vertreter mit ihren Kameras zum Test
> antanzen und schreibe einen Investitionsantrag über 2k€ für das System.
> Das Ding von Keyence kann das schon.

Werde ich wohl so machen.
Budget ist mit max 3.000€ angesetzt ;)

> Was mich sehr ins Grübeln bringt:
>> Ich studiere Elektro- und Informationstechnik
> Lernt man dort, Probleme mit maximalem Aufwand zu bearbeiten?

Das Gefühl habe ich (leider) auch oft...
Allerdings bin ich doch sehr froh, dass ich Erfahrungen mit 
Bildverarbeitungssystemen sammeln kann. Ich denke das mir das später 
schon einen gewissen Mehrwert bringen kann, wenn ich dort Erfahrung 
aufweisen kann.

von Axel R. (Gast)


Lesenswert?

Wir müssen selber "drehen" ( in unserem Fall drücken ) und aufschreiben, 
ob die Zahl "schön" aussieht :|

von Peter D. (peda)


Lesenswert?

Wenn Buchstaben und Ziffern erkannt werden sollen, kann es Probleme 
geben, z.B. bei 0/O, 1/l, 4/A, 5/S, 6/G, 8/B.

von Purzel H. (hacky)


Lesenswert?

An Einfachsten ist, wenn man die Zahlen und Buchstaben vorgeben kann. 
Dann waehlt man welche, mit minimaler Kreuzkorrelation. Und ja, der 
Hinweis ist schon da, das Verfahren heisst Kreuzkorrelation. Also die 
Bilder mit allen Vorlagen kreuzkorrelieren und der Kandidaten mit dem 
hoechsten Signal ist es.

von Georg (Gast)


Lesenswert?

Hallo,

Buchstaben und Zahlen ganz allgemein zu separieren und zu erkennen ist 
aufwendig, aber ist das notwendig? Wenn die Anzahl möglicher Anzeigen 
begrenzt ist, könnte man ja das Gesamtbild mit einem gespeicherten Bild 
vergleichen, das ist viel einfacher. Schliesslich sehen die Anzeigen 
immer gleich aus und werden weder gedreht noch verschoben.

Es ist natürlich die Frage, ob das eine Lösung im Sinne der Ausbildung 
ist.

Georg

von Max B. (theeye)


Lesenswert?

Moin!

Was du suchst ist eine Bibliothek mit entsprechenden Funktionen. Ich 
empfehle dir OpenCV (http://opencv.org/). Tipp: Schreibe dein Programm 
in C++. Mit einer einfachen Webcam kannst du sofort loslegen. Oder du 
fütterst das Programm erst einmal mit Fotos der Stellungen/einer 
Stellung und kümmerst dich um die eigentliche Funktion. Die Auswahl 
einer anderen Kamera sollte dann nicht mehr das Problem sein denke ich 
:-)

Gruß Max

von Amateur (Gast)


Lesenswert?

Vielleicht hilft Dir auch eine, etwas weiter gefasste, Interpretation 
der Aufgabe.

Viele Schalter haben eine Markierung, Spitze oder sonstige Asymmetrie.

Erkennst Du also die Schalterstellung, so erkennst Du auch die Position.
Also Asymmetrie unter 30° entspricht z.B. der Position "A1".

Man wird ja wohl nicht erwarten, dass in kurzer Zeit eine universelle 
OCR programmiert wird. Oder wissen Eure Aufgabensteller nur wie man 
Leute beschäftigt, aber nicht was sie tun bzw. fordern?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Georg schrieb:
> Buchstaben und Zahlen ganz allgemein zu separieren und zu erkennen ist
> aufwendig, aber ist das notwendig?
Nein, denn Tobi S. schrieb:
>>> weiße Ziffer auf dunkel-blauem Hintergrund
Es ist also nur ein einziges kontraststarkes Zahlenzeichen. Das kann der 
Vision-Sensor schon von sich aus...

von abc.def (Gast)


Lesenswert?

Wie sieht denn dein Zeit-Budget aus? Was ist, wenn Du nicht mehr in der 
Firma bist, und das System ist dann kaputt? Was ist, wenn man in der 
Firma nochmal eine ähnliche Anwendung hat, fängst Du dann nochmal von 
vorne an oder kannst Du in wenigen Stunden nochmal das gleiche System 
(mit anderen Referenz-Bildern) aufbauen?
Ich habe Systeme von http://www.vision-control.com/ verwendet, ist dort 
von smart camera bis zu wirklich ernst zu nehmenden Systemen verfügbar. 
Die Geräte haben mehrere Digitale Ausgänge (24V-Pegel) um sie an eine 
SPS zu koppeln. Man könnte dann binär die Zahl übertragen.
Prinzipiell sollte eine smart camera ausreichen, 1500€ im Einkauf 
sollten machbar sein. Andere Hersteller können das auch.

von Amateur (Gast)


Lesenswert?

Als ich vor einigen Jahren mal im Bereich der Automatisierung gearbeitet 
habe, haben wir, für die Erkennung von Fehlern bei Zieraufdrucken 
(Produktionsfehler), Sensoren der Firma Omron verwendet.

Diese konnten zwar nicht "lesen", aber bestimmte, mit Toleranzen 
versehene Muster, erkennen.

Ich schätze mal, dass die mittlerweile besser und einfacher zu 
Programmieren sind. Wenn mich nicht alles täuscht, lagen die Preislich 
weit unter 1K€.

Deren Konzeption war für das Zusammenspiel mit einer SPS vorgesehen. Mit 
den richtigen Stichworten versehen solltest Du auch bei anderen 
Herstellern fündig werden.

von Tobi S. (schmidlitsky)


Lesenswert?

Peter Dannegger schrieb:
> Wenn Buchstaben und Ziffern erkannt werden sollen, kann es
> Probleme
> geben, z.B. bei 0/O, 1/l, 4/A, 5/S, 6/G, 8/B.

Danke für den Hinweis, werde es beachten.

abc.def schrieb:
> Wie sieht denn dein Zeit-Budget aus?

Das ganze BV-System sollte innerhalb von 20 Wochen (Ende Januar) voll 
funktionsfähig und einsatzbereit sein, also inklusiver belastbarer 
Versuchsreihe.

Lothar Miller schrieb:
> Georg schrieb:
>> Buchstaben und Zahlen ganz allgemein zu separieren und zu erkennen ist
>> aufwendig, aber ist das notwendig?
> Nein, denn Tobi S. schrieb:
>>>> weiße Ziffer auf dunkel-blauem Hintergrund
> Es ist also nur ein einziges kontraststarkes Zahlenzeichen. Das kann der
> Vision-Sensor schon von sich aus...

Also sollte ich Problemlos eine Ziffer an ein Programm übergeben können 
oder kann der Vision Sensor direkt Ziffern vergleichen?

: Bearbeitet durch User
von Gerd P. (litart)


Lesenswert?

Hallo Tobi,

es gibt seit einigen Jahrn ein Verfahren das prädestiniert für jede Art 
von Mustererkennung ist, dazu gehört auch OCR (Optical Character 
Recognition).

Das Verfahren heißt "SVM" (Support Vector Machine).
Es ist in Programmpaketen wie "R" (http://www.r-project.org/) bereits 
implementiert, auch in vielen mathematisch/statistischen Paketen wie 
z.B. Mathematica.

SVM ist eine Art eierlegende Wollmilchsau. Jedes Problem der 
Klassifizierung wie Spracherkennung, Rating-Verfahren usw. ist damit 
recht elegant zu lösen.
Es gibt inzwischen Anwendungen wie z.B. eine App für Hautkrebserkennung 
aus einem Foto, Zuordnung von Texten zu Autoren, die US-Post hat eine 
Erkennung handschriftlicher Postleitzahlen mit hoher Trefferquote 
umgesetzt. Deine Aufgabe sollte sich damit reibungslos lösen lassen.

Ein Problem wäre die Normalisierung der Daten, da Du aber (vermutlich) 
einen festen Kamerastandort und immer den selben Bildausschnitt hast 
brauchst Du die einzelnen Ziffern ja nur aus dem Gesamtbild zu 
"stanzen".

Alles Weitere solltest Du recherchieren, das ist ja auch ein Teil Deiner 
Aufgabe. Falls konkrete Fragen da sind formuliere sie (bevor ich eine 
Generalbeschreibung abgeben muss, das sprengt hier den Rahmen).

Gruß
Gerd

P.S.: Halte uns bitte auf dem Laufenden ...

von Karl H. (kbuchegg)


Lesenswert?

Tobi S. schrieb:

> Also sollte ich Problemlos eine Ziffer an ein Programm übergeben können
> oder kann der Vision Sensor direkt Ziffern vergleichen?

Die Frage ist doch, ob du überhaupt die Ziffer als solche identifizieren 
musst.

Ein Stufenschalter hat ja nicht unendlich viele zufällige Texte sondern 
eine Auswahl aus einem begrenzten Vorrat, der auch noch vorab bekannt 
ist. Wenn du nur erkennen musst, ob die Beschriftung auch zur 
Schalterstellung passt, dann reicht es doch völlig aus, wenn dein 
Programm die Aussage "entspricht das von der Kamera aufgenommene Bild 
dem für die eingestellte Schalterstellung in einer Musterlösung 
aufgenommene Bild - ja oder nein".
Im Grunde geht es also nicht darum Ziffern und Buchstaben zu 
vergleichen, sondern Bilder zu vergleichen und eine Entscheidung zu 
treffen, ob 2 Bilder (bzw. Bildausschnitte) im wesentlichen identisch 
sind.

Irgendwie hab ich wieder mal das Gefühl hier wird schon wieder mal mit 
Kanonen auf Spatzen geschossen und eine eigentlich relativ einfache 
Aufgabenstellung künstlich kompliziert gemacht.

: Bearbeitet durch User
von Sven B. (scummos)


Lesenswert?

Wenn du die Erkennung an einem Computer machst, schau' dir mal tesseract 
an. Das ist ein relativ mächtiges und flexibles OCR-Programm, Google 
verwendet das für Google Books. Das trainieren ist leider etwas 
anstrengend, aber wenn man es macht, funktioniert es sehr gut.

von Georg (Gast)


Lesenswert?

Tobi S. schrieb:
> Also sollte ich Problemlos eine Ziffer an ein Programm übergeben können

So funktioniert das nicht, "trainieren" musst du immer, es sei denn du 
nimmst ein Riesen-OCR-Programm für PCs wie z.B. FineReader. Dafür würde 
ich dir aber keine gute Note geben, es sei denn das Erschiessen von 
Spatzen mit einer Kanone wäre euer Ausbildungsziel.

Georg

von Tobi S. (schmidlitsky)


Lesenswert?

Karl Heinz schrieb:
> Die Frage ist doch, ob du überhaupt die Ziffer als solche identifizieren
> musst.
>
> Ein Stufenschalter hat ja nicht unendlich viele zufällige Texte sondern
> eine Auswahl aus einem begrenzten Vorrat, der auch noch vorab bekannt
> ist.


Das würde bedeuten, ich muss eine Datenbank erstellen, in der jede 
mögliche Ziffernkombination als Bild enthalten ist und zwar so wie es 
die Kamera später auf dem Prüfstand "sieht". Die dazu gehörige Software 
müsste dann nur noch die Bilder dem jeweiligen Wert aus der .txt Datei, 
in der die Reihenfolge und Ziffernkombination gespeichert ist, zuordnen 
und mit dem Bild von dem Vision Sensor vergleichen.
Stimmen die Bilder überein wird das nächste Bild geladen und mit dem 
nächsten Bild vom Vision Sensor verglichen usw...

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

Denke doch bitte an Folgendes:
1. Während jemand (Hand) am Schalter rumfummelt, liefert Deine
   Ziffernerkennungssoftware nur Fahrkarten.
2. Wohin mit der Pupille?
   Dicht über dem Schalter stört diese mit Sicherheit bei der Bedienung.
   Weit entfernt braucht’s ein Teleobjektiv, damit noch ein paar Pixel
   zum Auswerten (Ausschnitt) überbleiben.

von Robotnik (Gast)


Lesenswert?


von Erich (Gast)


Lesenswert?

>1. Während jemand (Hand) am Schalter rumfummelt, liefert Deine
>   Ziffernerkennungssoftware nur Fahrkarten.

Man könnte für weitere 3 kEuronen einen Lichtvorhang dazukaufen.

Gruss

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Karl Heinz schrieb:
> Programm die Aussage "entspricht das von der Kamera aufgenommene Bild
> dem für die eingestellte Schalterstellung in einer Musterlösung
> aufgenommene Bild - ja oder nein".

 Im Prinzip ja, aber...
 Schalter bleiben bei einer Links- oder Rechtsdrehung nicht immer
 in der selben Stellung stehen - eine Toleranz von +/- 15 Grad ist
 da durchaus drin. Und da die Ziffern sich noch weiter oben im Kreis
 befinden, wird es da mit einfachen Bildervergleichen nichts.
 Da müssen schon Vektoren her - aber wenn das Program weisst, dass
 es nur mit einer Ziffer verglichen werden muß, ist es auf jeden Fall
 viel schneller und einfacher...


Karl Heinz schrieb:
> Die Frage ist doch, ob du überhaupt die Ziffer als solche identifizieren
> musst.

 Genau.

: Bearbeitet durch User
von Tobi S. (schmidlitsky)


Lesenswert?

Amateur schrieb:
> Denke doch bitte an Folgendes:
> 1. Während jemand (Hand) am Schalter rumfummelt, liefert Deine
>    Ziffernerkennungssoftware nur Fahrkarten.

Der Prüfstand läuft vollkommen automatisch, d.h. der Stufenschalter wird 
von einem Motor angetrieben und fährt damit alle Schaltstufen ab. Hand 
anlegen tut da, während der Vorgang läuft, (normalerweise) keiner.

> 2. Wohin mit der Pupille?

Die Kamera wird direkt über der Ziffernscheibe (fest) montiert. Wie oben 
bereits erwähnt wird dort manuell nichts bedient, dass Teil ist also 
auch nicht im Weg.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Karl Heinz schrieb:
> Die Frage ist doch, ob du überhaupt die Ziffer als solche identifizieren
> musst.

 Wenn ich mir das so überlege...
 Wessen Idee war dieses Projekt überhaupt ?

von Amateur (Gast)


Lesenswert?

Warum werde ich das Gefühl: Der Ansatz ist "mittelprächtig", nicht los.

Ein Poti (360°) mit dem Schalter gekoppelt,
der gute, alte Inkrementalgeber hinten dran,
ein Schalter mit einer zusätzlichen Ebene,
den Schalter direkt (oder mittels Optokopper) anzapfen,
oder den Motor bzw. dessen Motorsteuerung anzapfen währen "billiger".

von npn (Gast)


Lesenswert?

Amateur schrieb:
> Warum werde ich das Gefühl: Der Ansatz ist "mittelprächtig", nicht los.

Du kannst doch jetzt nicht, nur weil du ein komisches Gefühl hast, von 
Tobi verlangen, daß er seinem Auftraggeber sagt:
"Ich sollte das zwar mit Kamera machen, aber April, April! Ich habe es 
ganz anders gemacht, als du mir vorgegeben hast!"
Was denkst du, was er dann zu hören bekommt? :-))

Tobi S. schrieb:
> Ist so vorgegeben und muss auch so umgesetzt werden.

von Karl H. (kbuchegg)


Lesenswert?

Tobi S. schrieb:

> Das würde bedeuten, ich muss eine Datenbank erstellen, in der jede
> mögliche Ziffernkombination als Bild enthalten ist


Hinweis: es gibt nicht nur ganze Bilder sondern auch Bildausschnitte.
Wenn deine Kamera fix montiert ist und der Schalter fix montiert ist, 
dann liegt der interessierende Bildausschnitt von der Skala auch immer 
an der gleichen Stelle im Bild.

> Stimmen die Bilder überein wird das nächste Bild geladen und mit dem
> nächsten Bild vom Vision Sensor verglichen usw...

Genau.
Und wenn du dich nicht allzu dumm anstellst, dann bist du zu 
Allerheiligen längst fertig mit der Erstimplementierung und kannst dich 
mit den ganz praktischen Problemen wie zB Bildausleuchtung rumschlagen 
und nicht erst im Jänner.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

npn schrieb:
> "Ich sollte das zwar mit Kamera machen, aber April, April! Ich habe es
> ganz anders gemacht, als du mir vorgegeben hast!"
> Was denkst du, was er dann zu hören bekommt? :-))

Amateur schrieb:
> Ein Poti (360°) mit dem Schalter gekoppelt,
> der gute, alte Inkrementalgeber hinten dran,

 Genau, nur gut verstecken.
 Dummy Gehäuse montieren, Vision Sensor nach Hause nehmen.

von Karl H. (kbuchegg)


Lesenswert?

Marc Vesely schrieb:

>  da durchaus drin. Und da die Ziffern sich noch weiter oben im Kreis
>  befinden, wird es da mit einfachen Bildervergleichen nichts.

Ich würde sagen: kommt auf die tatsächliche Auswertung an, bzw. wie 
aufwändig man den Vergleich macht.

Ich würde wahrscheinlich erst mal ein schwarz/weiß Bild 
kontrastverstärken und dann einfach abzählen, wieviele Pixel identisch 
sind. Das Bild mit der höchsten Prozentzahl gewinnt.
Wenn sich die Verdrehung als Problem rausstellt kann man ja auch 
versuchen, das Bild in 1 oder 2 grad Schritten nach links oder rechts zu 
drehen oder ein wenig zu verschieben.


Hier ist dann eben auch ein wenig experimentieren angesagt. Ich war 
verblüfft, wie einfach zb eine Chip Bonding Maschine für RFID die Pads 
auf einem RFID-Träger Material findet. kontrastverstärktes Bild und dann 
wird pro Zeile ausgezählt, wieviele weiße bzw. schwarze Pixel (je nach 
Einstellung) es gibt. Dasselbe in senkrechter Richtung und dort wo die 
Maximalwerte sind, dort ist der Mittelpunkt des Pads. Da spielten dann 
auch ein paar Bildfehler nicht so die große Rolle :-)

: Bearbeitet durch User
von npn (Gast)


Lesenswert?

Marc Vesely schrieb:
> Dummy Gehäuse montieren, Vision Sensor nach Hause nehmen.

:-)

von Karl H. (kbuchegg)


Lesenswert?

Amateur schrieb:
> Warum werde ich das Gefühl: Der Ansatz ist "mittelprächtig", nicht los.

Weil ich denke, dass du von der falschen Aufgabenstellung ausgehst.

Was wäre, wenn deine Auswerte-maschine in der Qualitätssicherung 
eingesetzt wird, die vor Auslieferung überprüfen soll, ob alle 
Stufenschalter richtig montiert sind und bei Betätigung auch das 
richtige anzeigen.

Siehst du den Ansatz dann immer noch als mittelprächtig an?

von Tobi S. (schmidlitsky)


Lesenswert?

Karl Heinz schrieb:
> Amateur schrieb:
>> Warum werde ich das Gefühl: Der Ansatz ist "mittelprächtig", nicht los.
>
> Weil ich denke, dass du von der falschen Aufgabenstellung ausgehst.
>
> Was wäre, wenn deine Auswerte-maschine in der Qualitätssicherung
> eingesetzt wird, die vor Auslieferung überprüfen soll, ob alle
> Stufenschalter richtig montiert sind und bei Betätigung auch das
> richtige anzeigen.
>
> Siehst du den Ansatz dann immer noch als mittelprächtig an?


Exakt darum geht es!

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Karl Heinz schrieb:
> Wenn sich die Verdrehung als Problem rausstellt kann man ja auch
> versuchen, das Bild in 1 oder 2 grad Schritten nach links oder rechts zu
> drehen oder ein wenig zu verschieben.

 Verschieben ist OK, aber verdrehen mag sich zu einem Rechenproblem
 entwickeln. Bei einer Auflösung von nur 800*600 und Float...

 EDIT:
 Wieder mal erst getippt, dann gelesen - dachte es ging um uC, nicht
 um PC.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Marc Vesely schrieb:

>  Verschieben ist OK, aber verdrehen mag sich zu einem Rechenproblem
>  entwickeln. Bei einer Auflösung von nur 800*600 und Float...

Da sein Stufenschalter von einem Motor "bedient" wird, erwarte ich 
eigentlich nicht, dass es da große Abweichungen von der Solllage gibt. 
Ein Schrittmotor dreht jeden Schalter immer um 10° wenn 10° am 
Motortreiber eingestellt sind. Es sei denn, der Schalter hat ein 
mechanisches Problem. Dann muss er aber sowieso getauscht werden. So 
gesehen hat er der Qualitätssicherung dann sogar einen Gefallen getan, 
wenn ihn seine Auswertung als 'durchgefallen' markiert.

von Karl H. (kbuchegg)


Lesenswert?

Tobi S. schrieb:

>> Was wäre, wenn deine Auswerte-maschine in der Qualitätssicherung
>> eingesetzt wird,

....
>
> Exakt darum geht es!

Es ist zwar im Eröffnungsposting schon durchgeschimmert, aber eine klare 
kurze Vorstellung des Projektes hätte einige Unklarheiten beseitigt. Wie 
du im Threadverlauf erkennen kannst, haben nicht alle begriffen, das es 
nicht darum geht, im laufenden Betrieb einen Schalter zu betätigen um 
damit einen Produktionsablauf zu steuern.

Auch das will gelernt sein: die wesentlichen Informationen so zu 
präsentieren, dass es zu möglichst wenig Missverständnissen kommen kann.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Karl Heinz schrieb:
> So gesehen hat er der Qualitätssicherung dann sogar einen Gefallen
> getan,

 So gesehen sehe ich das jetzt auch so.

von scs (Gast)


Lesenswert?


von Tobi S. (schmidlitsky)


Lesenswert?

Karl Heinz schrieb:
> Tobi S. schrieb:
> Auch das will gelernt sein: die wesentlichen Informationen so zu
> präsentieren, dass es zu möglichst wenig Missverständnissen kommen kann.

Du hast vollkommen Recht, ein bisschen konkreter hätte die 
Projektbeschreibung sein dürfen, vor allem das der Lösungsweg auch 
konkret vorgegeben ist. Das werde ich in Zukunft besser beachten.

Ich möchte mich an dieser Stelle auch einmal recht herzlich bei allen 
Bedanken!

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Tobi S. schrieb:

> Webcam reicht leider nicht aus. Hintergrund ist der, dass es ein Projekt
> für die Industrie ist und das kooperierende Unternehmen, das auch die
> Mittel zur Verfügung stellt, das BV-System später mal an ihrem Prüfstand
> einsetzen möchte um eben diesen zu automatisieren.

Sind die zu blöd zum Einkaufen? Es gibt doch etliche "schlüsselfertige" 
Systeme, die das erledigen und bloß noch parametriert werden müssen.

Kann es sein, daß du bloß deine Aufgabe nicht richtig verstanden hast?

> dunno.. schrieb:
>> Willst du denn die Bilderkennung an sich auf dem PC laufen lassen, oder
>> suchst du ne Kamera die dir das abnimmt?
>
> Beides wäre denkbar

Na, dann wird es Zeit, daß du dich einfach mal entscheidest.

>, so fern das Modell von Keyence dafür geeignet ist.

Was ist denn das für ein völlig bescheuertes Entscheidungskriterium?

> Die Kamera soll direkt an einem PC angeschlossen werden, dieser könnte
> also die Rechenleistung übernehmen.

OMG. Das irgendein Kabel von der Kamera zum PC läuft und sie somit 
"direkt angeschlossen" ist, sagt exakt garnix.

Von einem Studenten erwarte ich schon eine etwas tiefschürfendere 
Betrachtungsweise. Aber, bei dem heutigen Bildungssystem steht zu 
befürchten, daß alsbald ein neuer Bachelor oder FH-Ingenieur ohne jede 
Ahnung von den primitivsten Grundlagen in der Industrie aufschlägt und 
sich beim Bewerbungsgespräch als der Fachmann für Bildverarbeitung 
überhaupt darstellt, schließlich hat er ja seine Arbeit darüber 
geschrieben...

Wenn das so weiter geht, kann das nur böse enden für den 
Wirtschaftstandort Deutschland...

von Probst (Gast)


Lesenswert?

c-hater = Menschen-hater!

von c-hater (Gast)


Lesenswert?

Probst schrieb:

> c-hater = Menschen-hater!

Nein. Ich hasse nicht Menschen. Ich hasse nur faule Menschen. Am meisten 
hasse ich aber Menschen, die unwissend und faul sind, das wissen und 
keinen Anlaß sehen, etwas dagegen zu unternehmen.

Das sind in meinen Augen nämlich keine Menschen. Denn sie haben 
vollkommen das verloren, was eigentlich den Menschen gegenüber den 
meisten Tieren auszeichnet. Schlimmer noch: Sogar etliche Tierarten 
besitzen mehr Forscherdrang als dieser Menschenmüll.

Es ist also eigentlich nicht Hass, sondern eher Scham. Ich gehöre ja 
formal derselben biologischen Art an wie dieses stinkendfaule Pack...

von Mike (Gast)


Lesenswert?

Tobi S. schrieb:
> Webcam reicht leider nicht aus.

Was bitte ist an einer WebCam dafür nicht ausreichend. Einziges 
Gegenargument könnte sein, dass WebCams heutzutage eigentlich immer 
Farbkameras sind. Für die Bildauswertung bringt es überhaupt keinen 
Vorteil, eine 4k-Kamera oder sonstwelchen Schnickschnack einzusetzen, es 
sei denn, es gibt sie fertig als Einheit mit Schrifterkennung zu kaufen. 
Ganz wichtig ist eine gute Beleuchtung, die die Erkennung ganz 
entscheidend vereinfachen kann. Bei einer Farbkamera reicht es dann, nur 
einen Farbkanal auszuwerten, bei deiner Schriftfarbe wäre das der rote 
(vorzugsweise mit diffuser roter Beleuchtung).

Ein normales Großdisplay für anständig lesbare Zahlen/Buchstaben kommt 
mit einer 10x8 Matrix aus, d.h. für 3 Stellen ist man mit rund 300 
Pixeln gut bedient. Auf diese Größenordnung wird man jedes Kamerabild 
für die Erkennung reduzieren können, wenn eine für die automatische 
Erkennung optimierte Schriftart verwendet wird. Alles andere schluck nur 
unnütz Rechenleistung ohne irgendeinen Nährwert.

von Probst (Gast)


Lesenswert?

Du machst mir Angst, das ist doch sehr grenzwertig was du hier 
schreibst.
Ich denke mal sicher therapiewürdig.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Probst schrieb:
> Du machst mir Angst, das ist doch sehr grenzwertig was du hier
> schreibst.
> Ich denke mal sicher therapiewürdig.

 Ich glaube nicht, dass du Mike meinst, aber es wäre nicht schlecht,
 die Person welche du meinst, kurz zu zitieren.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Was für so eine simple Aufgabenstellung hier für ein Bohei gemacht wird.
Eine Webcam ist mit passender Ausleuchtung der Ziffern für die 
Aufgabenstellung völlig ausreichend. Teure Industriekammeras bringen 
hier keinerlei Vorteile, es sei denn der Auftraggeber will es so.
Das Ganze programmier ich Dir locker in 2-4 Tagen.
Entweder mit OpenCv oder OCR-Bibliothek, alles in C oder Delphi/Pascal.
Kopfschüttel ...

: Bearbeitet durch User
von ?!? (Gast)


Lesenswert?

Marc Vesely schrieb:
> Probst schrieb:
>> Du machst mir Angst, das ist doch sehr grenzwertig was du hier
>> schreibst.
>> Ich denke mal sicher therapiewürdig.
>
>  Ich glaube nicht, dass du Mike meinst, aber es wäre nicht schlecht,
>  die Person welche du meinst, kurz zu zitieren.

Nein, keine Bange. Er meinte den Alles-Hasser, der meint, er sei besser 
als alle anderen. Und der aus ein paar geschriebenen Zeilen einen 
Menschen so sicher beurteilen kann, daß er ihm unterstellen kann, kein 
Mensch mehr zu sein, sondern "Menschenmüll". So eine Art Diffamierung 
sollte man nicht unkommentiert lassen. Da gehören ein paar freundliche 
Herren hingeschickt, die ihm einen weißen Anzug verpassen, wo die Ärmel 
hinten verknotet werden. Schon die Tatsache, daß man jemanden als 
"Menschenmüll" bezeichnet, sagt schon alles über seine Gesinnung und 
wessen Geistes Kind er ist.

von npn (Gast)


Lesenswert?

?!? schrieb:

> Nein, keine Bange. Er meinte den Alles-Hasser, der meint, er sei besser
> als alle anderen. Und der aus ein paar geschriebenen Zeilen einen
> Menschen so sicher beurteilen kann, daß er ihm unterstellen kann, kein
> Mensch mehr zu sein, sondern "Menschenmüll". So eine Art Diffamierung
> sollte man nicht unkommentiert lassen. Da gehören ein paar freundliche
> Herren hingeschickt, die ihm einen weißen Anzug verpassen, wo die Ärmel
> hinten verknotet werden. Schon die Tatsache, daß man jemanden als
> "Menschenmüll" bezeichnet, sagt schon alles über seine Gesinnung und
> wessen Geistes Kind er ist.

Volle Zustimmung. Diesmal hat er sich wieder selber übertroffen in 
seinem unterirdisch schlechten Benehmen. Solche Tiraden nützen absolut 
niemandem was, aber sein Ego ist vielleicht wieder paar Millimeter 
gewachsen :-))

von Tobi S. (schmidlitsky)


Lesenswert?

Hallo Zusammen,
also ich habe heute Zugang zu dem Prüfstand bekommen und nochmal genauer 
nachgehakt.
Die Kabelverbindung kann bis zu 15m Lang sein, also scheidet eine 
USB-Webcam schon einmal aus. Zudem schmieren die Webcams, die für einen 
anderen Zweck montiert worden sind, immer wieder ab, weil sie die 
Vibrationen/Stöße nicht aushalten, die beim Prüfen des Stufenschalters 
auftreten. Ich denke professionelle BV-Systeme halten diese eher aus
-> Daher auch der Wunsch von dem Auftraggeber, eine Industriekamera zu 
verwenden.

von Decius (Gast)


Lesenswert?

Deine Ziffernscheibe muss doch irgendwie angesteuert werden. Erfasse 
doch diese Signale direkt, und werte sie aus! Dann umgehst du das 
Problem Mustererkennung(Bilderkennung) komplett.

von Decius (Gast)


Lesenswert?

Hmm, gerade gesehen das Dir die Bildverarbeitung vorgegeben wurde. Ich 
würde wie schon gesagt, den Aufwand Losten/Zeit dafür darstellen und 
dann die Variante des Abgriffs der Steuersignale der Ziffernscheibe 
machen.

von GB (Gast)


Lesenswert?


von Tobi S. (schmidlitsky)


Lesenswert?

Decius schrieb:
> Ich
> würde wie schon gesagt, den Aufwand Losten/Zeit dafür darstellen und
> dann die Variante des Abgriffs der Steuersignale der Ziffernscheibe
> machen.

Die Ziffernscheibe wird mechanisch über Zahnräder angetrieben => Abgriff 
von Steuersignalen scheidet also aus.

GB schrieb:
> Die Kameras
>
> http://pdb.turck.de/de/DE/group/00000014000367a000...
>
> können das selbst.
> Ohne Programmierung.

Hast Du Erfahrung mit den Kameras?

von Grundschüler (Gast)


Lesenswert?

wie wärs mit einem Foto von Schalter und Ziffernscheibe?

von Gerd P. (litart)


Lesenswert?

Hallo Tobi,

Du hättest Deine Aufgabe besser nicht so genau beschreiben sollen, das 
hätte Dir hier viele wenig zielführende Beiträge erspart.
Deine eingangs erwähnte Beschreibung
> einer Projektarbeit ein Bildverarbeitungssystem entwickeln, dass Ziffern
> (Zahlen, Buchstaben und beides in Kombination) mit maximal 3 Stellen
> erkennt und auswertet.
wäre ausreichend gewesen, ergänzt dass ein Kamerabild aus fester 
Position die Grundlage bildet.

Ich möchte nochmals auf SVM hinweisen.
Du findest keine einfachere Lösung als mit diesem Verfahren. Zudem ist 
es lernfähig und Deine einmal gebaute Software lässt sich nur durch neue 
Daten an zukünftige Änderungen (z.B. Erweiterung des zu erkennenden 
Zeichensatzes) anpassen.

Leider fördert eine obeflächliche Internet-Suche immer nur die Theorie 
zu Tage, zumal alle voneinander abgeschrieben zu haben scheinen.
Einen zwar textreichen aber immerhin schon recht aussagekräftigeren 
Beitrag zu den Möglichkeiten findest Du hier:
http://www.industrie-forum.net/de/konstruktionentwicklungde/082002/2803526/

Für die Implementierung gibt es fertige Bibliotheken. Wenn Du nicht auf 
Pakete wie "R" zurückgreifen willst könntest Du z.B. "OpenCV" 
(https://de.wikipedia.org/wiki/OpenCV) einsetzen.

Du brauchst dafür keine Spezialkamera, es würde genügen wenn Du die 
Zeichen separierst und auf eine Auflösung von z.B. 5x7 Punkten/Zeichen 
umrechnest. Perspektive oder unterschiedliche Ausleuchtung wäre egal. Da 
genügt die billigste WebCam.
Für SVM genau das richtige Futter.

Zu bedenken wäre vielleicht auch dass Du in Zukunft mit SVM Deine 
Chancen deutlich verbessern könntest.
SVM ist zur Zeit fast nur im universitären Bereich bekannt, bis zur 
Industrie ist sie noch nicht richtig vorgedrungen.
Aber gerade die Industrie ist sehr interessiert an solch effektiven und 
leicht praktizierbaren Verfahren. Deine Erfahrung auf diesem Gebiet 
könnte sehr gefragt sein.
Ich habe SVM bisher bei mehreren meiner Kunden eingesetzt (lebe von 
selbständiger Arbeit) - und das mit bemerkenswertem Erfolg. Die 
Ergebnisse übertreffen meist die Erwartungen. Betrachtet man 
ausschließlich die Aufgabenstellung der Anwendung bringt SVM ähnlich 
gute Leistung wie das menschliche Gehirn.
Es lohnt sich sich damit zu beschäftigen.

Beste Grüße
Gerd

von Tobi S. (schmidlitsky)


Angehängte Dateien:

Lesenswert?

Hier mal zwei Bilder, wie so Ziffernscheiben aussehen können.
In einem Bild habe ich den Sichtbaren Bereich markiert, der restliche 
Teil wird durch die Abdeckung vom Gehäuse verdeckt.
Die weiß hinterlegten Zahlen markieren das jeweilige Ende, dort wird 
aber nicht der Prüfvorgang gestartet, sondern in der Mitte.
Von dort an läuft er dann von einem zum anderen Ende und wieder zur 
Ausgangsposition zurück.

Hi Gerd,
danke Dir für den Tipp mit SVM und ich werde es mir einmal genauer 
ansehen, damit ich nächste Woche mit der Umsetzung anfangen kann.

Viele Grüße
Tobi

: Bearbeitet durch User
von chris (Gast)


Lesenswert?

Openvc roi sowie template matching wenn es einfach sein soll.
Ring Projektion noch dazu wenn es problemlos sein soll.
Ansonsten kann man den code für die Separierung sowie Erkennung von 
kenntafeln nehmen
Da muss man sich aber mit den image moments auskennen sonst wird es 
nichts.
Bei intelligenten Kameras werden für gewöhnlich auch die moments 
verwendet.
Das dauert bis man diese verstanden hat.
Da ware es schneller eine Haar Kaskade aufzuziehen, tools gibt es dafür 
mittlerweile genug.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Marc Vesely schrieb:
>  Genau, nur gut verstecken.
>  Dummy Gehäuse montieren, Vision Sensor nach Hause nehmen.

Dann bei der Präsentation lässig die Hand vor die Linse halten und 
sagen: "Mein Sensor kommt glatt durch Handflächen durch."

Und dann an den Auftraggeber: "Wollen Sie sich vielleicht auch mal davor 
stellen?"

;-)

: Bearbeitet durch Moderator
von Georg (Gast)


Lesenswert?

Hallo,

die abgebildeten Codierscheiben auszuwechseln gegen welche mit 
zusätzlicher Binärcodierung wäre um Grössenordnung effektiver und 
sicherer als eine Bildverarbeitung. Aber natürlich nicht für eine 
deutsche Uni geeignet.

Dass man an eine Vorrichtung mit Zahnrädern nicht rankommt, um 
Positionen zu erfassen, ist für einen Ingenieurstudenten eine extrem 
armselige Behauptung. Das ist wohl schon die weitgehende Anpassung an 
das unterirdische Ausbildungsniveau.

Eine solche Konkurrenz muss niemand fürchten, nicht mal kopierwütige 
Chinesen.

Georg

von Gerd P. (litart)


Lesenswert?

Hallo Georg,

die Aufgabe ist nun einmal eine Mustererkennung zu relaiseren. Dass es 
diverse alternative Lösungen geben mag ist dabei unerheblich.
Diese Aufgabe ist auch wesentlich komplexer als die Position einer 
Scheibe zu erfassen. Diese stellt nur eine konkrete Anwendung dar an dem 
die eigentliche Aufgabe ungesetzt werden sollte. Stellvertretend hätte 
hier eine beliebige andere Vorrichtung stehen können.

Die Community sollte dies berücksichtigen und Antworten im Sinne der 
Aufgabe geben.

Viele Grüße
Gerd

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Gerd P. schrieb:
> Diese stellt nur eine konkrete Anwendung dar an dem
> die eigentliche Aufgabe ungesetzt werden sollte. Stellvertretend hätte
> hier eine beliebige andere Vorrichtung stehen können.

 Vielleicht kauft ihm die Polizei die Rechte ab, um damit Verbrecher-
 -Fotos zu bearbeiten - da sind auch so Zahlen und Buchstaben drauf.
 Ungeahnte Möglichkeiten eröffnen sich da für diese Anwendung...

Georg schrieb:
> Das ist wohl schon die weitgehende Anpassung an
> das unterirdische Ausbildungsniveau.

 Agree.

Tobi S. schrieb:
> Die Ziffernscheibe wird mechanisch über Zahnräder angetrieben => Abgriff
> von Steuersignalen scheidet also aus.

 Natürlich, wie sollte man auch Zahnräder dekodieren können, auch wenn
 die Dekodierungsmöglichkeit schon im Namen steht ?

 EDIT:
 Meine Frage steht immer noch offen - wessen Idee war das ?

: Bearbeitet durch User
von Tobi S. (schmidlitsky)


Lesenswert?

Marc Vesely schrieb:
> Meine Frage steht immer noch offen - wessen Idee war das ?

Die der Firma.


Das mit dem Steuersignal würde gehen, wird auch schon so in andere Form 
umgesetzt, hilft mir aber in dem Fall nix, weil damit die Ziffernscheibe 
nicht kontrolliert wird. Mit dem BV-System soll ebenfalls überprüft 
werden, ob eben diese korrekt verbaut ist. Es kann ja sein, dass das 
Steuersignal die Richtige Position ausgibt aber die Scheibe nicht, weil 
sie falsch herum oder gar die falsche Scheibe eingebaut ist. Das 
Steuersignal würde passen, aber die Ziffernscheibe würde dann 
irgendeinen murks anzeigen.

Aktuell muss nämlich immer ein Mitarbeiter den ersten Durchgang der 
Prüfung manuell überwachen und schauen, ob die Ziffernscheibe die 
richtige Position anzeigt.

Ich finde es ein bisschen Schade, dass ich mittlerweile nur noch 
versuche die Projektarbeit zu rechtfertigen. Über Sinn und Unsinn kann 
man sich streiten aber wenn es darum geht Studenten das Thema 
Bildverarbeitung näher zu bringen, warum dann was gänzlich anderes 
daraus machen?

von Grundschüler (Gast)


Lesenswert?

Tobi S. schrieb:
> Bildverarbeitung

so schwierig kann das doch nicht sein,
bitmap Zahlenfeld aufnehmen,
vertical scannen bis spalte nicht mehr durchgehend schwarz = Anfang 
erste Ziffer,
oberen Rand der Zahl feststellen,
10x farbmuster der Zahl horizontal scannen und in 32bit array ablegen,
array mit Muster abgleichen.

von Gerd P. (litart)


Lesenswert?

Hallo Grundschüler,

> so schwierig kann das doch nicht sein,
> bitmap Zahlenfeld aufnehmen,
> ...

doch, es ist schwierig.
Man kann nicht voraussetzen dass die Bilder immer exact gleich sind.
Die Scheibe hat Spiel, steht nicht immer in identischer Position.
Erschütterungen verändern die Kamera-Position.
Es gibt unterschiedliche Beleuchtungsverhältnisse.
Selbst die Temperatur hat einen Einfluß, z.B. auf das Bildrauschen.

> in 32bit array ablegen,
Das Ergibt schon mal 4 Tera Möglichkeiten.
>  mit Muster abgleichen.
Im ungünstigsten Fall müssten auch 4 Tera Muster hinterlegt sein.

Gruß
Gerd

von Grundschüler (Gast)


Lesenswert?

Gerd P. schrieb:
> 4 Tera Möglichkeiten
bei 36 Zahlen hast du 36 Möglichkeiten. das reduziert den rechenaufwand.

wenn der scan in der Mitte der Zahl nur einen Farbwechsel dunkel/hell 
enthält
ooooooooo11111111111ooooooo .....
bleiben 9 Ziffern als Möglichkeit usw.

lange Farbe im unteren Bereich
oooo11111111111111111111oooo.....
=>2

lange Farbe im oberen Bereich
oooo11111111111111111111oooo.....
=>5 oder 7

etc.

von Gerd P. (litart)


Lesenswert?

> bei 36 Zahlen hast du 36 Möglichkeiten. das reduziert den rechenaufwand.
Du setzt voraus dass die Bilder bei jeder erneuten Aufnahme einer 
bestimmten Zahl immer identisch sind.

> Farbwechsel dunkel/hell enthält
mit mal mehr mal weniger Störungen oder Verschiebungen könnten die 
Folgen anders aussehen

ooooooooo11111111111ooooooo Original
oooooooo11111111111oooooooo Verschiebung
oooooooo111111111111ooooooo noch 'ne Verschiebung 
(Quantisierungsproblem)
oooo1oooo111111o1111ooooooo Störungen
...
das liesse sich beliebig fortsetzen.
Nach Deiner Methode müsstest Du sämtliche Variationen berücksichtigen.
Schwierig wird es dann wenn es Überschneidungen der Muster gibt, wenn 
das Muster für eine Ziffer/Zahl mit Störungen aussehen kann wie das 
Muster einer anderen Ziffer/Zahl mit Störungen.
Das würde bedeuten dass Du Deinen Wertebereich ausdehnen musst um die 
Schärfe zu erhöhen, z.B. auf 64Bit.

Gruß
Gerd

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobi S. schrieb:
> Ich finde es ein bisschen Schade, dass ich mittlerweile nur noch
> versuche die Projektarbeit zu rechtfertigen. Über Sinn und Unsinn kann
> man sich streiten aber wenn es darum geht Studenten das Thema

 Sorry, aber irgendwie sieht es wie 'direkt zum Berlin über Island'.
 Steuermotor+Zahnrad+Schalter - und dann eine Scheibe mit Buchstaben-
 -kombinationen auswerten ?
 Mit R1 oder RN kann ein normaler Mensch genauso wenig anfangen wie mit
 Strichcode - warum dann nicht Strichcode benutzen, wenn es schon
 optisch dekodiert werden muss ?
 Oder Strichcode dazugeben ?
 Oder irgendeine Art von Binärcode unterhalb ?
 Diese Buchstaben und Zahlen können doch ganz einfach umkodiert werden,
 wenn interessiert es schon ob darunter noch ein paar senkrechte,
 schwarzweisse Linien stehen ?
 Das ist es, was mich stutzig macht...

 EDIT:
> In einem Bild habe ich den Sichtbaren Bereich markiert, der restliche
>Teil wird durch die Abdeckung vom Gehäuse verdeckt.

 Es ist mehr als genug Platz vorhanden.

: Bearbeitet durch User
von Grundschüler (Gast)


Lesenswert?

Gerd P. schrieb:
> ooooooooo11111111111ooooooo Original
> oooooooo11111111111oooooooo Verschiebung
> oooooooo111111111111ooooooo noch 'ne Verschiebung
> (Quantisierungsproblem)
> oooo1oooo111111o1111ooooooo Störungen

Wenn es gelingt, einzelne Ziffern aus dem Bitmap herauszuscannen, reicht 
zur Unterscheidung ein recht grobes Raster

Anzahl der Farbwechsel
1
1
1=>01
3=>11
Länge Farbe1 11 >5 + <15 =>kurz 01
11 <15 =>kurz 010
11 <15 =>kurz 010
12 <15 =>kurz 010
1<5    =>sehr kurz =>001

Ergebnis:
01010
01010
01010
11001

Ergebnis 4 führt zum Abbruch wegen Störung, die  anderen Ergebnisse 
werden mit dem Muster abgeglichen.

Am  schwierigsten dürfte das Herausscannen der Ziffern aus dem Bitmap 
sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Grundschüler schrieb:
> Wenn es gelingt, einzelne Ziffern aus dem Bitmap herauszuscannen, reicht
> zur Unterscheidung ein recht grobes Raster
Man nimmt stattdessen etwas, das sich "Kreuzkorrelation" nenn. Das wirst 
du lernen, wenn du mal aus der Grundschule heraus bist und nicht 
aufgibst...

> Anzahl der Farbwechsel
Du musst ja erst mal diesen Farbwechsel zweifelsfrei erkennen. Schon 
das ist nicht einfach!

von Vlad T. (vlad_tepesch)


Lesenswert?

Das Problem gliedert sich doch in mehrere Schritte:

 - Detektion des Fensters mit der Zahl
 - Korrektur des Ausschnittes (falls nicht mechanisch fix und immer 
gleich)
   - Skalierung
   - Rotationskorrektur
   - Verzerrungskorrektur
 - Erkennung der Zahl


vor allem für den letzten Schritt gibt es zig möglichkeiten.
Der erste schritt sollte in jedem Fall eine Binarisierung sein.
Von einem simplen Templatebasiertem Ansatz über Fourier-Transformation 
zu Klassifikatoren.


Das hier die SVM als Allheilmittel beschrieben wird kann ich nicht 
nachvollziehen.
Eine SVM ist ein relativ universell einsetzbarer Klassifikator, aber wie 
immer steht und fällt dies mit der Auswahl der Merkmale. Es bringt nicht 
viel einer SVM das Bild vorzuwerfen. Es gilt aus dem Bild bestimmte 
Merkmale zu extrahieren und die SVM mit aus Beispielsätzen generierten 
Daten zu trainieren.
Diese Merkmale könnten in diesem Fall sein:
 - verhältnis vordergrund/hintergrund pixel
 - Schwerpunkt der Vordergrundpixel
 - verhältnis vordergrund/hintergrund pixel entlang speziell definierter 
Linien (zb diagonalen, oder ein paar vertikale und horizontale)
 - schwerpunkt der Pixel auf solchen Linien...
 - Anzahl eingeschlossener Hintergrundflächen (1 bei 0,4,6,9; 2 bei 8)

Was ich nicht weiß, ist was die Kamera kann. Die, die wir benutzen sind 
ziemlich dumm. wenn deine Kameras schon OCR intern können, ist das ganze 
vielleicht sowieso kein Problem mehr. Ich denke aber auch, dass für 
dieses Problem der Sensor nicht so viel können muss, da das Umfeld für 
die Testbedingungen ja relativ genau bekannt ist und gesteuert werden 
kann. zB, dass das Testobjekt immer im gleichen Abstand, gleicher 
Postition/Ausrichtung und bei gleicher Ausleuchtung aufgestellt ist.
Man braucht keine besondere Dynamik oder Sensorempfindlichkeit.

von Nosnibor (Gast)


Lesenswert?

Marc Vesely schrieb:
> Sorry, aber irgendwie sieht es wie 'direkt zum Berlin über Island'.
>  Steuermotor+Zahnrad+Schalter - und dann eine Scheibe mit Buchstaben-
>  -kombinationen auswerten ?

Was ist an der gegebenen Situation so schwer zu verstehen?
Die Ziffernscheibe ist vorgegeben, die ist Bestandteil des Produktes das 
geprüft werden soll. Der Prüfstand muß an das Produkt angepaßt werden, 
nicht umgekehrt. Irgendwelche Hieroglyphen (Strichcode etc.) auf die 
Ziffernscheibe zu malen, die nur einmal im Leben des Produktes gebraucht 
werden und danach nur noch für Benutzerverwirrung sorgen, ist nicht zu 
rechtfertigen.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Nosnibor schrieb:
> nicht umgekehrt. Irgendwelche Hieroglyphen (Strichcode etc.) auf die
> Ziffernscheibe zu malen, die nur einmal im Leben des Produktes gebraucht

 Wer hat von Hieroglyphen und malen gesprochen ?

> werden und danach nur noch für Benutzerverwirrung sorgen, ist nicht zu
> rechtfertigen.

 Diese Schalter werden nicht manuell bedient, da gibt es auch keine
 'Benutzer', höchstens Aufsichtspersonal und die werden meines Wissens
 geschult.

von npn (Gast)


Lesenswert?

Marc Vesely schrieb:
>  Diese Schalter werden nicht manuell bedient, da gibt es auch keine
>  'Benutzer', höchstens Aufsichtspersonal und die werden meines Wissens
>  geschult.

So wie ich es verstanden habe, werden die Schalter lediglich beim 
Prüfvorgang, also vermutlich der Endabnahme, von Robotern "bedient". 
Aber wenn die Anlagen ausgeliefert sind, sind das ganz normale Schalter, 
deswegen ja auch die Zahlen. Wenn es nicht von Menschen bedient würde, 
bräuchte man auch keine Zahlenscheiben an den Drehschaltern.
Und in diesem Falle wäre es wirklich nicht sinnvoll, nur für die 
automatische Endprüfung Strichcodes oder andere Markierungen auf die 
Zahlenscheiben aufzubringen.
So habe ich das jedenfalls verstanden...

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

npn schrieb:
> automatische Endprüfung Strichcodes oder andere Markierungen auf die
> Zahlenscheiben aufzubringen.

 Photoshop, Corel, Laserprinter, Selbstklebefolie - nach der Prüfung
 abnehmen ?

npn schrieb:
> Aber wenn die Anlagen ausgeliefert sind, sind das ganz normale Schalter,
> deswegen ja auch die Zahlen. Wenn es nicht von Menschen bedient würde,

 Das habe ich aber nicht so verstanden - ich glaube, Zahlen sind nur
 wegen der Sichtkontrolle da.

von npn (Gast)


Lesenswert?

Marc Vesely schrieb:
> Das habe ich aber nicht so verstanden - ich glaube, Zahlen sind nur
>  wegen der Sichtkontrolle da.

Ich habe gerade nochmal weiter oben nachgelesen. Stimmt schon, was ich 
vermutet hatte. Qualitätssicherung vor der Auslieferung.

>
> Karl Heinz schrieb:
>> Was wäre, wenn deine Auswerte-maschine in der Qualitätssicherung
>> eingesetzt wird, die vor Auslieferung überprüfen soll, ob alle
>> Stufenschalter richtig montiert sind und bei Betätigung auch das
>> richtige anzeigen.

Tobi S. schrieb
> Exakt darum geht es!

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

npn schrieb:
> Ich habe gerade nochmal weiter oben nachgelesen. Stimmt schon, was ich
> vermutet hatte. Qualitätssicherung vor der Auslieferung.

 Und dafür werden dann die Antriebsmotoren, Zahnräder und der ganze
 Kram montiert ?
 Wohl kaum.

von npn (Gast)


Lesenswert?

Marc Vesely schrieb:
> npn schrieb:
>> Ich habe gerade nochmal weiter oben nachgelesen. Stimmt schon, was ich
>> vermutet hatte. Qualitätssicherung vor der Auslieferung.
>
>  Und dafür werden dann die Antriebsmotoren, Zahnräder und der ganze
>  Kram montiert ?
>  Wohl kaum.

Ich hab doch nur gelesen, was weiter oben wörtlich stand. Und Tobi hat 
das auch bestätigt. Ich kenne die Anlage selbst auch nicht :-))

Vielleicht kann Tobi sich dazu nochmal konkret äußern...

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

npn schrieb:
> Ich hab doch nur gelesen, was weiter oben wörtlich stand. Und Tobi hat
> das auch bestätigt. Ich kenne die Anlage selbst auch nicht :-))

 Ich genauso wenig :-)
 Aber Funktionskontrolle und Qualitätssicherung sind nicht dasselbe.
 Das man sowas bei Qualitätssicherung macht, sehe ich ein - 50000 Mal
 Schalter umdrehen, das ist OK - bei einem aus 1000 vielleicht.
 Aber das man sich die ganze Arbeit bei der Funktionskontrolle macht,
 aber den Aufwand scheut, ein bisschen Folie dranzukleben...

: Bearbeitet durch User
von Menschenwürde (Gast)


Lesenswert?

c-hater schrieb:
> Probst schrieb:
>
>> c-hater = Menschen-hater!
>
> Nein. Ich hasse nicht Menschen. Ich hasse nur faule Menschen. Am meisten
> hasse ich aber Menschen, die unwissend und faul sind, das wissen und
> keinen Anlaß sehen, etwas dagegen zu unternehmen.
>
> Das sind in meinen Augen nämlich keine Menschen. Denn sie haben
> vollkommen das verloren, was eigentlich den Menschen gegenüber den
> meisten Tieren auszeichnet. Schlimmer noch: Sogar etliche Tierarten
> besitzen mehr Forscherdrang als dieser Menschenmüll.
>
> Es ist also eigentlich nicht Hass, sondern eher Scham. Ich gehöre ja
> formal derselben biologischen Art an wie dieses stinkendfaule Pack...

Ich denke es ist prinzipiell der richtige Weg solche traurigen Ergüsse 
zu ingnorieren.

Was ich da aber lesen muss ist äußerst bedenklich, den es ist genau die 
Grundlage, der Übermenschen in der Sprache des Lingua Tertii Imperii 
(lateinisch), also die Sprache des Dritten Reiches.
Rassistisch und krank.
Ich halte es für sinnvoll so etwas rigoros zu löschen.
Wüste und üble Beschimpfungen sind dagegen lächerlich und werden dennoch 
von den Forenbetreibern gelöscht.
Das hier ist perfide Demagogie und auch strafrechtlich relevant.
Leider auch für den unschuldigen Betreiber von Foren.

von Wolfgang A. (Gast)


Lesenswert?

Menschenwürde schrieb:
> Das hier ist perfide Demagogie ...

Kann man derartige Diskussionen bitte im Offtopic-Forum 
weiterführen. Das interessiert hier niemanden.

DANKE

von c-hater (Gast)


Lesenswert?

Menschenwürde schrieb:

> Rassistisch

Irgendwelche Rassen wurden nicht einmal erwähnt.

> und krank.

Das ja. Krank sind die, die ihr Menschsein freiwillig aufgeben. Den 
Forscherdrang, die Lust zu lernen und zu entdecken. Die, die nur noch 
konsumieren. Die alles sofort und natürlich am liebsten für lau haben 
wollen.

> Ich halte es für sinnvoll so etwas rigoros zu löschen.

Also soweit würde ich ja nun keinesfalls gehen wollen. Man kann die doch 
nicht einfach löschen wollen. Das wäre ja Mord.

Oder meintest du eher: unliebsame Beiträge wie den meinen, die müßten 
gelöscht werden? Ja, das haben auch die Nazi's so gemacht, alles, was 
ihnen unangenehm war, haben sie "gelöscht".

Eigentlich haben sie es eher anläßlich einer Soiré im größeren Kreis im 
Schein von Fackellicht propagandawirksam angezündet. Das nannte man dann 
Bücherverbrennung. Da waren Bücher solcher Leute wie z.B. Albert 
Einstein dabei.
Nicht daß ich mich auch nur annähernd mit dem vergleichen könnte oder 
wollte, seine ART z.B. habe ich bis heute nicht wirklich begriffen, aber 
tendenziell hätte olle Albert sicher genausoviel wie ich gegen 
stinkendfaules Nassauer-Pack, insbesondere im Kreise von Studenten 
einzuwenden.
Der Mann mußte nämlich, genauso wie ich, für seine Brötchen arbeiten. 
Richtig selber, jeden lieben Tag, den Gott werden läßt. Nix BAFÖG oder 
reiche Eltern und irgendwie werde ich schon die Prüfung schaffen...

Professorengehalt hat der erst kassiert, nachdem er die entsprechenden 
Leistungen vollbracht hatte! (Was ihn von vielen heutigen Professoren 
durchaus unterscheidet, aber das ist schon wieder ein ganz anderes 
Thema)

> Das hier ist perfide Demagogie und auch strafrechtlich relevant.

Ist es nicht.

> Leider auch für den unschuldigen Betreiber von Foren.

Für die schon garnicht. Selbst wenn es strafrechtlich relevant wäre (was 
es nicht ist), müßten die schlimmstenfalls nur die IP-Adresse des 
Postings und den Zeitpunkt an die Staatsanwaltschaft herausrücken und 
den Beitrag löschen, mehr nicht.

Aber ich glaube an das Gute im Menschen und hoffe, daß sie intelligent 
genug sind, sich nicht von solch jämmerlichen Erpressungsversuchen wie 
deinem einschüchtern zu lassen. Ich bin da ganz zuversichtlich, denn 
wenn sie meinen Beitrag so eingeschätzt hätten wie du, wäre er längst 
gelöscht.

Die Jungs mögen mich nämlich nicht besonders. Aber ich muß zugeben, daß 
sie mich im Allgemeinen nur löschen, wenn ich zu sehr vom technischen 
Thema abdrifte oder tatsächlich der Grenzbereich zur Beleidigung 
erreicht ist, was mir leider im Eifer des Gefechts immer mal wieder 
passiert. Ich glaube, ich muß mir mehr Zeit lassen, bis ich ein Reply 
wirklich poste.

von Therapeut (Gast)


Lesenswert?

Der Mann ist krank.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

npn schrieb:
> Ich habe gerade nochmal weiter oben nachgelesen. Stimmt schon, was ich
> vermutet hatte. Qualitätssicherung vor der Auslieferung.

 Habe nochmal den ganzen Thread durchgelesen, glaube du hast Recht.

 Aber, bis wir die aufklärende Antwort von Tobi kriegen, wollte ich
 mal dieses peinliche Schweigen brechen.
 Meine Vermutung:
 Auftraggeber kommt mit seinem Problem, sucht nach der besten Lösung.
 Irgendjemand kommt auf die Idee, das mit einer Kamera zu lösen - an
 und für sich keine schlechte Lösung. Aber auf die Idee, dass das auch
 einfacher geht, kommt er nicht. Es handelt sich um ein einmaliges
 Vorgang bei dem die Funktion des Schalters geprüft wird. Was auf der
 Scheibe steht, ist in diesem Zusammenhang völlig uninteressant -
 dieses Gerät könnte auch nach China oder Russland gehen, da würde
 bestimmt nicht R1 oder Rn stehen.
 Also ersetzt man die originelle Scheibe (oder klebt etwas darauf),
 das einfach erkannt, bzw. dekodiert werden kann. Wenn die Prüfung
 fertig ist, alte Scheibe wieder drauf oder Folie abziehen...

Karl Heinz schrieb:
> Hier ist dann eben auch ein wenig experimentieren angesagt. Ich war
> verblüfft, wie einfach zb eine Chip Bonding Maschine für RFID die Pads
> auf einem RFID-Träger Material findet. kontrastverstärktes Bild und dann
> wird pro Zeile ausgezählt, wieviele weiße bzw. schwarze Pixel (je nach

 Natürlich könnten die es auch viel einfacher und schneller machen,
 z.B. die Chipbezeichnung lesen, versuchen die Buchstaben und Ziffern
 zu erkennen, diese dann in einer Datenbank die speziell dafür angelegt
 wurde, suchen, aufgrund der gefundenen Bezeichnung die Position der
 Pads micrometer genau ausrechnen, mit der aufgenommenen Bildern
 vergleichen und dann ( z.B. mit der Methode der kleinsten Quadrate)
 Fehlerrate minimieren...

: Bearbeitet durch User
von Tobi S. (schmidlitsky)


Lesenswert?

Guten Morgen zusammen,

kurz ein paar Worte zu c-hater: ich les mir die Beiträge nicht durch und 
kann bzw. will dazu nix sagen.

Zu meinem Problem:
Die Ziffernscheibe wird nicht nur für die Endkontrolle montiert, sondern 
damit an den Kunden ausgeliefert. Dieser bestimmt übrigens auch, wie das 
Ding (Daher die unterschiedlichen Ziffern)auszusehen hat. Man könnte 
diese natürlich mit einer Folie bekleben, die dann immer die selben 
Ziffernfolge hat, dann müsste man allerdings den Stufenschalter wieder 
öffnen die Folie entfernen und dann wieder zusammenbauen. Dabei könnten 
ja auch wieder Fehler auftreten.

Für die Leute geht's es nicht nur darum die korrekte Funktion des 
Schalters zu überprüfen, sondern auch darum, dass die richtige 
Ziffernscheibe korrekt montiert wurde.

Das Ganze mit einer Kamera zu lösen wünscht sich die Zuständige 
Abteilung aus der Firma so.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobi S. schrieb:
> Für die Leute geht's es nicht nur darum die korrekte Funktion des
> Schalters zu überprüfen, sondern auch darum, dass die richtige
> Ziffernscheibe korrekt montiert wurde.

 Ja, was glaubst du denn, wie das bei BMW, OPEL, FORD geprüft wird ?
 Auch mit Kamera ?

Tobi S. schrieb:
> Ziffernfolge hat, dann müsste man allerdings den Stufenschalter wieder
> öffnen die Folie entfernen und dann wieder zusammenbauen.

 Die Abdeckung muss man ja vor der Endkontrolle nicht einbauen, erst
 nach der erfolgten Prüfung.

> Dabei könnten ja auch wieder Fehler auftreten.

 Beim entfernen der Folie oder beim festziehen der 2 Schrauben ?
 Arbeiten in dieser Firma nur Idioten ?

 Das wird mir langsam alles zu unlogisch...

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobi S. schrieb:
> Das Ganze mit einer Kamera zu lösen wünscht sich die Zuständige
> Abteilung aus der Firma so.

 Für jemanden der angeblich an einer deutschen Uni studiert, eine mehr
 als armselige Art, Sätze zu formulieren und grammatikalisch richtig
 zu schreiben...

: Bearbeitet durch User
von Grundschüler (Gast)


Lesenswert?

Tobi S. schrieb:
> kurz ein paar Worte zu c-hater: ich les mir die Beiträge nicht durch

sollte man trotzdem lesen, da der fachliche Anteil - wenn vorhanden - 
meist sehr fundiert ist.

Tobi S. schrieb:
> Das Ganze mit einer Kamera zu lösen

Wenn man das programmiertechnisch hinbekommt, ist das doch eine ganz 
vernünftige Lösung. Funktioniert immer ohne Eingriff ins Gerät. Mach 
doch mal ein Foto, von dem Gerät, so wie die Kamera es sieht.

von Tobi S. (schmidlitsky)


Angehängte Dateien:

Lesenswert?

Grundschüler schrieb:
> Mach doch mal ein Foto, von dem Gerät, so wie die Kamera es sieht.

Dein Wunsch sei mir Befehl ;-)

: Bearbeitet durch User
von Chris S. (schris)


Lesenswert?

Ich würde opencv nehmen und eine ip kamera mit red ringlicht.

von ?!? (Gast)


Lesenswert?

Chris S. schrieb:
> mit red ringlicht

Rot Ringlight geht auch ;-)

von Chris S. (schris)


Lesenswert?

Ich meinte led und die autokorrektur machte red daraus.
Wenn du noch weitere Bilder machst mit unterschiedlichen zahlen ohne das 
Bild zu beschneiden dann klicke ich dir eine opencv Anwendung zusammen.

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.