自動的にフォーカス

uEye LE USB 3.1 Gen 1 AF ボードレベルカメラがオートフォーカス対応になりました

新しいコントラストベースのオートフォーカスにより、uEye LE AF ボードレベルカメラなど、アクティブフォーカス搭載 uEye カメラの用途が広がります。自動化機能はこれらのカメラモデルの「アクティブ」な液体レンズ制御に基づき、シングルショットモードでも連続フォーカス制御でもトリガーされて機能します。用途に応じて、オートフォーカスを個別に設定でき、完璧にシャープな画像を即座に撮影できます。

背景

uEye ソフトウェアをバージョン 4.93 にアップデートすると、uEye LE AF ボードレベルカメラのソフトウェアベースのオートフォーカス機能が実現し、これまで手動で制御していた液体レンズ制御が自動化されます。このため、被写体との距離が変動する用途でカメラを使用するチャンスが広がります。対象領域のサイズと位置を調整でき、さまざまな画像シャープネス測定アルゴリ

アルゴリズムと多彩な設定オプションを備え、どのような状況でも目的のフォーカス範囲で、最適な画像シャープネスをすばやく確実に決定します。

テクニカルティップスでは、アプリケーションに最適なオートフォーカスの事前設定方法に関する、その他の情報やヒントを説明します。

オートフォーカス

オートフォーカスは、シャープな画像を得るためにカメラのレンズを被写体との正しい距離に自動的に調節する機能です。オートフォーカスシステムでは uEye LE AF ボードレベルカメラの液体レンズ制御を使用して、さまざまな距離に焦点を合わせます。「シングルショット」モードでは、自動機能がソフトウェアでトリガーされ、測定ウィンドウで最大シャープネスが得られるまで探索します。その後、自動的に停止します。「連続」動作では、画像のシャープネスが継続的に測定され、それに応じてレンズが再調整されます。 オートフォーカスは、ホスト PC 上の画像データ分析に基づいてカメラの液体レンズを閉ループで制御します。

この「閉ループオートフォーカス」と呼ばれる機能により、液体レンズとピクセルパス (コントラストやビニングなど) の設定が画像の内容に直接影響を与え、画像のシャープネス測定結果にも影響します。この評価を基にして、次に画像を撮影する前に液体レンズを調節します。このような画像ベースの方法では最適なフォーカス値を計算できないので、画像撮影、測定、焦点距離調整を含む閉制御ループを、あらかじめ数回通過させる必要があります。フォーカス値と計算された画像シャープネスから判定された値のペアの最初の分析から、関連するフォーカスフィールドの最適な (最大) 画像シャープネスを決定するヒントが得られます。

画像のフォーカスが調整されたとき

画像のシャープネスを測定する方法はいくつかありますが、基づく基本原則は 2 つだけです。最初の原則はエッジシャープネスです。隣接するピクセル間でグレー値が大きく異なる部分を実際の画像コンテンツから検索して、エッジまたは輪郭をハイライトします。これらのエッジのコントラストにより、画像のシャープネスを判定できます。エッジの画像が鮮明になると、基の画像のシャープネスのレベルも上がります。

2 番目の原則は、画像のヒストグラム値の分析に基づきます。標準偏差を使用して、画像の平均グレー値を中心とするピクセル値の偏差の程度を計算できます。偏差が大きければ、既存のグレー値のエッジと画像のコントラストが高くなります。 画像のフォーカスが外れると、グレー値の大きな差 (エッジ) は、傾斜を表す勾配とみなされます。 偏差と画像のコントラストは減少します。つまり、画像が鮮明になると、グレースケールの分布が広がり、画像のコントラストも高くなります。

フォーカス - フォーカスなし

フォーカスされた画像
フォーカスされた画像
フォーカスされていない画像
フォーカスされていない画像

エッジが強く標準偏差が大きいと、コントラストとフォーカスレベルが高くなります。

画像シャープネスの測定

実際には、被写体の表面が光学的フォーカス測定に理想的であることは、ほとんどありません。このため、測定結果の信頼性が低く、不安定な場合がよくあります。ただし、uEye ソフトウェアのオートフォーカス機能により、さまざまな画像の状況でさまざまな測定方法を利用できます。

オートフォーカスのアルゴリズム「Mean Score」と「Tenengrad」は、画像データを分析し、エッジシャープネスの原則を使用します。このために、隣接するピクセルとの関係も含めて、ピクセル単位で分析します。「Mean Score」は「Tenengrad」よりもシンプルなピクセル計算と小規模な隣接関係を使用します。このため、少し高速になりますが、「Tenengrad」アルゴリズムよりもノイズの影響を受けやすくもなります。

「ヒストグラム偏差」は、対象領域 (ROI) のヒストグラム値を使用して画像シャープネスを判定します。全体的なアプローチなので、このアルゴリズムにはフィルター特性があります。シャープネス限度は、測定された値範囲での明度カーブとして表示されます。ノイズが結果に及ぼす影響はわずかです。ただし、探索されたフォーカス領域に短焦点の極大値がいくつかある場合、ヒストグラム偏差では明確に区別できません。ローパスと同様に、アルゴリズムによって極大値が被覆曲線に「平準化」されます。 「Tenengrad」と「Mean Score」での小規模なピクセル隣接の分析は、グレー値の変化への影響がはるかに小さくなります。そのためエッジは一層鮮明に表示されます。両方のアルゴリズムは個々の最大値を明確に区別して表示しますが、ノイズなどの干渉の影響を受けやすくなります。

