(57)【特許請求の範囲】
【請求項１】
２枚の画像間の一方の画像から他方の画像への第１のオプティカルフローと前記第１のオプティカルフローの終点から起点へ回帰する第２のオプティカルフローとを参照して、前記第２のオプティカルフローの終点である回帰点の座標を取得する回帰点取得部と、
前記第１のオプティカルフローの起点の座標と前記回帰点取得部により取得された回帰点の座標との二乗平均平方根誤差を２の平方根で除算した値を、前記２枚の画像間におけるオプティカルフローの精度として算出する精度算出部と
を備えたことを特徴とするオプティカルフロー精度算出装置。
【請求項２】
回帰点取得部が、２枚の画像間の一方の画像から他方の画像への第１のオプティカルフローと前記第１のオプティカルフローの終点から起点へ回帰する第２のオプティカルフローとを参照して、前記第２のオプティカルフローの終点である回帰点の座標を取得するステップと、
精度算出部が、前記第１のオプティカルフローの起点の座標と前記回帰点取得部により取得された回帰点の座標との二乗平均平方根誤差を２の平方根で除算した値を、前記２枚の画像間におけるオプティカルフローの精度として算出するステップと
を備えたことを特徴とするオプティカルフロー精度算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、２枚の画像間のオプティカルフローの精度を算出するオプティカルフロー精度算出装置およびオプティカルフロー精度算出方法に関する。
【背景技術】
【０００２】
例えば、特許文献１には、２枚の画像間の画素同士の対応付けの正誤を判定する方法が記載されている。なお、オプティカルフローは、２枚の画像のうちの一方の画像における点がもう一方の画像のどの点にあるのかを示すベクトルの集まりである。
従って、特許文献１に記載された上記画素同士の対応付けはオプティカルフローに相当するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１２４５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載される方法は、２枚の画像間における画素同士の対応付けの正誤を判定するものであり、オプティカルフローの精度を明示するものではない。
このため、オプティカルフローの正確さまたは誤りの程度を定量的なデータとして得ることができなかった。【０００５】
この発明は上記課題を解決するもので、オプティカルフローの精度を算出することができるオプティカルフロー精度算出装置およびオプティカルフロー精度算出方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るオプティカルフロー精度算出装置は、回帰点取得部および精度算出部を備えている。回帰点取得部は、２枚の画像間の一方の画像から他方の画像への第１のオプティカルフローと第１のオプティカルフローの終点から起点へ回帰する第２のオプティカルフローとを参照して第２のオプティカルフローの終点である回帰点の座標を取得する。精度算出部は、第１のオプティカルフローの起点の座標と回帰点取得部により取得された回帰点の座標との二乗平均平方根誤差を２の平方根で除算した値を、２枚の画像間のオプティカルフローの精度として算出する。
【発明の効果】
【０００７】
この発明によれば、２枚の画像間の一方の画像から他方の画像への第１のオプティカルフローの起点の座標と他方の画像から一方の画像へ回帰する第２のオプティカルフローの終点である回帰点の座標との差を算出する。これにより、この差に基づいてオプティカルフローの精度を算出することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１に係るオプティカルフロー精度算出装置の構成例を示すブロック図である。
【図２】図２Ａは、オプティカルフロー精度算出装置の機能を実現するハードウェア構成例を示すブロック図である。図２Ｂは、オプティカルフロー精度算出装置の機能を実現するソフトウェアを実行するハードウェア構成例を示すブロック図である。
【図３】誤差がない画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。
【図４】誤差がある画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。
【図５】さらに誤差がある画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。
【図６】実施の形態１に係るオプティカルフロー精度算出装置の動作を示すフローチャートである。
【図７】画像Ａと画像Ｂの具体例を示す図である。
【図８】図７の画像Ａから画像Ｂへの第１のオプティカルフローの算出結果を示す図である。
【図９】画像Ａと画像Ｂとの間のオプティカルフローを相互参照した結果を示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は実施の形態１に係るオプティカルフロー精度算出装置１の構成例を示すブロック図である。オプティカルフロー精度算出装置１は、２枚の画像間のオプティカルフローの精度を算出する装置であって、オプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５を備えている。
以下、オプティカルフロー精度算出装置１が、画像Ａと画像Ｂとの間のオプティカルフローの精度Ｐを算出するものとする。
なお、画像Ａと画像Ｂとしては、例えば、動画データにおける時系列に連続した２枚のフレーム画像が挙げられる。
【００１０】
オプティカルフロー算出部２は、画像Ａから画像Ｂへの第１のオプティカルフローと、画像Ｂから画像Ａへの第２のオプティカルフローとを算出する。
なお、第１のオプティカルフローは、画像Ａ上の起点からこの起点に対応する画像Ｂ上の終点に向かうベクトルを示す情報である。
また、第２のオプティカルフローは、画像Ｂ上の第１のオプティカルフローの終点からこの終点に対応する画像Ａ上の終点、すなわち第１のオプティカルフローの起点へ向かうベクトルを示す情報である。
従って、画像Ａと画像Ｂとの間のオプティカルフローに誤差がなければ、第２のオプティカルフローの終点は、画像Ａ上の第１のオプティカルフローの起点と一致する。
【００１１】
記憶部３は、オプティカルフロー算出部２が算出したオプティカルフローを記憶する。なお、記憶部３は、オプティカルフロー精度算出装置１が備える記憶装置の記憶領域上に設けてもよいが、オプティカルフロー精度算出装置１との間でデータのやり取りが可能な外部装置の記憶領域上に設けてもよい。
【００１２】
回帰点取得部４は、記憶部３に記憶されている第１のオプティカルフローと第２のオプティカルフローとを参照して第２のオプティカルフローの終点である回帰点の座標を取得する。ここでは、画像Ａと画像Ｂとの間における第１のオプティカルフローと第２のオプティカルフローとを参照することを、オプティカルフローの相互参照と呼ぶ。
なお、オプティカルフローの相互参照は、下記の手順で行われる。
まず、画像Ａ上の点ｐの座標（ｘ，ｙ）に着目して、第１のオプティカルフローを参照することで、点ｐを起点とした第１のオプティカルフローの終点である画像Ｂ上の点ｐ’の座標（ｘ’，ｙ’）を取得する。続いて、点ｐ’を起点として画像Ａ上の点ｐに向かう第２のオプティカルフローを参照することによって、第２のオプティカルフローの終点である画像Ａ上の点ｐ”の座標（ｘ”，ｙ”）を回帰点として取得する。
なお、前述したように画像Ａと画像Ｂとの間のオプティカルフローに誤差がなければ、点ｐの座標（ｘ，ｙ）と点ｐ”の座標（ｘ”，ｙ”）とは自明に一致する。
【００１３】
精度算出部５は、画像Ａ上の点ｐの座標（ｘ，ｙ）と点ｐ”の座標（ｘ”，ｙ”）との差に基づいて、画像Ａと画像Ｂとの間のオプティカルフローの精度Ｐを算出する。
例えば、回帰点取得部４は、画像Ａ上の複数の画素のそれぞれを点ｐに設定して、これらに対応する回帰点の座標（ｘ”，ｙ”）を取得する。
精度算出部５は、複数の点ｐの座標とこれらに対応する複数の回帰点の座標との二乗平均平方根誤差（ＲＭＳＥ）を算出し、算出したＲＭＳＥをさらに２の平方根で除算した値をオプティカルフローの精度Ｐとして算出する。
【００１４】
なお、図１では、オプティカルフロー精度算出装置１が、オプティカルフロー算出部２と記憶部３とを備えた構成を示したが、これらの機能構成部は、オプティカルフロー精度算出装置１とは別の装置が備えていてもよい。
すなわち、実施の形態１に係るオプティカルフロー精度算出装置１は、既存のオプティカルフロー情報を用いて精度Ｐを算出することができるので、回帰点取得部４および精度算出部５を少なくとも備えていればよい。
【００１５】
図２Ａは、オプティカルフロー精度算出装置１の機能を実現するハードウェア構成例を示すブロック図である。図２Ｂは、オプティカルフロー精度算出装置１の機能を実現するソフトウェアを実行するハードウェア構成例を示すブロック図である。
図１に示したオプティカルフロー精度算出装置１のオプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５の各機能は、処理回路により実現される。
すなわち、オプティカルフロー精度算出装置１は、これらの機能を逐次実行するための処理回路を備えている。
なお、処理回路は、専用のハードウェアであっても、メモリに格納されたプログラムを読み出して実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００１６】
処理回路が、図２Ａに示す専用のハードウェアの処理回路１００である場合、処理回路１００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、これらを組み合わせたものが該当する。
また、オプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５の各部の機能をそれぞれ処理回路で実現してもよいし、各部の機能をまとめて１つの処理回路で実現してもよい。
【００１７】
上記処理回路が、図２Ｂに示すようなＣＰＵ１０１である場合、オプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。
ソフトウェアとファームウェアは、プログラムとして記述され、メモリ１０２に格納される。ＣＰＵ１０１は、メモリ１０２に格納されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、ＣＰＵ１０１によって実行されると各機能が結果的に実行されるプログラムを格納するためのメモリ１０２を備える。
また、これらのプログラムは、オプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５の手順または方法をコンピュータに実行させるものである。
【００１８】
ここで、メモリとは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などが該当する。
【００１９】
なお、オプティカルフロー算出部２、記憶部３、回帰点取得部４および精度算出部５の各機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。
例えば、オプティカルフロー算出部２、記憶部３、回帰点取得部４は専用のハードウェアの処理回路１００でその機能を実現し、精度算出部５は、ＣＰＵ１０１がメモリ１０２に格納されたプログラム実行することで、その機能を実現する。
このように、上記処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって前述の機能を実現することができる。
【００２０】
次に、実施の形態１におけるオプティカルフローの精度Ｐの算出原理について図３から図５までを用いて説明する。
図３は誤差がない画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。図３において、点線の矢印は、画像Ａから画像Ｂへの第１のオプティカルフローを表している。また、実線の矢印は、画像Ｂから画像Ａへの第２のオプティカルフローを表している。ここでは、第１のオプティカルフローに誤差がなく、第２のオプティカルフローにも誤差がない。このため、第２のオプティカルフローの終点である回帰点の座標（ｘ”，ｙ”）は画像Ａ上の第１のオプティカルフローの起点である点ｐの座標（ｘ，ｙ）と一致する。なお、点ｐ’は、点ｐを起点とした第１のオプティカルフローの終点であり、かつ第２のオプティカルフローの起点である。その座標は（ｘ’，ｙ’）である。
【００２１】
図４は誤差がある画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。ここでは、第１のオプティカルフローと第２のオプティカルフローとのうちの少なくとも一方に誤差がある。点ｐの座標（ｘ，ｙ）を起点とした第１のオプティカルフローを参照することで、その終点である画像Ｂ上の点ｐ’の座標（ｘ’，ｙ’）が得られる。
また、点ｐ’の座標（ｘ’，ｙ’）起点とした第２のオプティカルフローを参照することで、その終点である画像Ａ上の点ｐ”の座標（ｘ”，ｙ”）が得られる。
ここで得られる点ｐ’の座標（ｘ’，ｙ’）および点ｐ”の座標（ｘ”，ｙ”）のうちの少なくとも一方は、オプティカルフローに誤差がない場合とは異なる座標となるので、図４に示すように、点ｐの座標（ｘ，ｙ）と点ｐ”の座標（ｘ”，ｙ”）は一致しない。
【００２２】
図５はさらに誤差がある画像Ａと画像Ｂとの間のオプティカルフローの概要を示す図である。ここでは、第１のオプティカルフローと第２のオプティカルフローとのうちの少なくとも一方が図４に示した場合よりも大きな誤差がある。
オプティカルフローに大きな誤差があると、その誤差が小さい場合と比較して、図５に示すように、点ｐの座標（ｘ，ｙ）と点ｐ”の座標（ｘ”，ｙ”）の不一致の度合いは、通常大きくなると考えてよい。
【００２３】
そこで、第１のオプティカルフローの起点である画像Ａ上の点ｐの座標（ｘ，ｙ）を真値として画像Ａ上の複数の画素を点ｐに設定する。このように設定された点ｐに対応する点ｐ”の座標（ｘ”，ｙ”）と点ｐの座標（ｘ，ｙ）とのＲＭＳＥを算出することで、オプティカルフローの精度Ｐの定量化が可能である。
【００２４】
点ｐの座標（ｘ，ｙ）と点ｐ”の座標（ｘ”，ｙ”）とを得るには、前述したように、第１のオプティカルフローと第２のオプティカルフローとを参照する必要がある。
すなわち、これらの座標の取得においてオプティカルフローが２回参照されている。
この処理は、例えば下記参考文献に記載されるランダムウォーク問題における試行回数ｎ＝２の場合に相当する。
（参考文献）脇本和昌著、「乱数の知識」、森北出版、１９７０年８月
【００２５】
上記参考文献における原理に基づくと、画像Ａと画像Ｂとの間のオプティカルフローの精度Ｐは、下記式（１）から算出することができる。
Ｐ＝ＲＭＳＥ／√２        ・・・（１）
【００２６】
次に動作について説明する。
図６はオプティカルフロー精度算出装置１の動作を示すフローチャートであり、画像Ａと画像Ｂとの間のオプティカルフローの精度Ｐを算出する一連の処理を示している。
まず、回帰点取得部４は、画像Ａ上の点ｐの座標（ｘ，ｙ）を起点として、記憶部３に記憶されている第１のオプティカルフローを参照する（ステップＳＴ１）。これにより、回帰点取得部４は、第１のオプティカルフローの終点である画像Ｂ上の点ｐ’の座標（ｘ’，ｙ’）を取得する。ここでは、画像Ａの全画素を点ｐとして、これらに対応する点ｐ’の座標が取得される。
【００２７】
次に、回帰点取得部４は、画像Ｂ上の点ｐ’を起点として、記憶部３に記憶されている第２のオプティカルフローを参照する（ステップＳＴ２）。これにより、回帰点取得部４は、第２のオプティカルフローの終点である画像Ａ上の点ｐ”の座標（ｘ”，ｙ”）を回帰点として取得する（ステップＳＴ３）。
ここでは、画像Ｂの全画素を点ｐ’として、これらに対応する点ｐ”の座標が取得される。すなわち、画像Ａの全画素を起点とした回帰点が取得される。
【００２８】
続いて、精度算出部５は、第１のオプティカルフローの起点の座標を真値とした場合における、回帰点の座標のＲＭＳＥを算出する（ステップＳＴ４）。すなわち、点ｐの座標を真値として、この真値に対する回帰点の座標のＲＭＳＥが算出される。
この後、精度算出部５は、画像Ａと画像Ｂとの間におけるオプティカルフローの精度Ｐとして、ＲＭＳＥを２の平方根で除算した値を算出する（ステップＳＴ５）。
【００２９】
図７は、画像Ａと画像Ｂの具体例を示す図である。図７において、画像Ａと画像Ｂは、例えば、動画データの連続した２枚のフレーム画像である。画像Ａと画像Ｂとを入力画像として画像相関法による演算を施すことで、画像Ａと画像Ｂとの間のオプティカルフローを算出することができる。なお、画像相関法とは、変形後の画像から変形前の画像とよく似たパターンの場所を見つけるものであり、広く産業において用いられる方法である。
【００３０】
図８は、図７の画像Ａから画像Ｂへの第１のオプティカルフローの算出結果を示す図である。図８において、第１のオプティカルフローは、画像Ａと画像Ｂとを入力画像とした画像相関法によって算出されたものである。オプティカルフローは、色符号化して画像Ａに重ねて表示されている。例えば、図８の上段図は、オプティカルフローのＸ方向成分の大きさを色符号化したものであり、下段図は、Ｙ方向成分の大きさを色符号化したものである。なお、この表示処理は、既存の技術である。
【００３１】
また、図９は画像Ａと画像Ｂとの間のオプティカルフローを相互参照した結果を示す図である。図９において、（１）は画像Ａ上の座標（Ｘ）を示しており、（２）は画像Ａ上の座標（Ｙ）を示している。（３）は画像Ａから画像Ｂへの第１のオプティカルフローのＸ方向成分の大きさであり、（４）は第１のオプティカルフローのＹ方向成分の大きさである。（５）は画像Ｂ上の座標（Ｘ）を示しており、（６）は画像Ｂ上の座標（Ｙ）を示している。（７）は画像Ｂから画像Ａへの第２のオプティカルフローのＸ方向成分の大きさであり、（８）は第２のオプティカルフローのＹ方向成分の大きさである。さらに、（９）は画像Ａ上の座標（Ｘ）を示しており、（１０）は画像Ａ上の座標（Ｙ）を示している。
【００３２】
図９では、（１）および（２）に示すように、画像Ａ上の９個の座標（１００．００，１００．００）〜（３００．００，３００．００）を起点として、オプティカルフローの相互参照を行っている。なお、ここでは、以降の説明の簡単のために、画像Ａ上の９個の座標を取り扱ったが、図６で説明した処理と同様に画像Ａの全画素を起点としてもよい。
【００３３】
例えば、座標（１００．００，１００．００）が点ｐの座標（ｘ，ｙ）である場合、（３）および（４）に示すように、第１のオプティカルフローは、（−２６．７８，−４１．０９）である。回帰点取得部４は、この第１のオプティカルフローを参照することにより、（５）および（６）に示す座標（７３．２２，５８．９１）を算出する。
この点が、第１のオプティカルフローの終点である画像Ｂ上の点ｐ’の座標（ｘ’，ｙ’）である。
【００３４】
一方、（７）および（８）に示すように、画像Ｂ上の点ｐ’の座標（ｘ’，ｙ’）を起点とした第２のオプティカルフローは、（２６．９０，４１．０３）である。
回帰点取得部４は、この第２のオプティカルフローを参照することで、（９）および（１０）に示す座標（１００．１２，９９．９４）を取得する。
この点が、第２のオプティカルフローの終点、すなわち回帰点である画像Ａ上の点ｐ”の座標（ｘ”，ｙ”）に相当する。
回帰点取得部４は、このようにして９個の起点の座標についてそれぞれの回帰点の座標を取得する。
【００３５】
精度算出部５は、９個の起点の座標を真値として回帰点のＲＭＳＥを算出することで、ＲＭＳＥ＝０．２２が得られる。
次に、精度算出部５は、上記式（１）に従ってＲＭＳＥを２の平方根で除算することにより、画像Ａと画像Ｂとの間のオプティカルフローの精度Ｐ＝０．１５が得られる。
従って、このオプティカルフローの精度Ｐは、０．１５ピクセルというように定量化することができる。例えば、オプティカルフローの計算を行う異なる複数のアルゴリズムがある場合に、オプティカルフローの精度Ｐを基準とすることで、どのアルゴリズムがどの対象に対してどれくらい正確にオプティカルフローを計算できるのかを定量的に比較することができる。
【００３６】
これまで、第１のオプティカルフローの起点である点ｐの座標とこれに対応する回帰点である点ｐ”の座標とのＲＭＳＥを２の平方根で除算した値をオプティカルフローの精度Ｐとしたが、これに限定されるものではない。例えば、点ｐの座標と点ｐ”の座標との差を定量化できる値であれば、オプティカルフローの精度Ｐとして利用することができる。
すなわち、オプティカルフロー精度算出装置１は、点ｐの座標と点ｐ”の座標との差に基づいて、オプティカルフローの精度Ｐを定量化（数値化）するものである。
【００３７】
以上のように、実施の形態１に係るオプティカルフロー精度算出装置１が、回帰点取得部４および精度算出部５を備える。精度算出部５は、第１のオプティカルフローの起点である点ｐの座標と画像Ｂから画像Ａへ回帰する第２のオプティカルフローの終点である点ｐ”の座標との差に基づいて、オプティカルフローの精度Ｐを算出することができる。
なお、上記差は、第１のオプティカルフローの起点の座標とこれに対応する回帰点の座標とのＲＭＳＥであってもよく、この場合、ＲＭＳＥを２の平方根で除算した値が精度Ｐとなる。
【００３８】
なお、本発明はその発明の範囲内において実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００３９】
この発明に係るオプティカルフロー精度算出装置は、オプティカルフローの精度を算出することができるので、例えば、画像情報から物体を検出する物体検出装置などに好適である。
【符号の説明】
【００４０】
１  オプティカルフロー精度算出装置、２  オプティカルフロー算出部、３  記憶部、４  回帰点取得部、５  精度算出部、１００  処理回路、１０１  ＣＰＵ、１０２  メモリ。
【図１】
0006456567.tif 000002
【図２】
0006456567.tif 000003
【図３】
0006456567.tif 000004
【図４】
0006456567.tif 000005
【図５】
0006456567.tif 000006
【図６】
0006456567.tif 000007
【図７】
0006456567.tif 000008
【図８】
0006456567.tif 000009
【図９】
0006456567.tif 000010