TechTipps

Automatisch im Fokus

Die uEye LE USB 3.1 Gen 1 AF Boardlevelkameras fokussieren jetzt automatisch

Der neue kontrastbasierte Autofokus erweitert die Einsatzmöglichkeiten der uEye LE AF Boardlevelkameras. Die Automatik basiert auf der "aktiven" Flüssiglinsensteuerung dieser Kameramodelle und lässt sich ganz einfach per Software triggern. Je nach Anwendungsfall kann der Autofokus individuell konfiguriert werden und sorgt im Handumdrehen für perfekt scharfe Bilder.

Durch das Update der uEye Software auf die Version 4.92 erhalten die uEye LE AF Boardlevelkameras eine softwarebasierte Fokus Automatik für die bisher manuell zu steuernde Flüssiglinsensteuerung. Damit ergeben sich noch mehr Einsatzmöglichkeiten für die Kamera in Anwendungen mit variablen Objektabständen. Ein in Größe und Position einstellbares Messfenster und verschiedene Bildschärfe-Messalgorithmen mit vielen Konfigurationsmöglichkeiten sorgen in allen Situationen für eine schnelle und sichere Ermittlung der maximalen Bildschärfe im gewünschten Fokusbereich.

Die generelle Verwendung der Fokus Automatik der "uEye LE USB 3.1 Gen 1 AF" ist im Handbuch der uEye Software Suite 4.92 ausführlich beschrieben. Alle Konfigurationsmöglichkeiten des Fokus-Dialogs im uEye Cockpit können Sie auch über die uEye API Funktion is_Focus() in eigenen Applikationen verwenden. Im Handbuch finden Sie eine detaillierte Beschreibung der Funktion mit alle Übergabeparametern und Codebeispielen.

Der Techtipp liefert Ihnen zusätzliche Hilfestellungen und Tipps, den Autofokus optimal für Ihre Anwendung vorzukonfigurieren.

Fokus-Dialogfeld im uEye Cockpit
Fokus-Dialogfeld im uEye Cockpit

Fokus Automatik

Autofokus bezeichnet eine Funktion, die das Kameraobjektiv selbständig auf die korrekte Gegenstandsweite regelt, um eine scharfe Abbildung zu erhalten. Zur Fokussierung auf verschiedene Entfernungen nutzt die Fokus-Automatik die Flüssiglinsensteuerung der uEye LE AF Boardlevelkamera. Die Fokus-Automatik wird per Softwaretrigger gestartet und arbeitet nur solange, bis die maximale Schärfe im Messfenster gefunden wurde. Dann schaltet sie sich selbständig ab ("Single-Shot" Betrieb). Die Automatik steuert die Flüssiglinse der Kamera basierend auf der Analyse der Bilddaten auf dem Host-PC in einem geschlossenen Kreislauf.

Geschlossener Regelkreis zur Ermittlung des Schärfemaximums
Geschlossener Regelkreis zur Ermittlung des Schärfemaximums

Bei diesem sogenannten "Closed-Loop Autofocus" haben Einstellungen der Flüssiglinse sowie des Pixelpfads (Kontrast, Binning, usw.) direkte Auswirkungen auf den Bildinhalt und damit auf das Schärfemessergebnis des Bildes. Dessen Auswertung ist wiederum Grundlage für die Justierung der Flüssiglinse vor der nächsten Bildaufnahme. Da der optimale Fokuswert bei diesem bildbasierten Verfahren nicht rechnerisch ermittelbar ist, muss der Regelkreislauf inklusive Bildaufnahme, Messung und Brennweitenanpassung zuerst mehrfach durchlaufen werden. Erst die Analyse der ermittelten Wertepaare aus eingestelltem Fokuswert und errechneter Bildschärfe, geben Anhaltspunkte, um die bestmögliche (maximale) Bildschärfe im relevanten Fokusfeld zu bestimmen.

Wann ist ein Bild scharf?

Für die Messung der Bildschärfe gibt es unterschiedliche Methoden, die aber auf lediglich zwei grundlegenden Prinzipien beruhen. Das erste Prinzip ist die Kantenschärfe. Dabei wird im tatsächlichen Bildinhalt nach großen Grauwertsprüngen zwischen benachbarten Pixeln gesucht, wodurch sich Kanten bzw. Konturen hervorheben lassen. Der Kontrast dieser Kanten lässt wiederum Rückschlüsse auf die Bildschärfe zu. Je deutlicher das Kantenbild wird, desto höher ist der Schärfegrad des Ausgangsbildes.