計算原則が異なるため、3 つのアルゴリズムは、画像ごとのシャープネス値の計算時間も異なります。Sobel および Laplace フィルターなどの複雑なピクセル変換は、平均グレー値から、シンプルな標準偏差計算よりも高い計算負荷を生成します。広い範囲の画像領域 (広い対象領域) を分析すると、獲得したカメラフレームレートがすぐに低下してしまいます。シーンおよびアプリケーションの要件に応じて、使用できるアルゴリズムを選択して測定の速度と精度を変更できます。 計算方法としては「Mean Score」および「ヒストグラム偏差」のほうが、平均的な PC ハードウェアでの時間の制約がある計算に適しています。それに対して、Tenengrad の計算効率は、広範な測定ウィンドウでは、達成できるフレームレートを犠牲にすることになります。

対象領域とフォーカス範囲の設定

シャープネス測定は通常、対象領域 (ここでは「測定ウィンドウ」と呼びます) で実行されます。これは計算時間のスピードアップに役立ちます。

測定ウィンドウが大きくなると、ホスト CPU での画像ごとのシャープネス計算に必要な計算時間と電力が増加します。計算時間 (画像ごと) が長すぎると、設定されたフレームレートが減少します。高速フレームレートを達成するには、できるだけ小さい測定ウィンドウを選択します。

測定ウィンドウとフォーカス範囲には複数のフォーカス極大値が含まれることがあります。
測定ウィンドウとフォーカス範囲には複数のフォーカス極大値が含まれることがあります。

「正しい」フォーカスレベルの探索を正確に指定するには、次の方法があります。

1. レンズのフォーカス範囲を制限する

フォーカス測定を、アプリケーションで要求されるレンズのフォーカス範囲のみに制限します。レンズと画像シーンの距離と使用されるレンズの被写界深度に応じて、小さな領域でも十分です。また、必要なシャープネス計算が減少するので、最大探索時間も短縮されます。

2. 測定ウィンドウのサイズと位置を変更する

アルゴリズムでシャープネスを決定するには、少しの明確な特徴があれば十分です (小さな構造、明確なエッジ、明確なグレー値の分散)。測定ウィンドウが小さければ、フォーカスの決定が速くなり、フォーカス対象が 1 つの画像領域ならさらに明確になります。このため、測定ウィンドウをできるだけ小さく、必要なだけ大きくします。アプリケーションで被写体をフォーカスする画像の位置が再生可能なら、測定ウィンドウのサイズと位置をうまくプリセットできます。

極大シャープネスの検出

オートフォーカスの目的は、撮影した画像の測定ウィンドウ内のシャープネス値が最大となる、フォーカス設定をできるだけ迅速に見つけることです。これを検出するため、uEye ソフトウェアには複数の基本ピーク探索アルゴリズムが搭載されています。シーン (画像コンテンツ) または速度および画質の要件に応じて、適切なものを選択できます。 最も信頼性が高く、低速な方法は、各フォーカス設定を順番に設定し、一度に 1 つの写真を撮影し、そのシャープネスを確認することです。 最適なシャープネス値を見つける処理をスピードアップするには、さまざまな方法に従い、最初にフォーカス設定をスキップ (インターバル) して「ランダムサンプル」のみを撮影します。それ以降の処理の実行で、「ピーク」が見つかったら、これらをさらに精細にスキャンします。 個々のアルゴリズムでは中断条件によって探索時間が短縮されますが、最適な結果が得られるとは限りません。 このため、uEye ソフトウェアでは使用したい探索方法を選択できます。

オートフォーカスのフォーカス計算は画像コンテンツに基づいており、極大値を見つけるには複数の計測が必要なので、画像コンテンツが探索処理中に変更されてはいけません。

一部のアルゴリズムは、対象領域の被写界深度が不十分な場合、グローバル極大値がない場所に近接するフォーカス設定を探索します。このような場合、「グローバル探索」や「フルスキャン」のみが適しています。

極大探索の精度

ヒステリシスは、最大シャープネスの探索が停止する、最小ステップサイズを指定します。最大値探索で達成できる精度も決定されます。「フルスキャン」の場合のみ、ヒステリシスは探索領域全体のスキャンに使用される一定のステップ幅を指定します。

フォーカスカメラの使用事例

一般に、液体レンズとオートフォーカスを搭載した uEye LE AF ボードレベルカメラは、被写体との距離が変動するあらゆる用途に適しています。焦点面を手動またはカメラソフトウェアで自動調節すると、レンズを操作できない場合にも便利です。特にロボットアームなどのモバイル用途では、小型のボードレベルカメラは常に被写体やコードにピントを合わせて、ロボットが移動するたびに明瞭に読み取ります。

HALCON などの画像処理と組み合わせると、uEye オートフォーカスシステムの処理範囲はさらに広がります。 たとえば HALCON は、あらゆるフォーカス設定の画像について、すべてのフォーカスレベルで被写体を明瞭に示す、連続的にシャープな画像を計算します。露出 (High Dynamic Focus) ではなく、フォーカスに関連する「HDR」という画像です。

すべての焦点面上の被写体シーンを「スキャン」することで、HALCON はこのような画像のシャープネス測定に基づいて奥行き情報 (Depth from Focus) も計算できます。