特許第6243725号(P6243725)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 本田技研工業株式会社の特許一覧

特許6243725合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ
<>
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000002
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000003
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000004
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000005
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000006
  • 特許6243725-合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6243725
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ
(51)【国際特許分類】
   G06T 1/00 20060101AFI20171127BHJP
   G06T 7/00 20170101ALI20171127BHJP
   H04N 7/18 20060101ALI20171127BHJP
【FI】
   G06T1/00 330B
   G06T7/00 350B
   G06T7/00 300B
   H04N7/18 K
   H04N7/18 J
【請求項の数】20
【外国語出願】
【全頁数】15
(21)【出願番号】特願2013-262131(P2013-262131)
(22)【出願日】2013年12月19日
(65)【公開番号】特開2014-123362(P2014-123362A)
(43)【公開日】2014年7月3日
【審査請求日】2016年11月16日
(31)【優先権主張番号】61/745,225
(32)【優先日】2012年12月21日
(33)【優先権主張国】US
(31)【優先権主張番号】14/025,460
(32)【優先日】2013年9月12日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】特許業務法人磯野国際特許商標事務所
(74)【代理人】
【識別番号】100064414
【弁理士】
【氏名又は名称】磯野 道造
(74)【代理人】
【識別番号】100111545
【弁理士】
【氏名又は名称】多田 悦夫
(72)【発明者】
【氏名】バーンド ヘイゼル
【審査官】 佐藤 卓馬
(56)【参考文献】
【文献】 特開2012−243155(JP,A)
【文献】 特開2006−048322(JP,A)
【文献】 特開2011−141809(JP,A)
【文献】 特開2008−234627(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
目標画像中に自転車運転者が存在するか否かをリアルタイムで決定するコンピュータに実行させる方法であって、
前記コンピュータは、
前記目標画像を受け取り、
線形分類子を使用して前記目標画像についての第1の分類結果、及び、前記第1の分類結果が誤りである確率を示す誤差値を決定し、
前記誤差値が閾値を超えない場合は、前記第1の分類結果を出力し、
前記誤差値が閾値を超える場合は、非線形分類子を使用して前記目標画像についての第2の分類結果を決定し、前記第2の分類結果を出力するステップを実行すること、
を特徴とする方法。
【請求項2】
前記コンピュータは、
前記自転車運転者の三次元モデルに基づき、前記自転車運転者の複数の合成画像を生成し、
前記生成された複数の合成画像を使用して、前記線形分類子及び前記非線形分類子を訓練するステップを実行すること、
を特徴とする請求項1に記載の方法。
【請求項3】
前記自転車運転者の複数の合成画像を生成することは、
前記自転車運転者の前記三次元モデルに基づき、自転車を運転する人物の画像をレンダリングし、
前記レンダリングした画像に背景を加えることによって前記合成画像を生成すること、を含むこと、
を特徴とする請求項2に記載の方法。
【請求項4】
前記自転車運転者の複数の合成画像を生成することは、
前記合成画像を間引くこと、前記合成画像を平滑化すること、及び、前記合成画像をトリミングすること、のうちの少なくとも1つを含むこと、
を特徴とする請求項3に記載の方法。
【請求項5】
前記自転車運転者の複数の合成画像を生成することは、
前記自転車運転者の前記三次元モデルに基づき、かつ、パラメータに基づき、実行されること、
を特徴とする請求項3に記載の方法。
【請求項6】
前記パラメータは、
前記レンダリングした画像中の、前記人物についての情報、前記自転車についての情報、及び、前記自転車運転者の位置に関する情報のうちの1つを含むこと、
を特徴とする請求項5に記載の方法。
【請求項7】
前記コンピュータは、
前記パラメータを前記合成画像に注釈として付すステップを実行すること、
を特徴とする請求項5に記載の方法。
【請求項8】
前記コンピュータは、
自転車の三次元モデル及び人物の三次元モデルに基づき、前記自転車運転者の前記三次元モデルを生成するステップを実行すること、
を特徴とする請求項2に記載の方法。
【請求項9】
前記コンピュータは、
前記自転車運転者を示さない複数の陰性訓練画像を受け取り、
前記複数の陰性訓練画像を使用して、前記線形分類子及び前記非線形分類子を訓練するステップを実行すること、
を特徴とする請求項1に記載の方法。
【請求項10】
前記線形分類子は、
線形サポートベクトルマシーン(SVM)を含むこと、
を特徴とする請求項1に記載の方法。
【請求項11】
前記非線形分類子は、
動径基底関数(RBF)サポートベクトルマシーン(SVM)を含むこと、
を特徴とする請求項1に記載の方法。
【請求項12】
前記線形分類子は、
勾配方向ヒストグラム(HОG)画像特徴に基づき、分類を実行すること、
を特徴とする請求項1に記載の方法。
【請求項13】
前記コンピュータは、
前記目標画像から前記勾配方向ヒストグラム(HОG)画像特徴を抽出するステップを実行すること、
を特徴とする請求項12に記載の方法。
【請求項14】
目標画像中に自転車運転者が存在するか否かをリアルタイムで決定するコンピュータを機能させる少なくとも1つのコンピュータプログラムを格納する不揮発性のコンピュータ読取可能な記憶媒体であって、
前記少なくとも1つのコンピュータプログラムは、前記コンピュータに対して、
前記目標画像を受け取り、
線形分類子を使用して前記目標画像についての第1の分類結果、及び、前記第1の分類結果が誤りである確率を示す誤差値を決定し、
前記誤差値が閾値を超えない場合は、前記第1の分類結果を出力し、
前記誤差値が閾値を超える場合は、非線形分類子を使用して前記目標画像についての第2の分類結果を決定し、前記第2の分類結果を出力する処理を実行させること、
を特徴とする記憶媒体。
【請求項15】
前記少なくとも1つのコンピュータプログラムは、前記コンピュータに対して、
前記自転車運転者の三次元モデルに基づき、前記自転車運転者の複数の合成画像を生成し、
前記生成された複数の合成画像を使用して、前記線形分類子及び前記非線形分類子を訓練する処理を実行させること、
を特徴とする請求項14に記載の記憶媒体。
【請求項16】
前記自転車運転者の複数の合成画像を生成することは、
前記自転車運転者の前記三次元モデルに基づき、自転車を運転する人物の画像をレンダリングし、
前記レンダリングした画像に背景を加えることによって前記合成画像を生成すること、を含むこと、
を特徴とする請求項15に記載の記憶媒体。
【請求項17】
前記自転車運転者の複数の合成画像を生成することは、
前記自転車運転者の前記三次元モデルに基づき、かつ、パラメータに基づき、実行されること、
を特徴とする請求項16に記載の記憶媒体。
【請求項18】
目標画像中に自転車運転者が存在するか否かをリアルタイムで決定するコンピュータであって、
前記コンピュータは、
プロセッサと、
少なくとも1つのコンピュータプログラムを格納する不揮発性のコンピュータ読取可能な記憶媒体と、
を有し、
前記少なくとも1つのコンピュータプログラムは、前記プロセッサに対して、
前記目標画像を受け取り、
線形分類子を使用して前記目標画像についての第1の分類結果、及び、前記第1の分類結果が誤りである確率を示す誤差値を決定し、
前記誤差値が閾値を超えない場合は、前記第1の分類結果を出力し、
前記誤差値が閾値を超える場合は、非線形分類子を使用して前記目標画像についての第2の分類結果を決定し、前記第2の分類結果を出力する処理を実行させること、
を特徴とするコンピュータ。
【請求項19】
前記少なくとも1つのコンピュータプログラムは、前記プロセッサに対して、
前記自転車運転者の三次元モデルに基づき、前記自転車運転者の複数の合成画像を生成し、
前記生成された複数の合成画像を使用して、前記線形分類子及び前記非線形分類子を訓練する処理を実行させること、
を特徴とする請求項18に記載のコンピュータ。
【請求項20】
前記自転車運転者の複数の合成画像を生成することは、
前記自転車運転者の前記三次元モデルに基づき、自転車を運転する人物の画像をレンダリングし、
前記レンダリングした画像に背景を加えることによって前記合成画像を生成すること、を含むこと、
を特徴とする請求項19に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般的には、物体検知の分野に関する。具体的には、階層分類子を用いて自転車運転者の存在を検知することに関する。
【背景技術】
【0002】
“物体検知”とは、ビデオ画像又は静止画像中に存在する物体を自動的に検知するタスクを意味する。例えば、検知システムは、静止画像中に存在する人物又は自転車運転者を検知してもよい。ここでは、“自転車運転者”とは、自転車及びその運転者の組合せを意味する。
【0003】
物体検知は、例えば車両(例えば、自動車)内で使用され、車両の運転者、歩行者、自転車運転者、及び、車両とともに道路を通行する任意の他の人物の安全を向上させる。
【0004】
既存の物体検知システムは多くの問題を有する。物体検知の問題の1つは、物体検知モデルを訓練するために使用される、用途が広い訓練集合がないということである。陽性サンプル(検知されるはずの物体を含む画像)及び陰性サンプル(検知されるはずの物体を含まない画像)を含む訓練集合は、機械学習アルゴリズムに提供されて、物体検知モデルを作成する。限定された数の物体タイプ(例えば、歩行者)の陽性サンプルが利用可能であっても、他のタイプの物体(例えば、自転車運転者)の陽性サンプルが発見されにくいこともある。
【0005】
さらに、あるタイプの物体を検知するために使用される新たな訓練集合を生成するときに、画像に対していくつかの情報が注釈として手動で付される。例えば、画像中に物体が存在するという指摘、及び/又は、物体のあるパラメータ(例えば、物体の色及び画像内における物体の位置)が、物体に対して付加される。機械学習アルゴリズムは、これらの注釈及び画像を使用し、物体を検知するモデルを生成する。注釈付けする処理は、単調であり時間がかかる。
【0006】
さらに、あるタイプの物体を正確に検知することは、複雑すぎてリアルタイムアプリケーションの速度に追いつかない。例えば、自転車運転者の認識は、歩行者の認識よりも複雑である。なぜならば、歩行者に比して自転車運転者は、視点によって外観が変化することがはるかに多いからである。同様に、自転車運転者の上半身の姿勢は、典型的な歩行者の上半身の姿勢よりも変化が大きい。さらに、自転車運転者はより速く移動し、自転車運転者と車両との距離は、はるかに小さいことが多い。このことによって、物体のサイズの変化がより大きくなり、モーションがぼやけ焦点が外れて画質が落ちる。歩行者の検知に比して自転車運転者の検知がより複雑であるということは、大抵の検知システムはリアルタイムアプリケーションに向かないことを意味する。すると、より高速な物体認識スキームが可能になれば、そこから恩恵を受けるアプリケーション(例えば、車両システム中の自転車運転者検知)も出てくるかも知れない。
【発明の概要】
【0007】
(要約)
目標画像中に自転車運転者が存在するか否かをリアルタイムで決定する、方法、不揮発性のコンピュータ読取可能な記憶媒体及びシステムが、前記問題及び他の問題に対処する。方法のある実施形態は、目標画像を受け取ることを含む。目標画像は分類され、目標画像についての誤差値が、線形分類子を使用して決定される。誤差値が閾値を超えない場合、分類結果が出力される。それ以外の場合、つまり誤差値が閾値を超える場合、目標画像は、非線形分類子を使用して分類される。
【0008】
記憶媒体のある実施形態は、目標画像中に自転車運転者が存在するか否かをリアルタイムで決定する実行可能なコンピュータプログラム指示を格納する。その指示は、目標画像を受け取る。次に、その指示は、目標画像を分類し、線形分類子を使用して目標画像の誤差値を決定する。誤差値が閾値を超えない場合、分類結果が出力される。誤差値が閾値を超える場合、その指示は、非線形分類子を使用して目標画像を分類する。
【0009】
目標画像中に自転車運転者が存在するか否かをリアルタイムで決定するシステムのある実施形態は、実行可能なコンピュータプログラム指示を格納する、少なくとも1つの不揮発性のコンピュータ実行可能な記憶媒体を有する。その指示は、目標画像を受け取る。次に、その指示は、目標画像を分類し、線形分類子を使用して目標画像の誤差値を決定する。誤差値が閾値を超えない場合、分類結果が出力される。誤差値が閾値を超える場合、その指示は、非線形分類子を使用して目標画像を分類する。
【0010】
明細書に記述される特徴及び利点は、排他的なものではなく、当業者が図、明細書及び特許請求の範囲を参照すれば、多くの追加的特徴及び追加的利点があることに気づくであろう。さらに、本明細書で使用される言語は、読みやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。
【図面の簡単な説明】
【0011】
図1】ある実施形態に係る自転車運転者検知システムを示す上位概念ブロック図である。
図2】ある実施形態に係る図1の自転車運転者検知システムとして使用されるコンピュータの例を示す上位概念ブロック図である。
図3A】ある実施形態に係る図1の陽性訓練画像生成モジュールの詳細を示す上位概念ブロック図である。
図3B】ある実施形態に係る図1の検知モジュールの詳細を示す上位概念ブロック図である。
図4A】ある実施形態に係る自転車運転者検知モデルを訓練する陽性サンプルを生成する方法を示すフローチャートである。
図4B】ある実施形態に係る静止画像中に自転車運転者が存在することを決定する方法を示すフローチャートである。
【0012】
図は、様々な実施形態を専ら例示のために記述している。ここに例示される構造及び方法の代替的な実施形態が、ここに記述される実施形態の原理を逸脱することなく使用され得ることを、当業者であれば後記する説明から容易に認識するであろう。
【発明を実施するための形態】
【0013】
図を参照しつつ、本発明の実施形態を説明する。同じ参照番号は、同一の構成要素又は機能的に類似する構成要素を示す。図中の参照番号の最も左の数字は、当該参照番号が最初に使用される図面の番号に対応している。
【0014】
図1は、ある実施形態に係る自転車運転者検知システムを示す上位概念ブロック図である。自転車運転者検知システム100は、陽性訓練画像生成モジュール105、学習モジュール110及び検知モジュール120を含む。自転車運転者検知システム100は、車両内で使用されて、車両の周囲に自転車運転者が存在すること(又は存在しないこと)を決定してもよい。ここでは、“自転車運転者”とは、自転車及びその運転者の組合せを意味する。
【0015】
自転車運転者検知システム100は、例えば車両内で使用され、車両内の人物の安全を向上させ、車両とともに道路を通行する自転車運転者の安全を向上させる。車両を運転している間、車両の運転者は、自身の周囲で発生している複数の物体及び事象に注意を払う必要があるかもしれない。例えば、運転者は、交通信号(例えば、信号機、制限速度標識、警告標識)、車両パラメータ(例えば、車両の速度、エンジン回転数、油温、燃料残量)、同じ道路を通行する他の車両、道路を横断しようとしている歩行者等に注意を払う必要があるかもしれない。車両とともに道路を通行する自転車運転者が、見落とされた結果事故に巻き込まれることもある。
【0016】
自転車運転者検知システム100は、自転車運転者の存在を検知するために使用されてもよい。このような存在が検知された場合、運転者は、自転車運転者が存在する旨を警告され得る。運転者は、自転車運転者の位置(例えば、車両の右側、車両の左側、車両の正面)、自転車運転者の速度、自転車運転者が向かっている方向、車両と自転車運転者との間の距離等を警告されてもよい。
【0017】
陽性訓練画像生成モジュール105は、自転車運転者の三次元(3D)仮想モデルを入力値として受け取り、自転車運転者の二次元(2D)画像を生成し、生成された二次元画像を出力する。二次元画像は、自転車運転者を必ず含むので、二次元画像は、物体検知モデルを訓練するための“陽性サンプル”として使用される。陽性訓練画像生成モジュール105は、自転車運転者の二次元画像を生成する際に使用するパラメータの集合を受け取ってもよい。
【0018】
学習モジュール110は、陽性訓練画像生成モジュール105によって生成された二次元画像(“陽性サンプル”)及び自転車運転者を含まない画像(“陰性サンプル”)を入力値として受け取る。学習モジュール110は、陽性サンプル及び陰性サンプルを使用して、画像中の自転車運転者の存在を検知するための階層分類子を訓練し、訓練した階層分類子を出力する。図3Aを参照して、陽性サンプルの説明をさらに後記する。陰性サンプルは、無作為な縮尺における、無作為な位置の、道路場面の自然画像を無作為にトリミングすることによって生成される。
【0019】
検知モジュール120は、学習モジュール110によって訓練された階層分類子及び静止画像を受け取り、物体有無仮説を生成し、その物体有無仮説を出力する。いくつかの実施形態においては、静止画像は、車両に取り付けられたカメラによって取得される。例えば、静止画像は、1/1.8インチセンサ付き電化結合素子(CCD)カメラを使用して取得されてもよい。カメラのシャッタ速度を上げて画像がぼやけるのを減少させるためには、より大きなセンサ付きのカメラを使用してもよい。いくつかの実施形態においては、静止画像は、ビデオから選択されたフレームを抽出することによって入手される。物体有無仮説は、二進値の結果(例えば、はい/いいえ、自転車運転者がいる/いない)であってもよい。
【0020】
図2は、ある実施形態に係る図1の自転車運転者検知システム100として使用されるコンピュータ200の例を示す上位概念ブロック図である。チップセット204に接続された少なくとも1つのプロセッサ202が図示されている。チップセット204は、メモリ制御ハブ250及び入力/出力(I/O)制御ハブ255を含む。メモリ206及びグラフィックアダプタ213は、メモリ制御ハブ250に接続されており、表示装置218は、グラフィックアダプタ213に接続されている。記憶装置208、キーボード210、ポインティング装置214及びネットワークアダプタ216は、I/O制御ハブ255に接続されている。コンピュータ200の他の実施形態は、別の構成を有する。例えば、ある実施形態においては、メモリ206は、プロセッサ202に直接接続されている。
【0021】
記憶装置208は、ハードディスクドライブ、コンパクトディスク読出専用メモリ(CD−ROM)、DVD又は固体メモリ装置のような1又は複数の不揮発性のコンピュータ読取可能な記憶媒体を含む。メモリ206は、プロセッサ202によって使用される指示及びデータを保持する。ポインティング装置214は、キーボード210とともに使用され、データをコンピュータシステム200に入力する。グラフィックアダプタ213は、表示装置218に画像及び他の情報を表示する。ある実施形態においては、表示装置218は、ユーザの入力及び選択を受け取れるタッチスクリーンを含む。ネットワークアダプタ216は、コンピュータシステム200を通信ネットワーク又は他のコンピュータシステム(図示せず)に接続する。
【0022】
コンピュータ200の実施形態のいくつかは、別の構成、及び/又は、図2に示される構成以外の構成を有する。例えば、コンピュータ200は、組み込まれたシステムであってもよいし、グラフィックアダプタ213、表示装置218、キーボード210、ポインティング装置214及び他の構成を欠いていてもよい。
【0023】
コンピュータ200は、ここに記述される機能を提供するコンピュータプログラムモジュールを実行する。ここで“モジュール”とは、特定の機能を提供するために使用されるコンピュータプログラム指示及び/又は他の論理を意味する。よって、モジュールは、ハードウエア、ファームウエア及び/又はソフトウエアによって実現される。ある実施形態においては、実行可能なコンピュータプログラム指示からなるプログラムモジュールは、記憶装置208に格納されており、メモリ206に読み出されたうえで、プロセッサ202によって実行される。
【0024】
図3Aは、ある実施形態に係る図1の陽性訓練画像生成モジュール105の詳細を示す上位概念ブロック図である。陽性訓練画像生成モジュール105は、自転車運転者レンダリングモジュール301、背景組み込みモジュール303、画像後処理モジュール305及び画像注釈モジュール307を含む。
【0025】
自転車運転者レンダリングモジュール301は、自転車運転者(自転車及び自転車を運転している人物)の三次元(3D)仮想モデル及びパラメータの集合を入力値として受け取り、受け取ったパラメータに基づき、自転車運転者の二次元(2D)画像をレンダリングし、レンダリングした二次元画像を出力する。パラメータの集合は、例えば、自転車の色、自転車を運転している人物の性別、自転車を運転している人物の服装、自転車を運転している人物の姿勢、自転車運転者の受光状態等を含んでもよい。
【0026】
ある実施形態においては、自転車運転者レンダリングモジュール301は、自転車モデル及び人物モデルを入力値として受け取り、これら2つのモデルを合成して、自転車運転者モデルを生成する。人物モデルは、性別(例えば、男性又は女性)、体型(痩せ型、肥満型又は中間型)、髪型(長髪、短髪、無髪等)、髪色(黒、茶色、金色)のような1又は複数のパラメータを入力値として受け取ってもよい。追加的に、人物モデルは、衣服(シャツ、パンツ、靴等)及び/又はアクセサリ(帽子、リュックサック、腕時計等)のうちの1又は複数の物品のモデルを含んでもよい。ある実施形態においては、衣服モデル及び/又はアクセサリモデルは、データベース又はリポジトリに格納されてもよい。
【0027】
自転車モデルは、色、サイズ、反射率、テクスチャ等の1又は複数のパラメータを入力値として受け取ってもよい。いくつかの実施形態においては、自転車運転者検知システム100は、複数の自転車モデルを格納する自転車モデルデータストア(図示せず)を含んでもよい。陽性訓練画像生成モジュール105は、複数の自転車モデルから1つの自転車モデルを選択し、自転車運転者モデルを生成するために使用する。
【0028】
さらに、陽性訓練画像生成モジュール105は、照明パラメータ(例えば、光源方位、光源仰角、光源光度、周辺光エネルギ)、カメラパラメータ(例えば、カメラ方位、カメラ仰角、カメラ回転)及びレンダリングパラメータ(画像サイズ、境界サイズ)を受け取ってもよい。
【0029】
背景組み込みモジュール303は、自転車運転者レンダリングモジュール301によって生成された二次元自転車運転者画像及び二次元背景画像を入力値として受け取り、自転車運転者画像及び背景画像を合成し、合成した二次元画像を出力する。いくつかの実施形態においては、背景画像は、背景画像のライブラリから選択される。背景組み込みモジュール303は、自転車運転者画像が配置されるべき背景画像中の位置をパラメータとして受け取り、受け取った位置にその自転車運転者画像を配置してもよい。例えば、背景組み込みモジュール303は、自転車運転者画像を配置するべき背景画像中の位置を示す座標値をパラメータとして受け取ってもよい。代替的に、背景組み込みモジュール303は、自転車運転者画像が配置されるべき四角形を画定する2点をパラメータとして受け取ってもよい。
【0030】
画像後処理モジュール305は、背景付の自転車運転者の二次元画像を受け取り、受け取った画像が学習モジュール110によって使用され得るように受け取った画像を編集し、編集した画像を出力する。例えば、画像後処理モジュール305は、画像を平滑化する、画像を間引く、画像をトリミングする等の処理をしてもよい。
【0031】
画像注釈モジュール307は、画像後処理モジュール305が出力した画像を入力値として受け取り、受け取った画像に受け取った画像の地上データ(ground truth)を注釈として付し、注釈を付した画像を出力する。いくつかの実施形態においては、地上データは、“はい”(自転車運転者が存在する)又は“いいえ”(自転車運転者が存在しない)の二進値のうちのいずれかである。他の実施形態においては、地上データは、画像をレンダリングするために使用される1又は複数のパラメータ(例えば、姿勢のような自転車を運転する人物についての情報、又は、自転車のタイプのような自転車そのものについての情報)も含む。地上データは、画像中の自転車運転者の位置も含んでよい。例えば、画像注釈モジュール307は、画像中において自転車運転者が存在する位置を示す座標値(又は、四角形を画定する2点)を、画像に対して注釈として付してもよい。
【0032】
図3Bは、ある実施形態に係る図1の検知モジュール120の詳細を示す上位概念ブロック図である。検知モジュール120は、勾配方向ヒストグラム(HОG)抽出モジュール311、線形分類モジュール313及び非線形分類モジュール315を含む。
【0033】
勾配方向ヒストグラム(HОG)抽出モジュール311は、静止画像を受け取り、受け取った静止画像からHОG特徴を抽出し、抽出した特徴を出力する。ここで、勾配方向ヒストグラム(HОG)は、物体検知の目的でコンピュータビジョン及び画像処理において使用される特徴記述子である。HОG特徴は、画像中の局所化されたひとつの部分内における勾配方向の出現頻度を示す。
【0034】
HОG抽出モジュール311は、受け取った画像を複数のセルに分割することによって、HОG特徴を抽出する。例えば、HОG抽出モジュール311は、8×8画素のセルサイズを使用してHОG特徴を算出してもよい。HОG抽出モジュール311は、セルごとに、そのセルの画素値から勾配方向の一次元(1D)ヒストグラムを算出する。いくつかの実施形態においては、HОG抽出モジュール311は、画像を複数のブロックに分割し、ブロックの局所ヒストグラムエネルギを算出し、算出した局所ヒストグラムエネルギに基づいてブロック内のすべてのセルを正規化することによって、画像を正規化し、受取った画像全体に亘る輝度のばらつきを求める。例えば、HОG抽出モジュール311は、2×2セルのブロックサイズを使用して局所ヒストグラムエネルギを算出してもよい。
【0035】
ある実施形態においては、HОG抽出モジュール311は、予め定義されたサイズの画像からHОG特徴を抽出する。例えば、HОG抽出モジュール311は、48×48画素の画像からHОG特徴を抽出してもよい。受け取った画像のサイズが予め定義した画像サイズより大きい又はより小さい場合は、HОG抽出モジュール311は、画像サイズが予め定義した画像サイズに等しくなるまで受け取った画像を縮小または拡大する。
【0036】
線形分類モジュール313は、HОG画像特徴の集合を入力値として受け取り、線形分類子(例えば、線形サポートベクトルマシーン、すなわち“線形SVM”)及びHОG特徴を使用して、HОG画像特徴を有する画像内に自転車運転者が存在するか否かを決定し、分類結果及び誤差値を出力する。誤差値は、分類結果が誤りである確率を示す。ここでは、線形分類子は、物体の複数の特性又は複数の特徴の線形結合(又は関数)に基づいて、どの分類結果(例えば、自転車運転者の有無)に分類対象(例えば、静止画像)が属するかを識別する。ある実施形態においては、線形識別子の出力値は、次式によって与えられる。
y=f(ω・x)
ここで、yは、線形分類モジュールの出力値であり、ωは、学習モジュール110によって決定された重みベクトルであり、xは、分類されつつある分類対象の特徴の値を含む特徴ベクトルである。
【0037】
非線形分類モジュール315は、HОG画像特徴の集合を入力値として受け取り、非線形分類子(例えば、動径基底関数サポートベクトルマシーン、すなわち“RBF−SVM”)及びHОG特徴を使用して、HОG画像特徴を有する画像内に自転車運転者が存在するか否かを決定し、分類結果を出力する。ここでは、非線形分類子は、物体の複数の特徴の非線形結合(又は関数)に基づいて、どの分類結果(例えば、自転車運転者の有無)に分類対象(例えば、画像)が属するかを識別する。
【0038】
図4Aは、ある実施形態に係る自転車運転者検知モデルを訓練する陽性サンプルを生成する方法を示すフローチャートである。陽性訓練画像生成モジュール105は、自転車運転者モデル及び陽性訓練画像パラメータを受け取る(ステップ401)。
【0039】
自転車運転者レンダリングモジュール301は、受け取った自転車運転者モデル及び受け取った陽性訓練画像パラメータに基づいて、自転車運転者の画像をレンダリングする(ステップ403)。
【0040】
背景組み込みモジュール303は、レンダリングした自転車運転者画像に背景を加える(ステップ405)。
【0041】
いくつかの実施形態(図示せず)においては、画像後処理モジュール305は、背景付の自転車運転者の画像に対して、画像後処理技術(例えば、平滑化、間引き、トリミング)を適用してもよい。
【0042】
画像注釈モジュール307は、合成された画像(自転車運転者+背景)に、地上データを注釈として付す(ステップ407)。例えば、画像注釈モジュール307は、画像が陽性サンプルであることを示す二進値を画像に付す。他の実施形態においては、画像注釈モジュール307は、自転車運転者画像をレンダリングするために使用される、自転車を運転する人物の姿勢又は自転車のタイプのような、受け取った陽性訓練画像パラメータのうちの1又は複数を、画像に注釈として付す。
【0043】
図4Aのステップは、複数回繰り返されて(異なる自転車運転者モデル、異なる陽性訓練画像パラメータ、及び/又は、異なる背景を使用する)、複数の陽性サンプルを生成する。例えば、図4Aのステップは、数千回繰り返されて、数千個の陽性サンプルを作成してもよい。
【0044】
図4Bは、ある実施形態に係る静止画像中に自転車運転者が存在することを決定する方法を示すフローチャートである。検知モジュール120は、分類対象の静止画像を受け取る(ステップ411)。いくつかの実施形態においては、画像は、車両に取り付けられたカメラによって取得されてもよい。
【0045】
HОG抽出モジュール311は、受け取った静止画像を分析し、受け取った静止画像からHОG特徴を抽出する(ステップ413)。
【0046】
線形分類モジュール313は、線形分類子及びHОG抽出モジュール311によって抽出されたHОG特徴を使用して画像を分類し、分類結果及び誤差値を出力する(ステップ415)。
【0047】
線形分類モジュール313によって出力された誤差値は、閾値と比較される(ステップ417)。線形分類モジュール313によって出力された誤差値が閾値より小さい場合、線形分類モジュール313によって出力された分類結果は、画像内に自転車運転者が存在したか否かを決定するために使用される。それ以外の場合、すなわち、線形分類モジュール313によって出力された誤差値が閾値より大きい場合、受け取った画像は、非線形分類子及びHОG抽出モジュール311によって抽出されたHОG特徴を使用して、非線形分類モジュール315によって分類され(ステップ419)、分類結果が出力される。
【0048】
分類結果が出力される(ステップ421)。いくつかの実施形態においては、自転車運転者検知システム100の出力値は、二進値の結果(例えば、自転車運転者の有無)である。他の実施形態においては、自転車運転者検知システム100は、受け取った画像に関する自転車運転者の位置のような追加情報を出力する。自転車運転者検知システム100の出力値は、例えば、近くに自転車運転者が存在することを、車両の運転者に警告するために使用されてもよい。
【0049】
いくつかの実施形態においては、自転車運転者検知システム100は、解像度ピラミッド及びスライド式固定サイズ検知ウインドウを使用して、受け取った静止画像中に自転車運転者が存在することを決定する。例えば、検知モジュール120は、解像度ピラミッドを使用してもよい。当該解像度ピラミッドは、初期解像度を起点として、縦の画素数及び横の画素数をともに√2で除算することによって解像度を半減させていく処理を10回繰り返す。検知モジュール120は、48×48画素の検知ウインドウサイズ、及び、4画素のスライド歩長を使用してもよい。つまり、スライド式固定サイズ検知ウインドウを4画素ずつスライドさせたうえで、初期画像から48×48画素のサブ画像が複数抽出され、抽出された複数のサブ画像が検知モジュール120に送られ、48×48画素の各サブ画像中に自転車運転者が存在すか否かを決定する。検知モジュール120によって各サブ画像が分析された後、初期画像は、縦の画素数及び横の画素数をともに√2で除算することによって縮小される。縮小された初期画像から48×48画素のサブ画像が複数抽出され、検知モジュール120に送られ、48×48画素の各サブ画像中に自転車運転者が存在するか否かが決定される。この処理は、すべての解像度(例えば10段階)のサブ画像が分析されるまで繰り返される。
【0050】
自転車運転者検知システム100は、冗長検知(例えば、同じ自転車運転者が2つの異なる解像度で検知される)を抑制してもよい。ある実施形態においては、冗長検知を抑制するために、所与の初期画像ごとに、各検知結果が検知リストに加えられ、その検知強度(例えば、SVM値)が大きい順に並び替えて記憶される。検知リストの先頭の要素が現在の最大値として選択される。そして、先頭以外の各検知結果が、その検知ウインドウ内で、現在の最大値とどの程度重複しているかが検定される。個々の検知結果について、検知結果と現在の最大値との和集合に占める、検知結果と現在の最大値との積集合の比率が算出され、その比率が閾値(例えば、25%)よりも大きい場合、検知結果は、現在の最大値によって抑制される検知結果の群に加えられる。一旦代替された検知結果又は一旦最大値として選択された検知結果は、検知リストから削除される。検知リストからすべての検知結果が削除されるまで、この処理は繰り返される。群の中間解像度でスライドした複数のウインドウの平均値を取ることによって、単一の検知ウインドウが群ごとに決定される。
【0051】
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも1つの実施形態に、その実施形態に関連して記述される1つの特徴、構造又は特性が含まれていることを意味する。本明細書のいたる箇所に“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【0052】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ(命令)の首尾一貫したシーケンスを意味する。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの数値は、記憶され、転送され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなくモジュール又はコードデバイスと呼ぶことが便宜である。
【0053】
しかしながら、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、(電子的な)物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の(特定のコンピューティングマシーンのような)電子的コンピューティングデバイスの動作や処理のことを言う。
【0054】
本実施形態のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本実施形態のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実装され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。実施形態は、コンピューティングシステム上で実行され得るコンピュータプログラム製品内にあってもよい。
【0055】
本実施形態は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用コンピュータであってもよいし、コンピュータに記憶されたコンピュータプログラムによって動作する汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピーディスク(登録商標)、光ディスク、CD−ROM、電磁光学的ディスク、ROM、RAM、EPROM、EEPROM、電磁的又は光学的カード、ASIC又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。メモリは、前記の及び/又は他の装置のうち、情報/データ/プログラムを格納し一時的又は非一時的媒体であり得る任意のものを含む。ここで、非一時的媒体又は不揮発性媒体は、最小の継続時間を超えて情報を記憶し得るメモリ/ストレージを含み得る。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【0056】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な汎用システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、ここに記した明細書から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【0057】
さらに、本明細書で使用される言語は、読みやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。本発明の主旨を限定するものは、特許請求の範囲であって、明細書の詳細ではない。したがって、本発明の実施形態の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【0058】
本発明の特定の実施形態と応用例をここに記載したが、付属の特許請求の範囲に定義される本発明の技術的精神と範囲から逸脱しない限りにおいて、本発明はここに記載される厳密な構成および要素にのみ限定されることなく、本発明の方法および装置の構成、動作およびその詳細について、各種の変更、修正および変形を加えることが可能であることを理解すべきである。
図1
図2
図3A
図3B
図4A
図4B