Das zweite Prinzip basiert auf der Analyse von Histogrammwerten des Bildes. So lässt sich über die Standardabweichung ein Maß für die Streuung der Pixelwerte um den mittleren Grauwert des Bildes berechnen. Je größer die Streuung, desto höher sind die vorhandenen Grauwertkanten und der Kontrast des Bildes. Wird das Bild hingegen unscharf, nehmen die zuvor großen Grauwertsprünge (Kanten) einen rampenförmigen Verlauf an. Die Streuung und somit der Kontrast des Bildes wird kleiner. In einfachen Worten ausgedrückt: Je schärfer das Bild ist, desto höher ist die Grauwertspreizung und damit der Kontrast im Bild.

  Bild Kanten hervorgehoben Histogramm der ROI
Scharfes Bild
Unscharfes Bild

Stärkere Kanten und größere Standardabweichung signalisieren höheren Kontrast und Schärfe.

Bildschärfe messen

In der Praxis sind Objektoberflächen für die optische Schärfemessung aber nur selten ideal. Dies führt oft zu unzuverlässigen, wenig stabilen Messergebnissen. Mit unterschiedlichen Messmethoden bietet Ihnen jedoch die Fokus-Automatik der uEye Software auch für verschiedene Bildsituationen passende Schärfemessverfahren an.

Die Schärfe-Algorithmen "Mean Score" und "Tenengrad" der Fokus-Automatik analysieren die Bilddaten und prüfen nach dem Prinzip der Kantenschärfe. Dazu betrachten sie Pixel für Pixel inklusive der Beziehung zu direkten Nachbarpixeln. "Mean Score" verwendet einfachere Pixelberechnungen und eine kleinere Nachbarschaft als "Tenengrad", wodurch er zwar etwas schneller aber auch rauschempfindlicher ist als der "Tenengrad" Algorithmus.

Die "Histogramm Abweichung" nutzt hingegen die Histogrammwerte des gesamten Suchfeldes (ROI) zur Bestimmung der Bildschärfe. Durch diese ganzheitliche Betrachtung besitzt dieser Algorithmus einen Filter-Charakter. Schärfemaxima werden im Messwertfenster als deutliche Kurven abgebildet. Rauschen hat wenig Einfluss auf das Ergebnis. Befinden sich aber im durchsuchten Fokusbereich mehrere nahe gelegene Schärfemaxima, können diese durch die Histogramm Abweichung nicht klar differenziert werden. Wie ein Tiefpass "glättet" der Algorithmus die Maxima zu einer überdeckenden Hüllkurve. Durch die Analyse kleinerer Pixelnachbarschaften bei "Tenengrad" und "Mean Score" wirken sich Grauwertänderungen viel deutlicher aus. Kanten werden dadurch klarer herausgearbeitet. Beide Algorithmen zeigen eindeutig differenzierbare Einzelmaxima, sind aber auch anfälliger gegenüber Störeinflüssen, wie z.B. Rauschen.

Vergleich der Schärfemesswerte von "Tenengrad" und "Histogramm Abweichung"
Vergleich der Schärfemesswerte von "Tenengrad" und "Histogramm Abweichung"

Durch die unterschiedlichen Berechnungsgrundlagen der drei Algorithmen unterscheiden sie sich zudem in der Berechnungszeit des Schärfewertes pro Bild. Aufwändige Pixeltransformationen, wie Sobel und Laplace Filter erzeugen beispielsweise eine höhere Rechenlast als die einfache Berechnung der Standardabweichung vom mittleren Grauwert. Die Analyse größerer Bildbereiche (großes Messfenster) kann damit schnell die Framerate der Kamera beeinträchtigen. Je nach Motiv und den Anforderung an Ihren Anwendungsfall, können Sie durch Auswahl eines verfügbaren Messalgorithmus Einfluss auf Geschwindigkeit und Genauigkeit der Messung nehmen. Die Berechnungsverfahren "Mean Score" und "Histogramm Abweichung" sind eher für zeitkritische Berechnungen auf durchschnittlicher PC-Hardware geeignet. Die Effizienz der Tenengrad Berechnung kann hingegen bei größeren Messfenstern schnell zu Lasten der erreichbaren Framerate gehen.

Einstellen von Messfenster und Fokusbereich

Die Schärfemessung wird typischerweise in einer ROI ("region of interest", hier als "Messfenster" bezeichnet) durchgeführt. Das hilft dabei, die Berechnungszeit zu beschleunigen.

Je größer das Messfenster, desto mehr Rechenzeit und Rechenpower benötigt die Host-CPU für die Schärfemessung pro Bild. Die eingestellte Framerate kann durch eine zu lange Messdauer (pro Bild) sinken! Für schnelle Frameraten, wählen Sie deshalb ein möglichst kleines Messfenster.


