(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】検知装置、検知方法、およびプログラム
(51)【国際特許分類】
G06T 7/246 20170101AFI20240502BHJP
G06T 7/55 20170101ALI20240502BHJP
【FI】
G06T7/246
G06T7/55
(21)【出願番号】P 2020033817
(22)【出願日】2020-02-28
【審査請求日】2022-10-17
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】和気 一博
【審査官】大塚 俊範
(56)【参考文献】
【文献】国際公開第2009/078056(WO,A1)
【文献】特開2018-074411(JP,A)
【文献】特開2009-294983(JP,A)
【文献】特開2007-213170(JP,A)
【文献】特開2019-056629(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/246
G06T 7/55
(57)【特許請求の範囲】
【請求項1】
時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得し、履歴情報として第一記憶装置に記憶する取得部と、
前記第一記憶装置に記憶された前記履歴情報を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出部と、
前記検出部が検出した前記変位を用いて物体の検知処理を実行する検知部とを備え、
前記検出部は、
(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、
(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する
検知装置。
【請求項2】
前記検出部は、前記(b)において、
前記複数のフレームを前記第二フレームから時間的に遡るときに前記特徴点の変位の大きさが前記下限値以上になる最初のフレームを前記第三フレームとして用いて、前記変位を検出する
請求項1に記載の検知装置。
【請求項3】
前記検知処理は、前記物体の3D復元処理を含み、
前記検出部は、前記第二フレームから時間的に遡るときには、前記複数のフレームのうち、前記物体の前記3D復元処理において3D復元が失敗したフレームを除外した複数のフレームを遡る
請求項2に記載の検知装置。
【請求項4】
前記検知装置は、さらに、
前記検知部が実行した前記検知処理により得られた前記物体の位置の妥当性を判定する
判定部を備え、
前記検出部は、前記第二フレームから時間的に遡るときには、前記複数のフレームのうち、前記物体の位置が妥当でないと前記判定部により判定されたフレームを除外した複数のフレームを遡る
請求項2または3に記載の検知装置。
【請求項5】
前記検知部は、さらに、
前記複数のフレームのうち、時間的に連続した所定数のフレームにおける共通の位置に位置する所定の寸法を有する領域に特徴点が抽出されないことが検知された場合には、通知処理を実行する
請求項1~4のいずれか1項に記載の検知装置。
【請求項6】
前記検知装置は、さらに、
一のフレームのみが格納され得る第二記憶装置を有し、前記検知装置に入力されるフレームを前記取得部に提供するとともに、前記第二記憶装置に格納する入力部を備え、
前記取得部は、
前記複数のフレームに含まれる、時間的に連続した2つのフレームである直前フレームおよび現在フレームがこの順に前記検知装置に入力されたときに、前記入力部から前記現在フレームを取得し、かつ、前記第二記憶装置に記憶されている前記直前フレームを読み出し、前記第二記憶装置から読み出した前記直前フレームと、取得した前記現在フレームとに共通に含まれる特徴点を利用して、前記履歴を取得する
請求項1~5のいずれか1項に記載の検知装置。
【請求項7】
時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得し、履歴情報として第一記憶装置に記憶する取得部と、
前記第一記憶装置に記憶された前記履歴情報を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出部と、
前記検出部が検出した前記変位を用いて物体の検知処理を実行する検知部とを備え、
前記検出部は、
前記複数のフレームのうちの最も過去のフレームから前記第一フレームまでの特徴点の変位を、前記変位として検出する
検知装置。
【請求項8】
時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得し、履歴情報として第一記憶装置に記憶する取得ステップと、
前記第一記憶装置に記憶された前記履歴情報を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、
前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、
前記検出ステップでは、
(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、
(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する
検知方法。
【請求項9】
時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得
し、履歴情報として第一記憶装置に記憶する取得ステップと、
前記第一記憶装置に記憶された前記履歴情報を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、
前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、
前記検出ステップでは、
前記複数のフレームのうちの最も過去のフレームから前記第一フレームまでの特徴点の変位を、前記変位として検出する
検知方法。
【請求項10】
請求項8または9に記載された検知方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検知装置、検知方法、およびプログラムに関する。
【背景技術】
【0002】
単眼カメラを用いた静止物および移動物の検知技術がある。これらの物体の検知には、オプティカルフローが利用される。オプティカルフローとは、カメラで撮像されたフレームにおいて抽出された特徴点の、時間方向に連続するフレーム間における動きを示すベクトルである。
【0003】
オプティカルフローを用いた物体検出処理において、検出対象の物体、または、撮像するカメラの移動速度が小さい場合には適切な長さを有するオプティカルフローが得られず、物体検出の精度が低下することが知られている。
【0004】
カメラを搭載する自動車の移動速度に応じて、オプティカルフローの検出に用いられるフレームの間隔を制御する技術がある(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、オプティカルフローの検出に用いられるフレームの間隔を制御する技術では、過去の複数のフレームを記憶する記憶装置を備える必要があり、また、回路規模の増大を招くという問題がある。
【0007】
そこで、本発明は、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる検知装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係る検知装置は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得部と、前記取得部が取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出部と、前記検出部が検出した前記変位を用いて物体の検知処理を実行する検知部とを備え、前記検出部は、(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する。
【0009】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明に係る検知装置は、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態に係る検知装置の構成を示す模式図である。
【
図2】
図2は、実施の形態に係る検知装置に入力されるフレームの例を示す模式図である。
【
図3】
図3は、フレームにおける特徴点とオプティカルフローとの例を示す説明図である。
【
図4】
図4は、実施の形態に係る複数のフレームが撮影されるときの物体とカメラとの位置関係を示す説明図である。
【
図5】
図5は、実施の形態に係る取得部が取得する特徴点の位置の履歴を示す説明図である。
【
図6】
図6は、実施の形態に係る履歴テーブルの第一例を示す説明図である。
【
図7】
図7は、実施の形態に係る検出部が検出するオプティカルフローの説明図である。
【
図8】
図8は、実施の形態に係る履歴テーブルの第二例を示す説明図である。
【
図9】
図9は、実施の形態に係る取得部が位置の履歴を取得する処理を示すフロー図である。
【
図10】
図10は、実施の形態に係る検出部がオプティカルフローを検出する処理を示すフロー図である。
【
図11】
図11は、実施の形態に係る検知部が実行する物体検知処理を示すフロー図である。
【
図12】
図12は、実施の形態に係るカメラの不具合の検知の方法を示す概念図である。
【
図13】
図13は、実施の形態の変形例に係る検知装置の構成を示す模式図である。
【
図14】
図14は、実施の形態の変形例に係る検知装置による検知方法を示すフロー図である。
【発明を実施するための形態】
【0012】
本発明の一態様に係る検知装置は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得部と、前記取得部が取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出部と、前記検出部が検出した前記変位を用いて物体の検知処理を実行する検知部とを備え、前記検出部は、(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する。
【0013】
上記態様によれば、検知装置は、一のフレーム(第一フレームに相当)に含まれる特徴点の変位として、上記一のフレームと、上記一のフレームより時間的に前のフレームとを用いて、下限値以上の大きさを有する変位を検出できるので、検出されるオプティカルフローが適切なものとなる。検知装置は、この変位の検出の際には、特徴点の位置の履歴を用い、言い換えれば、過去の複数のフレームそのものを用いることがないので、複数のフレームを格納するためのフレームメモリを備える必要がない。そのため、検知装置は、仮に複数のフレームを格納するのであれば必要となる大きさの記憶装置を備える必要がないので、回路規模の増大が抑えられる。このように、検知装置は、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる。
【0014】
例えば、前記検出部は、前記(b)において、前記複数のフレームを前記第二フレームから時間的に遡るときに前記特徴点の変位の大きさが前記下限値以上になる最初のフレームを前記第三フレームとして用いて、前記変位を検出してもよい。
【0015】
上記態様によれば、検知装置は、上記一のフレームより時間的に前のフレームのうち、下限値以上の大きさの変位を検出でき、かつ、上記一のフレームから時間的になるべく近いフレームを用いて特徴点の変位を検出する。上記一のフレームより時間的に前のフレームのうち、時間的に比較的遠いフレームを用いると、検出される特徴点の変位の精度が低下することで、検出されるオプティカルフローが不適切になる可能性がある。よって、検知装置は、回路規模の増大を抑えながら、より一層適切なオプティカルフローを検出できる。
【0016】
例えば、前記検知処理は、前記物体の3D復元処理を含み、前記検出部は、前記第二フレームから時間的に遡るときには、前記複数のフレームのうち、前記物体の前記3D復元処理において3D復元が失敗したフレームを除外した複数のフレームを遡ってもよい。
【0017】
上記態様によれば、検知装置は、物体の検知処理に含まれる3D復元処理が失敗した特徴点を含むフレームを除いた複数のフレームを用いてオプティカルフローを検出する。従来、物体の検知処理に含まれる3D復元処理が失敗した場合には、その失敗に関わる特徴点を除外した特徴点を用いた検知処理がなされ、言い換えれば、その特徴点について3D検出処理が成功したフレームから得られる情報が用いられずに無駄になることがある。上記態様の検知装置は、ある特徴点についてフレームに係る3D検出処理が失敗したとしても、その特徴点について3D検出処理が成功したフレームを用いて、より効率よく、オプティカルフローを検出できる。
【0018】
例えば、前記検知装置は、さらに、前記検知部が実行した前記検知処理により得られた前記物体の位置の妥当性を判定する判定部を備え、前記検出部は、前記第二フレームから時間的に遡るときには、前記複数のフレームのうち、前記物体の位置が妥当でないと前記判定部により判定されたフレームを除外した複数のフレームを遡ってもよい。
【0019】
上記態様によれば、検知装置は、物体の検知処理により得られた特徴点の位置が妥当でないフレームを除いた複数のフレームを用いてオプティカルフローを検出する。従来、物体の検知処理により得られた特徴点の位置が妥当でない場合には、特徴点の位置が妥当でないフレームを除外したフレームを用いた検知処理がなされ、言い換えれば、特徴点の位置が妥当でないフレームに含まれる、位置が妥当である特徴点から得られる情報が用いられずに無駄になることがある。上記態様の検知装置は、物体の検知処理により得られた位置が妥当でない特徴点を含むフレームについても、そのフレームに含まれる位置が妥当である特徴点を用いて、より効率よく、オプティカルフローを検出できる。
【0020】
例えば、前記検知部は、さらに、前記複数のフレームのうち、時間的に連続した所定数のフレームにおける共通の位置に位置する所定の寸法を有する領域に特徴点が抽出されないことが検知された場合には、通知処理を実行してもよい。
【0021】
上記態様によれば、検知装置は、オプティカルフローの検出処理を利用して、フレームを取得するカメラなどのセンサの不具合を通知することができ、通知を受けた者に対して、不具合の解消に役立つ行動を促すことができる。このように、検知装置は、センサの不具合を解消しながら、オプティカルフローを適切に検出できる。
【0022】
例えば、前記検知装置は、さらに、一のフレームのみが格納され得る記憶装置を有し、前記検知装置に入力されるフレームを前記取得部に提供するとともに、前記記憶装置に格納する入力部を備え、前記取得部は、前記複数のフレームに含まれる、時間的に連続した2つのフレームである直前フレームおよび現在フレームがこの順に前記検知装置に入力されたときに、前記入力部から前記現在フレームを取得し、かつ、前記記憶装置に記憶されている前記直前フレームを読み出し、前記記憶装置から読み出した前記直前フレームと、取得した前記現在フレームとに共通に含まれる特徴点を利用して、前記履歴を取得してもよい。
【0023】
上記態様によれば、検知装置は、一のフレームのみが格納され得る記憶装置を用いて、言い換えれば、複数のフレームが格納され得る記憶装置を用いることがないので、回路規模の増大が抑制される。よって、検知装置は、回路規模の増大をより容易に抑えながら、オプティカルフローを適切に検出できる。
【0024】
また、本発明の一態様に係る検知装置は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得部と、前記取得部が取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出部と、前記検出部が検出した前記変位を用いて物体の検知処理を実行する検知部とを備え、前記検出部は、前記複数のフレームのうちの最も過去のフレームから前記第一フレームまでの特徴点の変位を、前記変位として検出する。
【0025】
上記態様によれば、検知装置は、一のフレーム(第一フレームに相当)に含まれる特徴点の変位として、上記一のフレームと、検知装置が取得した複数のフレームうちで最も過去のフレームを用いて、最も大きい変位を検出できるので、検出されるオプティカルフローが適切なものとなる。検知装置は、この変位の検出の際には、特徴点の位置の履歴を用い、言い換えれば、過去の複数のフレームそのものを用いることがないので、複数のフレームを格納するためのフレームメモリを備える必要がない。そのため、検知装置は、仮に複数のフレームを格納するのであれば必要となる大きさの記憶装置を備える必要がないので、回路規模の増大が抑えられる。このように、検知装置は、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる。
【0026】
また、本発明の一態様に係る検知方法は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得ステップと、前記取得ステップで取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、前記検出ステップでは、(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する。
【0027】
上記態様によれば、上記検知装置と同様の効果を奏する。
【0028】
また、本発明の一態様に係る検知方法は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得ステップと、前記取得ステップで取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、前記検出ステップでは、前記複数のフレームのうちの最も過去のフレームから前記第一フレームまでの特徴点の変位を、前記変位として検出する。
【0029】
上記態様によれば、上記検知装置と同様の効果を奏する。
【0030】
また、本発明の一態様に係るプログラムは、上記の検知方法をコンピュータに実行させるためのプログラムである。
【0031】
上記態様によれば、上記検知装置と同様の効果を奏する。
【0032】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0033】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0034】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0035】
(実施の形態)
本実施の形態において、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる検知装置などについて説明する。
【0036】
図1は、本実施の形態に係る検知装置10の構成を示す模式図である。本実施の形態に係る検知装置10は、例えば、車両に搭載されたカメラが複数枚の静止画を連続的に撮影することで生成した動画データを取得し、取得した動画データに映っている物体をオプティカルフローを用いて検知する装置である。検知装置10により検知される物体は、静止物または移動物を含む。検知装置10は、カメラとともに車両に搭載されることが想定されるが、これに限られない。
【0037】
図1に示されるように、検知装置10は、入力部11と、管理部12と、検知部13とを備える。検知装置10が備える各機能部は、検知装置10が備えるCPU(Central Processing Unit)がメモリを用いて所定のプログラムを実行することで実現され得る。
【0038】
入力部11は、検知装置10に入力される画像フレーム(単にフレームともいう)を管理部12に提供する機能部である。入力部11は、フレームが格納される記憶装置であるフレームメモリ111を有する。
【0039】
入力部11は、検知装置10の外部の装置(例えばカメラ)から検知装置10に入力されるフレームを取得し、取得したフレームを管理部12に提供する。このように提供されるフレームが「現在フレーム」に相当する。
【0040】
また、入力部11は、取得した上記フレーム(または上記フレームの複製)をフレームメモリ111に格納する。フレームメモリ111に格納されたフレームは、管理部12(取得部121)によって読み出されることがある。管理部12によって読み出されたフレームが「直前フレーム」に相当する。フレームメモリ111に格納されているフレームは、入力部11が管理部12に提供するフレームより時間的に1つ前のフレームであるからである。なお、フレームメモリ111に一旦フレームが格納され、その後に管理部12によって読み出されることは、フレームを1フレーム時間分遅らせる遅延回路を用いて実現されてもよい。
【0041】
なお、フレームメモリ111の容量は、一のフレームの情報量に相当する容量であれば十分である。そのため、フレームメモリ111は、一のフレームのみが格納され得る記憶装置であってもよく、言い換えれば、フレームメモリ111の記憶容量は、一のフレームの情報量に相当する記憶容量のみであってもよい。
【0042】
管理部12は、特徴点のオプティカルフローの管理をする機能部である。管理部12は、取得部121と、検出部123と、判定部124とを有する。また、管理部12は、記憶装置に記憶された履歴テーブル122を有する。
【0043】
取得部121は、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する処理部である。
【0044】
取得部121は、検知装置10に入力された複数のフレームのうち、時間的に連続した2つのフレームを取得する。具体的には、取得部121は、入力部11から一のフレーム(現在フレームに相当)を取得するとともに、フレームメモリ111に記憶されている一のフレーム(直前フレームに相当)を読み出すことで取得する。そして、取得部121は、フレームメモリ111から読み出した直前フレームと、入力部11から取得した現在フレームとに共通に含まれる特徴点を利用して、特徴点ごとの位置の履歴を取得する。また、取得部121は、取得した特徴点ごとの位置の履歴を履歴テーブル122に記録する。
【0045】
フレームに含まれる特徴点を抽出するには、フレームに係る画像におけるエッジ又はコーナーを抽出するなどの方法があり、従来技術により実現され得る。また、時間的に連続した2つのフレームそれぞれにおいて抽出された共通の特徴点同士を対応付ける技術も従来技術により実現され得る。なお、共通の特徴点とは、各フレームにおいて同一の物が映し出されている特徴点、または、同一の物に対応する特徴点をいう。以降でも同様とする。
【0046】
履歴テーブル122は、特徴点ごとの位置の履歴を示す履歴情報の一例である。なお、履歴情報の形式は、履歴テーブル122のようなテーブル形式だけには限定されない。
【0047】
履歴テーブル122は、特徴点ごとに、検知装置10に入力される複数のフレームそれぞれにおける位置の履歴が記録されている。履歴テーブル122に記憶されている位置の個数は、フレームの数によって制限されていてもよい。例えば、過去の10フレーム又は30フレームに含まれる特徴点の位置が履歴テーブル122に記録されるように制限されてもよい。
【0048】
なお、履歴テーブル122には、さらに、特徴点ごと、かつ、フレームごとに、当該特徴点について検知された物体(つまり静止物および移動物)に関する情報も記録され得る。履歴テーブル122が保有している情報については、後で詳しく説明する。
【0049】
検出部123は、履歴テーブル122に記録されている特徴点ごとの位置の履歴を用いて、複数のフレームのうちの第一フレーム(現在フレームに相当)に含まれる特徴点の変位を検出する機能部である。ここで、特徴点の変位は、上記のとおりベクトル量であるので変位ベクトルともいい、オプティカルフローに相当する。
【0050】
検出部123は、具体的には、(a)検知装置10に入力される複数のフレームのうちの第一フレームより時間的に1つ前の第二フレーム(直前フレームに相当)から第一フレームまでの特徴点の変位を、上記変位として検出する。また、検出部123は、(b)上記(a)で検出した変位の大きさが、予め定められた下限値より小さいと判定した場合に、複数のフレームのうちの第二フレームより時間的に前の第三フレームから第一フレームまでの特徴点の変位を、新たに、上記変位として検出する。検出部123は、検出した変位を検知部13に提供する。なお、下限値は、例えば8画素である。
【0051】
ここで、検出部123は、上記(b)において、複数のフレームを第二フレームから時間的に遡るときに上記一の特徴点の変位の大きさが下限値以上になる最初のフレームを第三フレームとして用いて、上記変位を検出してもよい。
【0052】
なお、検出部123は、検知装置10に入力される複数のフレームのうちの最も過去のフレームから第一フレームまでの特徴点の変位を、上記変位として検出してもよい。つまり、検出部123は、上記(a)および(b)のように変位を検出するのではなく、言い換えれば、第二フレームから第一フレームまでの特徴点の変位の大きさによらず、上記のように最も過去のフレームから第一フレームまでの特徴点の変位を検出してもよい。
【0053】
判定部124は、検知部13が実行した検知処理により得られた物体の位置の妥当性を判定する機能部である。判定部124は、履歴テーブル122を参照して、特徴点ごとの位置の履歴を監視し、検知された物体の位置が妥当であるか否かを判定し、その判定結果を履歴テーブル122に登録する。
【0054】
検知部13は、検出部123が検出した変位を用いて物体の検知処理を実行する機能部である。検知部13は、管理部12が保有している履歴テーブル122を参照して、物体(つまり静止物および移動物)の検知処理を行う。
【0055】
検知部13は、分類部131と、静止物検知部132と、3D復元部133と、移動物検知部134とを有する。
【0056】
分類部131は、オプティカルフローを分類する機能部である。分類部131は、検出部123が検出した特徴点のオプティカルフローのそれぞれを、静止物の特徴点に係るオプティカルフローと、移動物の特徴点に係るオプティカルフローとのいずれかに分類する。この分類は、例えば、検出部123が検出した特徴点が、静止物に係る特徴点が満たすべき条件を満たすか否かによってなされる。上記条件の一例は、エピポーラ幾何に基づくエピポーラ拘束条件である。
【0057】
また、分類部131は、静止物の特徴点に係るオプティカルフローとして分類されたオプティカルフローを静止物検知部132に提供する。また、分類部131は、移動物の特徴点に係るオプティカルフローとして分類されたオプティカルフロー(言い換えれば、静止物の特徴点に係るオプティカルフローとして分類されなかったオプティカルフロー)を、移動物検知部134に提供する。
【0058】
静止物検知部132は、静止物の特徴点に係るオプティカルフローを分類部131から取得し、静止物検知処理を実行する機能部である。静止物検知処理は、例えば、SFM(Structure From Motion)を用いた方法によりなされ得る。
【0059】
3D復元部133は、静止物検知部132で検知された静止物について、3D(Three-Dimensional)復元処理を施す機能部である。3D復元部133は、特徴点の位置と、その特徴点を取得したときのカメラの位置とを利用して、静止物の3次元形状を推定する。
【0060】
移動物検知部134は、移動物の特徴点に係るオプティカルフローを分類部131から取得し、移動物検知処理を実行する機能部である。移動物検知処理は、例えば、移動物体の特徴点に係るオプティカルフローに対して大きさまたは向きが類似しているフローをまとめるクラスタリング方法によりなされ得る。
【0061】
また、検知部13は、特徴点の現実空間での位置を示す情報、および、検知部13による検知処理の結果を示す情報を出力する。特徴点の現実空間での位置を示す情報は、静止物検知部132が検知した物体つまり静止物の特徴点の位置を示す情報、または、移動物検知部134が検知した物体つまり移動物の特徴点の位置を示す情報を含む。また、検知部13による検知処理の結果を示す情報は、分類部131による分類結果を示す情報(つまり特徴点それぞれが静止物に係る特徴点であるか、または、移動物に係る特徴点であるかを示す情報)、又は、3D復元部133による3D復元処理の成否を示す情報を含む。
【0062】
なお、検知部13は、特徴点の現実空間での位置を示す情報、および、検知部13による検知処理の結果を示す情報を履歴テーブル122に書き込んでもよい。
【0063】
その場合、検出部123は、上記(b)において第二フレームから時間的に遡るときには、複数のフレームのうち、物体の3D復元処理において3D復元が失敗したフレームを除外した複数のフレームを遡るようにしてもよい。
【0064】
また、検出部123は、上記(b)において第二フレームから時間的に遡るときには、複数のフレームのうち、物体の位置が妥当でないと判定部124により判定されたフレームを除外した複数のフレームを遡るようにしてもよい。
【0065】
図2は、本実施の形態に係る検知装置10に入力されるフレームの例を示す模式図である。
【0066】
図2に示される複数のフレームf1、f2およびf3は、一例として、車両に搭載されたカメラが複数枚の静止画を連続的に撮影することで生成される動画に含まれる、連続した3つのフレームである。
【0067】
複数のフレームf1、f2およびf3のうち、検知装置10に最初に入力されるのはフレームf3であり、その後、フレームf2およびフレームf1が検知装置10にこの順に入力される。
【0068】
図3は、フレームにおける特徴点とオプティカルフローとの例を示す説明図である。
図3に示されるフレームは、移動している車両に搭載されたカメラにより当該車両の前方の光景を複数回撮影して生成されたフレームのうちの1つである。
【0069】
図3の(a)には、検知装置10に入力されるフレームと当該フレームにおいて抽出される特徴点の一例が示されている。
図3の(a)において、プラス記号(+)により特徴点が示されている。特徴点は、例えば、フレームに含まれるエッジ又はコーナーの位置に抽出される。
【0070】
また、
図3の(b)には、
図3の(a)に示されるフレームと当該フレームに含まれる特徴点の変位つまりオプティカルフローの一例が示されている。
図3の(b)において、特徴点は黒丸(●)により示されていて、オプティカルフローは線分(―)により示されている。
【0071】
オプティカルフローは、当該フレームに含まれる特徴点の、過去のフレームから当該フレームまでの変位を示すベクトルである。つまり、車両に搭載されたカメラが移動することにより、過去のフレームと当該フレームとの間で生ずる特徴点の変位がオプティカルフローとして検出される。
【0072】
図4は、本実施の形態に係る複数のフレームが撮影されるときの物体Sとカメラ20との位置関係を示す説明図である。
図5は、本実施の形態に係る取得部121が取得する特徴点の位置の履歴を示す説明図である。
図4および
図5を参照しながら取得部121の機能を説明する。
【0073】
図4に示されるように、カメラ20は、静止している物体Sを移動しながら撮影することで、順次に、フレームを生成する。このようにカメラ20が生成したフレームの例が
図5に示されている。
【0074】
図5に示されるフレームf3は、時刻t=0においてカメラ20が撮影することで生成したフレームの例である。
図5に示されるフレームf2は、時刻t=1においてカメラ20が撮影することで生成したフレームの例である。
図5に示されるフレームf1は、時刻t=2においてカメラ20が撮影することで生成したフレームの例である。
【0075】
図5に示されるフレームf3、f2およびf1が、検知装置10に入力される。
【0076】
取得部121は、フレームf3、f2およびf1における特徴点を抽出する。また、抽出した特徴点について、その前後のフレームに抽出された特徴点と共通である特徴点を対応付ける。このようにして、取得部121は、フレームf3、f2およびf1に亘って存在している共通の特徴点p1およびp2の位置の履歴を取得する。
【0077】
次に、検出部123は、フレームf3からフレームf2までの特徴点p1およびp2それぞれの変位ベクトルd123およびd223、ならびに、フレームf2からフレームf1までの特徴点p1およびp2それぞれの変位ベクトルd112およびd212を検出する。
【0078】
図6は、本実施の形態に係る履歴テーブル122の第一例を示す説明図である。
【0079】
図6に示される履歴テーブル122には、
図5に示されているフレームf3、f2およびf1に含まれる特徴点p1およびp2の位置が示されている。特徴点p1およびp2の位置は、x座標およびy座標によって示されている。
【0080】
例えば、特徴点p1の位置は、フレームf1において(x,y)=(350,450)であり、フレームf2において(150,250)であり、フレームf3において(100,200)である。
【0081】
また、例えば、特徴点p2の位置は、フレームf1において(x,y)=(750,850)であり、フレームf2において(550,650)であり、フレームf3において(500,600)である。
【0082】
検出部123は、フレームf1およびf2間の特徴点p1の変位ベクトルd112を以下のように算出する。
【0083】
d112=(350-150,450-250)=(200,200)
【0084】
同様に、検出部123は、フレームf2およびf3間の特徴点p1の変位ベクトルd123を以下のように算出する。
【0085】
d123=(150-100,250-200)=(50,50)
【0086】
図7は、本実施の形態に係る検出部123が検出するオプティカルフローの説明図である。ここでは、フレームf1を現在フレームとし、フレームf2を直前フレームとして説明する。
【0087】
検出部123は、現在フレームと直前フレームとの間で特徴点について検出した変位ベクトルの大きさが、適切なオプティカルフローの大きさとして予め定められた範囲の下限値(予め定められた下限値に相当)以上である場合には、検出した変位ベクトルを、これらのフレーム間での特徴点のオプティカルフローとする。
【0088】
一方、検出部123は、現在フレームと直前フレームとの間で特徴点について検出した変位ベクトルの大きさが、上記下限値より小さい場合には、直前フレームより1つ前のフレームに遡って、現在フレームとの間で特徴点の変位ベクトルを検出する。このように、検出部123は、検出した変位ベクトルが上記下限値以上になるまでフレームを遡る。なお、フレームを遡る際に、履歴テーブル122に含まれている最も過去の特徴点にまで遡っても変位ベクトルが上記下限値以上にならない場合には、最も過去の特徴点の位置を用いて検出した変位ベクトルを、これらのフレーム間での特徴点のオプティカルフローとする。
【0089】
具体的には、
図7に示されるフレームf1における特徴点p1について、検出部123は、変位ベクトルd112の大きさが下限値以上である場合には、変位ベクトルd112を、フレームf1における特徴点p1のオプティカルフローとする。
【0090】
一方、検出部123は、変位ベクトルd112の大きさが下限値より小さい場合には、変位ベクトルd112に変位ベクトルd123を加えた変位ベクトルd113を検出する。そして、変位ベクトルd113の大きさが下限値以上である場合には、変位ベクトルd113を、フレームf1における特徴点p1のオプティカルフローとする。
【0091】
図8は、本実施の形態に係る履歴テーブル122の第二例(履歴テーブル122A)を示す説明図である。
【0092】
図8に示される履歴テーブル122Aには、
図6に示される履歴テーブル122に含まれている情報、つまり、特徴点ごとかつフレームごとの特徴点の位置を示す情報(x座標およびy座標)を含む。さらに、履歴テーブル122Aは、当該特徴点の現実空間での位置を示す情報(X座標、Y座標およびZ座標)、ならびに、検知処理結果を示す情報を含む。
【0093】
特徴点の現実空間での位置を示す情報は、静止物検知部132または移動物検知部134が検知した、当該特徴点の現実空間での位置を示す情報であり、一例として、その位置のX座標、Y座標およびZ座標により示される。
【0094】
検知処理結果を示す情報は、検知された物が静止物であるかまたは移動物であるかを示す情報、および、静止物と検知された物については3D復元が成功したかまたは失敗したかを示す情報を含む。
【0095】
特徴点の現実空間での位置を示す情報と、検知処理結果を示す情報は、検出部123がオプティカルフローを検出する際に、履歴テーブル122に含まれる特徴点の位置の履歴を遡るときに参照される。
【0096】
以上のように構成された検知装置10の処理について説明する。
【0097】
図9は、本実施の形態に係る取得部121が位置の履歴を取得する処理を示すフロー図である。
【0098】
ステップS101において、取得部121は、入力部11からフレーム(現在フレームに相当)を取得したか否かを判定する。入力部11からフレームを取得したと判定した場合(ステップS101でYes)には、ステップS102に進み、そうでない場合(ステップS101でNo)には、ステップS101を再び実行する。つまり、取得部121は、入力部11からフレームを取得するまでステップS101で待機状態をとる。
【0099】
ステップS102において、取得部121は、フレームメモリ111に格納されているフレーム(直前フレームに相当)を取得する。
【0100】
ステップS103において、取得部121は、ステップS101で取得した現在フレームと、ステップS102で取得した直前フレームとのそれぞれにおいて特徴点を抽出する。
【0101】
ステップS104において、取得部121は、現在フレームと直前フレームとに共通の特徴点ごとに、位置の履歴を履歴テーブル122に記録する。
【0102】
ステップS104の処理を終えたらステップS101を再び実行する。
【0103】
図10は、本実施の形態に係る検出部123がオプティカルフローを検出する処理を示すフロー図である。
【0104】
ステップS201において、検出部123は、後述するステップS202からステップS207までの処理を繰り返し実行するループAの開始処理を行う。ループAでは、特徴点のそれぞれに着目して処理を実行し、最終的に、すべての特徴点について処理がなされる。
【0105】
ステップS202において、検出部123は、現在フレームより時間的に1つ前のフレームに着目する。現在フレームより時間的に1つ前のフレームを着目フレームとして設定する。
【0106】
ステップS203において、検出部123は、着目している特徴点の、着目フレームにおける位置から、現在フレームにおける位置までのオプティカルフローを取得する。オプティカルフローの取得は、履歴テーブル122において、着目フレームにおける特徴点の位置と現在フレームにおける特徴点の位置とを取得し、その差分を算出することでなされ得る。
【0107】
ステップS204において、検出部123は、ステップS203で検出したオプティカルフローの長さ、つまりフロー長を検出し、検出したフロー長が予め定められた下限値より大きいか否かを判定する。フロー長が下限値より大きいと判定した場合(ステップS204でYes)には、ステップS207に進み、そうでない場合(ステップS204でNo)には、ステップS205に進む。
【0108】
ステップS205において、検出部123は、着目フレームより時間的に1つ前のフレームの特徴点の位置が、履歴テーブル122に記録されているか否かを判定する。着目フレームより時間的に1つ前のフレームの特徴点の位置が履歴テーブル122に記録されていると判定した場合(ステップS205でYes)には、ステップS206に進み、そうでない場合(ステップS205でNo)には、ステップS207に進む。
【0109】
ステップS206において、検出部123は、着目フレームより時間的に1つ前のフレームに着目し、ステップS203に進む。
【0110】
ステップS207において、検出部123は、ステップS203で検出したフロー長を有するオプティカルフローを、着目している特徴点のオプティカルフローとして決定する。
【0111】
ステップS208において、ループAの終了処理を行う。具体的には、検出部123は、ステップS202からステップS207までの処理が、特徴点それぞれに着目して実行されたか否かを判定し、行われていない場合には、まだ行われていない特徴点に着目して処理を実行するよう制御する。
【0112】
なお、履歴テーブル122Aを用いる場合であって、特徴点の現実空間での位置、または、検知処理結果を示す情報が含まれている場合には、検出部123は、着目フレームより時間的に1つ前のフレームの特徴点の位置が履歴テーブル122Aに記録されていると判定した場合(ステップS205でYes)に、着目フレームより時間的に1つ前のフレームについての検知処理結果に応じて、さらに1つ前(つまり、着目フレームより時間的に2つ前)のフレームに着目するようにしてもよい。具体的には、検出部123は、着目フレームより時間的に1つ前のフレームについての3D復元処理が失敗であることを示す情報が履歴テーブル122Aに含まれている場合、または、特徴点の現実空間での位置が、1つ前のフレームまたは1つ後のフレームにおける位置と比較的大きく異なる場合に、さらに1つ前(つまり、着目フレームより時間的に2つ前)のフレームに着目するようにしてもよい。
【0113】
これにより、検出部123は、複数のフレームのうち、3D復元が失敗したフレーム、および、物体の位置が妥当でないと判定部124により判定されたフレームを除外した複数のフレームを遡って着目フレームを設定し、その結果、適切なオプティカルフローを検出することができる。
【0114】
図11は、本実施の形態に係る検知部13が実行する物体検知処理を示すフロー図である。
【0115】
ステップS301において、分類部131は、履歴テーブル122に記録されている特徴点のオプティカルフローのそれぞれを、静止物の特徴点に係るオプティカルフローと、移動物の特徴点に係るオプティカルフローとのいずれかに分類する分類処理を実行する。
【0116】
ステップS302において、静止物検知部132は、静止物の特徴点に係るオプティカルフローに基づいて、静止物検知処理を実行する。静止物の特徴点に係るオプティカルフローは、ステップS301で静止物の特徴点に係るオプティカルフローとして分類されたオプティカルフローである。
【0117】
ステップS303において、3D復元部133は、静止物検知処理の結果に基づいて、3D復元処理を実行する。
【0118】
ステップS304において、移動物検知部134は、移動物の特徴点に係るオプティカルフローに基づいて、移動物検知処理を実行する。移動物の特徴点に係るオプティカルフローは、ステップS301で移動物の特徴点に係るオプティカルフローとして分類されたオプティカルフローである。なお、ステップS304は、ステップS302の前に実行されてもよいし、ステップS302又はS303と並行して実行されてもよい。
【0119】
ステップS305において、検知部13は、特徴点の現実空間での位置を示す情報、および、検知部13による検知処理の結果を示す情報を出力する。また、検知部13は、上記情報を履歴テーブル122に記録する。
【0120】
図9~
図11に示される一連の処理により、検知装置10は、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる。
【0121】
なお、検知装置10を用いて、カメラ20の不具合を検知することもできる。以降において、検知装置10を用いてカメラ20の不具合を検知する方法について説明する。
【0122】
図12は、本実施の形態に係るカメラの不具合の検知の方法を示す概念図である。
【0123】
図12の(a)および(b)に示されるフレームは、検知装置10に入力される複数のフレームのうちの連続した2つのフレームである。
図12の(a)および(b)に示されるフレームにおいて抽出される特徴点がプラス記号(+)によって示されている。
【0124】
図12の(a)に示されるフレームに含まれる特徴点と、
図12の(b)に示されるフレームに含まれる特徴点との位置は異なるが、両フレームで共通の位置に位置する領域30には、特徴点が抽出されていない。
【0125】
このように、撮影された時刻が異なる複数のフレームのうちの共通の位置に位置する領域30に特徴点が抽出されない現象は、カメラの撮像素子、光学系、レンズなどに故障などの不具合が発生した場合、又は、レンズに泥などの汚れが付着した場合などに生じ得る。
【0126】
検知部13は、このように、複数のフレームのうち、時間的に連続した所定数のフレームにおける共通の位置に位置する所定の寸法を有する領域に特徴点が抽出されないことが検知された場合には、通知処理を実行するようにしてもよい。通知処理は、例えば、カメラの撮像素子などに故障などの不具合が発生した、又は、レンズに汚れが付着したことを、車両の運転手または管理者に通知し、又は、情報として記憶装置に記憶する処理を含む。車両の管理者に通知する際には、検知装置がネットワークインタフェース(不図示)を備える場合にはネットワークを介して通知することも可能である。
【0127】
(実施の形態の変形例)
本変形例において、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる検知装置について、別の形態を説明する。
【0128】
図13は、本変形例に係る検知装置10Aの構成を示す模式図である。
【0129】
図13に示されるように、検知装置10Aは、取得部11Aと、検出部12Aと、検知部13Aとを備える。
【0130】
取得部11Aは、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する。
【0131】
検出部12Aは、取得部11Aが取得した履歴を用いて、複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する。具体的には、検出部12Aは、(a)複数のフレームのうちの第一フレームより時間的に1つ前の第二フレームから第一フレームまでの特徴点の変位を、上記変位として検出する。また、検出部12Aは、(b)上記(a)で検出した変位の大きさが、予め定められた下限値より小さいと判定した場合に、複数のフレームのうちの第二フレームより時間的に前の第三フレームから第一フレームまでの特徴点の変位を、新たに、上記変位として検出する。
【0132】
検知部13Aは、検出部12Aが検出した変位を用いて物体の検知処理を実行する。
【0133】
図14は、本変形例に係る検知装置による検知方法を示すフロー図である。
【0134】
図14に示されるように、ステップS1(取得ステップ)において、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する。
【0135】
ステップS2(検出ステップ)において、取得ステップで取得した履歴を用いて、複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する。具体的には、検出ステップでは、(a)複数のフレームのうちの第一フレームより時間的に1つ前の第二フレームから第一フレームまでの特徴点の変位を、上記変位として検出する。また、(b)上記(a)で検出した変位の大きさが、予め定められた下限値より小さいと判定した場合に、複数のフレームのうちの第二フレームより時間的に前の第三フレームから第一フレームまでの特徴点の変位を、新たに、上記変位として検出する。
【0136】
ステップS3(検知ステップ)において、検出ステップで検出した変位を用いて物体の検知処理を実行する。
【0137】
これにより、回路規模の増大を抑えながら、オプティカルフローを適切に検出できる。
【0138】
なお、上記実施の形態および変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態および各変形例の情報処理装置などを実現するソフトウェアは、次のようなプログラムである。
【0139】
すなわち、このプログラムは、コンピュータに、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得ステップと、前記取得ステップで取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、前記検出ステップでは、(a)前記複数のフレームのうちの前記第一フレームより時間的に1つ前の第二フレームから前記第一フレームまでの特徴点の変位を、前記変位として検出し、(b)前記(a)で検出した前記変位の大きさが、予め定められた下限値より小さいと判定した場合に、前記複数のフレームのうちの前記第二フレームより時間的に前の第三フレームから前記第一フレームまでの前記特徴点の変位を、新たに、前記変位として検出する検知方法を実行させるプログラムである。
【0140】
また、このプログラムは、コンピュータに、時間的に連続する複数のフレームそれぞれに含まれている特徴点ごとの位置の履歴を取得する取得ステップと、前記取得ステップで取得した前記履歴を用いて、前記複数のフレームのうちの第一フレームに含まれる特徴点の変位を検出する検出ステップと、前記検出ステップで検出した前記変位を用いて物体の検知処理を実行する検知ステップとを含み、前記検出ステップでは、前記複数のフレームのうちの最も過去のフレームから前記第一フレームまでの特徴点の変位を、前記変位として検出する検知方法を実行させるプログラムである。
【0141】
以上、一つまたは複数の態様に係る情報処理装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0142】
本発明は、オプティカルフローを用いて物体の検知をする検知装置に利用可能である。
【符号の説明】
【0143】
10、10A 検知装置
11 入力部
12 管理部
13、13A 検知部
20 カメラ
30 領域
111 フレームメモリ
121、11A 取得部
123、12A 検出部
122、122A 履歴テーブル
124 判定部
131 分類部
132 静止物検知部
133 3D復元部
134 移動物検知部
f1、f2、f3 フレーム
S 物体
p1、p2 特徴点