(57)【要約】      （修正有）【課題】画像処理の用途のために画像のホモグラフィによる歪曲を修正することができる多段階画像マッピング機構を提供する。【解決手段】多段階画像マッピング機構により、歪曲を歪曲画像から部分的に除去して中間画像を生成する第１の段階と、中間画像から残りの歪曲を除去して修正画像に戻す第２の段階との二段階で、ホモグラフィを歪曲画像から除去して、修正画像を再構成することができる。【選択図】図３
2020053062.tif 000002
【特許請求の範囲】
【請求項１】
機械視覚システムであって、
プロセッサが、メモリに格納されたコンピュータプログラムを実行するように構成されており、前記コンピュータプログラムが、
歪曲画像、および前記歪曲画像に関連づけられたホモグラフィ行列を受信する処理と、
ホモグラフィ分解モジュールを使用して、集合的に前記ホモグラフィ行列を示す第１の変換および第２の変換を決定する処理であって、
前記第１の変換は前記歪曲画像を中間画像に関連付けており、かつ前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、
前記第１の変換は、前記中間画像の第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられ、前記歪曲画像の前記第１の次元に沿う前記位置が、前記歪曲画像の前記第１の次元に沿って隣接する位置から同じ距離だけ離間していることを特徴としている、第１の変換および第２の変換を決定する処理と、
ホモグラフィ除去モジュールを使用して、前記歪曲画像から前記第１の変換を除去することによって、前記中間画像を生成する処理と、
前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去することによって、前記修正画像を生成する処理と、
を前記プロセッサに実行させるように構成されている、
機械視覚システム。
【請求項２】
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１に記載の機械視覚システム。
【請求項３】
前記プロセッサは、前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形するようにさらに構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項４】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに中間画像を変形させるように構成されていることを特徴とする請求項３に記載の機械視覚システム。
【請求項５】
前記ダイレクトメモリアクセスコントローラが、２次元の直接的メモリアクセスを使用して、前記中間画像を変形させるように構成されていることを特徴とする請求項４に記載の機械視覚システム。
【請求項６】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、
前記中間画像の第１のピクセルについて、前記歪曲画像の対応する第１の位置を決定する処理と、
前記歪曲画像の前記対応する第１の位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定する処理と、
によって前記歪曲画像から前記第１の変換を除去するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項７】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、前記第１のピクセルの座標上で前記第１の変換を操作することにより、前記対応する第１の位置を決定するよ
うに構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項８】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、第２の次元の前記第１のピクセルと同一の座標を有する前記中間画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記歪曲画像の対応する第２の位置を決定するように構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項９】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１０】
前記プロセッサが、前記ホモグラフィ行列を前記パターン検出システムから受信するように構成されており、前記ホモグラフィ行列は、前記歪曲画像に関連づけられたホモグラフィの仮定に基づき、前記パターン検出システムによって決定されていることを特徴とする請求項９に記載の機械視覚システム。
【請求項１１】
前記プロセッサが、前記ホモグラフィ除去モジュールを使用して、前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づいてカーネルのセットの１つを選択し、前記位置の１つに前記選択されたカーネルを適用するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１２】
ホモグラフィ分解モジュールにおいて、歪曲画像に関連づけられたホモグラフィ行列を受信する工程と、
前記ホモグラフィ分解モジュールを使用して、集合的に前記ホモグラフィ行列を表す第１の変換および第２の変換を決定する工程であって、
前記第１の変換は前記歪曲画像を中間画像に関連付け、前記第２の変換は前記中間画像を修正画像に関連付け、前記第１の変換は、前記中間画像の第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられていることを特徴としており、
前記歪曲画像の前記第１の次元に沿う前記位置が、前記歪曲画像の前記第１の次元に沿って隣接する位置から同じ距離だけ離間していることを特徴としている、第１の変換および第２の変換を決定する工程と、
前記ホモグラフィ分解モジュールに接続されるホモグラフィ除去モジュールを使用して、前記歪曲画像から前記第１の変換を除去することによって、前記中間画像を生成する工程と、
前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去することによって、前記修正画像を生成する工程と、
を含むことを特徴とするコンピュータで処理される方法。
【請求項１３】
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記ホモグラフィ除去モジュールを使用して、前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記歪曲画像から前記第１の変換を除去することには、前記中間画像の第１のピクセルについて、前記歪曲画像の対応する第１の位置を決定することと、前記歪曲画像の前記対応する位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定することと、が含まれることを特徴とする請求項１２に記載の方法。
【請求項１７】
第２の次元の前記第１のピクセルと同一の座標を有する前記中間画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記歪曲画像の対応する第２の位置を決定することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるようにすることをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づき、カーネルのセットの１つを選択することと、前記位置の１つにおいて前記選択されたカーネルを適用することと、をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
ホモグラフィ分解モジュールおよびホモグラフィ除去モジュールに関連づけられた実行可能な命令を有する非一時的なコンピュータ可読媒体であって、機械視覚システムに、
歪曲画像に関連づけられたホモグラフィ行列を受信する工程と、
集合的に前記ホモグラフィ行列を表す第１の変換および第２の変換を決定する工程であって、
前記第１の変換は前記歪曲画像を中間画像に関連付け、前記第２の変換は前記中間画像を修正画像に関連付け、前記第１の変換は、前記中間画像の第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられることを特徴としており、
前記歪曲画像の前記第１の次元に沿う前記位置が、前記歪曲画像の前記第１の次元に沿って隣接する位置から同じ距離だけ離間していることを特徴としている、
第１の変換および第２の変換を決定する工程と、
前記歪曲画像から前記第１の変換を除去することによって、前記中間画像を生成する工程と、
前記中間画像から前記第２の変換を除去することによって、前記修正画像を生成する工程と、
を実行させることが可能である、非一時的なコンピュータ可読媒体。
【請求項２１】
機械視覚システムシステムであって、
メモリに格納されるコンピュータプログラムを実行するように構成されるプロセッサを備えており、前記コンピュータプログラムは前記プロセッサに、
第１の画像、および前記第１の画像に関連する第１の変換を受信する処理であって、前記第１の変換は前記第１の画像を第２の画像に関連づけ、前記第２の画像の次元に沿う複数のピクセルを前記第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられることを特徴としている、第１の画像と第1の変換を受信する処理と、
前記複数のピクセルの第１のピクセルについて、前記第１の画像の対応する第１の位置の座標を決定する処理と、
前記第１の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネル
の１つを選択することであって、前記サブピクセルのフェーズが前記第１の画像のピクセルグリッドからの前記第１の位置のサブピクセルのオフセットを示す、選択する処理と、
部分的に、前記選択されたカーネルを前記第１の画像の前記第１の位置の周りの少なくとも１つのピクセルに適用して、前記第２の画像の前記第１のピクセルの画像値を決定することにより、前記第１の画像から前記第２の画像を生成する処理と、
を実行させるように構成されている、プロセッサを備えていることを特徴とする機械視覚システム。
【請求項２２】
前記プロセッサが、前記第１のピクセルの座標上で前記第１の変換を操作することにより、前記第１の位置の前記座標を決定するように構成されていることを特徴とする請求項２１に記載の機械視覚システム。
【請求項２３】
前記プロセッサが、前記複数のピクセルの第２のピクセルについて、前記第１の位置の前記座標に定数を加えることにより、前記第１の画像の対応する第２の位置の座標を決定するように構成されていることを特徴とする請求項２１に記載の機械視覚システム。
【請求項２４】
前記プロセッサが、
前記第２の位置の前記座標に関連するサブピクセルのフェーズに基づき、前記複数のカーネルの第２のカーネルを選択することと、
部分的に、前記複数のカーネルの前記第２のカーネルを前記第１の画像の前記第２の位置の周りの少なくとも１つのピクセルに適用して、前記第２の画像の前記第２のピクセルの画像値を決定することにより、前記第１の画像から前記第２の画像を生成することと、
を実行するように構成されていることを特徴とする請求項２３に記載の機械視覚システム。
【請求項２５】
前記複数のカーネルが、複数のサブフェイズにおいてサンプリングされる同一の関数に対応することを特徴とする請求項２１に記載の機械視覚システム。
【請求項２６】
前記プロセッサが、
前記第２の画像に関連する第２の変換を受信することであって、前記第２の変換は前記第２の画像を第３の画像に関連づけ、前記第３の画像の次元に沿う複数のピクセルを前記第２の画像の前記次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、
前記第３の画像の第１のピクセルについて、前記第３の画像の対応する第１の位置の座標を決定することと、
前記第３の画像の前記第１の位置の前記座標に関連するサブピクセルのフェーズに基づき、前記複数のカーネルの１つを選択することと、
部分的に、前記複数のカーネルの前記１つを前記第３の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、前記第３の画像の前記第１のピクセルの画像値を決定することにより、前記第２の画像から前記第３の画像を生成することと、
を行うように構成されていることを特徴とする請求項２１に記載の機械視覚システム。
【請求項２７】
前記第１の変換および前記第２の変換が集合的な擬似変換を表していることを特徴とする請求項２６に記載の機械視覚システム。
【請求項２８】
前記第１の変換がダウンサンプリング操作を含んでいることを特徴とする請求項２１に記載の機械視覚システム。
【請求項２９】
前記第１の変換が第１の変換行列を含むことを特徴とする請求項２１に記載の機械視覚システム。
【請求項３０】
第１の画像、および前記第１の画像に関連する第１の変換を受信することであって、前記第１の変換は前記第１の画像を第２の画像に関連づけ、前記第２の画像の次元に沿う複数のピクセルを前記第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、
前記複数のピクセルの第１のピクセルについて、前記第１の画像の対応する第１の位置の座標を決定することと、
前記第１の位置の前記座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択することであって、前記サブピクセルのフェーズは前記第１の画像のピクセルグリッドからの前記第１の位置のサブピクセルのオフセットを示す、選択することと、
部分的に、前記選択されたカーネルを前記第１の画像の前記第１の位置の周りの少なくとも１つのピクセルに適用して、前記第２の画像の前記第１のピクセルの画像値を決定することにより、前記第１の画像から前記第２の画像を生成することと、
を含む、コンピュータにより処理される方法。
【請求項３１】
前記第１の位置の前記座標を決定することには、前記第１のピクセルの座標上で前記第１の変換を操作することが含まれることを特徴とする請求項３０に記載のコンピュータにより処理される方法。
【請求項３２】
前記複数のピクセルの第２のピクセルについて、前記第１の位置の前記座標に定数を加えることにより、前記第１の画像の対応する第２の位置の座標を決定することをさらに含むことを特徴とする請求項３０に記載のコンピュータにより処理される方法。
【請求項３３】
前記第２の位置の前記座標に関連するサブピクセルのフェーズに基づき、前記複数のカーネルの第２のカーネルを選択することと、
部分的に、前記複数のカーネルの前記第２のカーネルを前記第１の画像の前記第２の位置の周りの少なくとも１つのピクセルに適用して、前記第２の画像の前記第２のピクセルの画像値を決定することにより、前記第１の画像から前記第２の画像を生成することと、
をさらに含むことを特徴とする求項３２に記載のコンピュータにより処理される方法。
【請求項３４】
前記第２の画像に関連する第２の変換を受信することであって、前記第２の変換は前記第２の画像を第３の画像に関連づけ、前記第３の画像の次元に沿う複数のピクセルを前記第２の画像の前記次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、
前記第３の画像の第１のピクセルについて、前記第３の画像の対応する第１の位置の座標を決定することと、
前記第３の画像の前記第１の位置の前記座標に関連するサブピクセルのフェーズに基づき、前記複数のカーネルの１つを選択することと、
部分的に、前記複数のカーネルの前記１つを前記第３の画像の前記第１の位置の周りの少なくとも１つのピクセルに適用して、前記第３の画像の前記第１のピクセルの画像値を決定することにより、前記第２の画像から前記第３の画像を生成することと、
をさらに含むことを特徴とする請求項３０に記載のコンピュータにより処理される方法。
【請求項３５】
前記第１の変換および前記第２の変換が集合的な擬似変換を表す、請求項３４に記載のコンピュータにより処理される方法。
【請求項３６】
前記第１の変換がダウンサンプリング操作を含むことを特徴とする請求項３０に記載のコンピュータにより処理される方法。
【請求項３７】
前記第１の変換が第１の変換行列を含むことを特徴とする請求項３０に記載のコンピュータにより処理される方法。
【請求項３８】
ホモグラフィ分解モジュールおよびホモグラフィ除去モジュールに関連する実行可能な命令を有する非一時的なコンピュータ可読媒体であって、機械視覚システムに、
第１の画像、および前記第１の画像に関連する第１の変換を受信する処理であって、前記第１の変換は前記第１の画像を第２の画像に関連づけ、前記第２の画像の次元に沿う複数のピクセルを前記第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられることを特徴とする受信する処理と、
前記複数のピクセルの第１のピクセルについて、前記第１の画像の対応する第１の位置の座標を決定する処理と、
前記第１の位置の前記座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択する処理であって、前記サブピクセルのフェーズは前記第１の画像のピクセルグリッドからの前記第１の位置のサブピクセルのオフセットを示すことを特徴とする選択する処理と、
部分的に、前記選択されたカーネルを前記第１の画像の前記第１の位置の周りの少なくとも１つのピクセルに適用して、前記第２の画像の前記第１のピクセルの画像値を決定することにより、前記第１の画像から前記第２の画像を生成する処理と、
を実行させるように操作可能であることを特徴とする非一時的なコンピュータ可読媒体。
【請求項３９】
前記実施可能な命令が、機械視覚システムに、前記複数のピクセルの第２のピクセルについて、前記第１の位置の前記座標に定数を加えることで、前記第１の画像の対応する第２の位置の座標を決定させるように、さらに操作可能であることを特徴とする請求項３８に記載の非一時的なコンピュータ可読媒体。
【請求項４０】
前記複数のカーネルが、複数のサブフェイズにおいてサンプリングされる同一の関数に対応することを特徴とする請求項３８に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示するのは、画像処理用途のための画像のホモグラフィの射影（ｈｏｍｏｇｒａｐｈｉｃ  ｐｒｏｊｅｃｔｉｏｎ）の修正に関する装置、システム、および方法である。
【背景技術】
【０００２】
デジタル画像が、多くのデバイスによって形成され、多くの実用目的のために使用される。デバイスには、荷電結合デバイス（ＣＣＤ）画像センサまたは相補型金属酸化膜半導体（ＣＭＯＳ）画像センサ、線走査センサ、飛点走査装置、電子顕微鏡、コンピュータ断層撮影（ＣＴ）装置を含むＸ線装置、磁気共鳴映像装置、ならびに当業者に知られている他のデバイスなどの、可視光または赤外光で作動する画像センサを有するカメラが含まれる。実用用途が、産業オートメーション、医学診断、様々な軍事、民事、および科学的目的のための衛生撮像、写真処理、偵察および行先監視、文献処理、ならびに他の多くの用途に見出される。
【０００３】
これらの用途に対応するために、様々なデバイスによって形成された画像が、機械視覚システムによって解析されて適切な情報が抽出される。実用上かなり重要な解析の形態の１つが、撮像デバイスの視野内の対象に対応する画像のパターンの位置、配向、およびサイズの決定である。パターン検出法が、その方法が半導体製造、電子回路組立て、製薬、食品加工、消費財製造、および他の多くでロボットおよび他のオートメーション装置の誘導に使用される産業オートメーションにおいて特に重要である。
【０００４】
パターン検出方法は、斜視歪曲を受けてきた画像に作用することができる。しかし、斜視歪曲は、計算上での複雑さ、およびパターン検出方法の計算時間を増す傾向がある。したがって、前処理ステップとして、画像を修正して、パターン検出方法を実施する前に斜視歪曲を除去することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
開示の主題にしたがって、装置、システム、および方法が、画像処理用途のために画像のホモグラフィ（同形異義性）による歪曲を修正するために提供される。
【課題を解決するための手段】
【０００６】
いくつかの実施形態には、機械視覚システムが含まれる。このシステムは、メモリに格納されるコンピュータプログラムを実行するように構成されるプロセッサを含むことができる。このコンピュータプログラムは、プロセッサに、歪曲画像、および歪曲画像に関連づけられたホモグラフィ行列を受信することと、ホモグラフィ分解モジュールを使用して、集合的にホモグラフィ行列を表す第１の変換および第２の変換を決定することであって、第１の変換は歪曲画像を中間画像に関連付け、第２の変換は中間画像を修正画像に関連付け、第１の変換は、中間画像の第１の次元に沿うピクセルを、歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられ、歪曲画像の第１の次元に沿う位置が、歪曲画像の第１の次元に沿って隣接する位置から同じ距離だけ離間している。さらにホモグラフィ除去モジュールを使用して、歪曲画像から第１の変換を除去することによって、中間画像を生成することと、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去することによって、修正画像を生成することと、を行わせるように構成することができる。
【０００７】
いくつかの実施形態では、第２の変換が、修正画像の第１の次元に沿うピクセルを、中間画像の第１の次元に沿う位置にマッピングするように制約が加えられ、中間画像の第１の次元に沿う位置は、同じ距離だけ中間画像の第１の次元に沿って隣接する位置から離間する。
【０００８】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去する前に、中間画像を変形するようにさらに構成される。
【０００９】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去する前に、ダイレクトメモリアクセスコントローラ（直接的メモリアクセスコントローラ、ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌｌｅｒ）に中間画像を変形させるようにさらに構成される。
【００１０】
いくつかの実施形態では、ダイレクトメモリアクセスコントローラが、２次元のダイレクトメモリアクセスコントローラを使用して、中間画像を変形させるように構成される。
【００１１】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、中間画像の第１のピクセルについて、歪曲画像の対応する第１の位置を決定することと、歪曲画像の対応する第１の位置を囲むピクセルを畳み込み、第１のピクセルの画像値を決定することと、によって歪曲画像から第１の変換を除去するようにさらに構成される。
【００１２】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、第１のピクセルの座標上で第１の変換を操作することにより、対応する第１の位置を決定するようにさらに構成される。
【００１３】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、第２の次元の第１のピクセルと同一の座標を有する中間画像の第２のピクセルについて、第１の次元の対応する第１の位置の座標に定数を加えることにより、歪曲画像の対応する第２の位置を決定するように構成される。
【００１４】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、修正画像をパターン検出システムに提供することで、パターン検出システムが修正画像を使用して修正画像が特定のパターンを含むかどうかを決定できるようにするように構成される。
【００１５】
いくつかの実施形態では、プロセッサが、ホモグラフィ行列をパターン検出システムから受信するように構成され、ホモグラフィ行列は、歪曲画像に関連づけられたホモグラフィの仮定に基づき、パターン検出システムによって決定される。
【００１６】
いくつかの実施形態では、プロセッサが、ホモグラフィ除去モジュールを使用して、歪曲画像の第１の次元に沿う位置の１つのサブピクセル座標に基づき、カーネルのセットの１つを選択し、位置の１つに選択されたカーネルを適用するように構成される。
【００１７】
いくつかの実施形態には、開示のシステム、または開示の非一時的な（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ、固定された）コンピュータ可読媒体を操作する方法が含まれる。この方法には、ホモグラフィ分解モジュールにおいて、歪曲画像に関連づけられたホモグラフィ行列（ｈｏｍｏｇｒａｐｈｙ  ｍａｔｒｉｘ）を受信することと、ホモグラフィ分解モジュールを使用して、集合的にホモグラフィ行列を表す第１の変換および第２の変換を決定することであって、第１の変換は歪曲画像を中間画像に関連付け、第２の変換は中間画像を修正画像に関連付け、第１の変換は、中間画像の第１の次元に沿うピクセルを、歪曲画
像の第１の次元に沿う位置にマッピングするように制約が加えられ、歪曲画像の第１の次元に沿う位置が、歪曲画像の第１の次元に沿って隣接する位置から同じ距離だけ離間している、決定することと、ホモグラフィ分解モジュールに接続されるホモグラフィ除去モジュールを使用して、歪曲画像から第１の変換を除去することによって、中間画像を生成することと、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去することによって、修正画像を生成することと、が含まれる。
【００１８】
いくつかの実施形態では、方法が、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去する前に、中間画像を変形することを含む。
【００１９】
いくつかの実施形態では、方法が、ホモグラフィ除去モジュールを使用して、中間画像から第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに中間画像を変形させることをさらに含む。
【００２０】
いくつかの実施形態では、方法が、中間画像の第１のピクセルについて、歪曲画像の対応する第１の位置を決定することと、歪曲画像の対応する位置を囲むピクセルを畳み込み（ｃｏｎｖｏｌｖｅ）、第１のピクセルの画像値を決定することと、を含む。
【００２１】
いくつかの実施形態では、方法が、第２の次元の第１のピクセルと同一の座標を有する中間画像の第２のピクセルについて、第１の次元の対応する第１の位置の座標に定数を加えることにより、歪曲画像の対応する第２の位置を決定することを含む。
【００２２】
いくつかの実施形態では、方法が、修正画像をパターン検出システムに提供することで、パターン検出システムが修正画像を使用して修正画像が特定のパターンを含むかどうかを決定できるようにすることを含む。
【００２３】
いくつかの実施形態では、方法が、歪曲画像の第１の次元に沿う位置の１つのサブピクセル座標に基づき、カーネルのセットの１つを選択することと、位置の１つにおいて選択されたカーネルを適用することと、を含む。
【００２４】
いくつかの実施形態には、ホモグラフィ分解モジュールおよびホモグラフィ除去モジュールに関連する実行可能な命令を有する非一時的なコンピュータ可読媒体が含まれる。このモジュールは、機械視覚システムに、歪曲画像に関連づけられたホモグラフィ行列を受信することと、集合的にホモグラフィ行列を表す第１の変換および第２の変換を決定することであって、第１の変換は歪曲画像を中間画像に関連付け、第２の変換は中間画像を修正画像に関連付け、第１の変換は、中間画像の第１の次元に沿うピクセルを、歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられており、歪曲画像の第１の次元に沿う位置が、歪曲画像の第１の次元に沿って隣接する位置から同じ距離だけ離間している。さらに、歪曲画像から第１の変換を除去することによって中間画像を生成することと、中間画像から第２の変換を除去することによって修正画像を生成することと、を行わせるように操作することが可能である。
【００２５】
本明細書に記載される、開示の装置、システム、および方法により、多段階の修正プロセス（ｒｅｃｔｉｆｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓ、順変換工程）を使用して歪曲画像を修正画像にマッピングすることによって、歪曲画像のホモグラフィによる歪曲の修正の効率を向上させることができる。修正プロセスの各段階は、計算を減らし、メモリからの画像にアクセスするのに必要な時間の量を減らすように設計される。
【００２６】
いくつかの実施形態には、機械視覚システム（ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ  ｓｙｓｔｅｍ）が含まれる。このシステムには、メモリに格納されるコンピュータプログラムを
実行するように構成されるプロセッサが含まれ得る。このコンピュータプログラムはプロセッサに、第１の画像、および第１の画像に関連する第１の変換を受信することであって、第１の変換は第１の画像を第２の画像に関連づけ、第２の画像の次元に沿う複数のピクセルを第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、複数のピクセルの第１のピクセルについて、第１の画像の対応する第１の位置の座標を決定することと、第１の位置の座標に関連するサブピクセルのフェーズ（サブピクセルの相、ｓｕｂ−ｐｉｘｅｌ  ｐｈａｓｅ）に基づき、複数のカーネルの１つを選択することであって、サブピクセルのフェーズが第１の画像のピクセルグリッドからの第１の位置のサブピクセルのオフセット（ｓｕｂ−ｐｉｘｅｌ  ｏｆｆｓｅｔ）を示す、選択することと、部分的に、選択されたカーネルを第１の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、第２の画像の第１のピクセルの画像値（ｉｍａｇｅ  ｖａｌｕｅ）を決定することにより、第１の画像から第２の画像を生成することと、を行わせるように構成され得る。
【００２７】
いくつかの実施形態では、プロセッサが、第１のピクセルの座標上で第１の変換を操作することにより、第１の位置の座標を決定するように構成される。
【００２８】
いくつかの実施形態では、プロセッサが、複数のピクセルの第２のピクセルについて、第１の位置の座標に定数を加えることにより、第１の画像の対応する第２の位置の座標を決定するように構成される。
【００２９】
いくつかの実施形態では、プロセッサが、第２の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの第２のカーネルを選択することと、部分的に、複数のカーネルの第２のカーネルを第１の画像の第２の位置の周りの少なくとも１つのピクセルに適用して、第２の画像の第２のピクセルの画像値を決定することにより、第１の画像から第２の画像を生成することと、を行うように構成される。
【００３０】
いくつかの実施形態では、プロセッサが、第２の画像に関連する第２の変換を受信することであって、第２の変換は第２の画像を第３の画像に関連づけ、第３の画像の次元に沿う複数のピクセルを第２の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、第３の画像の第１のピクセルについて、第３の画像の対応する第１の位置の座標を決定することと、第３の画像の第１の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択することと、部分的に、複数のカーネルの１つを第３の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、第３の画像の第１のピクセルの画像値を決定することにより、第２の画像から第３の画像を生成することと、を行うように構成される。
【００３１】
いくつかの実施形態には、開示のシステムまたは開示の非一時的なコンピュータ可読媒体を操作する方法が含まれる。この方法は、第１の画像、および第１の画像に関連する第１の変換を受信することであって、第１の変換は第１の画像を第２の画像に関連づけ、第２の画像の次元に沿う複数のピクセルを第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、複数のピクセルの第１のピクセルについて、第１の画像の対応する第１の位置の座標を決定することと、第１の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択することであって、サブピクセルのフェーズが第１の画像のピクセルグリッドからの第１の位置のサブピクセルのオフセットを示す、選択することと、部分的に、選択されたカーネルを第１の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、第２の画像の第１のピクセルの画像値を決定することにより、第１の画像から第２の画像を生成することと、を含む。
【００３２】
いくつかの実施形態では、第１の位置の座標を決定することには、第１のピクセルの座
標上で第１の変換を操作することが含まれる。
【００３３】
いくつかの実施形態では、方法が、複数のピクセルの第２のピクセルについて、第１の位置の座標に定数を加えることで、第１の画像の対応する第２の位置の座標を決定することをさらに含む。
【００３４】
いくつかの実施形態では、方法が、第２の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの第２のカーネルを選択することと、部分的に、複数のカーネルの第２のカーネルを第１の画像の第２の位置の周りの少なくとも１つのピクセルに適用して、第２の画像の第２のピクセルの画像値を決定することにより、第１の画像から第２の画像を生成することと、をさらに含む。
【００３５】
いくつかの実施形態では、方法が、第２の画像に関連する第２の変換を受信することであって、第２の変換は第２の画像を第３の画像に関連づけ、第３の画像の次元に沿う複数のピクセルを第２の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、第３の画像の第１のピクセルについて、第３の画像の対応する第１の位置の座標を決定することと、第３の画像の第１の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択することと、部分的に、複数のカーネルの１つを第３の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、第３の画像の第１のピクセルの画像値を決定することにより、第２の画像から第３の画像を生成することと、をさらに含む。
【００３６】
いくつかの実施形態には、ホモグラフィ分解モジュールおよびホモグラフィ除去モジュールに関連する実施可能な命令を有する非一時的なコンピュータ可読媒体が含まれる。このモジュールは、機械視覚システムに、第１の画像、および第１の画像に関連する第１の変換を受信することであって、第１の変換は第１の画像を第２の画像に関連づけ、第２の画像の次元に沿う複数のピクセルを第１の画像の次元に沿う複数の位置にマッピングするように制約が加えられる、受信することと、複数のピクセルの第１のピクセルについて、第１の画像の対応する第１の位置の座標を決定することと、第１の位置の座標に関連するサブピクセルのフェーズに基づき、複数のカーネルの１つを選択することであって、サブピクセルのフェーズは第１の画像のピクセルグリッドからの第１の位置のサブピクセルのオフセットを示す、選択することと、部分的に、選択されたカーネルを第１の画像の第１の位置の周りの少なくとも１つのピクセルに適用して、第２の画像の第１のピクセルの画像値を決定することにより、第１の画像から第２の画像を生成することと、を行わせるように操作可能である。
【００３７】
いくつかの実施形態では、実施可能な命令は、機械視覚システムに、複数のピクセルの第２のピクセルについて、第１の位置の座標に定数を加えることで、第１の画像の対応する第２の位置の座標を決定させるように、さらに操作可能である。
【００３８】
いくつかの実施形態では、複数のカーネルが、複数のサブフェイズにおいてサンプリングされる同一の関数に対応する。
【００３９】
いくつかの実施形態では、第１の変換および第２の変換が集合的な擬似変換（アフィン変換、ａｆｆｉｎｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を表す。
【００４０】
いくつかの実施形態では、第１の変換がダウンサンプリング操作（ｄｏｗｎ  ｓａｍｐｌｅ、低解像度処理）を含む。
【００４１】
いくつかの実施形態では、第１の変換が第１の変換行列を含む。
【００４２】
本明細書に記載される、開示の装置、システム、および方法により、多段階修正プロセスを使用して歪曲画像を修正画像にマッピングすることによって、歪曲画像のホモグラフィによる歪曲の修正の効率を向上させることができる。修正プロセスの各段階は、計算を減らし、メモリからの画像にアクセスするのに必要な時間の量を減らすように設計されている。
【００４３】
以下のその詳細な説明がより良く理解され得るために、また、技術への本件の寄与がより良く認識され得るために、開示の主題の特徴をこうして幾分大まかに概説した。もちろん、これ以降に記載され、本明細書に添付される特許請求の範囲の主題を形成する、開示の主題のさらなる特徴がある。本明細書に利用される言い回しおよび用語は、説明を目的とするものであり、限定的に捉えられるべきではないことを理解されたい。
【００４４】
開示の主題の様々な目的、特徴、および利点が、以下の図面と関連づけて考察されると、以下の開示の主題の詳細な説明を参照することで、より完全に認識され得る。図面において、同様の参照符号は同様の要素を識別する。
【図面の簡単な説明】
【００４５】
【図１】図１は、いくつかの実施形態による、歪曲画像のホモグラフィを修正する機械視覚システムを示す。
【図２】図２は、いくつかの実施形態による、修正画像を中間画像に歪曲させる第２の変換Ｂの適用、および、中間画像を歪曲画像に歪曲させる第１の変換Ａの適用を示す。
【図３】図３は、いくつかの実施形態による、２段階画像マッピングプロセスを示す。
【図４】図４は、いくつかの実施形態による、斜視湾曲を受けた歪曲画像の例を示す。
【図５】図５は、いくつかの実施形態による、図４の歪曲画像から第１の変換を除去することによって生成される中間画像の例を示す。
【図６】図６は、いくつかの実施形態による、図５の中間画像から第２の変換Ｂを除去することによって生成される修正画像の例を示す。
【発明を実施するための形態】
【００４６】
以下の説明では、開示の主題を十分に理解することを可能にするために、開示の主題のシステムおよび方法、ならびにそれらのシステムおよび方法が機能できる環境などに関して、多数の具体的な詳細が説明される。しかし、開示の主題はそのような具体的な詳細に関わらず実施され得、また、開示の主題が複雑になることを避けるために、当該技術分野で周知の特定の特徴は詳細に記載されないことが、当業者には明らかになる。さらに、以下に提供される例は例示的なものであり、また、開示の主題の範囲内にある他のシステムおよび方法が存在することが予想されることが理解されよう。
【００４７】
画像は、その値が、たとえば明るさ（反射された、または別様の放射エネルギー）、色、温度、基準面からの高さなどの対象の物理的特性に対応し、任意の画像形成デバイスによって測定されるか、その値が、対象のシミュレートされる特性に対応し、任意のデータ処理デバイスによって生成される、２次元的相関関係を含み得る。画像は、２次元行列と見なすことができ、２次元行列の各ビン（ｂｉｎ、たとえば、ピクセル）は、値、または値のセットと関連する。各ピクセルは、２次元座標（ｘ，ｙ）を使用して識別することができる。いくつかの実施形態では、同一のｙ座標を有するピクセルのセットによって画像の列を識別することができ、同一のｘ座標を有するピクセルのセットによって画像の行を識別することができる。
【００４８】
歪曲画像には、たとえば斜視効果（ｐｅｒｓｐｅｃｔｉｖｅ  ｅｆｆｅｃｔ）による歪曲を受けた画像が含まれ得る。歪曲画像は、画像平面上に配置することができ、それは、対象の平面の斜視図を表し得る。したがって、対象の平面の平行線は、画像平面上で、歪曲画像内または歪曲画像外のいずれかで、一点に集まる場合がある。
【００４９】
修正画像は、歪曲画像から歪曲（たとえば、斜視効果）を除去することによって元に戻される画像を含み得る。修正画像は、対象の平面に配置することができ、それは、対象の平面の正射影図を表し得る。修正画像において、対象の平面の消失線は無限遠での線となる場合がある。
【００５０】
画像処理は、画像に示される特徴の指標（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ ｏｆｆｅ
ａｔｕｒｅｓ）を決定するための画像の自動分析に関する場合がある。画像処理は、たとえば、部品の画像を分析して、組立ての前に位置と配列を決定する、自動化された製造ラインにおいて使用される。画像処理は、たとえば、パッケージの画像を分析して、製品のラベル、ロット番号、および「賞味」期限が適切に配置され、読みやすくなっていることを保証する、品質確認においても使用される。
【００５１】
画像処理は、産業上のものではない用途も有する。バイオテクノロジーの研究においては、画像処理はたとえば、顕微鏡により画像化されたサンプルの組成、または培養液内の生長パターンを識別するのに使用することができる。巨視的なスケール上では、低速度撮影画像において対象を見つけるために天文学の研究に使用することができる。画像処理の気象上、農業上、および防衛上の用途には、衛星画像における対象の検出および分析が含まれる。
【００５２】
対象／パターン／特徴点の検出の精度を向上させるための画像処理技術の１つが、ホモグラフィの修正（ｒｅｃｔｉｆｉｃａｔｉｏｎ、順変換）である。ホモグラフィは、空間の同一の２次元表面の２つの画像間の関係に関する。ホモグラフィは、画像の修正に用途を有し、このことは、歪曲画像を、消失線が無限遠の線になる共通の画像平面の修正画像にマッピングするプロセスに関する場合がある。この変換プロセスは、ホモグラフィの修正と呼ぶことができる。ある意味では、ホモグラフィの修正により、撮像システムの斜視プロパティによって導入される歪曲が除去される。
【００５３】
ホモグラフィの修正において、ホモグラフィ（たとえば、歪曲画像と修正画像との間のマッピング）がわかると、画像マッピング技術を使用して、歪曲画像からホモグラフィを除去して修正画像に戻すことができる。この除去操作には、サイズの変更、転換、回転、斜めに歪めること、および／または他の画像変換操作の１つまたは複数を含む場合がある、１つまたは複数の画像処理操作が含まれ得る。
【００５４】
慣習的な画像マッピング技術は、不都合に遅く、ほとんどの画像処理用途について、計算に集中しすぎている。慣習的な画像マッピング技術ではしばしば、修正画像のすべてのピクセル位置について、歪曲画像の対応するピクセル位置を識別し、その歪曲画像での対応するピクセル位置の値を、修正画像の関連するピクセル位置にコピーして、マッピングを完了する。単純な例では、修正画像のすべてのピクセルの座標位置が、ソースに存在するピクセルに直接マッピングされる。したがって、たとえば、修正画像の座標（４，１０）のピクセルが歪曲画像の座標（２，５）にマッピングされたり、修正画像の（６，１０）のピクセルが歪曲画像の（３，５）にマッピングされたりする。
【００５５】
しかし、修正画像のピクセルが歪曲画像のグリッド位置に直接マッピングされることはまれである。したがって、たとえば、修正画像の座標（４，１０）のピクセルが、サブピクセルだけピクセルグリッドから離れた位置、たとえば、歪曲画像の座標（２．５，５．
３３）にマッピングされる場合がある。このため、決定位置における適切な画像値を決定するために、補間および／またはフィルタリングを必要とする場合がある。上述の例では、修正画像の座標（４，１０）のピクセルの適切な強度が、ソースのピクセル位置（２，５）、（３，５）、（２，６）、および（３，６）の強度の加重平均値として決定される場合がある。以下、位置（ｌｏｃａｔｉｏｎ）という用語は、平面における座標に言及するのに使用し、ピクセルグリッド上にあるか、ピクセルグリッド上にない場合がある。
【００５６】
そのような画像マッピング技術は通常、計算上の費用がかかり、かつ多くの時間がかかり、この理由は、歪曲画像の対応するピクセル（複数の場合もある）を、修正画像の各ピクセルについて独立して識別しなければならないためである。
【００５７】
さらに、そのような画像マッピング技術は通常、そのメモリの使用において非効率的であり、この理由は、それらの技術により、それがメモリ構造に並べられていない方式（たとえば、データがメモリ内に格納される方法）でメモリに格納されるピクセルにアクセスするためである。たとえば、画像マッピング技術が歪曲画像の１つまたは複数のピクセルを使用して、修正画像のピクセルについての画像値を補間する場合、１つまたは複数のピクセルがメモリから呼び出される。ダイナミックランダムアクセスメモリ（ＤＲＡＭ）などの所定の種類のメモリは、連続するメモリ位置（たとえば、画像の連続するｘ座標）にアクセスする特性を有し、一般に、連続しないアクセスよりも非常に速い。したがって、メモリからの１つまたは複数のピクセルにアクセスする順番、または１つまたは複数のピクセルがメモリに書き込まれる順番が、迅速なメモリアクセス操作に不可欠である場合がある。残念ながら、慣習的な画像マッピング技術は、１つまたは複数のピクセルを呼び出す順番がメモリに好適であることを保証していない。メモリからアクセスされる１つまたは複数のピクセルが、メモリ内の連続するメモリ位置に対応していない場合があるので、メモリからピクセルを取り出すのに時間がかかる可能性がある。
【００５８】
慣習的な画像マッピング技術に関連するいくつかの問題点が、「３Ｄ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ  ｏｆ  Ｉｍａｇｅｓ  ｉｎ  Ｓｃａｎｌｉｎｅ  Ｏｒｄｅｒ」（カトムル（ｃａｔｍｕｌｌ）及びスミス，１９８０）である程度扱われた。カトムルは、修正画像内のピクセル（目標ピクセルと呼ばれる）に対応する歪曲画像のピクセル（ソースピクセルと呼ばれる）がメモリ内の連続する位置に配置されるように、画像マッピングプロセスを複数の段階に分解する方法を示している。しかし、カトムルの方法は依然として、各目標ピクセルについて実質的な計算、特に除法を実施することを必要とする。カトムルは、その方法を専用のハードウェアに組合せて、計算スピードを向上させたようであるが、その方法は、汎用プロセッサで効果的に実施するのは容易ではない。
【００５９】
慣習的な画像マッピング技術に関連するいくつかの問題点が、「Ｈｉｇｈ−ｑｕａｌｉｔｙ  ｍｕｌｔｉ−ｐａｓｓ  ｉｍａｇｅ  ｒｅｓａｍｐｌｉｎｇ」（ツェリスキー（Ｓｚｅｌｉｓｋｉ）ら  ，２０１０）でもある程度扱われた。ツェリスキーは、ほぼ間違いなく所定の所望の特性を有する画像マッピングのいくつかのクラスを実施する方法を開示している。しかし、ツェリスキーの方法は、ホモグラフィ／斜視画像マッピングに適用されない。実際、ツェリスキーは、「完全な計算効率を達成することが困難であることから、最適な複数パス斜視アルゴリズムの理論はまだ完全には開発していない」と認めている。したがって、ホモグラフィ／斜視画像マッピングのための、計算とメモリのアクセスの効率を向上させる必要がある。
【００６０】
本開示は、歪曲画像を修正画像にマッピングするための多段階（）画像マッピング機構を提供する。たとえば、多段階画像マッピング機構により、（１）歪曲画像から歪曲を部分的に除去して中間画像を生成する第１の段階と、（２）中間画像から残りの歪曲を除去して修正画像に戻す第２の段階と、の２段階で、歪曲画像からホモグラフィを除去して、
修正画像を再構成することができる。（１）２つの画像のピクセル間の対応を識別すること、（２）メモリからのピクセルにアクセスすること、および（３）画像値を決定するためにピクセルをフィルタリングすることにおいて、各段階を効率的とすることが可能であるため、多段階機構が有利となり得る。
【００６１】
このため、多段階画像マッピング機構により、ホモグラフィ変換Ｈが、２つの別々の変換、第１の変換Ａと第２の変換Ｂとに分解される。したがって、
Ｈ ＝ Ａ ＊ Ｂ
である。この表現の下では、第２の変換Ｂが対象の平面（たとえば、修正された画像に関連する平面）の座標を中間画像の平面（たとえば、中間画像に関連する平面）の座標にマッピングするように設計され、第１の変換Ａが中間画像の平面の座標を画像の平面（たとえば、歪曲画像に関連づけられた平面）の座標にマッピングするように設計される。したがって、多段階画像マッピング機構の第１の段階は、歪曲画像から第１の変換Ａを除去して中間画像を生成するものと考えることができ、多段階画像マッピング機構の第２の段階は、中間画像から第２の変換Ｂを除去して修正画像を生成するものと考えることができる。
【００６２】
前の説明では、ソース画像は、ホモグラフィの分解される変換（たとえば、第１の変換Ａまたは第２の変換Ｂ）の１つへの入力として提供される画像に関し、目標画像は、ホモグラフィの分解される変換（たとえば、第１の変換Ａまたは第２の変換Ｂ）の１つからの出力として提供される画像に関する。たとえば、第２の変換Ｂについては、ソース画像は修正画像であり、目標画像は中間画像である。また、第１の変換Ａについては、ソース画像は中間画像であり、目標画像は歪曲画像である。
【００６３】
いくつかの実施形態では、１つまたは複数の分解される変換（Ａおよび／またはＢ）が、特定のｙ座標を有するソース画像のすべてのピクセルを、決まったｙ座標を有する目標画像のピクセルにマッピングするように設計される。一例では、第１の変換Ａがソース画像の列を目標画像の列にマッピングするように構成される。この特徴により、大部分のメモリがソース画像および／または目標画像についてメモリ構造と整列させるようにアクセスすることが可能になり、それによってキャッシュミスが減り、外部メモリにアクセスするためのアクセス時間が短縮される。
【００６４】
いくつかの実施形態では、１つまたは複数の分解される変換（Ａおよび／またはＢ）が、ソース画像の特定の列のピクセルを目標画像の決まった列の隣接する位置から等距離にある位置にマッピングするように構成される。たとえば、ソース画像（たとえば、第１の変換Ａについての中間画像）のピクセル（１，ｙ０）、（２，ｙ０）、（３，ｙ０）を、目標画像（たとえば、第１の変換Ａについての歪曲画像）のピクセル（２，ｙ１）、（４，ｙ１）、（６，ｙ１）にマッピングすることができる。前のように、目標画像の決まった列は、ピクセルグリッドからサブピクセル値だけオフセットしてもよい。したがって、座標ｙ１は、小数の座標値（たとえば、３．５）となり得る。
【００６５】
いくつかの実施形態では、目標画像における位置間の距離が一定であるため（「サンプリング定数」と称する）、画像マッピング技術により、ソース画像の特定の列のピクセルに対応する目標画像の位置を独立して計算する必要はない。代わりに、画像マッピング技術により、ソース画像の第１のピクセルに対応する目標画像の第１の位置が識別されると、画像マッピング技術により第１の位置を参照ポイントとして使用して、ソース画像の第１のピクセルと同じ列の隣接するピクセルに対応する第２の位置を（たとえば、第１の位置のｘ座標にサンプリング定数を単に加えることによって）決定する。分解される変換のこの特性により、ソース画像のピクセルに対応する目標画像の１つまたは複数の位置を識別するために必要な計算量が減少する。
【００６６】
図１は、いくつかの実施形態による、歪曲画像のホモグラフィを修正する機械視覚システム１００を示す。システム１００は、プロセッサ１０４、メモリ１０６、ホモグラフィ修正（ＨＲ）モジュール１０８、直接的メモリアクセス（ＤＭＡ）コントローラ１１４を含むコンピュータデバイス１０２と、インターフェイス１１６とを含み得る。システム１００は、現場の画像を生成することができる画像取得デバイスをも含み得る。
【００６７】
いくつかの実施形態では、プロセッサ１０４は命令を実行することができ、１つまたは複数のメモリデバイス１０６は命令および／またはデータを格納することができる。メモリデバイス１０６は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、フラッシュメモリ、磁気ディスクドライブ、光学ドライブ、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、リードオンリーメモリ（ＲＯＭ）、もしくは他の任意のメモリまたはメモリの組合せなどの、非一時的なコンピュータ可読媒体とすることができる。メモリデバイス１０６は、一時的にデータを格納するのに使用することができる。メモリデバイス１０６は、長期間のデータの格納にも使用することができる。プロセッサ１０４およびメモリデバイス１０６は、特定の目的の論理回路により補足および／または特定の目的の論理回路に組み込むことができる。
【００６８】
いくつかの実施形態では、ＨＲモジュール１０８はホモグラフィ分解モジュール１１０およびホモグラフィ除去モジュール１１２を含み得る。
【００６９】
ホモグラフィ分解モジュール１１０は、歪曲画像から除去されるホモグラフィの表示を受信し、このホモグラフィに対応する分解される変換を決定するように構成することができる。分解される変換には、たとえば、歪曲画像から除去して中間画像を生成する第１の変換Ａ、および、中間画像から除去して修正画像を生成する第２の変換Ｂが含まれ得る。いくつかの実施形態では、分解される変換には、歪曲画像から順に除去して修正画像を生成することができる、３つ以上の変換、たとえば、３つまたは４つの変換が含まれ得る。
【００７０】
ホモグラフィ分解モジュール１１０は、ソース画像の特定の列のすべてのピクセルが、目標画像の決まったｙ座標にマッピングされるように、１つまたは複数の分解される変換に制約を加えることができる。決まったｙ座標は整数であってもよく、その場合、ソース画像の特定の列のすべてのピクセルは目標画像の決まった列にマッピングされる。同様に、ホモグラフィ分解モジュール１１０は、ソース画像の特定の列のピクセルが、目標画像の決まったｙ座標において互いから等距離にある位置にマッピングされるように、１つまたは複数の分解される変換に制約を加えることができる。
【００７１】
ホモグラフィ除去モジュール１１２は、歪曲画像から分解される変換を除去して修正画像に戻すように構成することができる。たとえば、ホモグラフィ除去モジュール１１２は、歪曲画像から第１の変換Ａを除去して中間画像を生成することができ、中間画像から第２の変換Ｂを除去して修正画像に戻すことができる。いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、目標画像の列をダウンサンプリング（ｄｏｗｎ−ｓａｍｐｌｅ）して、目標画像から分解される変換を除去することができる。この場合、ホモグラフィ除去モジュール１１２は目標画像の各列を異なるサンプリング比でダウンサンプリングして、分解される変換の斜視歪曲に対処することができる。
【００７２】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、分解される変換の除去プロセスの一部として、目標画像をダウンサンプリングするように構成することができる。このことは、たとえばダウンサンプリング比により、分解される変換を適切にスケーリングすることによって行うことができる。
【００７３】
いくつかの実施形態では、直接的メモリアクセス（ＤＭＡ）コントローラ１１４が、特定のハードウェアデバイスがメインメモリとの間で直接データを送受信することを可能にするように構成され、それによってメモリ操作を高速化するようにプロセッサ１０４をバイパスする。たとえば、ＤＭＡコントローラ１１４により、ホモグラフィ分解モジュール１１０に、プロセッサ１０４を伴うことなくメモリ１０６にアクセスすることを可能にすることができる。いくつかの実施形態では、ＤＭＡコントローラ１１４は２次元ＤＭＡを実施することができる。この２次元ＤＭＡにより、画像の行に対応していないメモリ内の一定のバイト数を自動的に飛び越えることができる。
【００７４】
いくつかの実施形態では、インターフェイス１１６は、ハードウェア内で実施されて、光学、チョッパ、および／または無線インターフェイスなどの様々な媒体で、およびその中の固定されているものがあってもよい、いくつかの異なるプロトコルで信号を送受信することができる。
【００７５】
いくつかの実施形態では、モジュール１０８、１１０、１１２の１つまたは複数をソフトウェア内で実施することができる。このソフトウェアは、コンピュータの命令またはコンピュータコードを実行可能であるプロセッサ１０４上で実行することができる。プロセッサ１０４は、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または任意の他の集積回路を使用して、ハードウェア内で実施される。コンピュータプログラムを実行するのに適切なプロセッサ１０４には、例として、一般と特殊の両方の目的のマイクロプロセッサ、デジタルシグナルプロセッサ、および任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサが含まれる。一般に、プロセッサ１０４はリードオンリーメモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。
【００７６】
モジュール１０８、１１０、１１２は、デジタル電子回路内、またはコンピュータのハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せの中で実施することができる。実施は、たとえばプログラマブルプロセッサ、コンピュータ、および／または複数のコンピュータなどのデータ処理装置によって実行させる、または操作を制御させる、たとえば機械読取り可能な記憶デバイスに明白に埋め込まれたコンピュータプログラムなどの、コンピュータプログラム製品としてすることができる。コンピュータプログラムは、ソースコード、コンパイルコード、解釈されたコード、および／または機械コードを含むコンピュータまたはプログラミング言語の任意の形式で書き込むことができる。また、コンピュータプログラムは、スタンドアローンなプログラムまたはサブルーチンとして、コンピュータ環境での使用に適切な要素、または他の単位を含む任意の形式で展開することができる。コンピュータプログラムは、展開して、１つのコンピュータ、または１つまたは複数の現場の複数のコンピュータ上で実行することができる。
【００７７】
いくつかの実施形態では、２つ以上のモジュール１０８、１１０、１１２を、ＡＳＩＣ、ＰＬＡ、ＤＳＰ、またはＦＰＧＡなどの同じ集積回路上で実施することができ、それによってチップ上にシステムを形成する。サブルーチンは、１つまたは複数の機能を実施する、コンピュータプログラム、および／またはプロセッサ／特定の電子回路の部分に関連することができる。
【００７８】
コンピュータデバイス１０２は、画像取得デバイスに操作可能に接続することができる。画像取得デバイス１１８は、インターフェイス１１６を介して、１つまたは複数の修正される画像を提供することができる。画像取得デバイス１１８には、荷電結合デバイス（ＣＣＤ）画像センサまたは相補型金属酸化膜半導体（ＣＭＯＳ）画像センサ、線走査センサ、飛点走査装置、電子顕微鏡、コンピュータ断層撮影（ＣＴ）装置を含むＸ線装置、磁
気共鳴映像装置、ならびに当業者に知られている他のデバイスが含まれ得る。
【００７９】
コンピュータデバイス１０２は、命令および／もしくはデータを装置もしくはネットワークから受信するために、および／または命令および／もしくはデータを装置もしくはネットワークに送信するために、たとえばファクトリーオートメーションもしくは物流機材などの外部装置、または、たとえばファクトリーオートメーションもしくは物流機材のネットワークなどの通信ネットワークと操作可能に接続することができる。コンピュータプログラムの命令およびデータを具体化するのに適切なコンピュータ可読記憶デバイスには、ＤＲＡＭ、ＳＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、ならびにＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、およびＢｌｕ−ｒａｙ（登録商標）ディスクなどの光学ディスクを例として含む、すべての形式の揮発性および非揮発性メモリが含まれる。
【００８０】
いくつかの実施形態では、コンピュータデバイス１０２はユーザ装置を含むことができる。ユーザ装置は、１つまたは複数の無線アクセスネットワーク、および有線通信ネットワークと通信することができる。ユーザ装置は、移動電話であってもよい。ユーザ装置はまた、ワードプロセッシング、ウェブブラウジング、ゲーミング、電子書籍機能、オペレーティングシステム、およびフルキーボードなどのサービスを提供するスマートフォンでもよい。ユーザ装置は、ネットワークへのアクセス、およびスマートフォンによって提供されるサービスのほとんどを提供するタブレットコンピュータでもよい。ユーザ装置は、Ｓｙｍｂｉａｎ  ＯＳ、ｉＰｈｏｎｅ（登録商標）ＯＳ、ＲＩＭのＢｌａｃｋｂｅｒｒｙ（登録商標）、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）、Ｌｉｎｕｘ（登録商標）、ＨＰ  ＷｅｂＯＳ、およびＡｎｄｒｏｉｄ（登録商標）などのオペレーティングシステムを使用して機能する。スクリーンはデータをモバイルデバイスに入力するのに使用されるタッチスクリーンであってもよく、その場合、スクリーンはフルキーボードの代わりに使用することができる。ユーザ装置は、全地球測位座標、プロフィール情報、または他の位置情報を保有することもできる。
【００８１】
いくつかの実施形態では、コンピュータデバイス１０２はサーバを含むことができる。サーバは、オペレーティングシステム（ＯＳ）ソフトウェアを使用して機能することができる。いくつかの実施形態では、ＯＳソフトウェアは、Ｌｉｎｕｘ（登録商標）ソフトウェアカーネルを基礎とし、タスクの監視およびプロトコルスタックの提供などの特定のアプリケーションをサーバ内で実行する。ＯＳソフトウェアは、制御およびデータパスのために、サーバのリソースを別々に配置することを許容する。たとえば、特定のパケットアクセラレータカードおよびパケットサービスカードがルーティングまたはセキュリティコントロール機能の実施に割り当てられ、一方では他のパケットアクセラレータカード／パケットサービスカードがユーザのセッショントラフィックの処理に割り当てられる。ネットワークの要求が変化すると、ハードウェアのリソースを動的に展開して、いくつかの実施形態における要求に対処することができる。
【００８２】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、２段階画像マッピングプロセスを使用して、歪曲画像を修正して修正画像に戻すように構成することができる。２段階画像マッピングプロセスの第１の段階では、ホモグラフィ除去モジュール１１２は、歪曲画像のｘ軸に沿ってピクセルを処理することにより、歪曲画像から第１の変換Ａを除去して中間画像を生成することができ、２段階画像マッピングプロセスの第２の段階では、ホモグラフィ除去モジュール１１２は、中間画像のｙ軸に沿ってピクセルを処理することにより、第２の変換Ｂを除去することができる。
【００８３】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２がソース画像のｘ軸に沿
って、および目標画像のｘ軸に沿って、優先的にピクセルにアクセスするように、ホモグラフィの１つまたは複数の分解される変換を設計することができる。この理由は、メモリは通常、画像のｘ軸に対して整列されるためである。言い換えると、メモリは通常、画像のすべてのピクセルが格納されるまで、（１）ｘ軸に沿うピクセルの順番を維持しつつ、第１のｙ座標を有するすべてのピクセルを格納し、その後に、（２）ｘ軸に沿うピクセルの順番を維持しつつ、第２のｙ座標（しばしば、第１のｙ座標に隣接する）を有するすべてのピクセルを格納することによって、画像を格納する。したがって、画像のｘ軸に沿うピクセルに優先的にアクセスする１つまたは複数の分解される変換を設計することによって、ホモグラフィ除去モジュール１１２が直接的メモリアクセス、たとえば、ダイレクトメモリアクセスコントローラを使用して、キャッシュミスおよびアクセス時間を減少させることができる。
【００８４】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、２段階画像マッピングプロセスの第２の段階を開始する前に、２段階画像マッピングプロセスの第１の段階によって生成された中間画像を変形するように構成することができる。そうすることによって、２段階画像マッピングプロセスの第２の段階が中間画像のｙ軸に沿ってピクセルを処理するように構成されていても、ホモグラフィ除去モジュール１１２は依然として、変形された中間画像のｘ軸（これは事実上、変形された中間画像のｙ軸である）に沿うピクセルに優先的にアクセスして、２段階画像マッピングプロセスの第２の段階の間にメモリアクセスをメモリ構造に整列させることができる。
【００８５】
上述のように、いくつかの実施形態では、ホモグラフィ分解モジュール１１０は、ホモグラフィを、集合的にホモグラフィを示す第１の変換と第２の変換とに分解するように構成される。場合によっては、ホモグラフィ分解モジュール１１０が所定のホモグラフィを受信すると、ホモグラフィ分解モジュール１１０は、ホモグラフィと、第１の変換と、第２の変換との間の所定の関係を使用して、分解を決定することができる。以下に、ホモグラフィと、第１の変換と、第２の変換との間の所定の関係を記載する。
【００８６】
ホモグラフィは通常、３×３ホモグラフィ行列Ｈを使用して一様座標（ｘｈ，ｙｈ，ｚｈ）に表され、ここでは、下付文字ｈが、変数が一様座標に関連することを示す。（ｘ，ｙ）が対象平面（たとえば、修正画像に関連する平面）の座標系であり、（ｘ’，ｙ’）が画像平面（たとえば、歪曲画像に関連づけられた平面）の座標系であると仮定する。一様座標の定義により、以下の式が成り立つ。
【数１】
2020053062.tif 000003
【数２】
2020053062.tif 000004
【数３】
2020053062.tif 000005
【数４】
2020053062.tif 000006
【００８７】
通常の斜視操作は以下のように示すことができる。
【数５】
2020053062.tif 000007
または、Ｈの座標を明確に識別することによって同様に示すことができる。
【数６】
2020053062.tif 000008
【００８８】
一般性を失うことなく、ホモグラフィ分解モジュール１１０により、画像平面の原点を選択することができ、目標平面の原点となる位置も同様に規定する。この方法で、ホモグラフィ行列Ｈを簡約して、転換（ｔｒａｎｓｌａｔｉｏｎ）を除去することができる。すなわち、
ｈ０２＝ｈ１２＝０
である。
【００８９】
さらに、一様座標の表示と同様に、ホモグラフィ分解モジュール１１０により、ホモグラフィ行列Ｈの全体の大きさを任意に設定することができる。いくつの実施形態では、ホモグラフィ分解モジュール１１０により、ホモグラフィ行列Ｈの大きさを、ｈ２２＝１に設定することによって設定することができる。
【００９０】
それらの仮定により、対象平面と画像平面との間のホモグラフィを規定するホモグラフィ行列Ｈは、６つのパラメータを有し、以下のように記すことができる。
【数７】
2020053062.tif 000009
このホモグラフィ行列の表示により、任意の量の回転を修正することが許容される。
【００９１】
場合によっては、ホモグラフィ行列Ｈには、修正画像の質を向上させるために、さらに制約を加えることができる。このため、ホモグラフィ分解モジュール１１０により、ホモグラフィ行列Ｈの回転要素に制約を加えることができる。ホモグラフィ行列Ｈの回転要素の制約は、事実上、ホモグラフィ行列Ｈに関連する回転量を決定する（たとえば、決める）。
【００９２】
いくつかの実施形態では、ホモグラフィ分解モジュール１１０は、ｈ０１＝ｈ１０と設定することにより、ホモグラフィ行列Ｈの回転要素に制約を加えるように構成される。この制約の下では、対象平面と画像平面との間のホモグラフィを規定するホモグラフィ行列Ｈが５つのパラメータを有し、以下のように記すことができる。
【数８】
2020053062.tif 000010
場合によっては、変形した画像に関連する実際の回転は、ホモグラフィ行列Ｈに関連する回転量から実質的に逸脱し得る。このことは、性能の望ましくない低下につながる場合がある。そのような場合、ホモグラフィ分解モジュール１１０により、ホモグラフィ除去モジュール１１２に、多段階の修正プロセスの段階１の間に局所的にダウンサンプリングし、その後に、多段階の修正プロセスの段階２の間に局所的にアップサンプリングして、性能の低下を抑制するように命令することができる。
【００９３】
いくつかの実施形態では、ホモグラフィ行列Ｈには、傾きに関して２つの自由度のみを含むように、さらに制約を加えることができる。傾きに関する２つの自由度は、（１）傾斜方向τ（方位角としても知られる）、および（２）傾斜量σ（傾斜、または単に傾きとしても知られる）を使用してパラメータで表すことができる。傾きの制約が前述の制約および慣習と合わせられる場合、ホモグラフィ行列Ｈを計算して、σおよびτによって特定される傾きを修正するには十分である。
【数９】
2020053062.tif 000011
【００９４】
いくつかの実施形態では、ホモグラフィ分解モジュール１１０は、パラメータ表示の別のセットを通してホモグラフィ行列Ｈの回転要素に制約を加えることができる。このパラメータ表示のセットには、（１）ｚ軸周りの回転、（２）ｙ軸周りの回転、および（３）ｘ軸周りの回転を（順次的に）特定する３つの角度パラメータが含まれる。このことはしばしば、「ロール、ピッチ、およびヨー」の表示と呼ばれる。「ロール、ピッチ、およびヨー」の表示をパラメータで表す少なくとも２つの異なる方法がある。第１の例では、ピ
ッチおよびヨーが前の回転の後の「新しい」軸周りの回転を表し、第２の例では、ロール、ピッチ、およびヨーのそれぞれが、不動の「世界的な（ｗｏｒｌｄ）」軸周りの回転を表す。例示の目的のために、進行中の開示は「ロール、ピッチ、およびヨー」の表示の第２の例を使用し、世界的なｚ軸周りの回転をγで示し、世界的なｙ軸周りの回転をβで示し、ｘ軸周りの回転をαで示す。この表示に基づき、ホモグラフィ行列Ｈは以下の形態を取ることができる。
【数１０】
2020053062.tif 000012
【００９５】
いくつかの実施形態では、ホモグラフィ分解モジュール１１０は、ホモグラフィ行列Ｈのｚ軸周りの回転（γ）に制約を加えることができる。γの値をゼロとする制約を加えることにより、ホモグラフィ行列Ｈを以下の形態に簡約にすることができる。
【数１１】
2020053062.tif 000013
このパラメータ表示は、ｈ０１とｈ１０との両方の大きさが小さいという、好適な特性を有する。
【００９６】
本開示の残りの部分では、ホモグラフィ行列Ｈの以下の表示に基づいて実施形態を説明する。
【数１２】
2020053062.tif 000014
しかし、当業者は、他のホモグラフィ行列表示を使用するために開示の実施形態を適用することができる。
【００９７】
ホモグラフィ行列Ｈが与えられる場合、ホモグラフィ修正の目的はこのホモグラフィＨを画像平面（ｘ’ｈ，ｙ’ｈ，ｚ’ｈ）の歪曲画像から除去することである。
【００９８】
いくつかの実施形態では、ホモグラフィ分解モジュール１１０は、
Ｈ ＝Ａ ＊ Ｂ
となるようにホモグラフィ行列Ｈを第１の変換Ａと第２の変換Ｂとに分解するように構成される。式中、＊は連結演算子を示す。この関係は、以下のように書き出すことができる。
【数１３】
2020053062.tif 000015
【００９９】
ある意味では、第１の変換Ａは、座標系（ｘ’，ｙ’）によって表される画像平面の歪曲画像を、座標系（ｘＩ，ｙＩ）によって表される中間画像平面の中間画像に関連付け、第２の変換Ｂは、座標系（ｘＩ，ｙＩ）によって表される中間画像平面の中間画像を、座標系（ｘ，ｙ）によって表される対象平面の修正画像に関連付ける。図２は、修正画像（たとえば、２段階修正プロセスの望ましい結果である、対象平面の正射影図）を中間画像に歪曲させる第２の変換Ｂの適用と、中間画像を歪曲画像（たとえば、２段階修正プロセスの入力画像）に歪曲させる第１の変換Ａの適用を示す。
【０１００】
第１の変換Ａが歪曲画像を中間画像に関連付け、第２の変換Ｂが中間画像を修正画像に関連付けることから、（１）歪曲画像から第１の変換Ａを除去して中間画像を生成し、（２）中間画像から第２の変換Ｂを除去して修正画像を生成することによって、ホモグラフィＨを歪曲画像から除去して修正画像に戻すことができる。
【０１０１】
いくつかの実施形態では、第２の変換Ｂを、ｚを元の状態に維持しつつｘ座標とｙ座標とを切り替える変形操作Ｔ、変形された第２の変換Ｂｙｘ、および別の変形操作Ｔの３つの操作の連結で表すことができる。
【数１４】
2020053062.tif 000016
式中、変形行列Ｔは、以下のように表すことができる。
【数１５】
2020053062.tif 000017
したがって、ホモグラフィ行列Ｈは、以下のように示すことができる。
【数１６】
2020053062.tif 000018
式中、
【数１７】
2020053062.tif 000019
である。下付文字ｙｘは、変形された第２の変換Ｂｙｘが切り替えられたｘ−ｙ座標上で作用することを示すのに使用される。なお、変形された第２の変換Ｂｙｘは、第２の変換Ｂを単に変形したもの（たとえば、
【数１８】
2020053062.tif 000020
）ではない。変形した第２の変換Ｂｙｘは、ｘおよびｙ座標が、ｚ座標が同じままで取り替えられる事実に基づき、Ｂ内の項を再配置することにより、第２の変換Ｂから得ることができる。
【０１０２】
いくつかの実施形態では、第１の変換Ａおよび第２の変換Ｂに、（１）以下に第１の制約と称する、ソース画像の特定の列のピクセルが目標画像の決まった列の等距離にあるピクセル（たとえば、隣接するピクセルの対の各々が等しい距離だけ離れている）にマッピングされるということ、および、（２）以下に第２の制約と称する、ソース画像の列が目標画像の列にマッピングされるということの、上述の特性を有するように制約を加えることができる。
【０１０３】
第１の制約は、ｘＩ（中間画像平面のｘ座標）に対するｘ’（画像平面のｘ座標）の変化量を示す
【数１９】
2020053062.tif 000021
の制約によって、第１の変換Ａに導入することができる。ｘ’は、第１の変換Ａのパラメータを直接使用して表すことができる。
【数２０】
2020053062.tif 000022
【０１０４】
したがって、合成関数の微分法を使用して、ｘＩに対するｘ’の導関数を以下のように示すことができる。
【数２１】
2020053062.tif 000023
【数２２】
2020053062.tif 000024
この導関数
【数２３】
2020053062.tif 000025
がｙＩのみに依存する場合、中間画像の隣接するピクセル間の距離が、すべての隣接するピクセルについて同一になる。導関数
【数２４】
2020053062.tif 000026
は、ｙＩにのみ依存するようにすることができる。ｘＩに依存する項だけが分母に見られる。したがって、ｘＩへの依存性を除去するために、乗数ａ２０をゼロに設定することができる。
【０１０５】
第２の制約は、歪曲画像のｙ座標が中間画像のｙ座標のみに依存しなければならないという制約を導入することによって、第１の変換Ａに導入することができる。上のようにａ２０＝０に設定することにより、分母のｚｈ’がｙＩにのみ依存することがすでにわかっている。したがって、分子ｙｈ’がｙＩにのみ依存する場合、ｙ’（たとえば、歪曲画像のｙ座標）が中間画像のｙ座標にのみ依存し、それによって、中間画像の列を歪曲画像の列にマッピングする。
【０１０６】
第１の変換Ａを中間画像の座標に適用することにより、歪曲画像のｙ座標を以下のように示すことができる。
【数２５】
2020053062.tif 000027
したがって、歪曲画像のｙ座標をｙにのみ依存させるために、ｘＩの係数をゼロ、すなわち、ａ１０＝０に設定することができる。
【０１０７】
したがって、まとめると、第１の制約および第２の制約は、第１の変換Ａが以下の形態
をとることを必要とする。
【数２６】
2020053062.tif 000028
【０１０８】
いくつかの実施形態では、第１の制約および第２の制約が、第２の変換Ｂにも課されるものとする。変形された第２の変換
【数２７】
2020053062.tif 000029
がＡと同じ状況下で作用することから、ＢｙｘはＡと同じ形態を有するものとする。したがって、第１の制約によりｂ２１＝０であり、第２の制約によりｂ０１＝０である。したがって、ｂｙｘは以下のように表すことができる。
【数２８】
2020053062.tif 000030
変形された第２の変換Ｂｙｘは、以下に示すように、第２の変換Ｂに戻って関連することができる。
【数２９】
2020053062.tif 000031
【０１０９】
まとめると、ホモグラフィ行列Ｈは以下のように示すことができる。
【数３０】
2020053062.tif 000032
あるいは、ホモグラフィ行列Ｈは以下のように表すこともできる。
【数３１】
2020053062.tif 000033
【０１１０】
ホモグラフィ行列Ｈの分解は、Ｈの係数、Ａの係数、およびＢの係数の間の関係について解析的に解くのに使用することができる。この解析的計算に基づいて、第１の変換Ａおよび変形された第２の変換Ｂｙｘが、以下のようにＨの係数に関連することを示すことができる。
【数３２】
2020053062.tif 000034
【数３３】
2020053062.tif 000035
【０１１１】
したがって、ホモグラフィ分解モジュール１１０がホモグラフィ行列Ｈの係数を受信すると、ホモグラフィ分解モジュール１１０は、上記関係を使用して第１の変換Ａおよび変形された第２の変換Ｂｙｘを生成することができる。
【０１１２】
いくつかの実施形態では、第１の変換Ａおよび／または第２の変換Ｂが、ソース画像に戻す場合に目標画像を効率的にダウンサンプリングするスケーリング要素を含み得る。以下の分解は、第１の変換Ａのダウンサンプリング比でダウンサンプリングすることを許容しつつ、上述のように、第１の制約および第２の制約を守る。
【数３４】
2020053062.tif 000036
式中ｓＡｘとｓＡｙはそれぞれ、ｘ次元とｙ次元のサンプリング要素に関する。あるいは、ホモグラフィ行列Ｈは以下のように示すことができる。
【数３５】
2020053062.tif 000037
いくつかの実施形態では、サンプリング要素ｓＡｘおよび／またはｓＡｙを１未満として、第１の段階で歪曲画像を効率的にオーバーサンプリングしてもよい。この方法で、第２の段階での処理のために、歪曲画像の情報を保つことができる。
【０１１３】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、歪曲画像から第１の変換Ａおよび変形された第２の変換Ｂｙｘを効率的に除去することができる。２段階修正プロセスの各段階でのホモグラフィ除去モジュール１１２のジョブは、４つの非自明な係数で制限されるホモグラフィ（たとえば、第１の変換Ａまたは変形された第２の変換Ｂｙｘ）を除去することである。
【数３６】
2020053062.tif 000038
第１の変換Ａおよび変形された第２の変換Ｂｙｘが同じ構造を有するため、ホモグラフィ除去モジュール１１２は事実上、１回は第１の変換Ａについて、そして１回は変形した第２の変換Ｂｙｘについて、同じ手順を２回実施することができる。したがって、２段階修正プロセスの第１の段階および第２の段階には、実質的に同一の操作を含むことができる。
【０１１４】
図３は、いくつかの実施形態による、２段階画像マッピングプロセスを示す。この２段
階画像マッピングは、ホモグラフィ分解モジュール１１０によって決定されるように、ホモグラフィの分解を使用して２段階で修正を実施する。２段階画像マッピングプロセスの第１の段階（ステップ３０２〜３０４として識別される）では、ホモグラフィ除去モジュール１１２がｘ軸に沿って歪曲画像のピクセルを処理することができ、２段階画像マッピングプロセスの第２の段階（ステップ３０６〜３０８として識別される）では、ホモグラフィ除去モジュール１１２がｙ軸に沿って中間画像のピクセルを処理することができる。第１の段階と第２の段階との間で生じる変形操作のおかげで、多段階修正プロセスの第１の段階が、多段階修正プロセスの第２の段階と実質的に同様であることには、注意する価値がある。
【０１１５】
図３のステップを開始する前に、ホモグラフィ除去モジュール１１２は、歪曲画像、および、第１の変換Ａと第２の変換Ｂ（または変形された第２の変換）との連結として表されるホモグラフィを受信するように構成することができる。ホモグラフィ除去モジュール１１２は、ホモグラフィ分解モジュール１１０からホモグラフィ表示を受信することができる。図４は、斜視歪曲を受けた歪曲画像の例を示す。斜視歪曲は、２つの縦方向の平行線４０２、４０４を非平行な２つの線に変換し、２つの横方向の平行線４０６、４０８を非平行な２つの線に変換することによって、そのことを明示する。
【０１１６】
ステップ３０２では、ホモグラフィ除去モジュール１１２は、歪曲画像をｘ軸に沿って処理することにより歪曲画像から第１の変換を除去し、それによって中間画像を生成するように構成される。ステップ３０２ａでは、ホモグラフィ除去モジュール１１２は、中間画像を任意選択的にダウンサンプリングすることができる。いくつかの実施形態では、ステップ３０２とステップ３０２ａとを同時に実施することができる。たとえば、第１の変換Ａは、上述のように、ダウンサンプリング要素を包含することができ、それによって、歪曲画像から第１の変換Ａを除去することで、事実上、ホモグラフィ除去モジュール１１２はダウンサンプリング操作をも実施することができる。
【０１１７】
ステップ３０２では、ホモグラフィ除去モジュール１１２は、中間画像の各ピクセルについて、歪曲画像内の対応する位置を決定するように構成することができる。たとえば、ホモグラフィ除去モジュール１１２は、中間画像の列のピクセルの１つにアクセスすることができ、第１の変換Ａを使用して、歪曲画像のどの位置が中間画像のピクセルの１つに対応するかを決定する。場合によっては、歪曲画像のこの位置は、サブピクセルの座標値を有し得る。たとえば、歪曲画像のこの位置は（２．２４，３．１）の座標を有し得る。
【０１１８】
第１の変換Ａが第１および第２の制約を受けるため、ホモグラフィ除去モジュール１１２は予め、中間画像の列のピクセルが常に、歪曲画像の所定のｙ座標の位置に対応することを知覚する。したがって、ホモグラフィ除去モジュール１１２がメモリ１０６内の歪曲画像にアクセスするべきパターンは、予測可能かつ決定的である。したがって、ホモグラフィ除去モジュール１１２は、標準的なピンポン２バッファシステムおよびＤＭＡコントローラ１１４を使用して、画像の列および列の郡を並行して読込および格納することができる。
【０１１９】
ホモグラフィ除去モジュール１１２が中間画像のピクセルと歪曲画像の位置との間の対応を決定すると、ホモグラフィ除去モジュール１１２は中間画像のそのピクセルの画像値を決定することができる。そのピクセルの画像値を決定するために、ホモグラフィ除去モジュール１１２は歪曲画像の対応する位置の画像値を使用することができる。
【０１２０】
対応する位置が歪曲画像のピクセルグリッドにかかる場合、ホモグラフィ除去モジュール１１２は、歪曲画像の対応する位置を囲む画像値にフィルタをかけることができる。場合によっては、ホモグラフィ除去モジュール１１２は、歪曲画像の対応する位置の画像値
を単にコピーする場合がある。対応する位置が歪曲画像のグリッドにかからない場合、ホモグラフィ除去モジュール１１２は、歪曲画像の対応する位置を囲むピクセルの画像値を補間することによって中間画像のピクセルの画像値を決定することができる。
【０１２１】
たとえば、ホモグラフィ除去モジュール１１２は、歪曲画像の対応する位置を囲むピクセルをカーネルで畳み込んで、歪曲画像の対応する位置を囲むピクセルの画像値を補間することができる。場合によっては、カーネルは、歪曲画像の列に沿って適切な平滑化（たとえば、ナイキストサンプリングの制約を満たす）を実施するようにも設計することができる。いくつかの実施形態では、カーネルは一部を切り詰めたｓｙｎｃ関数とすることができ、他の実施形態では、カーネルは一部を切り詰めたガウス関数とすることができる。
【０１２２】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、予め選択されるサブピクセルのグリッド位置からの変化のために使用されるカーネルのセットを予め決定することができる。歪曲画像の対応する位置がｘ軸のグリッドから０．１ピクセルだけずれている場合、ホモグラフィ除去モジュール１１２は、カーネルの所定のセットの第１のカーネルを使用することができ、歪曲画像の対応する位置がｘ軸のグリッドから０．３ピクセルだけずれている場合、ホモグラフィ除去モジュール１１２は、カーネルの所定のセットの第２のカーネルを使用することができる、などである。いくつかの実施形態では、カーネルのセットの各カーネルが同じ関数形態を有する。
【０１２３】
たとえば、カーネルのセットは以下を含み得る。
Ｋ１：３６，        ５６，        ３６，          ０
Ｋ２：３０，        ５６，        ３８，          ４
Ｋ３：２５，        ５４，        ４１，          ８
Ｋ４：２１，        ５０，        ４５，        １２
Ｋ５：１６，        ４８，        ４８，        １６
Ｋ６：１２，        ４５，        ５０，        ２１
Ｋ７：  ８，        ４１，        ５４，        ２５
Ｋ８：  ４，        ３８，        ５６，        ３０
これらのカーネルＫ１〜Ｋ８はすべて、同じ関数形態を有するが、各カーネルは、異なるサブピクセル座標（サブピクセルのフェーズとも呼ばれる）に関連する。
【０１２４】
ホモグラフィ除去モジュール１１２がピクセルグリッド上（たとえば、０のサブピクセルのフェーズ）の位置にフィルタをかける場合、ホモグラフィ除去モジュール１１２は、Ｋ１を使用して、その位置の周りのピクセルにフィルタをかけることができる。なお、Ｋ１は中心周りに対称である。ホモグラフィ除去モジュール１１２がピクセルグリッドから１／８サブピクセルのフェーズだけ離れた位置にフィルタをかける場合、ホモグラフィ除去モジュール１１２はＫ２を使用して、その位置の周りのピクセルにフィルタをかけることができる。たとえば、ホモグラフィ除去モジュール１１２は、サブピクセルの補間とフィルタリングを同時に実施するために、Ｋ２を連続する４つの画像ピクセルに直接乗算することができる。ホモグラフィ除去モジュール１１２がピクセルグリッドから１／２サブピクセルのフェーズだけ離れた位置にフィルタをかける場合、ホモグラフィ除去モジュール１１２はＫ５を使用して、その位置の周りのピクセルにフィルタをかけることができる。１／２ピクセルのずれは、２つの隣接するピクセルの厳格な境界における画像値を識別することに関するため、Ｋ５は対称である。なお、１／８と７／８のサブピクセルのフェーズにそれぞれ対応するＫ２とＫ８は、同じ値を有するが、互いに対し鏡像である。このことは、１／８が−７／８と同じであり、−１／８が７／８と同じであるため、意味をなす。「１／４，３／４」の対、および「３／８，５／８」の対について、これと同じ事が言える。
【０１２５】
いくつかの実施形態では、歪曲画像の位置が、セットの中のカーネルの１つのサブピクセルのフェーズに厳格にマッチするサブピクセルのフェーズを有さない場合、ホモグラフィ除去モジュール１１２は、その位置のサブピクセルのフェーズに最も近いサブピクセルのフェーズに関連するカーネルを使用することができる。たとえば、その位置のサブピクセルのフェーズが１／９である場合、１／９がカーネルに関連する他のサブピクセルのフェーズのどれよりも１／８に近いことから、ホモグラフィ除去モジュール１１２はＫ１を使用して、その位置にフィルタをかけることができる。
【０１２６】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、単一命令多重データ（ＳＩＭＤ）処理ユニットを使用して畳み込み操作を実施することができる。より詳細には、畳み込み操作は、ＳＩＭＤ処理ユニットによって操作可能なＳＩＭＤ乗算および／またはＳＩＭＤ内積の命令を使用して容易に実施することができる。
【０１２７】
いくつかの実施形態では、畳み込み操作は２次元カーネルを含むことができる。カーネルを空間的な軸（たとえば、ｘおよびｙ軸）に分けることができる場合、ホモグラフィ除去モジュール１１２は、（１）ｘ軸（たとえば、画像の列）に沿って畳み込み、（２）ｙ軸（たとえば、画像の行）に沿って畳み込む、２つの別々のステップで畳み込み（コンボルーション）を実施することができる。
【０１２８】
第１の段階については、第１の変換Ａが第１の制約を受けるため、中間画像の列のピクセルが、歪曲画像の決まったｙ軸の隣接する位置から等距離にある位置にマッピングされる。したがって、ホモグラフィ除去モジュール１１２は、歪曲画像の決まったｙ座標のすべての対応する位置に単一のカーネル関数を適用することができる。歪曲画像の位置のサブピクセルのフェーズが互いに対して異なる場合があるため、ホモグラフィ除去モジュール１１２は、各位置のサブピクセルのフェーズに基づき、その単一のカーネル関数に対応するセットの内の１つのカーネルを選択することができる。このことにより、ホモグラフィ除去モジュール１１２が、歪曲画像の決まった列に沿う畳み込みの間にカーネルを生成することが必要になることを避けることができる。いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、異なる列に同じカーネル関数を使用することができ、他の実施形態では、ホモグラフィ除去モジュール１１２は、異なる列に異なるカーネル関数を使用することができる。ｘ軸に沿う畳み込み操作の結果（ｘ畳み込みの結果とも称する）は、一時的バッファに格納することができる。
【０１２９】
ホモグラフィ除去モジュール１１２がｘ軸に沿う畳み込みを完了すると、ホモグラフィ除去モジュール１１２は、一時的バッファに格納されるｘ畳み込みの結果のｙ方向のカーネルを畳み込むことにより、ｙ軸に沿う畳み込みを実施することができる。いくつかの実施形態では、一時的バッファは、ｘ畳み込みの結果に関連する所定の数の列を保持することができる。この所定の数の列は、ｙ方向のカーネルのサイズに基づいて決定することができる。たとえば、ｙ方向のカーネルが５ピクセルの長さを有する場合、一時的バッファはｘ畳み込みの結果に関連する５つの列を保持することができる。
【０１３０】
いくつかの実施形態では、一時的バッファは、ｘ畳み込みの結果の列を、ｙ畳み込みを計算するのにもはや必要ではなくなるまで格納する、ローリングバッファ（たとえば、循環バッファ）とすることができる。たとえば、ホモグラフィ除去モジュール１１２が、ｊのｙ座標を有するピクセルでｙ畳み込みを計算し、ｙ方向のカーネルが５つのピクセルを有する場合、ホモグラフィ除去モジュール１１２は、一時的バッファに、ｙ座標ｊ＋２、ｊ＋１、ｊ、ｊ−１、ｊ−２によって識別されるｘ畳み込みの結果の５つの列を格納することができる。ホモグラフィ除去モジュール１１２がｊのｙ座標を有するすべてのピクセルのｙ畳み込みを完了すると、ホモグラフィ除去モジュール１１２は、目標となるｙ座標を１ピクセルだけ増大させ、ｊ＋１のｙ座標を有するすべてのピクセルのｙ畳み込みを計
算することができる。この場合、ホモグラフィ除去モジュール１１２は、ｙ座標ｊ＋３、ｊ＋２、ｊ＋１、ｊ、ｊ−１によって識別されるｘ畳み込みの結果の５つの列を使用することができる。したがって、一時的バッファはもはや、ｊ−２のｙ座標を有するｘ畳み込みの結果の列を必要としない。この場合、一時的バッファは、ｊ−２のｙ座標を有するｘ畳み込みの結果の列を除去し、ｊ＋３のｙ座標を有するｘ畳み込みの結果の列とそれを入れ替える。
【０１３１】
いくつかの実施形態では、ｙ方向のカーネルは、出力画像の列に沿う各ピクセルについて同一とすることができる。したがって、このｙ方向の畳み込みは、その列に対応するカーネル係数によってｘ畳み込みされた列のすべてのピクセルを乗算し、次いで行に沿って合算することによって実施することができる。この操作は、ＳＩＭＤ処理ユニット、たとえば、ＳＩＭＤ乗算および／またはＳＩＭＤ加算命令を使用して効率的に実施することができる。
【０１３２】
第１の変換Ａの制約は、ｙ軸に沿うピクセルサンプリングについての特別なあらゆる特性を保証するものではない。したがって、各列は、たとえば（１）対象平面の対称カーネル関数を、画像平面の、必ずしも対称ではない対応するカーネル関数にマッピングし、（２）それをピクセルビンに統合することによって計算することができる、それ自体のカーネル関数を有する。そのようなカーネルは本来的に、ｙ軸の非整数の位置で正確にサンプリングすることを可能にし、また、性能を損なうことなく、異なる任意の２つの列の間のサンプリング距離をも可能にする。任意選択的に、ｙ軸に沿う畳み込みに使用されるすべてのカーネル関数は、トレーニングフェイズの間に予め計算することができる。
【０１３３】
図５は、いくつかの実施形態による、図４の歪曲画像から第１の変換Ａを除去することによって生成される中間画像の例を示す。なお、２つの縦方向の平行線４０２、４０４はここでは、中間画像において平行である。しかし、第１の段階では２つの横方向の平行線４０６および４０８の歪曲を除去しなかった。
【０１３４】
図５に示すように、中間画像は傾いた台形形状（たとえば、２辺が平行で、他の２辺が平行ではない）を有し得る。場合によっては、歪曲画像の各列、ｘ畳み込みされた列、および中間画像の各列の関連する始点およびランレングスは任意選択的に、トレーニングステップで予め計算することができる。
【０１３５】
２つの水平な平行線４０６および４０８から歪曲を除去するために、ホモグラフィ除去モジュール１１２は、２段階画像マッピングプロセスの第２の段階に移行することができる。しかし、上述のように、第２の段階を開始する前に、ステップ３０４において、ホモグラフィ除去モジュール１１２は中間画像を変形するように構成される。
【０１３６】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、「縦（ｖｅｒｔｉｃａｌ）」バッファを使用して変形操作を実施することができる。たとえば、ｙ方向のコンボルーションの出力値（たとえば、中間画像）は、決まった幅の、好ましくは近チップ（ｎｅａｒ−ｔｏ−ｃｈｉｐ）メモリ（たとえば、ユーザ制御のレベル２のキャッシュ）に嵌まる、一時的画像として格納することができる。それらの出力値は、列の順の代わりに行の順で、そしてこのため、縦バッファの名前で、バッファに書き込まれる。バッファ全体が近チップメモリ内に含まれるため、ホモグラフィ除去モジュール１１２は、外部メモリデバイスのいずれにも、格納またはアクセスする必要がなく、このことにより、メモリのアクセス時間が向上する。事実上、この実施形態により、局所的に変形操作が実施される。
【０１３７】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２は、「ピン−ピン（ｐｉ
ｎｇ−ｐｉｎｇ）」方式で２つの縦バッファの１つへの書込みを交互に行うことができ、これによって、第１の縦バッファに書き込まれた前の行を、現在の行を第２の縦バッファに書き込まれた状態としつつ、外部メモリに書き出すことができる。
【０１３８】
いくつかの実施形態では、縦バッファのデータは、ＤＭＡコントローラ１１４を使用して外部メモリの領域に移動することができる。外部メモリのその領域は、修正画像全体を収容するのに十分な大きさとすることができる。
【０１３９】
いくつかの実施形態では、ＤＭＡコントローラ１１４は、２次元ＤＭＡを使用して縦バッファのデータを外部メモリに移動することができる。２次元ＤＭＡは自動的に、画像の縦セクションに対応していない外部メモリのバイトを飛び越えることができ、このことは、概念的に、縦バッファのデータにマッチする。局所的な縦バッファとは異なり、外部メモリは、連続するメモリ位置に、結果となる画像の隣接するセクション（たとえば、タイル）を格納せず、このことは、読込みおよび／または書込み速度を低下させる場合がある。そのような場合、２次元ＤＭＡは、読込／書込操作を、（局所的縦バッファの幅が十分に大である限り）最小限の追加コストで効率的に処理することができる。
【０１４０】
ステップ３０６では、中間画像が変形されると、ホモグラフィ除去モジュール１１２は、変形された中間画像のｘ軸（たとえば、中間画像のｙ軸）のピクセルを処理することによって、第２の変換を中間画像から除去するように構成される。次いで、ステップ３０６ａでは、ホモグラフィ除去モジュール１１２が任意選択的に、ステップ３０６の結果をダウンサンプリングするように構成され、ステップ３０８において、ホモグラフィ除去モジュール１１２は、ステップ３０６の結果（または、それが実行されれば、ステップ３０６ａの結果）を変形するように構成される。いくつかの実施形態では、ステップ３０６／３０６ａでは、ホモグラフィ除去モジュール１１２は、ステップ３０２／３０２ａと同様の操作を使用することができ、ステップ３０８では、ホモグラフィ除去モジュール１１２は、ステップ３０４と同様の処理を使用することができる。
【０１４１】
図６は、いくつかの実施形態による、第２の変換Ｂを図５の中間画像から除去することによって生成される修正画像の例を示す。なお、２つの横方向の平行線４０６、４０８、および２つの縦方向の平行線４０２、４０４は、修正画像では平行である。したがって、結果となる修正画像は、すべての斜視歪曲が修正され、目標となるダウンサンプリング比でダウンサンプリングされる。
【０１４２】
上述のように、ホモグラフィ除去モジュール１１２は、ホモグラフィ修正の間、歪曲画像をダウンサンプリングすることができ、ホモグラフィ除去モジュール１１２は、多段階修正プロセスの２つの段階の１つまたは複数においてダウンサンプリングを実施することができる。いくつかの実施形態では、目標となるダウンサンプリング比がある場合、ステップ３０２ａ（たとえば、第１の段階）において、可能な限りダウンサンプリングすることが有利となり得るが、この理由は、このことが、多段階修正プロセスの第１の段階の速度を速め、第２の段階の速度をさらに速め得るためである。多段階修正プロセスの各段階では、ｘまたはｙ方向において、画像を独立してダウンサンプリングすることができる。
【０１４３】
いくつかの実施形態では、パターン検出システムが、修正画像が特定のパターンを含むかどうかを決定できるように、修正画像をパターン検出システムに提供することができる。パターン検出システムは通常、ソース画像が非線形の歪曲を含まない場合の方が効率的に作動するため、開示されたホモグラフィ修正プロセスにより、パターンマッチングの効率を向上させることができる。場合によっては、パターン検出システムは、単純な収集に基づくパターンマッチング技術を使用して、修正画像が特定のパターンを含むかどうかを決定することができる。他の場合では、パターン検出システムは、「Ｍｅｔｈｏｄ  ｆｏ
ｒ  ｆａｓｔ，ｒｏｂｕｓｔ，ｍｕｌｔｉ−ｄｉｍｅｎｓｉｏｎａｌ  ｐａｔｔｅｒｎ  ｒｅｃｏｇｎｉｔｉｏｎ」と題され、２００６年３月２１日に発行された、米国特許第７，０１６，５３９号に開示のパターン検出技術の実施形態を使用することができる。この文献はその全体が、参照することにより本明細書に組み込まれる。
【０１４４】
いくつかの実施形態では、ホモグラフィが事前にわからない場合、歪曲画像は、複数の仮定されるホモグラフィ変換の１つを使用して修正することができ、修正画像をパターン検出システムに提供して、複数の仮定されるホモグラフィ変換の１つの下で特定のパターンが存在するかを決定することができる。このプロセスは、パターン検出システムが修正される画像から特定のパターンを検出するまで、他の仮定されるホモグラフィ変換について繰り返すことができる。
【０１４５】
いくつかの実施形態では、開示の多段階修正プロセスを使用して、実際に全体のホモグラフィの斜視歪曲を除去することなく、擬似的な画像のサンプリングを単に実施することができる。たとえば、ホモグラフィ行列Ｈを擬似変換（アフィン変換、ａｆｆｉｎｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）に制限するために、パラメータｈ２０およびｈ２１をゼロに設定することができる。他の実施形態では、この開示の多段階修正プロセスを使用して、単に画像のスケーリングを除去することができる。たとえば、開示の多段階修正プロセスは、ｈ２０およびｈ２１に加えて、ホモグラフィ行列Ｈのパラメータｈ１０およびｈ０１をゼロに設定することにより、画像のスケーリング操作を除去するように構成することができる。
【０１４６】
開示の多段階修正プロセスを使用して単に擬似変換（アフィン変換）または画像のスケーリング操作を除去する場合であっても、開示の多段階修正プロセスは計算上、擬似変換または画像のスケーリング操作を除去するための従来の既知の方法よりも高速とすることができる。計算上の利点は、カーネルを画像の列に適用する方法から得られる。上述したように、ホモグラフィ除去モジュール１１２は、単一のカーネル関数を画像の列に適用するように構成される。ホモグラフィ除去モジュール１１２は、このカーネル関数に対応するカーネルのセットを保持する。ここで、このセットの各カーネルは特定のサブピクセルのフェーズに対応する。この方法で、ホモグラフィ除去モジュール１１２が単一のカーネル関数を画像の列に適用する場合、列の各位置において、ホモグラフィ除去モジュール１１２は、その位置のサブピクセルのフェーズに基づき、それらのカーネルの１つを選択することができる。サブピクセルのフェーズに対応するカーネルのセットがすでに予め決定されているため、ホモグラフィ除去モジュール１１２は、それらのカーネルのうちの選択されるカーネルを適用することにより、擬似変換または画像のスケーリングを除去することができる。ある位置のサブピクセルのフェーズがそのセットのカーネルの１つに厳密には対応しない場合、ホモグラフィ除去モジュール１１２は、その位置のサブピクセルのフェーズに最も近いサブピクセルのフェーズに関連付けられるカーネルを選択することができる。これにより、計算上高額になる傾向にあるほぼすべての補間操作が除去される。
【０１４７】
ホモグラフィ除去モジュール１１２が画像のスケーリングのみを除去するように構成される場合、ホモグラフィ除去モジュール１１２は、各カーネルがピクセルグリッドからより細かいサブピクセルの変化量（たとえば、サブピクセルのフェーズ）に適合される多数のカーネルを保持することにより、正確さをさらに向上させることができる。ホモグラフィ除去モジュール１１２がダウンサンプリングを実施する場合、ホモグラフィ除去モジュール１１２は、修正画像の各ピクセルについて、歪曲画像の対応する位置のサブピクセルのフェーズを決定し、サブピクセルの変化量を使用してカーネルの所定のセットの１つを選択することができる。次いで、ホモグラフィ除去モジュール１１２は、選択されるカーネルを歪曲画像の対応するピクセルに適用して、画像のスケーリングを除去することができる。
【０１４８】
いくつかの実施形態では、ホモグラフィ除去モジュール１１２が画像のスケーリングのみを除去するように構成される場合、ホモグラフィ除去モジュール１１２は、多段階修正プロセスの第１段階のみを使用することにより、操作を実施することができる。
【０１４９】
いくつかの実施形態では、修正画像と歪曲画像との間のホモグラフィ変換Ｈが、上述した第１および第２の制約を満たす場合、ホモグラフィ除去モジュール１１２は、多段階修正プロセスの１つの段階のみを使用して歪曲画像から斜視歪曲を除去してもよい。たとえば、歪曲画像は、画像センサのｘ軸（たとえば、画像センサのビットセルの列）周りの画像センサの回転の結果である斜視歪曲を受ける場合がある。この場合、画像センサは、画像センサが画像センサの軸の１つと平行である軸周りに回転するように対象平面の頂部が画像センサから離れて傾けられるように配置される場合がある。画像センサ平面と対象平面との間のこの関係は、（１）修正画像の特定の列のピクセルが歪曲画像の決まった列の等距離のピクセルにマッピングされるということ、および（２）修正画像の列が歪曲画像の列にマッピングされるということの、第１および第２の制約を実際に満たすホモグラフィ変換Ｈによって表される場合がある。したがって、この場合、ホモグラフィ除去モジュール１１２は、多段階修正プロセスの１つの段階のみを使用することによって修正操作を実施するように構成することができる。
【０１５０】
いくつかの実施形態では、多段階修正プロセスを使用して、複数のカメラによって取得した画像を並べることができる。場合によっては、機械視覚システムは、その場面の異なる部分を見るが、大まかに並べられる複数のカメラを含み得る。言い換えると、複数のカメラのそれぞれは、同一の平面内で回転し、平面から同一の距離にあるように設計される。しかし、物理的制限により、平面内での回転と平面からの距離に「小さい」差異がある場合があり、このことはそれぞれ、それ自体が平面内の回転およびスケールであることを明示する。さらに、各カメラからのピクセルグリッドは、互いからサブピクセルの値だけ位置がずれる場合があり、この理由は、物理的制限により、各カメラからのピクセルを厳格に並べることが困難であるためである。
【０１５１】
複数のカメラによって取得される画像の差異は、オフラインで調整することができる。したがって、複数のカメラによって取得される画像間の関係をオフラインで決定することができる。この関係は、ホモグラフィ行列として示すことができる。したがって、開示の多段階修正プロセスを使用して、複数のカメラによって取得される画像を並べることができる。場合によっては、開示の多段階修正プロセスは、取得される画像をダウンサンプリングすることにも使用でき、それによって、１つまたは複数のカメラが異なる数のピクセルまたは異なるピクセルサイズを有する場合、開示の多段階修正プロセスにより、画像をダウンサンプリングしてそのような差異に対処することができる。
【０１５２】
開示の主題は、その用途において、以下の説明で述べた、または図面に示した構成の詳細、および構成要素の配置に限定されないことを理解されたい。開示の主題は、他の実施形態も可能であり、また、様々な方法で実施および実行することができる。また、本明細書で使用されている言い回しおよび用語は、説明を目的とするものであり、限定的に捉えられるべきではないことを理解されたい。
【０１５３】
そのように、当業者には、本開示の元である概念により、開示の主題のいくつかの目的を実行するための他の構造、方法、および装置を設計するための基礎として容易に利用できることを理解されたい。したがって、特許請求の範囲が、開示の主題の趣旨および範囲から逸脱しない限り、そのような同等の構造を含むと解されることが重要である。たとえば、開示の実施形態のいくつかは、１つまたは複数の変形形態に関する。この関係は、数理的方程式を使用して説明され得る。しかし、当業者は、１つまたは複数の変形形態の間の同じ関係を、開示の数理的方程式を変形することにより、異なる数理的方程式を使用し
て表現することもできる。特許請求の範囲が、１つまたは複数の変形形態の間のそれらの均等の関係も含むと解されることが重要である。
【０１５４】
開示の主題は、上述の例示的な実施形態で記載され、説明されたが、本開示は例としてのみ行われたものであり、開示の主題の実施の詳細の多くの変更を、開示の主題の要旨および範囲を逸脱することなく行うことができることを理解されたい。
【符号の説明】
【０１５５】
１００  ・・・機械視覚システム
１０２  ・・・コンピュータデバイス
１０４  ・・・プロセッサ
１０６  ・・・メモリ
１０８  ・・・ホモグラフィ修正モジュール
１１０  ・・・ホモグラフィ分解モジュール
１１２  ・・・ホモグラフィ除去モジュール
１１４  ・・・ダイレクトメモリアクセスコントローラ
１１６  ・・・インターフェイス
１１８  ・・・画像取得デバイス
【図１】
2020053062.tif 000039
【図２】
2020053062.tif 000040
【図３】
2020053062.tif 000041
【図４】
2020053062.tif 000042
【図５】
2020053062.tif 000043
【図６】
2020053062.tif 000044
【手続補正書】
【提出日】令和1年12月12日(2019.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械視覚システムであって、
プロセッサが、メモリに格納されたコンピュータプログラムを実行するように構成されており、前記コンピュータプログラムが、
歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する処理であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する処理と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する処理であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する処理と、
を前記プロセッサに実行させるように構成されている、
機械視覚システム。
【請求項２】
前記第１の変換は、前記中間画像の前記第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられており、前記歪曲画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記歪曲画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１に記載の機械視覚システム。
【請求項３】
前記プロセッサは、前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形するようにさらに構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項４】
前記プロセッサは、前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに中間画像を変形させるように構成されていることを特徴とする請求項３に記載の機械視覚システム。
【請求項５】
前記ダイレクトメモリアクセスコントローラが、２次元の直接的メモリアクセスを使用して、前記中間画像を変形させるように構成されていることを特徴とする請求項４に記載の機械視覚システム。
【請求項６】
前記プロセッサが、
前記修正画像の第１のピクセルについて、前記中間画像の対応する第１の位置を決定する処理と、
前記中間画像の前記対応する第１の位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定する処理と、
によって前記中間画像から前記第２の変換を除去するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項７】
前記プロセッサが、前記第１のピクセルの座標上で前記第２の変換を操作することにより、前記対応する第１の位置を決定するように構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項８】
前記プロセッサが、第２の次元の前記第１のピクセルと同一の座標を有する前記修正画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記中間画像の対応する第２の位置を決定するように構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項９】
前記プロセッサが、前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１０】
前記プロセッサが、前記ホモグラフィ行列を前記パターン検出システムから受信するように構成されており、前記ホモグラフィ行列は、前記歪曲画像に関連づけられたホモグラフィの仮定に基づき、前記パターン検出システムによって決定されていることを特徴とする請求項９に記載の機械視覚システム。
【請求項１１】
前記プロセッサが、前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づいてカーネルのセットの１つを選択し、前記位置の１つに前記選択されたカーネルを適用するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１２】
ホモグラフィ分解モジュールにおいて、歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する工程であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する工程と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する工程であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する工程と、
を含むことを特徴とするコンピュータで処理される方法。
【請求項１３】
前記第１の変換は、前記中間画像の前記第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられており、前記歪曲画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記歪曲画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記中間画像から前記第２の変換を除去することには、前記修正画像の第１のピクセルについて、前記中間画像の対応する第１の位置を決定することと、前記中間画像の前記対応する位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定することと、が含まれることを特徴とする請求項１２に記載の方法。
【請求項１７】
第２の次元の前記第１のピクセルと同一の座標を有する前記修正画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記中間画像の対応する第２の位置を決定することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるようにすることをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づき、カーネルのセットの１つを選択することと、前記位置の１つにおいて前記選択されたカーネルを適用することと、をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
実行可能な命令を有する非一時的なコンピュータ可読媒体であって、機械視覚システムに、
歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する工程であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する工程と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する工程であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する工程と、
を実行させることが可能である、非一時的なコンピュータ可読媒体。
【手続補正書】
【提出日】令和2年1月14日(2020.1.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械視覚システムであって、
プロセッサが、メモリに格納されたコンピュータプログラムを実行するように構成されており、前記コンピュータプログラムが、
歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する処理であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する処理と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する処理であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する処理と、
を前記プロセッサに実行させるように構成されている、
機械視覚システム。
【請求項２】
前記第１の変換は、前記中間画像の前記第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられており、前記歪曲画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記歪曲画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１に記載の機械視覚システム。
【請求項３】
前記プロセッサは、前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形するようにさらに構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項４】
前記プロセッサは、前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに中間画像を変形させるように構成されていることを特徴とする請求項３に記載の機械視覚システム。
【請求項５】
前記ダイレクトメモリアクセスコントローラが、２次元の直接的メモリアクセスを使用して、前記中間画像を変形させるように構成されていることを特徴とする請求項４に記載の機械視覚システム。
【請求項６】
前記プロセッサが、
前記修正画像の第１のピクセルについて、前記中間画像の対応する第１の位置を決定する処理と、
前記中間画像の前記対応する第１の位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定する処理と、
によって前記中間画像から前記第２の変換を除去するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項７】
前記プロセッサが、前記第１のピクセルの座標上で前記第２の変換を操作することにより、前記対応する第１の位置を決定するように構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項８】
前記プロセッサが、第２の次元の前記第１のピクセルと同一の座標を有する前記修正画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記中間画像の対応する第２の位置を決定するように構成されていることを特徴とする請求項６に記載の機械視覚システム。
【請求項９】
前記プロセッサが、前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１０】
前記プロセッサが、前記ホモグラフィ行列を前記パターン検出システムから受信するように構成されており、前記ホモグラフィ行列は、前記歪曲画像に関連づけられたホモグラフィの仮定に基づき、前記パターン検出システムによって決定されていることを特徴とする請求項９に記載の機械視覚システム。
【請求項１１】
前記プロセッサが、前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づいてカーネルのセットの１つを選択し、前記位置の１つに前記選択されたカーネルを適用するように構成されていることを特徴とする請求項１に記載の機械視覚システム。
【請求項１２】
ホモグラフィ分解モジュールにおいて、歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する工程であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する工程と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する工程であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する工程と、
を含むことを特徴とするコンピュータで処理される方法。
【請求項１３】
前記第１の変換は、前記中間画像の前記第１の次元に沿うピクセルを、前記歪曲画像の第１の次元に沿う位置にマッピングするように制約が加えられており、前記歪曲画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記歪曲画像の前記第１の次元に沿って隣接する位置から離間していることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記中間画像から前記第２の変換を除去する前に、前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記中間画像から前記第２の変換を除去する前に、ダイレクトメモリアクセスコントローラに前記中間画像を変形させることをさらに含んでいることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記中間画像から前記第２の変換を除去することには、前記修正画像の第１のピクセルについて、前記中間画像の対応する第１の位置を決定することと、前記中間画像の前記対応する第一の位置を囲むピクセルを畳み込み、前記第１のピクセルの画像値を決定することと、が含まれることを特徴とする請求項１２に記載の方法。
【請求項１７】
第２の次元の前記第１のピクセルと同一の座標を有する前記修正画像の第２のピクセルについて、前記第１の次元の前記対応する第１の位置の座標に定数を加えることにより、前記中間画像の対応する第２の位置を決定することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記修正画像をパターン検出システムに提供することで、前記パターン検出システムが前記修正画像を使用して前記修正画像が特定のパターンを含むかどうかを決定できるようにすることをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記歪曲画像の前記第１の次元に沿う前記位置の１つのサブピクセル座標に基づき、カーネルのセットの１つを選択することと、前記位置の１つにおいて前記選択されたカーネルを適用することと、をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
実行可能な命令を有する非一時的なコンピュータ可読媒体であって、機械視覚システムに、
歪曲画像からホモグラフィ行列の第１の変換を除去することによって生成される中間画像を受信する工程であって、前記第１の変換は前記歪曲画像を中間画像に関連づけることを特徴とする、受信する工程と、
前記中間画像からホモグラフィ行列の第２の変換を除去することによって、修正画像を生成する工程であって、前記第２の変換は前記中間画像を修正画像に関連付けることを特徴としており、かつ、
前記第２の変換は、前記修正画像の第１の次元に沿うピクセルを、前記中間画像の前記第１の次元に沿う位置にマッピングするように制約が加えられており、前記中間画像の前記第１の次元に沿う前記位置は、同じ距離だけ前記中間画像の前記第１の次元に沿って隣接する位置から離間していることを特徴としている、前記修正画像を生成する工程と、
を実行させることが可能である、非一時的なコンピュータ可読媒体。
【外国語明細書】
2020053062000001.pdf