Wählen Sie die Position und Größe des Messfensters so, dass lediglich der zu fokussierende Bildinhalt, mit einer Schärfeebene und damit einem Schärfemaximum, markiert wird. Befinden sich jedoch mehrere lokale Schärfemaxima im eingestellten Suchbereich und Sie verwenden einen Peak-Search-Algorithmus mit Abbruchbedingung, beendet dieser die Suche vorzeitig, wenn das erste klare Maximum erkannt wurde.

Messfenster und Fokusbereich können mehrere Schärfemaxima beinhalten.
Messfenster und Fokusbereich können mehrere Schärfemaxima beinhalten.

Um die Suche nach der "richtigen" Fokusebene genauer zu definieren, haben Sie folgende Möglichkeiten:

1. Einschränken des Fokusbereichs der Linse

Beschränken Sie die Schärfemessungen auf den Fokusbereich der Linse, den Ihre Anwendung benötigt. Je nach Abstand der Bildszene von der Linse und der Schärfentiefe des verwendeten Objektivs reicht ein kleiner Bereich aus.
Dadurch verringern Sie auch die Zeit der Maximum-Suche, da weniger Schärfemessungen durchgeführt werden müssen.

Einschränken des Fokusbereichs
Einschränken des Fokusbereichs

Wenn Sie nicht sicher sind, wo Sie den Fokusbereich setzen sollen, empfiehlt sich die Einblendung des Messwerte-Fensters und ein "Full Scan" des gesamten Fokusbereichs mit kleiner Hysterese.

2. Ändern Sie Größe und Position des Messfensters

Den Schärfe-Algorithmen reichen schon wenige klare Merkmale zur Bestimmung der Schärfe (kleine Strukturen, eine klare Kante, deutliche Grauwert-Streuung). Je kleiner das Messfenster, desto schneller ist auch die Schärfebestimmung und desto eindeutiger befindet sich nur ein Bildbereich im Fokus. Machen Sie deshalb das Messfenster so klein wie möglich und so groß wie nötig. Je reproduzierbarer die Bildposition der Fokus-Objekte in Ihrer Anwendung ist, desto besser können Sie die Größe und Position des Messfensters voreinstellen.

Größe und Position des Messfensters beachten
Größe und Position des Messfensters beachten

Schärfemaximum finden

Das Ziel der Fokus Automatik ist es, möglichst schnell jene Fokuseinstellung zu finden, mit der die Schärfewerte im Messfenster der eingezogenen Bilder am größten sind. Um diese zu finden, bietet Ihnen die uEye Software mehrere grundlegende sogenannte Peak-Suchalgorithmen an, die je nach Szene (Bildinhalt) oder Ihren Anforderungen an Geschwindigkeit und Qualität unterschiedlich geeignet sind. Der zuverlässigste aber langsamste Fall ist, alle Fokuseinstellungen der Reihe nach einzustellen, jeweils ein Bild aufzunehmen und dessen Schärfe zu ermitteln. Um die Suche nach dem optimalen Schärfewert zu beschleunigen, werden nach unterschiedlichen Strategien "Stichproben" durchgeführt, indem Fokuseinstellungen zuerst übersprungen werden (Intervalle). Erst in weiteren Durchläufen, wenn "Maxima" geortet sind, werden diese dann wesentlich feiner abgetastet.  Durch Abbruchbedingungen reduzieren die einzelnen Algorithmen zwar die Suchzeit, wodurch aber im Umkehrschluss nicht immer ein optimales Ergebnisse erzielt wird. Deshalb lässt Ihnen die uEye Software die Wahl mit welcher Suchstrategie Sie vorgehen wollen.

Da die Schärfemessung der Fokus-Automatik auf den Bildinhalten basiert und mehrere Messungen notwendig sind, um ein Maximum zu finden, sollte sich der Bildinhalt während des Suchvorgangs nicht ändern!

Suchalgorithmus   Eigenschaften
Golden Ratio Search
  • Sucht und detailliert die Maximum-Suche durch Unterteilung des Suchbereichs nach dem "goldenen Schnitt".
  • Dadurch sehr schnelle Suche auch in großen Suchbereichen.
  • Bei großem Suchbereich wird ein Schärfemaximum unter Umständen während der Grobsuche übersprungen! → Suchbereich vorab verkleinern oder nur bei unimodalem Schärfeverlauf (mit nur einem Schärfemaximum) verwenden.
