(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-19
(45)【発行日】2023-07-27
(54)【発明の名称】画像処理装置、画像処理プログラムおよび画像処理方法
(51)【国際特許分類】
G06K 7/14 20060101AFI20230720BHJP
G06K 7/10 20060101ALI20230720BHJP
【FI】
G06K7/14 017
G06K7/10 428
G06K7/14 039
(21)【出願番号】P 2019105297
(22)【出願日】2019-06-05
【審査請求日】2021-12-24
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(73)【特許権者】
【識別番号】598121341
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】関川 雄介
(72)【発明者】
【氏名】鈴木 哲平
(72)【発明者】
【氏名】長田 惇
(72)【発明者】
【氏名】青木 義満
【審査官】田名網 忠雄
(56)【参考文献】
【文献】米国特許出願公開第2020/0175238(US,A1)
【文献】特表2017-521746(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/14
G06K 7/10
(57)【特許請求の範囲】
【請求項1】
移動している二次元コードを撮影するイベントカメラと、
前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求める演算部と、
前記演算部にて求めた前記第1のパラメータに基づいて、前記二次元コードの内容を読み取る読取部と、
を備える画像処理装置。
【請求項2】
前記演算部は、次のコスト関数を最小にする第1のパラメータq、第2のパラメータW、第3のパラメータmを演算する請求項1に記載の画像処理装置。
【数1】
【請求項3】
前記演算部は、前記イベントカメラにて所定の時間内に得られたイベントデータから、前記二次元コードの位置を検出するために設けられた特定のパターンに対応する箇所を
マッチングによって探索し、該当箇所
の位置及び傾きから前記第2のパラメータ
を求めると共に主成分分析により求めた軸を画像平面に射影して前記第3のパラメータを
求める処理と、
前処理によって求められた前記第2のパラメータと前記第3のパラメータを固定値として、前記イベントカメラにて取得したイベントデータと整合するように、前記第1のパラメータを演算する処理と、
を行う請求項1に記載の画像処理装置。
【請求項4】
移動している二次元コードを撮影するイベントカメラと、
前記イベントカメラにて所定の時間内に得られたイベントデータから、前記二次元コードの位置を検出するために設けられた特定のパターンに対応する箇所を
マッチングによって探索し、
該当箇所の位置及び傾きから前記二次元コードを画像平面上にアフィン変換する変換係数
を求めると共に、主成分分析により求めた軸を画像平面に射影して前記二次元コードの移動ベクト
ルを求め、前記変換係数と前記移動ベクトルを利用して、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記二次元コードの2値化データを求める演算部と、
を備える画像処理装置。
【請求項5】
イベントカメラで取得したデータに基づいて画像処理を行うためのプログラムであって、コンピュータに、
前記イベントカメラから二次元コードを撮影して得られるイベントデータを取得するステップと、
前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、
求めた前記第1のパラメータに基づいて、前記二次元コードの内容を読み取るステップと、
を実行させるプログラム。
【請求項6】
イベントカメラで取得したデータに基づいて、画像処理装置が画像処理を行う方法であって、
前記画像処理装置が、前記イベントカメラから二次元コードを撮影して得られるイベントデータを取得するステップと、
前記画像処理装置が前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、
前記画像処理装置が、前記第1のパラメータに基づいて、前記二次元コードの内容を読み取るステップと、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イベントカメラで取得したデータに基づいて画像処理を行う画像処理技術に関する。
【背景技術】
【0002】
従来、高速応答、高ダイナミックレンジという特徴を有するイベントカメラが知られている(非特許文献1)。イベントカメラは、画素に一定以上の輝度の変化が起こった時のみ、その時刻と画素の座標と極性を含むイベントというデータ形式で出力するカメラである。イベントカメラは、「Dynamic and Active-pixel Vision Sensor」とも呼ばれる。イベントカメラを用いると、標準のカメラではブレが生じてしまうような高速なシーンにおいても、適切にデータを取得することができる。
【0003】
QRコード(登録商標)等の二次元コードは、工場での生産管理にも利用されるが、このような二次元コードの読取りにイベントカメラを用いることができる。高速応答のイベントカメラを用いることで、照明環境の悪い中で対象の物体が高速に移動しても、画像のブレを低減することができる。
【先行技術文献】
【非特許文献】
【0004】
【文献】Patrick Lichtsteiner, Christoph Posch, Tobi Delbruck, and Senior Member.「A 128×128 120 dB 15 μs Latency Asynchronous Temporal Contrast Vision Sensor.」Work, 43(2):566-576, 2008.
【文献】Patrick Bardow, Andrew J. Davison, and Stefan Leutenegger.「Simultaneous Optical Flow and Intensity Estimation from an Event Camera.」2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 884-892, 2016.
【発明の概要】
【発明が解決しようとする課題】
【0005】
イベントデータは輝度の変化の情報であることから、QRコードの認識には、イベントデータから輝度画像を復元する必要がある。イベントデータのみから輝度画像を復元する代表的な手法の一つに、Bardowらの方法がある(非特許文献2)。この手法は、イベントのみの入力から輝度画像とオプティカルフローを同時に推定する方法である。この手法のポイントは、複数の画像とオプティカルフローを含むタイムウィンドウを用意し、時空間的な滑らかさの正則化を用いることで良設定問題としていることである。しかし、イベントカメラのデータでは、ノイズが多く含まれ、ノイズの影響でコードの境界が明確に推定されないといった問題がある。また、上述したQRコードのシーンでは、エッジ部分以外でイベントが発生しにくく、滑らかさの正則化だけでは不十分である。
【0006】
本発明は、イベントデータから効率的かつロバストに輝度画像を復元させる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は、移動している二次元コードを撮影するイベントカメラと、前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて、前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求める演算部と、前記演算部にて求めた前記第1のパラメータに基づいて、前記二次元コードの内容を読み取る読取部とを備える。
【0008】
本発明の画像処理装置において、前記演算部は、次のコスト関数を最小にする第1のパラメータq、第2のパラメータW、第3のパラメータmを演算してもよい。
【0009】
【0010】
このようにイベントデータに対応する輝度画像を表すのに、二次元コードの基底という制約がある第1のパラメータを用いることで、イベントカメラにて取得したイベントデータと整合するパラメータを求める最適化演算をロバストかつ高速に行うことができる。
【0011】
本発明の画像処理装置において、前記演算部は、前記イベントカメラにて所定の時間内に得られたイベントデータから、前記二次元コードの位置を検出するために設けられた特定のパターンに対応する箇所を探索し、当該箇所を事前情報として用いて前記イベントカメラにて取得したイベントデータと整合するように、前記第2のパラメータと前記第3のパラメータを最適化する処理と、前処理にて求められた前記第2のパラメータと前記第3のパラメータを固定値として、前記イベントカメラにて取得したイベントデータと整合するように、前記第1のパラメータを演算する処理とを行ってもよい。
【0012】
二次元コードにおいて既知の特定のパターンを初期値として利用した最適化により第2のパラメータと第3のパラメータを確定させ、その後に二次元コードの内容を表す第1のパラメータを求めることにより、パラメータ最適化の演算処理負荷を軽減できる。
【0013】
本発明の別の態様の画像処理装置は、移動している二次元コードを撮影するイベントカメラと、前記イベントカメラにて所定の時間内に得られたイベントデータから、前記二次元コードの位置を検出するために設けられた特定のパターンに対応する箇所を探索し、前記二次元コードを画像平面上にアフィン変換する変換係数と前記二次元コードの移動ベクトルとを求め、前記変換係数と前記移動ベクトルを利用して、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記二次元コードの2値化データを求める演算部とを備える。
【0014】
本発明の別の態様の画像処理装置は、移動している対象物を撮影するイベントカメラと、前記対象物を複数の基底に対する係数で表したときの当該係数を表す第1のパラメータと、前記対象物を画像平面上にアフィン変換する変換係数を表す第2のパラメータと、前記対象物の移動ベクトルを表す第3のパラメータとを用いて、前記対象物を撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求める演算部と、前記演算部にて求めたパラメータに基づいて、前記対象物の輝度画像を生成する輝度画像生成部とを備える。
【0015】
このようにイベントデータに対応する輝度画像を表すのに、対象物の基底という制約がある第1のパラメータを用いることで、イベントカメラにて取得したイベントデータと整合するパラメータを求める最適化演算をロバストかつ高速に行うことができる。
【0016】
本発明の画像処理装置において、前記演算部は、前記対象物が既知である場合には、前記第1のパラメータを固定値として、前記前記第2のパラメータおよび前記第3のパラメータを求めてもよい。
【0017】
このように対象物が既知である場合には、第1のパラメータを既知の対象物の外形によって決まる固定値とすることにより、第2のパラメータおよび第3のパラメータを精度良く計算できる。これにより、対象物の移動速度が分かるので、例えば、対象物をピックアップするタスクにイベントカメラを適用することができる。
【0018】
本発明のプログラムは、イベントカメラで取得したデータに基づいて画像処理を行うためのプログラムであって、コンピュータに、前記イベントカメラから二次元コードを撮影して得られるイベントデータを取得するステップと、前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、前記演算部にて求めた前記第1のパラメータに基づいて、前記二次元コードの内容を読み取るステップとを実行させる。
【0019】
本発明の別の態様のプログラムは、イベントカメラで取得したデータに基づいて画像処理を行うためのプログラムであって、コンピュータに、前記イベントカメラから対象物を撮影して得られるイベントデータを取得するステップと、前記対象物を基底とその係数で表したときの当該係数を表す第1のパラメータと、前記対象物を画像平面上にアフィン変換する変換係数を表す第2のパラメータと、前記対象物の移動ベクトルを表す第3のパラメータとを用いて、前記対象物を撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、求めたパラメータに基づいて、前記対象物の輝度画像を生成するステップとを実行させる。
【0020】
本発明の画像処理方法は、イベントカメラで取得したデータに基づいて、画像処理装置が画像処理を行う方法であって、前記画像処理装置が、前記イベントカメラから二次元コードを撮影して得られるイベントデータを取得するステップと、前記画像処理装置が前記二次元コードを構成するパターンの最小単位を基底として前記二次元コードの内容に応じた各前記基底の2値化データを表す第1のパラメータと、前記二次元コードを画像平面上の二次元コード画像にアフィン変換する変換係数を表す第2のパラメータと、前記二次元コードの移動ベクトルを表す第3のパラメータとを用いて前記二次元コードを撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて所定の時間内に取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、前記画像処理装置が、前記第1のパラメータに基づいて、前記二次元コードの内容を読み取るステップとを備える。
【0021】
本発明の別の態様の画像処理方法は、イベントカメラで取得したデータに基づいて、画像処理装置が画像処理を行う方法であって、前記画像処理装置が、前記イベントカメラから対象物を撮影して得られるイベントデータを取得するステップと、前記画像処理装置が、前記対象物を基底とその係数で表したときの当該係数を表す第1のパラメータと、前記対象物を画像平面上にアフィン変換する変換係数を表す第2のパラメータと、前記対象物の移動ベクトルを表す第3のパラメータとを用いて、前記対象物を撮影したときに得られるイベントデータに対応する輝度画像を表し、前記イベントカメラにて取得したイベントデータと整合するように、前記第1のパラメータ、前記第2のパラメータおよび前記第3のパラメータを求めるステップと、前記画像処理装置が、求めたパラメータに基づいて前記対象物の輝度画像を生成するステップとを備える。
【発明の効果】
【0022】
本発明によれば、二次元コードの基底という制約がある第1のパラメータを用いてイベントデータを表すことで、最適化演算をロバストかつ高速に行うことができる。
【図面の簡単な説明】
【0023】
【
図1】第1の実施の形態の画像処理装置の構成を示す図である。
【
図2】(a)イベントカメラによるイベント検出の原理を示す図である。(b)イベントカメラによってQRコードを撮影したときのデータの例を示す図である。
【
図4】時間座標空間上におけるQRコードのエッジの動きを示している。
【
図5】(a)QRコードの一例を示す図である。(b)位置検出コードのイベント間の距離を示す図である。
【
図6】第1の実施の形態の画像処理装置の動作を示す図である。
【
図7】第2の実施の形態の画像処理装置の構成を示す図である。
【
図8】第2の実施の形態の画像処理装置の動作を示す図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態にかかる画像処理装置について、図面を参照して説明する。
(第1の実施の形態)
図1は、第1の実施の形態の画像処理装置1の構成を示す図である。第1の実施の形態の画像処理装置1は、二次元コードの一つであるQRコードを読み取る画像処理装置1である。画像処理装置1は、イベントカメラ10と、演算部11と、読取部12と、出力部13とを備えている。
【0025】
図2(a)は、イベントカメラ10によるイベント検出の原理を示す図であり、
図2(b)はイベントカメラ10によってQRコードを撮影したときのデータの例を示す図である。イベントカメラ10は、
図2(a)に示すように、ある画素に一定の閾値以上の輝度の変化が起こったときのみに、そのときの時間t
iと画素の座標x
i、極性ρ
i(-1又は+1)を含むイベントe
i={t
i,x
i,ρ
i}というデータ形式で出力するカメラである。データの出力は、画素毎に非同期に行われるため、
図2(b)に示すように点群のような時系列データになっている。
【0026】
イベントカメラ10は、上記したような仕組みによって、μs単位の高時間分解能や130dB程度のハイダイナミックレンジを実現している。イベントカメラ10は、例えば、工場等で高速で移動する対象物に付与されたQRコードを読み取るが、照明条件が悪い工場内の生産ラインの高速に動くシーンであってもぶれずにデータを取得することが可能である。
【0027】
イベントデータは輝度の変化の情報なので、QRコードを認識するには輝度画像を復元する必要がある。演算部11は、イベントデータから輝度画像を復元する処理を行う。演算部11は、輝度画像をQRコードとアフィン変換で表現し、画像空間ではなくQRコード空間で最適化を行う。
【0028】
QRコードは、パターンの最小単位であるセルに白または黒の2値データを埋めることによって構成されている。パターンの最小単位であるセルは、QRコードの基底である。画像空間上の二次元コードを構成する画素数(h×w)に対して、QRコードの基底の数(r×r)は非常に少ないので、QRコードの基底の2値データを使って最適化することで、イベントデータの最適化を高速に行える。
【0029】
図3は、パラメータの定義を示す図である。QRコード空間の基底のデータを第1のパラメータqとする。QRコードを画像空間上に変換するアフィン変換の変換係数を第2のパラメータWとする。そして、画像空間上でのQRコードの移動ベクトルを第3のパラメータmとする。
【0030】
コスト関数記憶部14には、第1~第3のパラメータを用いて表現したイベントデータに対応する輝度画像と、イベントカメラ10から取得されたイベントデータとの差分を最小化する最適化を行うためのコスト関数が記憶されている。次式は、コスト関数を表す式である。
【数2】
【0031】
式(1)の第1項は、QRコードの基底である第1のパラメータqを用いて、輝度画像を表す式である。L(x)は式(3)に示すように、QRコードの基底qをアフィン変換したデータである。イベントデータは、輝度勾配∇L(x)と移動ベクトルmの内積で表されるから、式(1)の第1項は所定時間ΔtにおけるイベントデータをQRコードの基底qで表したものである。ここで、第1のパラメータq、第2のパラメータW、第3のパラメータmは未知である。なお、所定時間Δtは、等速直線運動を仮定できる程度に短い時間間隔である。これにより、あるエッジが等速直線運動をするとき、イベントの軌跡は直線になる。
【0032】
式(1)の第2項は、イベントカメラ10にて得られたイベントデータを表している。デルタ関数において、x´
iを減算しているのは、所定時間に起きたイベントを時間方向に足し合わせるためである。
図4を用いて説明する。
【0033】
図4は、時間座標空間上におけるQRコードのエッジEの動きを示している。基準時刻t
refにおいてQRコードのエッジEがx
i方向に移動すると、時間座標空間上では、エッジEは斜めに移動する。x´
iは上述した式(2)で表される。このイベントを基準時間t
refにおける位置での時間方向に足し合わせるために、x´
iを減算している。
【0034】
演算部11は、コスト関数記憶部14からコスト関数を読み出し、所定時間Δt内に取得したイベントデータで、コスト関数を最小にする第1のパラメータq、第2のパラメータW、第3のパラメータmを求める。つまり、イベントデータとの整合性が最も高いパラメータを求める。3つのパラメータを同時に最適化してもよいが、本実施の形態の画像処理装置1は、2段階の処理によって最適化を行う。
【0035】
最初に、第2のパラメータWと第3のパラメータmの最適化を行う。
図5(a)は、QRコードの一例を示す図である。QRコードは、3つの頂点に、位置や向きを認識させるための位置検出コードを有している。位置検出コードは、黒い四角形の周りを白い四角枠が取り囲み、さらに黒い四角枠が取り囲んだ形状を有している。位置検出コードは、
図5(b)に示すように黒:白:黒:白:黒=1:1:3:1:1の幅を有している。したがって、これをイベントカメラ10で読み取ると、イベント間の距離が、1:1:3:1:1となる。なお、
図5(b)は一つの移動方向のみ示しているが、イベントカメラに対してQRコードが移動する方向にかかわらず、同じ比率の幅となる。
【0036】
まず、マッチングによって、イベントデータから、イベント間の距離が1:1:3:1:1の比になっている部分を検出し、その位置および傾きからアフィン変換パラメータWを求め、初期値とする。また、イベントデータを時空間の3次元点群とみなし、主成分分析により求めた軸を画像平面に射影したものを移動ベクトルmの初期値とする。このように第2のパラメータWと第3のパラメータmに初期値を設定し、QRコードの位置検出シンボル以外の部分にマスクを設定して、第2のパラメータWおよび第3のパラメータmの最適化を行う。
【0037】
続いて、演算部11は、前処理で求めた第2のパラメータW、第3のパラメータmの最適値を固定値として、式(1)に示すコスト関数の第1のパラメータqを最適化する。このようにして最適化された第1のパラメータqは、QRコードの基底(セル)に対する2値データを示しており、第1のパラメータqがそのままQRコードの白黒のパターンを表すことになる。
【0038】
読取部12は、QRコード仕様データ記憶部15からQRコードの仕様のデータを読み出し、第1のパラメータqが表すパターンが何のデータを表したものかを読み取る。出力部13は、読み取ったデータを外部の機器等に対して出力する。
【0039】
以上、本実施の形態の画像処理装置1の構成について説明したが、上記した画像処理装置1のハードウェアの例は、イベントカメラを備えたコンピュータである。コンピュータは、CPU、RAM、ROM、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えている。上記した各機能を実現するモジュールを有するプログラムをRAMまたはROMに格納しておき、CPUによって当該プログラムを実行することによって、上記した画像処理装置1が実現される。このようなプログラムも本発明の範囲に含まれる。
【0040】
図6は、第1の実施の形態の画像処理装置1の動作を示すフローチャートである。第1の実施の形態の画像処理装置1は、イベントカメラ10にて、QRコードを読み取り、イベントデータを取得する(S10)。続いて、画像処理装置1の演算部11は、コスト関数記憶部14からコスト関数を読み出す(S11)。演算部11は、イベントデータからパターンマッチングによってQRコードの位置検出コードを検出し、QRコードの位置および向きを求める(S12)。次に、イベントデータの主成分分析により、二次元コード画像の移動ベクトルを算出する(S13)。演算部11は、位置検出コードによって求めたQRコードの位置および向きから求めたアフィン変換係数と、QRコードの移動ベクトルを初期値として、第2のパラメータWと第3のパラメータmの最適化を行う(S14)。
【0041】
次に、第1の実施の形態の画像処理装置1は、最適化された第2のパラメータWと第3のパラメータmを固定値として、第1のパラメータqの最適化を行う(S15)。そして、画像処理装置1は、第1のパラメータqをQRコード仕様データ記憶部15から読み出したQRコード仕様を参照して、QRコードの内容を読み取る(S16)。
【0042】
以上、第1の実施の形態の画像処理装置1の構成および動作について説明した。第1の実施の形態の画像処理装置1は、QRコードの基底という制約がある第1のパラメータqを用いてイベントデータを表すことで、イベントデータと整合するパラメータを求める最適化演算をロバストかつ高速に行うことができる。また、QRコードの位置検出コードを事前情報として用いることで、QRコードの位置および姿勢の初期値を設定し、適切な最適化を行える。
【0043】
(第2の実施の形態)
図7は、第2の実施の形態の画像処理装置2の構成を示す図である。第2の実施の形態の画像処理装置2は、一般の対象物をイベントカメラ10で読み取り、イベントデータから輝度画像を生成する機能を有する。ただし、画像処理装置2で扱う対象物の画像は、基底とその係数によって表すことができる画像である。画像処理装置2は、イベントカメラ10と、演算部16と、輝度画像生成部17と、出力部13とを備えている。
【0044】
コスト関数記憶部18には、対象物の基底に対するデータを第1のパラメータ、対象物を画像空間上にアフィン変換する変換係数を第2のパラメータ、対象物の移動ベクトルを第3のパラメータとし、これらの第1~第3のパラメータを用いて表現されたイベントデータに対応する輝度画像と、イベントカメラ10で実際に取得されたイベントデータとの違いをコストとして表した関数が記憶されている。
【0045】
演算部16は、コスト関数記憶部18から読み出したコスト関数を最小にする第1のパラメータ、第2のパラメータ、第3のパラメータを求める。輝度画像生成部17は、第1のパラメータと対象物の基底とに基づいて、対象物の輝度画像を生成する機能を有する。出力部13は、輝度画像を出力する。
【0046】
図8は、第2の実施の形態の画像処理装置2の動作を示す図である。第2の実施の形態の画像処理装置2は、イベントカメラ10にて、対象物を読み取り、イベントデータを取得する(S20)。続いて、画像処理装置2の演算部16は、コスト関数記憶部18からコスト関数を読み出す(S21)。次に、第2の実施の形態の画像処理装置2は、第1のパラメータ、第2のパラメータおよび第3のパラメータの最適化を行う(S22)。そして、画像処理装置2は、第1のパラメータと対象物の基底を用いて、対象物の輝度画像を生成する(S23)。
【0047】
以上、第2の実施の形態の画像処理装置2の構成および動作について説明した。第2の実施の形態の画像処理装置2は、対象物を基底とその係数で表し、対象物の基底を画像平面へアフィン変換することで、基底という制約がかかった対象物の画像空間でコスト関数の最適化を行うことで、ロバストで高速な輝度画像の推定を行える。
【0048】
以上、本発明の実施の形態の画像処理装置について説明したが、本発明は上記した実施の形態に限定されるものではない。上記した第1の実施の形態では、二次元コードとしてQRコードの読み取りを行う例を挙げたが、本発明の画像処理装置は、例えば、DataMatrix,PDF417等の二次元コードの読み取りにも使用することができる。DataMatrixの場合には、2辺にアライメントパターンがあるので、これを検出した位置及び向きからアフィン変換係数を求めて初期値に用いることができる。PDF417の場合には、両端にスタートパターンとストップパターンがあるので、これを検出した位置及び向きからアフィン変換係数を求めて初期値に用いることができる。
【0049】
上記した第2の実施の形態では、対象物の形状が未知の場合について説明をしたが、対象物が既知である場合には、対象物の基底に対応する係数を予め固定値として用いて、アフィン変換に係る第2のパラメータと、移動ベクトルに係る第3のパラメータを最適化によって求めても良い。これは例えば工場などで、物のピッキングを行う場面に適用できる。ピッキングすべき物として形状が既知の同一物がたくさんあるときに、その物体を基底とその係数で表すことで、イベントデータから物体の姿勢や移動ベクトルを高速かつロバストに求めることができ、物体をピックアップできる。
【産業上の利用可能性】
【0050】
本発明は、イベントカメラで取得したデータに基づいて画像処理を行う画像処理技術として有用である。
【符号の説明】
【0051】
1,2 画像処理装置
10 イベントカメラ
11 演算部
12 読取部
13 出力部
14 コスト関数記憶部
15 QRコード仕様データ記憶部
16 演算部
17 輝度画像生成部
18 コスト関数記憶部