はじめに
マシンビジョンアプリケーションの大半は2次元イメージングを使って解決されていますが、3D 測定および検査を使用する、またはそれらを必要とするマシンビジョンアプリケーションが大幅に増加しています。シーンから3D情報を抽出するには、多数のテクニックが使用されていますが、構造化照明方式(レーザースキャンによる三角測量など)、ステレオ方式または立体視方式、およびToF方式センサについてお話ししましょう。
これらのテクニックのうちあまり知られていないのは、おそらくフォトメトリックステレオ法です。Euresysのフォトメトリックステレオ機能は、1つのビューポイントをさまざまな角度で照光し、同一面の画像をそれらの角度から複数取得することで、表面のポイントごとに向きとアルベドを予測します。様々な画像が、照明と同期しながら連続して取得されるため、必要なカメラは1台のみです。
フォトメトリックステレオ法は、オブジェクトの表面に存在する詳細な情報(欠陥または情報に関わらず)を検出または検査するのに適しています。
フォトメトリックステレオのアルゴリズムは、EuresysのOpen eVision Easy3Dライブラリで提供されています。コードの読み取り(EasyMatrixCode、EasyQRCode、またはEasyBarCodeライブラリを使用)、光学文字認識(EasyOCR)、アライメント(EasyMatchまたはEasyFind)、測定(EasyGauge)、または欠陥検出(EasyObjectまたはEasySegment)といったほかの操作の前段階で行われるプリプロセッシングフェーズとして使用されています。
その仕組みは?
特定のビジョン環境(検査されるオブジェクトの位置と角度、照明(通常3~4台)、およびカメラ)において、まず、ソフトウェアツールで基準オブジェクト((半)球体)のキャリブレーションを行うか、環境の正確な幾何学的特性を手動で導入する作業が必要となります。
図 1: カメラを設置し、複数の照明角度で検査されるオブジェクト。
プロセス
それが完了すると、検査オブジェクトの画像キャプチャがさまざまな照明角度に応じた複数のステップで実行されます。
ユーザーのリクエストで、フォトメトリックステレオは多数の変数(表面に対する垂線、アルベド、XとYの勾配、平均値、およびガウス曲率)を個別に抽出します。これらの変数は、2D領域における3D情報の再構築/レンダリングに使用され、以降でのほかのライブラリによる処理に利用できるように準備されます。
図 2: 多様な照明条件と検査下のブリスターパックの画像。
上図2はこのプロセス全体を示しています。
- カメラが4つの異なる条件でオブジェクトをキャプチャします(図1~4)。
- 選択された測定値に基づき、画像が再構築されます(図A)。
- 指定された検査に有用なデータのサブセットを分離します(図B)(ここでは、ガウス曲率情報を使用しています)。
- Open eVision EasySegmentライブラリを使用し、(B)の画像に教師ありモードを適用してディープララーニングによる検査を実施します(画像C)。2つの貫通ポイントが明白に識別されているのがわかります。
最適化
ユーザーはテストを数回行うことで、アプリケーションを復旧するために最も適切な変数を特定することができます。これらのステップから、最適化と、タイムクリティカルなプロセスの高速化を図ることができます。
たとえば、一部の検出には特定の線形検出または鋭角なエッジの検出が必要となります。また、特定の関心領域(ROI)の指定も可能です。 これらのパラメーターを実際のアプリケーションに合わせて調整することで、大幅な速度の改善を得られます。
たまに起こる完璧ではないオブジェクトの配置、観測条件、または照明条件を考慮すると、この機能は、以下の項目も補うことが可能です。
- 周囲光(暗い画像)
- 不均一な照明(平坦な基準画像)
まとめ
フォトメトリックステレオ法を使用すると、元の画像からは検出できなかった有用な情報を強調させ、標準的なeVisionライブラリ(この場合はEasySegment)で効果的に利用できるようにすることができます。
フォトメトリックステレオ法による撮像機能は、EuresysのOpen eVision Easy3Dライブラリで提供されています。