Astuce technique

Mise au point automatique

Les caméras sur carte uEye LE USB 3.1 Gen 1 AF gèrent désormais automatiquement la mise au point

La nouvelle fonction autofocus s’appuyant sur le contraste étend les possibilités d’utilisation des caméras sur carte uEye LE AF. L’automatisme repose sur la commande « active » des lentilles liquides de ces modèles de caméra et peut être déclenché très facilement par logiciel. Selon le cas d’utilisation, l’autofocus peut être configuré individuellement pour obtenir des images parfaitement nettes en un clin d’œil.

La mise à jour de la suite logicielle IDS à la version 4.92 permet aux caméras sur carte uEye LE AF de disposer d’une mise au point automatique par logiciel de la commande des lentilles liquides qui était jusqu’à ce jour manuelle. Les caméras sont donc encore plus flexibles dans des applications où les distances d’objet sont variables. Une fenêtre de mesure réglable en taille et position et différents algorithmes de mesure de la netteté des images avec de nombreuses options de configuration permettent de déterminer rapidement, efficacement et en toutes circonstances la netteté maximale des images dans la plage de mise au point souhaitée.

L’usage général de la fonction automatique de la mise au point de la caméra uEye LE USB 3.1 Gen 1 AF est décrit en détail dans le manuel de la suite logicielle IDS 4.92. Toutes les options de configuration de la boîte de dialogue « Fokus » (Focus) dans uEye Cockpit peuvent également être appliquées via la fonction is_Focus() de l’API uEye des applications correspondantes. Le manuel décrit en détail la fonction avec tous les paramètres de transfert et des exemples de code.

L’astuce technique fournit des aides et des conseils supplémentaires pour préconfigurer au mieux l’autofocus pour votre application.

Zone Fokus (Focus) dans la boîte de dialogue de uEye Cockpit
Zone Fokus (Focus) dans la boîte de dialogue de uEye Cockpit

Mise au point automatique

