(57)【要約】【課題】動画像の移動方向等に関わらず、動画像を用いて対象物までの距離を算出する。【解決手段】動画像距離算出装置１００は、カメラ２００で撮影された動画像の時刻ｔの画像に映るＭ個の対象物のoptical flowを抽出するオプティカルフロー抽出手段１０４ａと、optical flowの大きさを値ｑｍ（ｍ＝１，２，・・・，Ｍ）として算出するオプティカルフロー値算出手段１０４ｂと、optical flowの値ｑｍのうち最も小さい値をμとし、最も大きい値をγとし、Ｍ個の対象物からカメラ２００までの距離で最も近い距離をＺＮ、最も遠い距離をＺＬとし、定数ａ，ｂをａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ）），ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）で算出し、Ｍ個の対象物からカメラ２００までの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、距離Ｚｍを、Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）により算出する距離算出手段１０４とを有する。【選択図】  図１
2020139934.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像の時刻ｔの画像に映るＭ個の前記対象物の画素から、それぞれの画素に対応するＭ個のoptical flowを抽出するオプティカルフロー抽出手段と、
該オプティカルフロー抽出手段により抽出されたＭ個の前記optical flowのそれぞれの大きさを、optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）として算出するオプティカルフロー値算出手段と、
該オプティカルフロー値算出手段により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出し、
Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出する距離算出手段と
を有することを特徴とする動画像距離算出装置。
【請求項２】
前記オプティカルフロー値算出手段は、
前記オプティカルフロー抽出手段により抽出されたＭ個の前記optical flowの大きさの総和を算出し、それぞれの前記optical flowの大きさを前記総和で割ることによって求められた、正規化されたそれぞれのoptical flowの大きさを、前記optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）とすること
を特徴とする請求項１に記載の動画像距離算出装置。
【請求項３】
前記Ｍ個は、前記動画像における時刻ｔの画像の画素数であり、
前記距離算出手段は、時刻ｔの前記画像の全ての画素毎に、当該画素に映る対象物から前記カメラまでの距離Ｚｍを算出すること
を特徴とする請求項１または請求項２に記載の動画像距離算出装置。
【請求項４】
Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像の時刻ｔの画像における全ての画素のoptical flowを抽出する全画素オプティカルフロー抽出手段と、
該全画素オプティカルフロー抽出手段により抽出された全ての画素の前記optical flowのそれぞれの大きさを、画素毎のoptical flowの値として算出する全画素オプティカルフロー値算出手段と、
前記時刻ｔの画像に対してmean-shift法を適用することにより、前記時刻ｔの画像を、Ｋ個（Ｋ≧Ｍ）の領域に分割する領域分割手段と、
該領域分割手段により分割されたＫ個の前記領域のうち、前記時刻ｔの画像において前記対象物が映る画素が含まれるＭ個の領域を抽出し、それぞれの領域毎に当該領域内の全ての画素のoptical flowの値の平均を求めることにより、Ｍ個の前記対象物に対応するそれぞれのoptical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）を算出する領域別オプティカルフロー値算出手段と、
該領域別オプティカルフロー値算出手段により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出し、
Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出する距離算出手段と
を有することを特徴とする動画像距離算出装置。
【請求項５】
前記全画素オプティカルフロー値算出手段は、
前記全画素オプティカルフロー抽出手段により抽出された全ての画素の前記optical flowの大きさの総和を算出し、それぞれの画素の前記optical flowの大きさを前記総和で割ることによって求められた、正規化された画素毎のoptical flowの大きさを、前記画素毎のoptical flowの値とすること
を特徴とする請求項４に記載の動画像距離算出装置。
【請求項６】
Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像に映るＭ個の前記対象物から前記カメラまでの距離を算出する動画像距離算出装置の動画像距離算出用プログラムであって、
コンピュータに、
前記動画像の時刻ｔの画像に映るＭ個の前記対象物の画素から、それぞれの画素に対応するＭ個のoptical flowを抽出させるオプティカルフロー抽出機能と、
該オプティカルフロー抽出機能により抽出されたＭ個の前記optical flowのそれぞれの大きさを、optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）として算出させるオプティカルフロー値算出機能と、
該オプティカルフロー値算出機能により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出させ、
Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出させる距離算出機能と
を実現させることを特徴とする動画像距離算出用プログラム。
【請求項７】
前記オプティカルフロー値算出機能において、
前記コンピュータに、
前記オプティカルフロー抽出機能により抽出されたＭ個の前記optical flowの大きさの総和を算出させ、それぞれの前記optical flowの大きさを前記総和で割ることによって求められた、正規化されたそれぞれのoptical flowの大きさを、前記optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）とすること
を特徴とする請求項６に記載の動画像距離算出用プログラム。
【請求項８】
前記Ｍ個は、前記動画像における時刻ｔの画像の画素数であり、
前記距離算出機能において、前記コンピュータに、
時刻ｔの前記画像の全ての画素毎に、当該画素に映る対象物から前記カメラまでの距離Ｚｍを算出させること
を特徴とする請求項６または請求項７に記載の動画像距離算出用プログラム。
【請求項９】
Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像に映るＭ個の前記対象物から前記カメラまでの距離を算出する動画像距離算出装置の動画像距離算出用プログラムであって、
コンピュータに、
前記動画像の時刻ｔの画像における全ての画素のoptical flowを抽出させる全画素オプティカルフロー抽出機能と、
該全画素オプティカルフロー抽出機能により抽出された全ての画素の前記optical flowのそれぞれの大きさを、画素毎のoptical flowの値として算出させる全画素オプティカルフロー値算出機能と、
前記時刻ｔの画像に対してmean-shift法を適用することにより、前記時刻ｔの画像を、Ｋ個（Ｋ≧Ｍ）の領域に分割させる領域分割機能と、
該領域分割機能により分割されたＫ個の前記領域のうち、前記時刻ｔの画像において前記対象物が映る画素が含まれるＭ個の領域を抽出させ、それぞれの領域毎に当該領域内の全ての画素のoptical flowの値の平均を求めさせることにより、Ｍ個の前記対象物に対応するそれぞれのoptical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）を算出させる領域別オプティカルフロー値算出機能と、
該領域別オプティカルフロー値算出機能により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出させ、
Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出させる距離算出機能と
を実現させることを特徴とする動画像距離算出用プログラム。
【請求項１０】
前記全画素オプティカルフロー値算出機能において、
前記コンピュータに、
前記全画素オプティカルフロー抽出機能により抽出された全ての画素の前記optical flowの大きさの総和を算出させ、それぞれの画素の前記optical flowの大きさを前記総和で割ることによって求められた、正規化された画素毎のoptical flowの大きさを、前記画素毎のoptical flowの値とすること
を特徴とする請求項９に記載の動画像距離算出用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像距離算出装置および動画像距離算出用プログラムに関し、より詳細には、対象物を撮影した動画像を用いて、動画像に映った対象物からカメラまでの距離を算出する動画像距離算出装置および動画像距離算出用プログラムに関する。
【背景技術】
【０００２】
近年、車両やドローンなどの移動物体に対して、外界を撮影するためのカメラを設置することが多い。近時では、カメラで外界の様子を単に撮影するだけでなく、撮影された動画像に基づいて、車両等の自動運転に利用可能な周囲の距離情報を取得したいという要望が存在する。
【０００３】
カメラで対象物を撮影し、撮影された動画像に基づいて、対象物からカメラまでの距離を算出する方法が、既に提案されている（例えば、特許文献１および特許文献２参照）。特許文献１において提案されている方法をＡＭＰ（Accumulated-Motion-Parallax）法と称し、特許文献２において提案されている方法をＦＭＰ（Frontward-Motion-Parallax）法と称する。
【０００４】
ＡＭＰ法は、横方向に移動するカメラで撮影された動画像を用いて、対象物からカメラまでの距離を算出する方法である。ＦＭＰ法は、前方あるいは後方に移動するカメラで撮影された動画像を用いて、対象物からカメラまでの距離を算出する方法である。ＡＭＰ法やＦＭＰ法を用いることにより、一台のカメラで撮影された動画像に基づいて、撮影された対象物からカメラまでの距離を算出することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−４０７８９号公報
【特許文献２】特願２０１７−２３５１９８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＡＭＰ法は、横方向に移動するカメラで撮影された動画像を用いて、対象物までの距離を算出することを特徴とするため、横方向に移動しないカメラで撮影された動画像からは、対象物までの距離を求めることが難しいという問題があった。また、ＡＭＰ法によって対象物からカメラまでの距離を算出する場合、対象物は静止している必要がある。このため、撮影された動画像に映る対象物が、移動するものである場合には、対象物からカメラまでの距離を求めることが難しいという問題があった。
【０００７】
また、ＦＭＰ法は、前方あるいは後方に移動するカメラで撮影された動画像を用いて、対象物からカメラまでの距離を算出することを特徴とするため、横方向に移動するカメラや、斜め方向に移動するカメラによって撮影された動画像からは、対象物からカメラまでの距離を求めることが難しいという問題があった。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、対象物を撮影するカメラの移動状態あるいは移動方向に関わらず、対象物を撮影した動画像を用いて、対象物からカメラまでの距離を算出することが可能な動画像距離算出装置および動画像距離算出用プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る動画像距離算出装置は、Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像の時刻ｔの画像に映るＭ個の前記対象物の画素から、それぞれの画素に対応するＭ個のoptical flowを抽出するオプティカルフロー抽出手段と、該オプティカルフロー抽出手段により抽出されたＭ個の前記optical flowのそれぞれの大きさを、optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）として算出するオプティカルフロー値算出手段と、該オプティカルフロー値算出手段により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出し、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出する距離算出手段とを有することを特徴とする。
【００１０】
また、本発明に係る動画像距離算出用プログラムは、Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像に映るＭ個の前記対象物から前記カメラまでの距離を算出する動画像距離算出装置の動画像距離算出用プログラムであって、コンピュータに、前記動画像の時刻ｔの画像に映るＭ個の前記対象物の画素から、それぞれの画素に対応するＭ個のoptical flowを抽出させるオプティカルフロー抽出機能と、該オプティカルフロー抽出機能により抽出されたＭ個の前記optical flowのそれぞれの大きさを、optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）として算出させるオプティカルフロー値算出機能と、該オプティカルフロー値算出機能により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出させ、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出させる距離算出機能とを実現させることを特徴とする。
【００１１】
また、本発明に係る動画像距離算出装置は、Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像の時刻ｔの画像における全ての画素のoptical flowを抽出する全画素オプティカルフロー抽出手段と、該全画素オプティカルフロー抽出手段により抽出された全ての画素の前記optical flowのそれぞれの大きさを、画素毎のoptical flowの値として算出する全画素オプティカルフロー値算出手段と、前記時刻ｔの画像に対してmean-shift法を適用することにより、前記時刻ｔの画像を、Ｋ個（Ｋ≧Ｍ）の領域に分割する領域分割手段と、該領域分割手段により分割されたＫ個の前記領域のうち、前記時刻ｔの画像において前記対象物が映る画素が含まれるＭ個の領域を抽出し、それぞれの領域毎に当該領域内の全ての画素のoptical flowの値の平均を求めることにより、Ｍ個の前記対象物に対応するそれぞれのoptical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）を算出する領域別オプティカルフロー値算出手段と、該領域別オプティカルフロー値算出手段により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出し、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出する距離算出手段とを有することを特徴とする。
【００１２】
また、本発明に係る動画像距離算出用プログラムは、Ｍ個（Ｍ≧３）の対象物を撮影したカメラの動画像を用いて、該動画像に映るＭ個の前記対象物から前記カメラまでの距離を算出する動画像距離算出装置の動画像距離算出用プログラムであって、コンピュータに、前記動画像の時刻ｔの画像における全ての画素のoptical flowを抽出させる全画素オプティカルフロー抽出機能と、該全画素オプティカルフロー抽出機能により抽出された全ての画素の前記optical flowのそれぞれの大きさを、画素毎のoptical flowの値として算出させる全画素オプティカルフロー値算出機能と、前記時刻ｔの画像に対してmean-shift法を適用することにより、前記時刻ｔの画像を、Ｋ個（Ｋ≧Ｍ）の領域に分割させる領域分割機能と、該領域分割機能により分割されたＫ個の前記領域のうち、前記時刻ｔの画像において前記対象物が映る画素が含まれるＭ個の領域を抽出させ、それぞれの領域毎に当該領域内の全ての画素のoptical flowの値の平均を求めさせることにより、Ｍ個の前記対象物に対応するそれぞれのoptical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）を算出させる領域別オプティカルフロー値算出機能と、該領域別オプティカルフロー値算出機能により算出されたＭ個の前記optical flowの値ｑｍのうち、前記optical flowの値が最も小さい値をμとし、前記optical flowの値が最も大きい値をγとし、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離のうちで最も近い距離ＺＮと最も遠い距離ＺＬとを予め測定しておき、定数ａおよび定数ｂを、
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））
ｂ＝（１／（μ−γ））ｌｏｇ（ＺＬ／ＺＮ）
により算出させ、Ｍ個の前記対象物から前記カメラまでのそれぞれの距離をＺｍ（ｍ＝１，２，・・・，Ｍ）として、当該距離Ｚｍを、前記定数ａと、前記定数ｂと、Ｍ個の前記optical flowの値ｑｍとに基づいて、
Ｚｍ＝ａ・ｅｘｐ（ｂｑｍ）
により算出させる距離算出機能とを実現させることを特徴とする。
【００１３】
動画像を用いてoptical flowを抽出する処理や、画像に対してmean-shift法を適用することにより領域分割を行う処理は、Open CV（Open Source Computer Vision Library）と呼ばれる、広く公開されたオープンソースのコンピュータビジョン向けのライブラリを利用することによって実現される。
【００１４】
また、オプティカルフロー抽出手段または全画素オプティカルフロー抽出手段によって抽出されるoptical flowは、ベクトルとして求められる。従って、オプティカルフロー値算出手段または全画素オプティカルフロー値算出手段によって算出されるoptical flowの値は、optical flowのベクトルの絶対値を意味している。例えば、ベクトルが（Ｖ１，Ｖ２）の場合には、Ｖ１２＋Ｖ２２の値の平方根を求めることによって、optical flowの値を算出することができる。
【００１５】
さらに、上述した動画像距離算出装置において、前記オプティカルフロー値算出手段は、前記オプティカルフロー抽出手段により抽出されたＭ個の前記optical flowの大きさの総和を算出し、それぞれの前記optical flowの大きさを前記総和で割ることによって求められた、正規化されたそれぞれのoptical flowの大きさを、前記optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）とするものであってもよい。
【００１６】
また、上述した動画像距離算出装置において、前記全画素オプティカルフロー値算出手段は、前記全画素オプティカルフロー抽出手段により抽出された全ての画素の前記optical flowの大きさの総和を算出し、それぞれの画素の前記optical flowの大きさを前記総和で割ることによって求められた、正規化された画素毎のoptical flowの大きさを、前記画素毎のoptical flowの値とするものであってもよい。
【００１７】
また、上述した動画像距離算出用プログラムは、前記オプティカルフロー値算出機能において、前記コンピュータに、前記オプティカルフロー抽出機能により抽出されたＭ個の前記optical flowの大きさの総和を算出させ、それぞれの前記optical flowの大きさを前記総和で割ることによって求められた、正規化されたそれぞれのoptical flowの大きさを、前記optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）とするものであってもよい。
【００１８】
さらに、上述した動画像距離算出用プログラムは、前記全画素オプティカルフロー値算出機能において、前記コンピュータに、前記全画素オプティカルフロー抽出機能により抽出された全ての画素の前記optical flowの大きさの総和を算出させ、それぞれの画素の前記optical flowの大きさを前記総和で割ることによって求められた、正規化された画素毎のoptical flowの大きさを、前記画素毎のoptical flowの値とするものであってもよい。
【００１９】
また、上述した動画像距離算出装置において、前記Ｍ個は、前記動画像における時刻ｔの画像の画素数であり、前記距離算出手段は、時刻ｔの前記画像の全ての画素毎に、当該画素に映る対象物から前記カメラまでの距離Ｚｍを算出するものであってもよい。
【００２０】
さらに、上述した動画像距離算出用プログラムにおいて、前記Ｍ個は、前記動画像における時刻ｔの画像の画素数であり、前記距離算出機能において、前記コンピュータに、時刻ｔの前記画像の全ての画素毎に、当該画素に映る対象物から前記カメラまでの距離Ｚｍを算出させるものであってもよい。
【発明の効果】
【００２１】
本発明に係る動画像距離算出装置および動画像距離算出用プログラムによれば、対象物を撮影したカメラの移動状態あるいは移動方向に関わらず、対象物を撮影した動画像を用いて、対象物からカメラまでの距離を算出することが可能になる。
【００２２】
また、本発明に係る動画像距離算出装置および動画像距離算出用プログラムによれば、正規化されたそれぞれのoptical flowの大きさを、optical flowの値ｑｍ（ｍ＝１，２，・・・，Ｍ）として用いることによって、対象物からカメラまでの距離の算出を精度よく行うことが可能になる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態に係る動画像距離算出装置の概略構成を示したブロック図である。
【図２】実施の形態に係る動画像距離算出装置のＣＰＵが対象物までの距離を算出する処理を示したフローチャートである。
【図３】対象物（人物群）を撮影した動画像の時刻ｔの画像を示した図である。
【図４】図３に示す画像に基づいて全ての画素のoptical flowを抽出した状態を示した図である。
【図５】図３に示す画像に対してmean-shift法を適用して領域分割を行った状態を示した図である。
【図６】mean-shift法により分割されたそれぞれの領域のoptical flowの平均を求めて、optical flowの平均の方向とoptical flowの値の平均の大きさとを、それぞれの領域の中心（白丸Ｐ）から伸びる線分Ｌの向きと長さとで示した図である。
【図７】動的視差に基づいて、対象物からカメラまでの距離を求める方法を説明するための幾何モデルを示した図である。
【図８】図３に示した画像の様子を、異なる視点から立体的に示した図である。
【図９】上空から撮影した動画像より取得した位置情報に基づいて、都市の様子を立体的に示した図である。
【図１０】走行する車両の正面をカメラで撮影した動画像を用いて、車両前方の距離情報を取得し、車両前方の様子を立体的に示した図である。
【図１１】室内を移動するロボットにカメラを設置し、カメラで撮影された動画像を用いて距離情報を取得し、室内の状況を立体的に示した図である。
【発明を実施するための形態】
【００２４】
以下、本発明に係る動画像距離算出装置の一例を示し、図面を用いて詳細に説明する。図１は、動画像距離算出装置の概略構成を示したブロック図である。動画像距離算出装置１００は、記録部１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ＣＰＵ(Central Processing Unit：コンピュータ、オプティカルフロー抽出手段、オプティカルフロー値算出手段、距離算出手段、全画素オプティカルフロー抽出手段、全画素オプティカルフロー値算出手段、領域分割手段、領域別オプティカルフロー値算出手段）１０４とを有している。
【００２５】
動画像距離算出装置１００には、カメラ２００が接続される。カメラ２００を用いることにより、周囲の様子を動画像として撮影することが可能である。カメラは、例えば、車両、飛行機、ドローンなどに搭載することが可能になっている。
【００２６】
カメラ２００には、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等の固体撮像素子が設けられている。カメラ２００で撮影された動画像は、記録部１０１に記録される。また、動画像距離算出装置１００には、モニタ２１０が接続されている。
【００２７】
記録部１０１には、カメラ２００により撮影された動画像が記録される。より詳細には、カメラ２００によって撮影された動画像が、複数のフレーム画像を時系列的に記録したデジタルデータとして、記録部１０１に記録される。例えば、Ｔ時間分の動画像を、カメラ２００で撮影した場合を考える。カメラ２００が、ΔＴ時間毎に１枚の割合でフレームの画像（フレーム画像）を撮影する能力がある場合、記録部１０１には、Ｔ／ΔＴ枚のフレーム画像が時系列的に記録される。
【００２８】
動画像距離算出装置１００あるいはカメラ２００に、フレームバッファーを設けて、カメラ２００で撮影された単位時間毎のフレーム画像がフレームバッファーに一時的に記録され、フレームバッファーに記録されたフレーム画像が、時系列的に記録部１０１に記録される構成であってもよい。また、記録部１０１に記録される動画像は、カメラ２００によりリアルタイムに撮影された動画像には限定されず、予めカメラ２００によって撮影された動画像（過去の動画像）であってもよい。
【００２９】
対象物からカメラ２００までの距離を算出するために用いられる動画像は、デジタルデータで記録されるものだけには限定されない。例えば、アナログデータで記録された動画像であっても、デジタル変換処理を施すことによって、時系列的なフレーム画像として、記録部１０１に記録することが可能である。時系列的に記録されたフレーム画像を用いることにより、動画像距離算出装置１００で距離算出処理を行うことが可能である。
【００３０】
また、カメラ２００は、周囲の景色等を動画像として撮影可能な撮影手段であれば、その種類・構成は特に限定されない。例えば、一般的なムービーカメラであってもよく、また、スマートフォン等の携帯端末に設けられるカメラであってもよい。
【００３１】
記録部１０１は、一般的なハードディスク等によって構成されている。なお、記録部１０１の構成は、ハードディスクだけに限定されるものではなく、フラッシュメモリ、ＳＳＤ（Solid State Drive / Solid State Disk）などであってもよい。記録部１０１は、動画像を、時系列的な複数のフレーム画像として記録することが可能な記録媒体であるならば、具体的な構成は特に限定されない。
【００３２】
ＣＰＵ１０４は、記録部１０１に時系列的に記録された複数のフレーム画像（動画像）に基づいて、フレーム画像（動画像）に映っている対象物からカメラ２００までの距離を算出する処理を行う。ＣＰＵ１０４は、プログラム（図２のフローチャートに基づくプログラム）に基づいて、距離算出処理を行うが、その詳細については後述する。
【００３３】
ＲＯＭ１０２には、カメラ２００からフレーム画像に映っている対象物までの距離を算出するためのプログラム等が記録される。ＲＡＭ１０３は、ＣＰＵ１０４の処理に利用されるワークエリアとして用いられる。
【００３４】
実施の形態に係る動画像距離算出装置１００では、プログラム（図２に示すフローチャートに基づくプログラム：動画像距離算出用プログラム）が、ＲＯＭ１０２に記録される構成について説明する。しかしながら、プログラムが記録される記録媒体は、ＲＯＭ１０２だけに限定されるものではなく、記録部１０１にプログラムを記録する構成であってもよい。
【００３５】
モニタ２１０には、カメラ２００で撮影された動画像や、距離算出処理により３次元的に変換された画像や動画像等（例えば、後述する図８〜図１１に示す画像等）が表示される。モニタ２１０として、例えば、液晶ディスプレイや、ＣＲＴディスプレイなどの一般的な表示装置が用いられる。
【００３６】
次に、ＣＰＵ１０４が、記録部１０１に記録された動画像（時系列的に記録されるフレーム画像）に基づいて、動画像に映った対象物からカメラ２００までの距離を算出する方法について説明する。
【００３７】
ユークリッド（Euclid）は、２０００年以上前に、動的視差（motion parallax）という視覚的現象について論じている。動的視差による視覚的現象とは、物体が等速で動いているときに、遠くの物の方が、近くの物よりも、視覚的に動きが小さくなる現象である。動的視差による視覚的現象は、日常的に観測される。既に説明した、ＡＭＰ法やＦＭＰ法では、動的視差による視覚的現象を利用して、動画像に映る対象物からカメラまでの距離を算出する。
【００３８】
動画像距離算出装置１００では、動的視差による視覚的現象を利用し、カメラで撮影された動画像を用いて、対象物からカメラ２００までの距離を算出する。ＡＭＰ法やＦＭＰ法では、動画像におけるいずれかの座標の画素をターゲットピクセルとして設定し、ターゲットピクセルが動画像においてどのように移動するかを求めることによって、動的視差の値を求めている。
【００３９】
動画像距離算出装置１００では、動画像に映った対象物がどのように移動したかを求める方法として、optical flowと呼ばれる技術を用いる。optical flowとは、動画像（時間的に連続する複数のフレーム画像）における対象物の動きを、ベクトルで表したものである。
【００４０】
ここで、optical flowが適用される対象は、時間ｔにおける２次元のスカラー場である必要がある。時間ｔにおける２次元のスカラー場をｆ（ｘ，ｙ，ｔ）で示す。ｆ（ｘ，ｙ，ｔ）のうち、（ｘ，ｙ）は画像の座標を示しており、ｔは時間（時刻）を示している。このように、２次元のスカラー場をｆ（ｘ，ｙ，ｔ）と示すことにより、ｘ，ｙの偏微分である∂ｆ／∂ｘ，∂ｆ／∂ｙを計算することが可能となる。
【００４１】
optical flowは、動画像における対象物（座標）の動きであるため、optical flowを（ｄｘ／ｄｔ，ｄｙ／ｄｔ）と表すことができる。この場合、
−∂ｆ／∂ｔ＝（∂ｆ／∂ｘ）（ｄｘ／ｄｔ）＋（∂ｆ／∂ｙ）（ｄｙ／ｄｔ）
の関係式から、optical flow（ｄｘ／ｄｔ，ｄｙ／ｄｔ）を求めることが可能となる。
【００４２】
また、この関係式に基づいてoptical flowを求める場合には、時間ｔに関する偏微分∂ｆ／∂ｔを用いる。このため、optical flowが適用される対象は、時間ｔについて偏微分の計算が可能となる条件として、画像が連続していることが必要になる。従って、optical flowの適用の対象となる時間ｔと座標（ｘ，ｙ）とを備えるスカラー場として、カメラ２００で撮影される動画像（時間的に連続する複数のフレーム画像）を用いることが可能であり、動画像における対象物の動きを、optical flowとして画素単位で抽出することが可能である。
【００４３】
なお、動画像における対象物の動きには、対象物そのものが動画像内で積極的に動く場合と、カメラの動きに伴って対象物が動画像内で受動的に動かされる場合とが含まれる。従って、optical flowは、対象物の積極的な動きや、カメラの移動等に伴う対象物の受動的な動きが、ベクトルとして抽出されたものである。
【００４４】
動画像よりOptical flowを抽出する場合には、コンピュータビジョン向けのライブラリを利用することができる。具体的には、Open CVと呼ばれる、広く公開されたオープンソースのコンピュータビジョン向けのライブラリを利用することによって、Optical flowを抽出することが可能である。
【００４５】
図２は、動画像距離算出装置１００のＣＰＵ１０４が、動画像からoptical flowを抽出して、動画像に映っている対象物までの距離を算出するための処理内容を示したフローチャートである。ＣＰＵ１０４は、ＲＯＭ１０２に記録されるプログラムを読み出し、プログラムに従って、図２に示す処理を実行する。また、既に説明したように、カメラ２００によって撮影された動画像は、フレーム画像毎に記録部１０１に記録されている。ＣＰＵ１０４は、記録部１０１に記録されたフレーム毎の動画像に基づいて、時刻ｔにおけるOptical flowを抽出する。
【００４６】
図３は、カメラ２００で撮影された動画像のうち、時刻ｔのフレーム画像を一例として示した画像である。図３に示す画像は、スクランブル交差点の様子を、ビルの高層部から撮影した様子を示している。図３に示された画像のそれぞれの画素には、赤 (Red)、緑 (Green)、青 (Blue)の３色の色情報（以下、ＲＧＢ情報と称する）が付加されている。optical flowを抽出するアルゴリズムでは、「連続するフレーム画像間で対象物の画像上の明るさは変わらない」ことと、「隣接する画素は似たような動きをする」こととを前提としている。このため、各画素のＲＧＢ情報は、optical flowを抽出するために重要な要素である。
【００４７】
また、各画素のＲＧＢ情報に基づいてoptical flowが抽出されるため、近接する画素が同じようなＲＧＢ情報を有する場合（このような画素の集まりをテクスチャーのない状態と称する）には、optical flowによる対象物の動きの抽出が困難となる。ただし、テクスチャーのない状態に該当する部分は、例えば、アスファルト（地面）等であって、移動する対象物が存在しない部分になることが多い。従って、optical flowにより対象物の動きが検出されない場合であっても、問題等が生じにくい。
【００４８】
カメラ２００によって、図３に示したスクランブル交差点の様子が撮影される場合、主として距離算出の対象物となるものは、交差点を移動する歩行者等の人物群である。
【００４９】
ＣＰＵ１０４は、記録部１０１に記録された動画像を読み出し（図２のＳ．１）、時刻ｔ−２から時刻ｔ＋２までのフレーム画像（動画像）に基づいて、時刻ｔの画像のOptical flowを抽出する（図２のＳ．２）。ＣＰＵ１０４は、プログラムに基づいて、動画像から時刻ｔの画像のoptical flowを抽出する処理（オプティカルフロー抽出機能、全画素オプティカルフロー抽出機能）を行うため、「オプティカルフロー抽出手段」１０４ａや「全画素オプティカルフロー抽出手段」１０４ｄ（図１参照）に該当する。
【００５０】
図４は、図３に示した画像に対し、時刻ｔにおいて抽出されたOptical flowを重ねて表示させた画像を示している。
【００５１】
実施の形態に係るＣＰＵ１０４では、時刻ｔ−２から時刻ｔ＋２までの動画像に基づいて、時刻ｔの画像のOptical flowを抽出する場合を一例として説明するが、Optical flowを抽出するための動画像は、時刻ｔ−２から時刻ｔ＋２までの動画像には限定されない。また、Optical flowを抽出するための動画像の時間的な長さは、時刻ｔ−２から時刻ｔ＋２までの長さに限定されず、これよりも長くても短くてもよい。例えば、対象物の動きの特徴等に応じて、それぞれの動画像のデータ区間（開始時刻と終了時刻）やその長さを変更する場合もあり得る。
【００５２】
また、カメラ２００によって予め撮影された動画像（過去に撮影された動画像）に基づいてOptical flowを抽出する場合には、時刻ｔ−２から時刻ｔ＋２までの動画像に基づいて、時刻ｔの画像のOptical flowを抽出することが可能である。しかしながら、カメラ２００により撮影された時刻ｔを現在の時刻として捉える場合には、時刻ｔ＋１および時刻ｔ＋２のフレーム画像（動画像）はまだ撮影されていないため、時刻ｔのOptical flowを抽出することが難しくなる。この場合には、例えば、時刻ｔ−４から時刻ｔまでの動画像に基づいて、時刻ｔ−２の画像のOptical flowを抽出することにより、バッチ処理を行うことなく、カメラ２００による撮影を継続しながら、optical flowを時系列的に抽出することが可能となる。
【００５３】
図４に示すように、optical flowは、動画像のそれぞれの画素毎に抽出される。図４において、optical flowは線分で示されているが、Open CVのライブラリを用いて抽出される画素毎のoptical flowは、ベクトルとして求められる。図４では、各画素における対象物の移動方向を線分の向きで示し、移動距離を線分の長さで示している。画素毎に抽出されたoptical flowは、図４に示すように、様々な方向を向いている。optical flowの方向から、対象物が様々な方向に移動したと判断することができる。
【００５４】
optical flowが抽出される条件は、対象物だけが移動する場合には限定されない。例えば、カメラ２００が任意の方向に移動する場合や、カメラ２００が静止している状態で対象物だけが移動する場合や、カメラ２００および対象物の両方が移動する場合が考えられる。撮影時にカメラ２００が移動した場合には、カメラ２００の移動に伴って静止物が一斉に動いたようにして、動画像に記録（撮影）される。カメラ２００が移動する場合に抽出された静止物のoptical flowは、カメラの移動方向および移動距離に応じて、静止物毎に一斉に抽出されるので、抽出されるoptical flowの特性によって、カメラ２００が移動したか否かの判断を行うことができる。カメラ２００が移動することによって静止物のoptical flowが抽出される場合には、それぞれのoptical flowの値に基づいて、後述する方法を用いることにより、カメラ２００からそれぞれの静止物までの距離を求めることが可能である。一方で、カメラ２００が静止している状態で対象物だけが移動する場合には、静止物のoptical flowは抽出されず、移動した対象物のoptical flowが抽出されることになる。
【００５５】
次に、ＣＰＵ１０４は、抽出されたoptical flowに基づいて、optical flowの大きさを示すoptical flowの値を算出する（図２のＳ．３）。ＣＰＵ１０４は、プログラムに基づいて、optical flowの大きさを、optical flowの値として算出する処理（オプティカルフロー値算出機能、全画素オプティカルフロー値算出機能）を行うため、「オプティカルフロー値算出手段」１０４ｂや「全画素オプティカルフロー値算出手段」１０４ｅ（図１参照）に該当する。
【００５６】
optical flowはベクトルで表されるため、optical flowの値は、ベクトルの大きさ（ベクトルの絶対値）によって算出される。例えば、optical flowのベクトルを（Ｖ１，Ｖ２）とすると、Ｖ１の２乗の値（Ｖ１２）とＶ２の２乗の値（Ｖ２２）との和の値（Ｖ１２＋Ｖ２２）を求めて、求められた和の値（Ｖ１２＋Ｖ２２）の平方根を計算することによって、optical flowの値が算出される。
【００５７】
動画像距離算出装置１００のＣＰＵ１０４では、算出されたoptical flowの値を、動的視差として捉えて対象物からカメラ２００までの距離を算出する。このため、静止物（静止した対象物）によって算出されたoptical flowの値も、移動する対象物によって算出されたoptical flowの値も、動的視差と捉えることにより、同じものと判断することができる。
【００５８】
また、カメラ２００と対象物との両方が動く場合には、カメラ２００の動きに対して対象物の動きが大きい場合であっても、対象物の動きに対してカメラ２００の動きが大きい場合であっても、それぞれのoptical flowを抽出することができる。従って、後述する動的視差を用いた距離計算によって、対象物からカメラ２００までの距離を算出することができる。
【００５９】
しかしながら、カメラ２００と対象物との動きが同じ方向に同程度動く場合には、対象物のoptical flowを抽出することが困難となる。このため、カメラ２００と同じ方向に同程度動いた対象物に関しては、対象物からカメラ２００までの距離を算出することが難しい。一方で、カメラ２００と反対方向に対象物が動く場合、例えば、カメラ２００を設置した自車両が前方に移動する状況で、対向車が自車両の方に向かって移動する状態を撮影した場合には、対向車のoptical flowの値が、自車両の速度と対向車の速度との加算により大きな値になる。この場合には、optical flowの値に基づいて求められる、対向車からカメラ２００までの距離が、実際の距離よりも近い距離として算出されてしまう。
【００６０】
このように、近づいてくる対向車のoptical flowの値により求められる距離が、実際の対向車からカメラ２００までの距離よりも近くなってしまう場合には、この傾向を考慮して、周辺の静止物により算出されるoptical flowの値と、近づいてくる対象物のoptical flowの値とを比較することによって、対向車等の同定を行うことが可能である。
【００６１】
図４に示されたoptical flowを確認すると、人物群（歩行者等）のような移動する対象物だけでなく、静止物に対してもoptical flowの抽出が行われている。このため時刻ｔ−２から時刻ｔ＋２までの動画像では、カメラ２００と対象物（人物群）との両方が動いていることが確認できる。しかしながら、optical flowを抽出するために用いた動画像では、カメラ２００の動きに比べて人物群の動きの方が大きいため、optical flowは主として人物群の動きによって生じていると判断できる。
【００６２】
一般的に、動画像からoptical flowを抽出する場合には、極めて短い時間の動画像を用いて抽出処理を行う。従って、極端にカメラ２００の動きが大きい場合、つまり、極めて短い時間の間にフレーム画像の撮影範囲が大きく変化する場合には、カメラ２００の動きに対して対象物の動きが小さくなる。また、フレーム画像の撮影範囲が大きく変化しない場合には、カメラ２００の動きに対して対象物の動きの方が大きくなり、動画像より抽出されたoptical flowは、対象物（人物群）の動きによって生じたものと判断することができる。
【００６３】
実施の形態に係るＣＰＵ１０４では、各時刻ｔにおいて、時刻ｔ−２から時刻ｔ＋２までの動画像に基づいてoptical flowを抽出しているが、既に説明したように、この動画像の長さ（開始時刻から終了時刻までの間隔）は、任意に設定・変更することが可能である。この動画像の長さを調整することによって、効果的に対象物の動きをoptical flowとして抽出することが可能になる。
【００６４】
また、カメラ２００の動きに伴って動画像の道路や道路の白線などの表示状態が変化する場合には、この変化に伴って道路や白線等のoptical flowが抽出される。道路などはテクスチャーのない状態（近接する画素が同じようなＲＧＢ情報を有する場合）に該当することが多いため、算出されるoptical flowの値は比較的小さくなる傾向がある。optical flowの値が小さい場合には、後述する対象物からカメラまでの距離算出処理によって算出される距離が、大きく（遠く）なる。一方で、人物群のように積極的に動く対象物により算出されるoptical flowの値は、道路などで算出されるoptical flowの値よりも大きくなる傾向があり、optical flowの値が大きい場合には、対象物からカメラまでの距離が小さく（近く）なる。
【００６５】
従って、対象物からカメラ２００までの距離に所定の閾値を設定し、算出された距離が閾値よりも大きいか小さいかを判断することによって、抽出されたoptical flowが歩行者等の対象物の動きに対応するものであるか、カメラ２００の動きに伴う道路等の動きに対応するものであるかを判別することが可能である。但し、optical flowの値の大きさや、閾値に対する大小だけを用いて、全ての歩行者等の対象物を一律に抽出することは難しい。このため、撮影された対象物の動きやカメラの撮影範囲等に応じて柔軟に閾値等を設定して、対象物の検出精度を高めることが好ましい。
【００６６】
次に、動画像距離算出装置１００のＣＰＵ１０４は、時刻ｔの画像に対してmean-shift法（中間値シフト法）を適用することにより、画像の領域分割処理を行う（図２のＳ．４）。ＣＰＵ１０４は、プログラムに基づいて、対象物に対応する領域に画像を分割する処理（領域分割機能）を行うため、「領域分割手段」１０４ｆ（図１参照）に該当する。図５は、図３に示した時刻ｔの画像に対してmean-shift法を適用した結果を示した図である。
【００６７】
mean-shift法（中間値シフト法）は、既存の領域分割手法のうち最も有力な手法の一つとして知られている。mean-shift法は、広く知られた領域分割手法であって、Open CVと呼ばれる、広く公開されたオープンソースのコンピュータビジョン向けのライブラリを利用することによって実現される。mean-shift法を時刻ｔの画像（フレーム画像）に適用することにより、画像の画素毎のＲＧＢ値（色情報）などに基づき、対象物等の有無に応じて画像の領域分割が行われる。分割された領域のうち同一領域と判断される部分については、カメラからの距離がほぼ等しいと解釈することができる。
【００６８】
mean-shift法では、様々なパラメータを設定することが可能であり、パラメータの設定値の調整を行うことにより、分割領域の大きさを調整することが可能である。パラメータの設定値を適切に設定することにより、歩行者等の人物が、一つの分割領域あたり一人だけになるように調整することが可能である。
【００６９】
例えば、カメラ２００からの距離を算出する対象物がＭ個（Ｍ≧３）ある場合、パラメータを適切に設定し、分割領域が比較的小さくなるように調整することにより、時刻ｔの画像を、Ｍ個の対象物に対応する領域を含むＫ個（Ｋ≧Ｍ）の領域に分割することが可能である。ただし、パラメータを設定することによって、分割領域の大きさを大きくしたり、小さくしたりすることは可能であるが、分割領域の数Ｋは、結果として画像に依存する。このため、パラメータを設定することによって、分割領域の大きさを調整し、分割領域の数の増減の調整を行うことはできても、分割領域の数が予め決められた数になるように、パラメータを設定することは難しい。
【００７０】
図５に示した、mean-shift法を適用した画像では、パラメータを適切に設定することによって、結果として、歩行者の一人一人に対応するように、領域境界を示す線分が形成された場合が示されている。また、横断歩道等もテクスチャーが存在するため、横断歩道の白線に対応するようにして、領域境界を示す線分が形成されている。一方で、交差点のアスファルト部分は、テクスチャーのない状態である。このため、アスファルト部分等には、領域境界を示す線分があまり形成されておらず、比較的大きな領域として示されている。
【００７１】
次に、ＣＰＵ１０４は、mean-shift法によって領域分割された領域毎に、それぞれの領域内で求められたoptical flowの値の平均を算出する（図２のＳ．５）。ＣＰＵ１０４は、プログラムに基づいて、領域分割された領域毎に、optical flowの値の平均を算出する処理（領域別オプティカルフロー値算出機能）を行うため、「領域別オプティカルフロー値算出手段」１０４ｇ（図１参照）に該当する。
【００７２】
mean-shift法では、画像の画素毎のＲＧＢ値（色情報）などに基づいて、対象物等の有無に応じた領域分割が行われる。特に、mean-shift法のパラメータを適切に設定することにより、歩行者等の人物が一つの分割領域あたり一人になるように、分割を行うことが可能である。分割領域毎に、optical flowの値の平均を求めることにより、分割領域に存在する歩行者等のoptical flowの値を、正規化することが可能となる。
【００７３】
図６は、mean-shift法により領域分割されたそれぞれの領域の中心に、それぞれの領域のoptical flowの平均を配置した図である。領域の中心の位置（画素）に白丸（○）Ｐが示されており、optical flowの平均の方向とoptical flowの値の平均の大きさとが、白丸Ｐから伸びる線分Ｌの向きと長さとで示されている。但し、図６に示した画像では、地面に該当する部分のoptical flowの線分Ｌおよび白丸Ｐは表示されていない。
【００７４】
上述したように、図３に示した画像は、カメラ２００と人物群（対象物）との両方が動いた状態を示している。このため、図４に示すように、カメラ２００の動きに伴って道路に該当する画素にも、optical flowが抽出される。しかしながら、カメラ２００の動きに伴って抽出されたoptical flowに基づき算出される、カメラ２００から道路までの距離と、カメラ２００と人物との両方の動きに伴って抽出されたoptical flowに基づき算出される、カメラからそれぞれの人物までの距離とを比較すると、距離に差が生じる。図３に示す時刻ｔの画像では、人物が道路の上に立っているため、人物の方が道路よりも、カメラからの距離が短くなる。つまり、人物の背の高さ分だけ、距離に違いが生じる。
【００７５】
従って、道路に対して一定の高さ（距離）を有する対象物を、人物として判定することによって、道路と人物とを区別することが可能となる。このような道路と人物との違いを判断するための閾値を、予め実験等により決定しておくことによって、道路を除いた人物群だけのoptical flowを抽出することが可能になる。図６では、mean-shift法によって分割された領域のうち、道路ではなく人物群を示すと判断された領域内のoptical flowの値の平均を領域毎に求めて、それぞれの領域の中心に白丸Ｐを示し、optical flowの値の平均の距離と向きとを、白丸Ｐから延びる線分Ｌで示している。図６では、複数の人物のそれぞれの位置に対応して、様々な方向に移動する人物のoptical flowが抽出されている。
【００７６】
次に、ＣＰＵ１０４は、算出された領域毎のoptical flowの値の平均に基づいて、領域毎に、対象物からカメラ２００までの距離を算出する（図２のＳ．６）。ＣＰＵ１０４は、プログラムに基づいて、対象物からカメラまでの距離を、optical flowの値を用いて算出する処理（距離算出機能）を行うため、「距離算出手段」１０４ｃ（図１参照）に該当する。
【００７７】
ＣＰＵ１０４は、領域毎に算出されたoptical flowの値を動的視差と見なして、対象物からカメラ２００までの距離を算出する。動的視差に基づいて対象物からカメラ２００までの距離を算出する方法は、ＡＭＰ法やＦＭＰ法において、既に提案されている。
【００７８】
図７は、動的視差に基づいて、対象物からカメラ２００までの距離を求める方法を説明するための幾何モデルを示した図である。図７の縦軸は、対象物からカメラ２００までの仮想距離Ｚｖを示す。仮想距離Ｚｖのプラスの方向は図の下方向である。図７の横軸は、動的視差ｑを示す。動的視差ｑは、optical flowによって求められるピクセル軌跡による実験値、つまり、optical flowの値である。動的視差ｑのプラスの方向は、図の右方向である。
【００７９】
仮想距離Ｚｖの値は、仮想であるため、動的視差ｑの事後的に定まる係数の視差ｑ０の値に対応するものとする。動的視差の特性として、動的視差の値が大きいほど、対象物からカメラまでの距離は短く、動的視差の値が小さいほど、対象物からカメラまでの距離は長くなる。仮想距離Ｚｖを詳細に表すと、実際には、Ｚｖ（ｑ０）という関数で表される。
【００８０】
事後的に定まる定数である視差ｑ０に微少量Δｑを加えたもの（ｑ０＋Δｑ）を、optical flowにより１つの画素で定まったoptical flowの値ｑと仮定する。すなわち、ｑ＝ｑ０＋Δｑとなる。また、Ｚｖは、ｑ０に対応し、仮想距離Ｚｖの微少量ΔＺｖは、Δｑに対応すると仮定する。このとき、両者の関係を線形と仮定すると、図７に示す幾何モデルのような関係となり、次のような線形の比例関係が成立する。
Ｚｖ：ｑ０＝−ΔＺｖ：Δｑ
【００８１】
この比例関係から、以下のような線形微分方程式が成立する。この線形微分方程式を解くと、
−ｑ０・ΔＺｖ＝Ｚｖ・Δｑ
ΔＺｖ／Ｚｖ＝−Δｑ／ｑ０
ｌｏｇＺｖ＝−ｑ／ｑ０＋ｃ  （ｃは定数）
となり、上記式を変形することにより
Ｚｖ＝ａ・ｅｘｐ（ｂｑ）
が成立する。ここで、ｂ＝−１／ｑ０の関係があり、ｂが境界条件として定まると、事後的にｑ０が定まることになる。
【００８２】
また、ａ,ｂ（ａ＞０，ｂ＜０）は不定係数である。またｅｘｐ（ｂｑ）は、自然対数の底の値（ネイピア数：Napier's constant）のｂｑ乗を示している。係数ａ，ｂの値は、個別の境界条件で決定することができる。係数ａ，ｂが決定されると、カメラ２００で撮影された動画像に基づいて、動的視差ｑの値を算出することができ、Ｚｖの値を、仮想距離ではなく現実世界の実距離として求めることが可能になる。
【００８３】
定数ａ，ｂの値は、変数Ｚｖと変数ｑとの変動範囲に基づいて決定される。Ｚｖは、既に説明したように、対象物からカメラ２００までの仮想距離を示している。仮想距離は、対象世界（対象となる世界、対象となる環境）によって変わり得る値であり、現実世界の実距離とは異なる値である。このため、動画像の３次元空間（対象世界）の仮想距離Ｚｖに対応する、現実世界の実距離の変動範囲を、レーザーを用いた距離計測（以下、レーザー計測と称する）や視察等の方法で、予め測定しておく（事前に決定しておく）ことにより、対象世界の距離から現実世界の実距離を対応づけて求めることが可能になる。このように、動的視差ｑの値（optical flowの値）を用いて仮想距離Ｚｖを算出する方法は、相対距離を検出することを示している。
【００８４】
現実世界の実距離Ｚ（対象物からカメラまでの距離Ｚ）を、対象世界の仮想距離Ｚｖに対応づけることができれば、
Ｚ＝ａ・ｅｘｐ（ｂｑ）    ・・・式１
によって、現実世界の実距離Ｚを求めることができる。つまり、現実世界における対象物からカメラ２００までの距離Ｚを、理論から決定される距離関数として求めることができる。
【００８５】
実施の形態に係る動画像距離算出装置１００では、動画像の３次元空間（対象世界）の仮想距離Ｚｖに対応する現実世界の実距離の変動範囲を、一例として、レーザー計測によって予め測定する。レーザー計測によって測定された仮想距離Ｚｖの距離範囲を、ＺＮ≦Ｚｖ≦ＺＬで表す（ＺＮ≦ＺＬ）。
【００８６】
より詳細には、複数の対象物、例えばＭ個の対象物が動画像に映っており、Ｍ個の対象物からカメラ２００までのそれぞれの距離（現実世界の実距離）を算出する場合には、Ｍ個の対象物のうち、カメラ２００から最も近い場所に位置する対象物までの距離（実距離）と、最も遠い場所に位置する対象物までの距離（実距離）とを、レーザー計測によって予め測定する。Ｍ個の対象物のうちでカメラ２００から最も遠い場所に位置する対象物までの距離をＺＬとし、最も近い場所に位置する対象物までの距離をＺＮとする。Ｍ個の対象物のうちで、カメラ２００から最も近い対象物と最も遠い対象物とを除いた、Ｍ−２個の対象物のそれぞれに対し、optical flowの値に基づいて、対象物からカメラまでの距離（実距離）が、算出されることになる。従って、対象物からカメラ２００までの距離を算出するためには、対象物が３個以上（Ｍ−２＞０）であることが望ましい。
【００８７】
動的視差ｑの値の変動範囲は、個別に動画像から求められる実験的な値により決定される。つまり、予め測定等しておく必要はない。動的視差ｑの変動範囲は、複数の対象物のoptical flowの値の変動範囲によって求めることができる。このように求められる動的視差ｑの最大・最小範囲を、μ≦ｑ≦γとする。つまり、複数の対象物のoptical flowの値のうち、最も小さい値がμに該当し、最も大きい値がγに該当することになる。つまり、μとγとは、動画像に基づいて算出された複数のoptical flowの値により定まる実験的な値である。
【００８８】
また、μ，γとＺＬ，ＺＮとの対応関係は、動的視差の性質に基づいて求めることができる。μはＺＬに対応し、γはＺＮに対応する。これは、仮想距離Ｚｖが遠いほど、動画像の物体点（物体位置）の移動量が少なくなり、仮想距離Ｚｖが近いほど、動画像の物体点（物体位置）の移動量が多くなるという、動的視差の性質によるものである。このように、仮想距離Ｚｖの距離範囲のうち距離が最も短い距離ＺＮは、動的視差ｑの変動範囲のうち最も移動量が多いγに対応し、仮想距離Ｚｖの距離範囲のうち距離が最も長い距離ＺＬは、動的視差ｑの変動範囲のうち最も移動量が少ないμに対応することになる。
【００８９】
従って、Ｚｖ＝ａ・ｅｘｐ（ｂｑ）のＺｖとｑの値に、μとＺＬ、およびγとＺＮとを対応づけて代入することにより、次のａ，ｂに関する連立方程式が成立する。
【００９０】
ＺＬ＝ａ・ｅｘｐ（ｂμ）      ・・・式２
ＺＮ＝ａ・ｅｘｐ（ｂγ）      ・・・式３
この式２および式３が、境界条件に該当することになる。
【００９１】
この連立方程式を解くと、下記のように、定数ａ，ｂを求めることができる。
ａ＝ＺＬ・ｅｘｐ（（μ／（γ−μ））ｌｏｇ（ＺＬ／ＺＮ））  ・・・式４
ｂ＝（１／（μ―γ））ｌｏｇ（ＺＬ／ＺＮ）  ・・・式５
このように、定数ａ，ｂを求めて、上述した式１に適用することによって、仮想距離Ｚｖの値を現実世界の実距離Ｚとして算出することが可能になる。
【００９２】
上述した距離Ｚは、分割領域毎に求められる。既に説明したように、mean-shift法のパラメータを適切に設定することにより、例えば、結果として、歩行者等の人物が一つの分割領域あたり一人になるように、領域分割を行うことが可能である。つまり、mean-shift法のパラメータを適切に設定することにより、Ｍ個の対象物のそれぞれが異なる分割領域になるように、Ｍ個よりも多いＫ個の領域に画像を分割することが可能である。従って、動画像に映った対象物がそれぞれ異なる領域になるように、mean-shift法のパラメータを設定することにより、カメラ２００からそれぞれの対象物までの距離Ｚを求めることができる。
【００９３】
その後、ＣＰＵ１０４は、時刻ｔの画像におけるそれぞれの領域の距離Ｚの値を、領域内の各画素に対応づけて記録する（図２におけるＳ．７）。つまり、時刻ｔの画像における各画素に対して、領域毎に求められた距離Ｚの値を貼り付ける処理を行う。このように、求められた距離Ｚを各画素に対応づけて貼り付ける（記録する）ことによって、動画像の時刻ｔが変化した場合であっても、それぞれの時刻の画像のそれぞれの画素毎に、対象物からカメラ２００までの距離を瞬時に取得することが可能になる。距離情報が画素に対応づけられて記録されることにより、各時刻の画像において画素毎に対応づけられる情報は、色情報と距離情報Ｄからなる（ｒ，ｇ，ｂ，Ｄ）となる。この情報は、記録部１０１に記録される。
【００９４】
記録部１０１に対して動画像の各画素の距離情報Ｄを記録することにより、動画像に映る対象物の状態を距離情報Ｄを用いて立体的に把握することが可能になる。図８は、図３に示したスクランブル交差点の状態を、異なる視点から立体的に示した画像である。図８に示した画像では、各領域の中心に配置された平均的なoptical flowの値の大きさを、距離に変換することにより、画像内に位置する人物群毎の位置，高さを求めて、スクランブル交差点の地面や人物群の状態を、視点変換して示している。
【００９５】
図７に示した幾何モデルにおいて、動的視差ｑとして用いられるoptical flowは、任意の方向をとることができ、その方向が制限されることはない。例えば、ドローンや飛行機等に設置されたカメラ２００で都市の様子を上空から撮影し、撮影された動画像を用いて、都市の立体的な距離情報を取得することも可能である。
【００９６】
図９は、上空から撮影した動画像を用いて画素毎に位置情報を取得して、都市の様子を立体的に示した画像である。動画像を撮影するカメラ２００の移動方向は、撮影対象となる都市の建物等に対して必ずしも水平移動したものではない。実施の形態に係る動画像距離算出装置１００で距離情報を取得するための条件として、ＡＭＰ法のように、撮影対象物を撮影するカメラ２００の移動方向を、横方向に移動させる必要はなく、また、ＦＭＰ法のように、カメラ２００の移動方向を前方あるいは後方に限定する必要もない。このため、対象物までの距離を算出するための動画像の制約を少なくすることができ、様々な方向に移動するカメラ２００で撮影された動画像を用いて、対象物までの距離情報を画素毎に求めることが可能になる。
【００９７】
図１０は、走行する車両の正面をカメラ２００で撮影した動画像に基づいて、車両前方の対象物の距離を画素毎に算出し、算出された距離情報に基づいて車両前方の様子を立体的に示した画像である。走行車両の正面を撮影した動画像に基づいて、対象物からカメラ２００までの距離を測定する場合、従来はＦＭＰ法を用いていた。図１０に示すように、車両の正面を撮影した動画像に基づいて、optical flowを用いて対象物からカメラ２００までの距離を算出する場合であっても、ＦＭＰ法を用いて作成した立体的な画像と変わらない精度で、立体的な画像を作成することができる。
【００９８】
上述したように、動画像距離算出装置１００では、ＡＭＰ法やＦＭＰ法のように、カメラの移動方向等の制約を受けないので、様々な方向に移動するカメラ２００で撮影された動画像に基づいて、対象物からカメラ２００までの距離を算出することが可能である。
【００９９】
従って、例えば、ロボットに設置されたカメラで撮影される動画像に基づいて、ロボットの周囲の空間の状況を求めることが可能である。災害時等であって人間が容易に入ることができない空間にロボットを進入させる場合、ロボットのカメラで撮影された動画像に基づいて周囲の状況を判断する必要が生じる。ロボットのカメラで撮影される動画像は、必ずしもロボットの進行方向正面の動画像や横方向に移動された動画像に限定されるものではない。必要に応じてロボットの頭部や胸部や腕部や指部にカメラが設置され、ロボットの動きに応じてカメラが任意の方向に移動されて、動画像が撮影される。任意の方向にカメラが動かされる場合であっても、カメラの動きに応じて、あるいは撮影された対象物の動きに応じてoptical flowが抽出されるため、抽出されたoptical flowに基づいて、対象物等までの距離（壁や床等までの距離を含む）を算出することが可能になる。
【０１００】
算出された対象物等までの距離に基づいて、ロボットの胸部や腕部や指部等の制御を行うことにより、災害現場において円滑にロボットを移動等させることができ、より精度の高い制御を行うことが可能になる。また、カメラ２００で撮影された動画像に基づいて周囲の距離情報を３次元的に取得することによって、災害現場等における３次元的な地図を作成することが可能となり、その後の救護活動等における機動性を高めることが可能になる。
【０１０１】
図１１は、室内を移動するロボットにカメラを設置し、ロボットのカメラで撮影された動画像を用いて距離情報に取得し、室内の周囲の状況を立体的に示した図である。ロボットを制御することによって、図１１に示されるバルブＶへ移動して、ロボットの腕部と指部とでバルブＶを回転させる場合を考える。この場合、ロボットは必ずしも連続的に移動しているとは限らないため、カメラで撮影された動画像の周囲の状況が全く変化しない時間が生じ得る。
【０１０２】
既に説明したように、optical flowは、動画像に映る対象物の動き等を、ベクトルで示したものである。このため、室内において積極的に動く対象物が存在せず、さらにロボットの動きが停止することによって、動画像に変化が生じない状態が継続されると、optical flowを抽出することができず、室内の周囲の距離を算出することができない。この場合には、最後にカメラが動いたときに算出された室内の周囲の距離情報を、カメラが動かない状態（動画像に変化が生じない状態）で維持し続けて、次にカメラが動いた場合に、すでに算出された距離情報を継続的に利用することによって、連続的に室内の周囲の距離を判断することができる。
【０１０３】
また、カメラが移動する場合であっても、カメラの移動速度は必ずしも一定であるとは限らない。この場合、対象物からカメラまでの距離が同じであっても、時刻毎に算出されるoptical flowの値が異なる値となってしまう。
【０１０４】
さらに、対象物からカメラ２００までの距離を算出する場合には、既に説明したように、２つのダイナミックレンジが必要になる。optical flowの値のダイナミックレンジ（μ,γ）と、求めようとする距離のダイナミックレンジ（ＺＮ，ＺＬ）である。optical flowの値のダイナミックレンジは動画像から算出することができるが、距離のダイナミックは、視察やレーザー計測によって予め測定する必要がある。しかしながら、対象物からカメラまでの距離が長い（距離値が大きい）場合に、距離のダイナミックレンジが正確に定まる保証がない。
【０１０５】
また、動画像に基づいて算出されるoptical flowの値は、近距離の対象物に比べて遠距離の対象物ほど小さな値になる。また、optical flowの値は、対象物の移動だけでなくカメラの移動によっても変動する。
【０１０６】
このように、対象物からカメラまでの距離が近距離であるか遠距離であるかによって生じる影響や、カメラの移動速度によって生じる影響によりoptical flowの値が不正確にならないように、ＣＰＵ１０４では、optical flowの値の正規化を行うことにより補正を施す。具体的には、各時刻のそれぞれの画像毎に全画素のoptical flowの値を加算し（総和を求めて）、その加算値（総和）で、対応する時刻の画像のそれぞれの画素のoptical flowの値を割ることにより正規化を行う。
【０１０７】
このように正規化を行うことによって、カメラの移動速度等が異なることにより、抽出されるoptical flowが時刻毎に異なる場合であっても、対象物までの距離が近距離あるいは遠距離であってoptical flowに影響が生じ得る場合であっても、対象物からカメラまでの距離の算出を精度よく行うことが可能になる。この正規化の方法は、カメラの移動速度が一定でない場合等だけでなく、様々な場合に用いることができる。
【０１０８】
なお、対象物からカメラまでの距離が長い（距離値が大きい）場合には、計算された距離Ｚ（ｑ）に対して係数Ｃを掛け合わせたＣＺ（ｑ）を求めて、遠距離の対象物に対応する画素の距離値を算出する。この係数Ｃは、ＧＰＳ等の何らかの方法を用い定めることができる。
【０１０９】
また、動画像を撮影するためのカメラと、動画像を用いて対象物までの距離を算出するためのＣＰＵとを備えていれば、実施の形態に係る動画像距離算出装置１００と見なすことができる。
【０１１０】
近時のスマートフォン等の携帯端末では、一般的にカメラが設けられており、動画像を撮影することが可能になっている。このため、携帯端末のカメラで動画像を撮影し、撮影された動画像を用いて、携帯端末のＣＰＵで各時刻のoptical flowを抽出して、対象物から携帯端末までの距離を算出することが可能である。また、撮影された動画像に基づいて３次元的な画像を作成することが可能である。
【０１１１】
近年、３次元的な画像を作成する方法として、ＴｏＦ（Time of Flight）という方式が提案されている。ＴｏＦでは、対象物に対して光を投射し、その光の反射光を受光することによって、光の投射から反射光の受光までの時間を計測し、計測された時間に基づいて対象物までの距離を計算する。ＴｏＦを用いて３次元的な画像を作成するためには、対象物が乱反射するものであることが必要である。従って、金物や瀬戸物などのように鏡面反射するものに対しては測定精度が低下してしまうという問題があった。また、対象物との間に、雨や煙などのように光の進行を妨げるものが存在しない環境であることが必要であった。また、実際にＴｏＦを用いて３次元的な画像を作成できる範囲は、約５０ｃｍから約４ｍまでの範囲であり、適用範囲が制限されるという問題がある。さらに、測定される対象物までの距離とカメラの画素との対応精度が十分でなく、それらの機能を実現するためのハードウェアは、性能向上のための改良が続いている状況であった。
【０１１２】
これに対して、実施の形態に係る動画像距離算出装置１００のように、撮影されたカメラの動画像に基づいてoptical flowを抽出し、対象物までの距離を求める場合には、一般的なカメラと、optical flowの抽出処理を行うことが可能なＣＰＵ等を備えれば十分である。このため、一般的なスマートフォン等であっても、精度よく対象物までの距離を算出するとこが可能である。
【０１１３】
具体的には、スマートフォン等の携帯端末で動画像を撮影する場合に、少しだけ携帯端末を振ることによって、携帯端末の動きに基づくoptical flowを動画像から抽出することができる。携帯端末を振った瞬間の数フレームのフレーム画像から、optical flowを抽出することによって、３次元的な画像を作成することが可能になる。また、携帯端末を静止させた状態で動画像を撮影することにより、動く対象物のoptical flowに基づいて、３次元的な画像を作成することができる。このように、optical flowを抽出して距離を算出することにより、近距離の対象物だけに限らず、遠距離の対象物や、動く対象物を対象として、対象物からカメラまでの距離を算出することができ、３次元的な画像を作成することが可能である。
【０１１４】
以上、本発明に係る動画像距離算出装置および動画像距離算出用プログラムについて、実施の形態に係る動画像距離算出装置１００を一例として示し、詳細に説明を行ったが、本発明に係る動画像距離算出装置および動画像距離算出用プログラムは、実施の形態に示した例には限定されない。
【０１１５】
例えば、実施の形態に係る動画像距離算出装置１００では、ＣＰＵ１０４が時刻ｔの画像に対してmean-shift法を適用することによって領域分割を行い、領域内の全ての画素のoptical flowの値の平均を求めることによって、対象物からカメラ２００までの距離を算出する場合について説明した。しかしながら、時刻ｔの画像に映る対象物からカメラ２００までの距離の算出のために、必ずしもmean-shift法を適用する必要はない。
【０１１６】
例えば、mean-shift法を適用しない場合、すなわち画素毎にoptical flowの値を求めて、画素毎にそれぞれの距離を算出する場合であっても、既に説明したように、時刻ｔの画像における全ての画素のoptical flowの値の総和を求めて、それぞれの画素のoptical flowの値を全ての画素のoptical flowの値の総和で割ることによって、近距離や遠距離に対する補正や、カメラの移動速度に対する補正を考慮したoptical flowの値を、画素毎に求めることが可能になる。このため、mean-shift法を用いない方法であっても、画素毎の距離を精度よく算出することが可能である。
【０１１７】
なお、mean-shift法を時刻ｔの画像に適用しない場合であっても、道路のようにテクスチャーのない状態で算出されるoptical flowの値は、極めて小さな値となるか、あるいはゼロになる。mean-shift法を適用する場合であっても同様に、テクスチャーがない状態で算出されたoptical flowの値の平均は、極めて小さくなる。このため、mean-shift法を適用して算出されたoptical flowの値の平均が小さい領域では、その領域における実際の距離よりも遠い距離が算出されてしまう恐れがある。このような場合には、optical flowの値が小さい領域で算出された距離を、その領域の周辺の領域であって、optical flowの値が小さくない領域で算出された距離で、内挿することによって補正を行う。
【０１１８】
また、実施の形態に係る動画像距離算出装置１００では、時刻ｔの画像に映る対象物が、例えばＭ個の場合であって、ＣＰＵ１０４が、対象物に対応するＭ個のoptical flowを抽出して、Ｍ個のそれぞれの対象物までの距離を算出する場合について説明した。ここで、Ｍの数は、視察やレーザー計測により予め測定される最も近い距離ＺＮの対象物と、最も遠い距離ＺＬの対象物が含まれていれば十分であり、距離測定の対象となる別の対象物を入れて、Ｍ≧３以上であればよい。このため、カメラからの距離を算出する対象物の数は、３以上であれば特に限定されない。
【０１１９】
さらに、対象物は時刻ｔの画像に写るものであればよいため、時刻ｔの画像の全ての画素をそれぞれ対象物とするものであってもよい。つまり、対象物の個数Ｍが、Ｍ＝全ての画素数となってもよい。全ての画素毎に、対象物からカメラまでの距離を算出することによって、全ての画素の距離情報を取得することが可能である。また、時刻ｔの画像の全ての画素をそれぞれ対象物とする場合には、mean-shift法によって、時刻ｔの画像をＭ個の対象物に対応するように領域分割する必要がない。
【０１２０】
さらに、対象物の個数Ｍを全ての画素数とするのではなく、全画素数の数分の１とすることも可能である。例えば、縦２画素かつ横２画素の合計４画素分の領域を一領域として設定し、領域毎に一つの画素を対象物に設定することにより、４画素に対して一画素ずつ、カメラから該当する画素の対象物までの距離を算出することが可能になる。全画素で距離を算出するのでははく、数画素に一画素の割合で距離の算出を行うことによって、ＣＰＵ１０４の処理負担の軽減と処理の高速化を図ることが可能になる。
【符号の説明】
【０１２１】
１００  …動画像距離算出装置
１０１  …記録部
１０２  …ＲＯＭ
１０３  …ＲＡＭ
１０４  …ＣＰＵ（コンピュータ、オプティカルフロー抽出手段、オプティカルフロー値算出手段、距離算出手段、全画素オプティカルフロー抽出手段、全画素オプティカルフロー値算出手段、領域分割手段、領域別オプティカルフロー値算出手段）
２００  …カメラ
２１０  …モニタ
Ｖ     …バルブ
Ｌ     …（領域内のoptical flowの値の平均を示す）線分
Ｐ     …（分割された領域の中心を示す）白丸
【図１】
2020139934.tif 000003
【図２】
2020139934.tif 000004
【図３】
2020139934.tif 000005
【図４】
2020139934.tif 000006
【図５】
2020139934.tif 000007
【図６】
2020139934.tif 000008
【図７】
2020139934.tif 000009
【図８】
2020139934.tif 000010
【図９】
2020139934.tif 000011
【図１０】
2020139934.tif 000012
【図１１】
2020139934.tif 000013