Hill Climbing Search
  • Startet die Grobsuche im Fernbereich mit großem Suchinterval.
  • Erkennt "ein Maximum", wenn die Schärfewerte nicht mehr steigen und bricht die Suche im weiteren Fokusbereich mit dem ersten kleineren Schärfewert ab.
  • Verfeinert die Messergebnisse dann im Bereich des gefundenen Maximums in weiteren Suchdurchgängen mit kleinerem Suchintervall.
  • Bricht erst bei Unterschreiten der Hysterese ab.
  • Schneller als "Global Search"
  • Das erste gefundene Maximum ist unter Umständen nicht das globale Maximum!
  • Bei großem Suchbereich wird ein Schärfemaximum unter Umständen während der Grobsuche übersprungen! → Suchbereich vorab verkleinern oder nur bei unimodalem Schärfeverlauf verwenden.
Global Search
  • Startet die Grobsuche im Fernbereich mit großem Suchinterval.
  • Grobsuche im kompletten Suchbereich.
  • Detailliert die Messergebnisse dann im Bereich des gefundenen Maximums in weiteren Suchdurchgängen mit kleinerem Suchintervall.
  • Bricht erst bei Unterschreiten der Hysterese ab.
  • Schneller als "Full Scan".
  • Bei großem Suchbereich wird ein Schärfemaximum unter Umständen während der Grobsuche nicht gefunden! → Suchbereich vorab verkleinern oder nur bei unimodalem Schärfeverlauf verwenden.
Full Scan
  • Berechnet die Schärfewerte im ganzen Suchbereich in einem Durchgang ohne Suchstrategie
  • Die Hysterese gibt das Messinterval vor.
  • Gut geeignet für eine "blinde Suche", da es bei kleiner Hysterese zuverlässig das globale Schärfemaximum findet.
  • Hoher Zeitbedarf bei kleiner Hysterese und großem Suchbereich. Im Worst Case werden 1024 Schärfewerte (max. Anzahl Fokus-Einstellungen der uEye LE AF) ermittelt.

Eigenschaften der Suchalgorithmen

Wenn die Schärfentiefe im Bereich des Messfenster nicht all zu groß ist, suchen manche Suchalgorithmen meist zu schnell in der Nachbarschaft von Fokuseinstellungen, wo sich nicht das globale Maximum befindet. In so einem Fall ist meist nur eine "Global Search" oder sogar ein "Full Scan" erfolgreich.

Genauigkeit der Maximum-Suche

Über die Hysterese definieren Sie die minimale Größe der Schrittweite, bei deren Erreichen die Suche nach dem Schärfemaximum beendet wird. Damit legen Sie gleichzeitig die erreichbare Genauigkeit der Maximum-Suche fest. Lediglich beim "Full Scan" Algorithmus definiert die Hysterese das gleichbleibende Suchintervall,mit dem der Suchdurchgang durchlaufen wird.

Anwendungsmöglichkeiten einer Fokus-Kamera

Generell eignet sich die uEye LE AF Boardlevelkamera mit Flüssiglinse und Fokus-Automatik für jede Anwendung, die es mit variablen Objektabständen zu tun hat. Die manuelle oder automatische Einstellung der Fokusebene durch die Kamerasoftware hilft zudem, wenn kein Zugang zum Objektiv möglich ist. Gerade im mobilen Einsatz, wie beispielsweise auf einem Roboterarm, fokussiert die kleine Boardlevelkamera Objekte oder zu lesende Codes nach jeder Roboterfahrt stets scharf.

In Verbindung mit einer Bildverarbeitung wie HALCON sind mit der uEye Fokus-Automatik noch ganz andere Dinge möglich. Mit Bildern jeder Fokuseinstellung kann HALCON ein durchgängig scharfes Bild berechnen, das eine Objektszene auf allen Fokusebenen scharf darstellt. Quasi ein "HDR"-Bild bezogen auf den Fokus anstatt die Belichtung (High Dynamic Focus).

Durch die "Abtastung" einer Objektszene auf allen Fokusebenen kann HALCON auf Basis der Schärfemessungen in diesen Bildern sogar eine Tiefeninformation errechnen ("Depth from Focus").

Tiefeninformationen, berechnet aus Fokuswerten aller Fokusebenen.
Tiefeninformationen, berechnet aus Fokuswerten aller Fokusebenen.

Volumen von Objekten lassen sich so auch ohne 3D-Kamera ermitteln.  Auch eine Prüfung, ob sich Objekte auf derselben Ebene befinden, ist möglich.  Fertige Fokus-Bildverarbeitungsbeispiele, die direkt mit der uEye LE USB 3.1 Gen 1 AF ausprobiert werden können, finden Sie im Standardumfang der HALCON Installation. Weitere Codebeispielen und eine detaillierte Beschreibung der Fokus-Funktion mit alle Übergabeparametern finden Sie im Handbuch der uEye Software Suite 4.92 ausführlich beschrieben.