L’autofocus désigne une fonction qui règle automatiquement l’objectif de la caméra sur la portée correcte par rapport à l’objet afin d’obtenir une image nette. Pour la mise au point sur différentes distances, l’autofocus utilise la commande de lentilles liquides de la caméra sur carte uEye LE AF. La mise au point automatique est démarrée par un déclencheur logiciel et fonctionne tant que la netteté maximale n’a pas été trouvée dans la fenêtre de mesure. Elle s’interrompt ensuite automatiquement (mode « Acquisition unique » (Single Shot). La fonction automatique commande la lentille liquide de la caméra en s’appuyant sur l’analyse des données d’images du PC hôte en boucle fermée.

Boucle de régulation fermée pour la détermination de la netteté maximale
Boucle de régulation fermée pour la détermination de la netteté maximale

Avec cet « autofocus en boucle fermée », les réglages de la lentille liquide et le parcours des pixels (contraste, compartimentage, etc.) ont des effets directs sur le contenu de l’image et donc sur le résultat de la mesure de la netteté de l’image. Son évaluation constitue à son tour la base de l’ajustement de la lentille liquide avant la prochaine prise de vue. Étant donné que la valeur optimale de mise au point ne peut pas être déterminée de manière arithmétique avec cette méthode reposant sur l’image, la boucle de régulation, incluant la prise de vue, la mesure et l’adaptation de la distance focale, doit d’abord être exécutée à plusieurs reprises. Seule l’analyse des paires de valeurs calculées à partir de la valeur de mise au point réglée et de la netteté de l’image calculée fournit des indications pour établir la meilleure netteté possible (maximale) de l’image dans le champ focal pertinent.

Quand une image est-elle nette ?

Il existe différentes méthodes pour mesurer la netteté d’une image, mais elles reposent uniquement sur deux principes sous-jacents. Le premier principe est la netteté des contours. Dans ce cas, une recherche est effectuée dans le contenu réel de l’image, entre deux pixels voisins, par grands sauts de niveaux de gris afin d’accentuer les bords ou contours. Le contraste de ces contours permet alors de tirer des conclusions sur la netteté de l’image. Plus le bord est net, plus le degré de netteté de l’image initiale est élevé.

Le deuxième principe s’appuie sur l’analyse des valeurs d’histogramme de l’image. Un écart-type permet de calculer une mesure pour la répartition des valeurs de pixels autour du niveau de gris moyen de l’image. Plus la répartition est importante, plus les arêtes entre gris existantes et le contraste de l’image sont élevés. En revanche, si l’image est floue, les grands sauts de niveaux de gris (contours) préalables adoptent une évolution progressive. La répartition et donc le contraste de l’image sont moindres. Plus simplement : plus l’image est nette, plus le niveau de gris, et donc le contraste de l’image, s’étale.

  Image Contours accentués Histogramme du ROI
Image nette
Image floue

Des contours plus nets et un écart-type plus important signalent un contraste et une netteté supérieurs.

Mesure de la netteté d’une image

Dans la pratique, les surfaces d’objet pour la mesure optique de la netteté sont rarement parfaites. Cela conduit souvent à des résultats non fiables et peu stables. La fonction d’autofocus de la suite logicielle IDS offre cependant diverses méthodes de mesure, même pour des procédés de détection de mise au point adaptés à différentes situations d’image.

Les algorithmes de netteté « Mean Score » et « Tenengrad » de la mise au point automatique analysent les données d’image et effectuent un contrôle selon le principe de la netteté des contours. Ils examinent alors chacun des pixels et notamment le lien avec les pixels voisins directs. L’algorithme « Mean Score » utilise des calculs de pixels plus simples et un voisinage plus petit que « Tenengrad », mais il est cependant plus rapide et sensible au bruit.

L’« écart d’histogramme » utilise quant à lui les valeurs d’histogramme de l’ensemble du ROI (champ de recherche) pour déterminer la netteté de l’image. Grâce à cette approche globale, cet algorithme possède une propriété de filtre. Les valeurs maximales de netteté sont représentées sous forme de courbes claires dans la fenêtre des valeurs de mesure. Le bruit a peu d’incidence sur le résultat. Cependant, si plusieurs valeurs maximales de netteté proches se trouvent dans la zone de mise au point parcourue, elles peuvent ne pas être clairement différenciées par l’écart d’histogramme. De la même manière qu’un filtre passe-bas, l’algorithme « lisse » les valeurs maximales en une courbe-enveloppe couvrante. Avec l’analyse de voisinages de pixels plus petits à l’aide de « Tenengrad » et de « Mean Score », les variations de niveaux de gris ont un effet beaucoup plus net. Les contours sont ainsi identifiés plus clairement. Les deux algorithmes montrent sans équivoque les différentes valeurs maximales différenciables, mais sont également sensibles aux perturbations telles que le bruit.

Comparaison des valeurs de mesure de la netteté de « Tenengrad » et « Écart d’histogramme »
Comparaison des valeurs de mesure de la netteté de « Tenengrad » et « Écart d’histogramme »

Avec leurs différentes bases de calcul, les trois algorithmes se distinguent également par leur temps de calcul de la valeur de netteté par image. Les transformations de pixel complexes, telles que Sobel et Laplace Filter, produisent par exemple une charge de calcul plus élevée que le simple calcul de l’écart-type du niveau de gris moyen. L’analyse de zones d’image plus étendues (large fenêtre de mesure) peut rapidement nuire à la fréquence d’image de la caméra. En fonction du sujet et du besoin de votre application, vous pouvez agir sur la vitesse et l’exactitude de la mesure en choisissant un algorithme de mesure disponible. Les méthodes de calcul « Mean Score » et « Écart d’histogramme » conviennent davantage aux calculs sensibles au temps réalisés sur un PC moyen. Sur des fenêtres de mesure importantes, l’efficacité du calcul « Tenengrad » peut en revanche rapidement jouer sur la fréquence d’image réalisable.

Réglage de la fenêtre de mesure et de la zone de mise au point

La mesure de la netteté est généralement réalisée dans une région d’intérêt ROI (region of interest), désignée ici « fenêtre de mesure ». Elle permet d’accélérer le temps de calcul.

Plus la fenêtre de mesure est importante, plus le temps et la puissance de calcul requis par l’UC hôte augmentent pour la mesure de la netteté par image. La fréquence d’image définie peut baisser suite à une durée de mesure (par image) trop longue ! Pour des fréquences d’image rapides, sélectionnez alors la fenêtre de mesure la plus petite possible.

Choisissez la position et la taille de la fenêtre de mesure de sorte que seul le contenu d’image à mettre au point, avec un niveau de netteté et un maximum de netteté associé, soit repéré. Cependant, si plusieurs valeurs maximales locales de netteté se trouvent dans la zone de recherche définie et si vous utilisez un algorithme Peak Search (recherche de pic) avec une condition d’arrêt, la recherche prend fin prématurément lorsque la première valeur maximale claire est détectée.

Une fenêtre de mesure et une zone de mise au point peuvent comporter plusieurs valeurs maximales de netteté.
Une fenêtre de mesure et une zone de mise au point peuvent comporter plusieurs valeurs maximales de netteté.

Pour définir plus précisément la recherche selon le plan focal « correct », vous disposez des possibilités suivantes :

1. Restriction de la zone de mise au point de la lentille

Limitez les mesures de netteté sur la zone de mise au point de la lentille nécessaire à votre application. Selon la distance de la scène de l’image par rapport à la lentille et la profondeur de champ de l’objectif utilisé, une zone plus petite suffit.
Vous réduisez ainsi également le temps de la recherche de valeur maximale, car le nombre de mesures de netteté nécessaire est moindre.

Restriction de la zone de mise au point
Restriction de la zone de mise au point

Si vous n’êtes pas certain de la zone de mise au point à définir, il est conseillé d’afficher la fenêtre des valeurs de mesure et d’effectuer un balayage complet (Full Scan) de l’ensemble de la zone avec une hystérésis plus petite. 

2. Modification de la taille et de la position de la fenêtre de mesure

Quelques caractéristiques claires permettant de déterminer la netteté (petites structures, un contour net, une répartition claire du niveau de gris) suffisent aux algorithmes associés à la netteté. Plus la fenêtre de mesure est petite, plus la détermination de la netteté est rapide et plus il est évident de définir une seule zone d’image dans la mise au point. Pour cette raison, établissez une fenêtre de mesure aussi réduite que possible et aussi grande que nécessaire. Plus la position de l’image des objets de mise au point est reproductible dans votre application, plus il vous est facile de préconfigurer la taille et la position de la fenêtre de mesure.

Prise en compte de la taille et de la position de la fenêtre de mesure
Prise en compte de la taille et de la position de la fenêtre de mesure

Recherche de la valeur maximale de netteté

L’objectif de l’autofocus est de trouver le plus rapidement possible le réglage de mise au point avec lequel les valeurs de netteté de la fenêtre de mesure des images récupérées sont les plus élevées. Pour trouver ce réglage, la suite logicielle IDS propose plusieurs algorithmes fondamentaux de recherche de pic, qui, selon la scène (contenu de l’image) ou les besoins, conviennent différemment à la vitesse et à la qualité. Le cas le plus fiable, mais également le plus lent est celui-ci : ajuster tour à tour tous les réglages de mise au point, prendre une photo pour chaque réglage et déterminer sa netteté. Pour accélérer la recherche par valeur optimale de netteté, des « contrôles aléatoires » sont effectués selon différentes stratégies au cours desquels les réglages de mise au point sont d’abord ignorés (intervalles). Ce n’est qu’au cours d’autres cycles, lorsque les « valeurs maximales » sont localisées, que ces réglages sont ensuite balayés beaucoup plus finement.  Avec les conditions d’arrêt, les différents algorithmes réduisent le temps de recherche, mais un résultat optimal n’est pas toujours obtenu. C'est pourquoi la suite logicielle IDS vous laisse la possibilité de choisir votre stratégie de recherche.

Étant donné que la mesure de netteté de l’autofocus repose sur les contenus d’image et que plusieurs mesures sont nécessaires pour trouver une valeur maximale, il est vivement recommandé de ne pas modifier le contenu de l’image pendant la recherche !

Algorithme de recherche   Caractéristiques
Golden Ratio Search (recherche du nombre d'or)
  • Recherche et détaille la recherche de la valeur maximale en subdivisant la zone de recherche selon le « nombre d’or ».
  • Résultat : recherche très rapide, même sur de grande zones de recherche.
  • Avec une zone de recherche étendue, une valeur maximale de netteté peut être ignorée pendant la recherche approximative ! → Réduire au préalable la zone de recherche ou l’utiliser uniquement avec une évolution de netteté unimodale (avec une seule valeur maximale de netteté).
Hill Climbing Search (recherche de montée)
  • Démarre la recherche approximative dans la zone éloignée avec un intervalle de recherche important.
  • Détecte une « valeur maximale » lorsque les valeurs de netteté n’augmentent plus et interrompt la recherche dans le reste de la zone de mise au point avec la première valeur de netteté minimale.
  • Affine ensuite les résultats de mesure dans la zone de détection de la valeur maximale lors d’autres recherches effectuées avec un intervalle plus petit.
  • Arrête uniquement en cas de dépassement de la valeur minimale de l’hystérésis.
  • Plus rapide que la recherche globale
  • La première valeur maximale trouvée peut ne pas correspondre à la valeur maximale globale !
  • Avec une zone de recherche étendue, une valeur maximale de netteté peut être ignorée pendant la recherche approximative ! → Réduire au préalable la zone de recherche ou l’utiliser uniquement avec une évolution de netteté unimodale.
Global Search (recherche globale)
  • Démarre la recherche approximative dans la zone éloignée avec un intervalle de recherche important
  • Recherche approximative sur toute la zone de recherche.
  • Détaille ensuite les résultats de mesure dans la zone de détection de la valeur maximale lors d’autres recherches effectuées avec un intervalle plus petit.
  • Arrête uniquement en cas de dépassement de la valeur minimale de l’hystérésis.
  • Plus rapide que le balayage complet.
  • Avec une zone de recherche étendue, une valeur maximale de netteté peut ne pas être trouvée pendant la recherche approximative ! → Réduire au préalable la zone de recherche ou l’utiliser uniquement avec une évolution de netteté unimodale.

 

Full Scan (balayage complet)
  • Calcule les valeurs de netteté dans toute la zone de recherche au cours d’un cycle sans stratégie de recherche.
  • L’hystérésis indique l’intervalle de mesure.
  • Adaptée à une « recherche aveugle ». En effet, avec une petite hystérésis, la détection de la valeur maximale globale est fiable.
  • Temps requis plus important avec une petite hystérésis et une grande zone de recherche. Dans le pire des cas, 1 024 valeurs de netteté (nombre max. de réglages de mise au point de la caméra uEye LE AF) sont déterminées.

Caractéristiques des algorithmes de recherche

Si la profondeur de champ dans la plage de la fenêtre de mesure n’est pas insurmontable, la recherche de certains algorithmes est généralement plus rapide dans le voisinage des réglages de mise au point, où ne se trouve pas la valeur maximale globale. Dans ce cas, bien souvent, une simple recherche

Exactitude de la recherche de valeurs maximales

Avec l’hystérésis, vous définissez la grandeur minimale de la largeur de pas, qui une fois atteinte, met un terme à la recherche de la valeur maximale de netteté. Vous définissez aussi simultanément l’exactitude accessible de la recherche de valeurs maximales. L’hystérésis définit l’intervalle de recherche constant avec lequel le cycle de recherche s’exécute uniquement avec l’algorithme « Full Scan » (balayage complet).

Possibilités d’utilisation d’une caméra avec mise au point

En général, la caméra sur carte uEye LE AF à lentille liquide et autofocus convient à toute utilisation en rapport avec des distances d’objet variables. Le réglage manuel ou automatique du plan focal à l’aide du logiciel de la caméra consitue également une aide lorsqu’aucun accès à l’objectif n’est possible. Dans le cadre d’une utilisation mobile précisément, comme sur un bras de robot, la petite caméra sur carte effectue toujours la mise au point avec netteté sur les objets ou sur les codes à lire après chaque mouvement du robot.

Associée à un traitement d’image comme HALCON, la fonction autofocus uEye autorise encore bien d’autres choses. Si le traitement d’image HALCON dispose d’images pour chaque réglage de mise au point, il peut calculer en continu une image nette, qui illustre avec précision une scène d’objet quel que soit le plan focal. Quasiment une image « HDR » se référant à la mise au point au lieu de l’exposition (High Dynamic Focus).

Avec le « balayage » d’une scène d’objet sur tous les plans focaux, HALCON, sur la base des mesures de netteté dans ces images, peut même calculer une information sur la profondeur (« Depth from Focus »). 

Informations de profondeur calculées à partir des valeurs de mise au point de tous les plans focaux.
Informations de profondeur calculées à partir des valeurs de mise au point de tous les plans focaux.

Il est possible de déterminer ainsi les volumes des objets, même sans caméra 3D.  Tout comme de vérifier si les objets se trouvent sur le même plan.  L’installation standard du traitement d’image HALCON comprend des exemples complets d’images avec mise au point, qui peuvent être testés directement avec la caméra uEye LE USB 3.1 Gen 1 AF. D’autres exemples de code et une description détaillée de la fonction de mise au point avec tous les paramètres de transfert sont disponibles dans le manuel de la suite logicielle IDS 4.92.

PDF