Wege zur innovativen industriellen Bildverarbeitung Vortrag bei der GI/GChACM-Regionalgruppe München am 13.03.2006 Dr. Olaf Munkelt MVTec Software GmbH www.mvtec.com
Firma MVTec Software GmbH 1996 gegründetes inhabergeführtes Unternehmen Entwicklung von Standardsoftware für die industrielle Bildverarbeitung (IBV) Entwicklung kundenspezifischer Lösungen Produkte HALCON umfassende Bibliothek für die IBV ActivVisionTools einfach zu nutzende Komponentensoftware für die IBV Solutions & Services Kundenspezifische Lösungen Schulungen Machbarkeitsstudien Firmensitz München, Germany
Vertrieb der Standardsoftwareprodukte Produkte werden über geschulte Vertriebspartner den Kunden angeboten Pflege eines weltweiten Vertriebsnetzes zur umfassenden Marktdurchdringung Amerika Brazil Canada Chile Mexico USA Asien, Australien Australia China Hong Kong India Japan Singapore South Korea Taiwan Turkey Europa Austria Benelux England France Germany Italy Scandinavia Spain
Der Bildverarbeitungsprozess Illumination Optics Camera Image Acquisition Device Software FG/USB/ 1394/CL Image in memory Result Hole Radius 1 2 3 3.147 mm 3.052 mm 2.785 mm Object Analog video signal Application CCD/CMOS sensor Digital video signal
Bildeinzugsgeräte Unterstützung von mehr als 60 verschiedenen Bildeinzugsgeräten von 24 Herstellern oder Organisationen Unterstützung aller gängigen Kameras der IBV
IBV Eine Querschnittstechnologie High-speed inspection Precision robotic guidance Alignment & registration Assembly verification PCB inspection FPD inspection Surface inspection Texture analysis Remote sensing Surveillance Medical image analysis Metrology Bar code reading OCR & OCV Matching Blob analysis Print inspection
OEM Kundenprofil Maschinenbauer, der IBV benötigt, z.b. in der Halbleiterindustrie Prüfmaschinen, Bestückungsautomaten, etc. Softwarehersteller, der anwendungsorientierte Softwarelösungen entwickelt, z.b. Nummernschilderkennungssystem, Zellanalysesysteme, etc. Systemintegrator Kundenspezifische Lösungen
Auszug aus der Kundenliste Biopsytec GmbH BMW AG Bosch Dainippon Screen Datacon Deutsche Bahn AG E. Zoller GmbH & Co. KG Envisage Systems Equos Research Fujifilm Seltech Fujitsu Gillette GlaxoSmithKline Hitachi (US) Infineon Japan National Oil Corp. JT Engineering Klar Automation Koito Industries Komatsu Engineering 3M Matsushita (Europe) MBB Förder- und Hebesysteme GmbH Canon Machinery Newport Nikon Philips Sharp Siemens Sony Teradyne Xerox
Wege zur innovativen Bildverarbeitung Technische Merkmale Funktionalität Robustheit Genauigkeit Performanz Flexibilität Kaufmännische Merkmale Preis Preisstabilität Investitions- und Betriebskosten (total cost of ownership) Rentabilität (return on investment)
Funktionalitäten und Anwendungsbereiche Methods Alignment Blob analysis Camera calibriation Classification Color Contour and polygon processing Depth from focus Edge and line extraction Edge filtering FFT Filtering Geometric transformation Hough transformation Metrology Morphology Movement detection OCR OCV Stereo Rectification Region processing Segmentation Stereo Template matching Texture analysis Applications 1D bar codes 2D data codes Color inspection Completeness check Identification Inspection Measuring and comparison 1D Measuring and comparison 2D Measuring and comparison 3D Optical character recognition Optical character verification Position recognition Print inspection Recognition of objects Security system Shape recognition Surface inspection
Funktionalitäten am Beispiel von HALCON
Funktionalitäten am Beispiel der Gewinnung von 3D Informationen aus Videobildern Anwendungen erfordern den Übergang von 2D zu 3D Anwesenheitskontrolle Vollständigkeitskontrolle Identifikation Vermessung Monokulare Verfahren Gewinnung von Tiefeninformation aus Fokus-Bildfolgen Gewinnung von Tiefeninformation aus Beleuchtungs-Bildfolgen Berechnung der 3D Lage für geometrische Primitive aus monokularen Videobildern Rekonstruktion der Lage beliebiger Objekte aus monokularen Videobildern Binokulare Verfahren Stereobildverarbeitung
Funktionalität: Fokusbildfolgen Aufnahme von Bilder in bekannten z-ebenen Nur die zu einer z-ebene korrespondierenden Teile des Objekts werden scharf abgebildet Tiefeninformation wird durch die Berechnung der Bereiche im Bild ermittelt, die scharf abgebildet werden oder im Fokus sind
Funktionalität: Beleuchtungsbildfolgen Aufnahme von Bildern unter bekannten Beleuchtungsverhältnissen Tiefeninformation wird durch das Ausnutzen der Reflektionseigenschaften von Objekten ermittelt
Funktionalität: 3D Position von Kreisen Gegeben sind die Radien der Kreise Berechnet wird die Lage des Kreises im Kamerakoordinatensystem x z y
Funktionalität: Stereobildverarbeitung Vermessung des Einschnittwinkels auf einem Ansaugstutzen durch Scheiden von zwei Ebenen im 3D Raum 1) Stereobasierte Tiefenrekonstruktion 2) Segmentation des Tiefenbildes zur Berechnung der Ebenen 3) Approximation der Ebenen 4) Berechnung des Schnittwinkels der Ebenen
Robustheit am Beispiel Matching Erkennung robust gegenüber Beleuchtung, Unschärfe, Position
Robustheit am Beispiel Barcode Erkennung robust gegenüber Störungen auf dem Barcode
Robustheit am Beispiel Data Code Erkennung robust gegenüber verschiedenen Drucktechniken
Robustheit am Beispiel Segmentation Robuste Detektion der Kontur durch Ausreißerunterdrückung Korrekte Ermittlung der äußeren Kontur von Objekten
Genauigkeit Genauigkeit [engl. accuracy (absolute)] Allgemein: Maß für die Nähe der Messung zum wahrem Wert Industrielle Bildverarbeitung: Absolute Abweichung vom wahrem Wert Wiederholgenauigkeit [engl. precision (repeatability)] Allgemein: Maß für die Reproduzierbarkeit einer Messung Industrielle Bildverarbeitung: Die Standardabweichung der Messung
Genauigkeit vs. Wiederholgenauigkeit Interessant ist die Genauigkeit Messungen müssen im ganzen Bild gleiche Werte liefern Messung soll in Weltkoordinaten erfolgen Notwendigkeit einer Kamerakalibrierung Wiederholgenauigkeit wird im wesentlichen durch die Bildaufnahmekomponenten bestimmt Rauschen der Kamera Rauschen der Bildeinzugskarte Bildsprungqualität (engl. line jitter)
Genauigkeit am Beispiel einer Messaufgabe Anwendung Vermessen der Abstände in Weltkoordinaten auf der Schieblehre Anforderung Die Kamera ist ca. 45 zur Schieblehre geneigt
Anwendung Genauigkeit an einem Beispiel aus der Robotik Automatische Entleerung von Containern in der Automobilindustrie Positionsbestimmung des Ansaugstutzens Anforderungen Bei einem Sichtfeld von 1m x 1m und einer Distanz < 0,5m soll die Positionsgenauigkeit der Passlöcher << 1mm sein Nachführen der Messung zur Steuerung der Roboterbewegung
Performanz am Beispiel Druckbildkontrolle Anwendung Finden des Drucks auf dem Flaschenverschluss Überprüfung der Druckqualität Anforderungen Keine manuelle Anpassung von Parametern während des Trainings Kurze Auswertezeit
Flexibilität wird erreicht durch Umfassende Bibliothek für die industrielle Bildverarbeitung Große Anzahl verschiedener Bildverarbeitungsverfahren Verfügbarkeit von Datenstrukturen für die effiziente Verwendung in der industriellen Bildverarbeitung Offen und erweiterbar Entwicklungsumgebung für die industrielle Bildverarbeitung Erstellen von prototypischen Lösungen Unterstützung marktgängiger Bildeinzugskarten und Kameras Verschiedene Hersteller Funktionsumfang Mächtige Visualisierung Ikonische Objekte Integration in Programmierumgebung Unterstützte Programmierumgebung Hochsprache und Unterstützung der enthaltenen Sprachkonstrukte Compiler und Entwicklungsumgebungen
Flexibilität wird erreicht durch Unterstützte Betriebssysteme Wechsel auf andere Betriebssysteme möglich Quellcodemigration Gleiche Ergebnisse auf verschiedenen Betriebssystemen Ein/Ausgabe Integration von Prozessdaten Schnittstellen zu Industriestandards wie Feld- oder Profibus Umfangreiche Dokumentation Applikationsbeispiele Technologien Support Vor und nach Erwerb der Software Evaluierungen am Kundenbeispiel Schulungen Grundlagen- und Anwendungsorientierte Schulungen
Flexibilität: Prototyping Tool HDevelop Graphische Benutzeroberfläche Interaktive Programmentwicklung Export des Skriptcodes nach Visual Basic, Visual Basic.NET, C, C++, C#
Flexibilität: HDevEngine Anpassungen an geänderte Anforderungen einfach durchführbar OEM (= Kunde von MVTec) Kunde des OEMs OEM Maschine Anwendungssoftware HALCON HDevEngine HDevelop Skript Aktualisierung
Flexibilität: HALCON Embedded HALCON Embedded running on your embedded hardware
Flexibilität: ActivVisionTools Kunde kann komponentenbasierte Software mit seinem Wissen unmittelbar nutzen Verwendung von Microsoft Standard IDEs zum Aufbau seiner Lösung
Flexibilität: Verfahren zur Parallelisierung Anwender Standard-Software pipelining task parallelism data parallelism
Flexibilität: Schnittstellenvielfalt IEEE 1394 USB 2.0 Line Scan Cameras GigE Standard- Software für IBV Digital Cameras DirectShow Analog Cameras GenICam
Flexibilität: Hardwareunterstützung MIPS/RISC DSPs Multiple CPUs 64bit CPUs Linux/UNIX Standard- Software für IBV Windows Multicore CPUs Hyperthreading MMX / SSE
Kunde ist konkurrenzfähiger durch Funktionalität Anspruchsvolle Aufgaben lösbar Robustheit Größerer Durchsatz bei gleichzeitig erhöhter Genauigkeit Robuste Systeme werden stark nachgefragt Genauigkeit Bessere Marktposition durch erhöhte Genauigkeit Performanz Große Bild- und Pixelauflösungen möglich Geringere Auswertezeit bedeutet kürze Inspektionszyklen Flexibilität Leichte Anpassbarkeit an wechselnde Kundenanforderungen
Funktionalität Kunde erschließt neue Märkte durch Kurze Entwicklungszeiten möglich Entwicklung von mehreren Anwendungen in der gleichen Zeit Robustheit Anwendungen mit großen Variantenvielfalt möglich Anwendungen mit eingeschränkter Möglichkeit die Umgebungsbedingungen zu modifizieren Genauigkeit Frei wählbare Lage der Kamera zum Messobjekt Performanz Anwendungen mit hoher Komplexität lösbar Flexibilität Leichte Anpassbarkeit an wechselnde Kundenanforderungen
Wege zur innovativen Bildverarbeitung Langjährige Erfahrung in der Entwicklung von Bildverarbeitungsalgorithmen Fortlaufende Anpassungen der Bildverarbeitungsalgorithmen an neu verfügbare Prozessortechnologien Forschungs- und Entwicklungsabteilung (> 10 Personen) Dokumentationsabteilung Testumgebungen Langfristig angelegte Forschungs- und Entwicklungsarbeiten Investitionsbereitschaft zum Erschließen neuer Funktionalitäten