IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

特許7230294オブジェクト検出のためのシステム及び方法
<>
  • 特許-オブジェクト検出のためのシステム及び方法 図1
  • 特許-オブジェクト検出のためのシステム及び方法 図2
  • 特許-オブジェクト検出のためのシステム及び方法 図3A
  • 特許-オブジェクト検出のためのシステム及び方法 図3B
  • 特許-オブジェクト検出のためのシステム及び方法 図4
  • 特許-オブジェクト検出のためのシステム及び方法 図5A
  • 特許-オブジェクト検出のためのシステム及び方法 図5B
  • 特許-オブジェクト検出のためのシステム及び方法 図6A
  • 特許-オブジェクト検出のためのシステム及び方法 図6B
  • 特許-オブジェクト検出のためのシステム及び方法 図6C
  • 特許-オブジェクト検出のためのシステム及び方法 図7
  • 特許-オブジェクト検出のためのシステム及び方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-20
(45)【発行日】2023-03-01
(54)【発明の名称】オブジェクト検出のためのシステム及び方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230221BHJP
【FI】
G06T7/00 300F
【請求項の数】 8
(21)【出願番号】P 2020156507
(22)【出願日】2020-09-17
(62)【分割の表示】P 2017545876の分割
【原出願日】2015-11-24
(65)【公開番号】P2020205118
(43)【公開日】2020-12-24
【審査請求日】2020-10-14
(31)【優先権主張番号】14/551,942
(32)【優先日】2014-11-24
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】クマル アラクッティ デサッパン
(72)【発明者】
【氏名】マヌ マシュー
(72)【発明者】
【氏名】プラモッド クマール スワミ
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2014-081826(JP,A)
【文献】国際公開第2011/007390(WO,A1)
【文献】特開2007-034704(JP,A)
【文献】Pei-Yin Chen, et al.,An Efficient Hardware Implementation of HOG Feature Extraction for Human Detection,IEEE Transactions on Intelligent Transportation Systems,米国,2013年,656-662,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6648678
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
複数の画像ピクセルを含む画像におけるオブジェクトを検出するためのオブジェクト検出システムであって、
命令を記憶するためのメモリと、
プロセッサであって、記憶された命令に応答して、
勾配方向ヒストグラム(HOG)特徴平面を計算することを含む、各画像ピクセルについて1組の特徴平面を計算するステップであって、前記勾配方向ヒストグラム(HOG)特徴平面を計算することが、
前記画像ピクセルについて水平勾配と垂直勾配とを計算することと、
前記画像ピクセルについて前記水平勾配と前記垂直勾配との比を決定することと、
前記HOG特徴平面について8つのビンを画定することであって、各特徴平面について1つのビンである、前記8つのビンを画定することと、
Bin0:0,0.375、Bin1:0.375,1、Bin2:1,2.665、Bin3:2.665,+∞、Bin4:+∞,-2.665、Bin5:-2.665,-1、Bin6:-1,-0.375、Bin7:-0.375,0のそれぞれの方向最小及び最大範囲を前記ビンに割り当てることと、
前記決定された比に従って前記画像ピクセルを前記ビンの1つに分類することと、
前記画像ピクセルの対応する勾配の大きさを計算することと、
前記分類されたビンに前記対応する勾配の大きさを割り当てて残りのビンにゼロ値を割り当てることと、
を含む、前記1組の特徴平面を計算するステップと、
前記画像における画像ピクセルのセルを画定するステップと、
特徴平面の和をもたらすためにセルにおいて全ての前記画像ピクセルの対応する特徴平面を総計するステップと、
前記画像においてセルの検出窓を画定するステップと、
各検出窓について1組の部分特徴ベクトルを決定するために検出窓において全ての前記セルの対応する特徴平面の和を総計するステップと、
前記部分特徴ベクトルを対応する部分オブジェクト分類子と比較して前記比較結果を前記メモリに格納するステップと、
オブジェクトが前記検出窓に存在するかを決定するために前記比較結果を照合するステップと、
を行なう、前記プロセッサと、
を含む、オブジェクト検出システム。
【請求項2】
請求項1に記載のオブジェクト検出システムであって、
前記1組の特徴平面を計算するステップが、
前記画像ピクセルのカラースキームを表す第1、第2及び第3の特徴平面を計算することと、
前記画像ピクセルの勾配大きさを表す第4の特徴平面を計算することと、
前記画像ピクセルの勾配を表す5番目からm番目までの勾配方向ヒストグラム(HOG)特徴平面を計算することと、
を更に含む、オブジェクト検出システム。
【請求項3】
処理装置によって画像ピクセルの画像におけるオブジェクトを検出するプロセスであって、
各画像ピクセルについて1組の特徴平面を計算することであって、
勾配方向ヒストグラム(HOG)特徴平面を計算することであって、
前記画像ピクセルについて水平勾配と垂直勾配とを計算することと、
前記画像ピクセルについて前記水平勾配と前記垂直勾配との比を決定することと、
前記HOG特徴平面について8つのビンを画定することであって、各特徴平面について1つのビンである、前記8つのビンを画定することと、
Bin0:0,0.375、Bin1:0.375,1、Bin2:1,2.665、Bin3:2.665,+∞、Bin4:+∞,-2.665、Bin5:-2.665,-1、Bin6:-1,-0.375、Bin7:-0.375,0のそれぞれの方向最小及び最大範囲を最大角度と最小角度との前記タンジェント計算に対応する前記ビンに割り当てることと、
前記決定された比に従って前記画像ピクセルを前記ビンの1つに分類することと、
前記画像ピクセルの対応する勾配の大きさを計算することと、
前記分類されたビンに前記対応する勾配の大きさを割り当てて残りのビンにゼロ値を割り当てることと、
を含む、前記HOG特徴平面を計算することと
前記HOG特徴平面の各々についてビンを画定することと、
前記ビンに方向範囲を割り当てることであって、各方向範囲の前記最大角度と前記最小角度とのタンジェント計算が有理数であるように前記方向範囲が0度から180度上に等しくなく間隔を空けられる、前記方向範囲を割り当てることと、
各ピクセルを前記方向範囲に従って前記ビンの1つに分類することと、
を含む、前記1組の特徴平面を計算することと、
前記画像において画像ピクセルのセルを画定することと、
特徴平面和をもたらすためにセルにおいて全ての前記画像ピクセルの対応する特徴平面を総計することと、
前記画像においてセルの検出窓を画定することと、
各検出窓について1組の部分特徴ベクトルを決定するために検出窓において全ての前記セルの対応する特徴平面和を総計することと、
前記部分特徴ベクトルを対応する部分オブジェクト分類子と比較して前記比較結果をメモリに格納することと、
前記検出窓にオブジェクトが存在するかを決定するために前記比較結果を照合することと、
を含む、プロセス。
【請求項4】
請求項に記載のプロセスであって、
前記各画像ピクセルについて1組の特徴平面を計算することが、
前記画像ピクセルのカラースキームを表す第1、第2及び第3の特徴平面を計算することと、
前記画像ピクセルの強度を表す第4の特徴平面を計算することと、
前記画像ピクセルの勾配と大きさとを表す5番目からm番目までの勾配方向ヒストグラム(HOG)特徴平面を計算することと、
を更に含む、プロセス。
【請求項5】
請求項に記載のプロセスであって、
前記勾配方向ヒストグラム(HOG)特徴平面を計算することが、方向角の計算なしに前記画像ピクセルについて水平勾配と垂直勾配との比に従って勾配方向ヒストグラム(HOG)ビンにおいて前記画像ピクセルを分類することを更に含む、プロセス。
【請求項6】
請求項に記載のプロセスであって、
前記セルを画定することが、水平及び垂直方向において等しい数のピクセルを有するセルを画定することを含む、プロセス。
【請求項7】
請求項に記載のプロセスであって、
前記セルを画定することが、1つのセルが他のセルに重なり、水平及び垂直方向において等しい数のピクセルを有するセルを画定することを含む、プロセス。
【請求項8】
請求項に記載のプロセスであって、
前記検出窓を画定することが、他の検出窓に重なる検出窓を画定することを含む、プロセス。
【発明の詳細な説明】
【技術分野】
【0001】
本願は一般に、車両からの歩行者及び他のオブジェクトの検出などの、オブジェクト検出に関する。
【背景技術】
【0002】
現在、車両には、道路上の歩行者などのオブジェクトを検出し、運転者に警告/ブレーキアシストを提供するための、オブジェクト検出器が装備されている。オブジェクト検出器は、車両の前及び周囲の映像/画像を捕捉するためのビデオカメラを用い、車両の前及び周囲の障害物及び歩行者を識別するための画像処理技法を内部に適用している。
【0003】
既存のオブジェクト検出器は、勾配方向ヒストグラム(HOG)に基づくオブジェクト検出技法を用いており、この技法では、画像がブロックに分割され、画像のHOGを形成するために、各ブロックにおける任意の方向のピクセル勾配の大きさがカウントされる。機械学習法は、画像における歩行者及び事前に定義されたオブジェクトを効果的に識別するように、HOGに識別及び分類技法を適用する。画像のHOGは、各画像ピクセルの勾配方向及び勾配の大きさに基づいて計算される。画像ピクセルについて、対応する勾配方向θがθ=tan-1(y/x)として表され、この式では、y=垂直方向の勾配、y=水平方向の勾配である。
【0004】
従来、不動点プロセッサにおける勾配方向θの計算は、除算用に1つ、逆タンジェント(tan-1)用にもう1つを含む、2つのルックアップテーブルを用いることによって実装される。各画像ピクセルの勾配方向の計算に2つのルックアップテーブルを用いることは、非常に時間がかかり、非常に高度な計算及び高メモリ帯域幅を必要とするため、埋め込みシステムでのリアルタイム性能で実装することが非常に困難となる。メモリ帯域幅は、任意のシステム、特にマルチコアシステムにおける、重要なリソースである。メモリ帯域幅は、システム性能を最適化する際に重要な役割を担う。したがって、他のプロセッサも並行して効果的に働くように、できる限り小さなメモリ帯域幅を有することが非常に重要である。
【0005】
他のオブジェクト検出技法には、計算の数を削減するために積分画像を計算することが含まれる。しかしながら、積分画像の計算は計算の数は削減するが、中間データ要素のサイズを増大させ、高メモリ帯域幅が必要になる。
【発明の概要】
【0006】
複数の画像ピクセルを含む画像におけるオブジェクトを検出するためのオブジェクト検出システムを説明する例において、オブジェクト検出システムは、命令を記憶するためのメモリと、記憶された命令に応答して、画像の各画像ピクセルについて1つ又は複数のタイプの1つ又は複数の特徴平面を計算するステップ、及び、画像における複数のセルを画定するステップを行なうためのプロセッサとを含む。各セルは、第1から第nのピクセルを含む。画像における各セルの水平及び垂直方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの整数倍である。プロセッサは更に、記憶された命令に応答して、セルの各々について1つ又は複数のタイプの1つ又は複数の特徴平面の和(summation)を計算するステップを行なう。或るセルについての或るタイプの特徴平面和は、セルの第1から第nのピクセルの対応する特徴を総計することによって計算され、ここでnは整数である。プロセッサはまた、記憶された命令に応答して、画像の画像部分について特徴ベクトルを決定するステップと、画像の画像部分におけるオブジェクトの存在を検出するために特徴ベクトルを対応するオブジェクト分類子と比較するステップとを行ない、特徴ベクトルは、画像部分において画定される1つ又は複数のセルの特徴平面和のセットを含む。
【0007】
また、複数の画像ピクセルを含む画像におけるオブジェクトを検出する方法を説明する例において、この方法は、画像の各画像ピクセルについて1つ又は複数のタイプの1つ又は複数の特徴平面を計算すること、及び、画像における複数のセルを画定することを含む。各セルは第1から第nのピクセルを含む。画像における各セルの水平及び垂直方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの整数倍である。また、この方法は、セルの各々について1つ又は複数のタイプの1つ又は複数の特徴平面の和を計算することを含む。或るセルについての或るタイプの特徴平面和は、セルの第1から第nのピクセルの対応する特徴を総計することによって計算され、ここでnは整数である。また、この方法は、画像の画像部分について特徴ベクトルを決定することを含む。特徴ベクトルは、画像部分において画定される1つ又は複数のセルの特徴平面和のセットを含む。また、この方法は、画像の画像部分におけるオブジェクトの存在を検出するために特徴ベクトルを対応するオブジェクト分類子と比較することを含む。
【0008】
複数の画像ピクセルを含む画像におけるオブジェクトを検出する方法を説明する他の例において、この方法は、画像の各画像ピクセルについて1つ又は複数のタイプの1つ又は複数の特徴平面を計算すること、及び、画像における複数のセルを画定することを含む。各セルは第1から第nのピクセルを含む。画像における各セルの水平及び垂直方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの整数倍である。また、この方法は、セルの各々について1つ又は複数のタイプの1つ又は複数の特徴平面の和を計算することを含む。或るセルについての或るタイプの特徴平面和が、セルの第1から第nのピクセルの対応する特徴を総計することによって計算され、ここでnは整数である。また、この方法は、1つ又は複数のタイプの特徴平面から或るタイプの特徴平面を選択することと、部分的特徴ベクトルを計算することと、部分的特徴ベクトルをオブジェクトの対応する部分的分類子と比較することと、比較の結果をメモリに記憶することとを、反復的に実施することを含む。部分的特徴ベクトルは、画像部分の1つ又は複数のセルについて、選択されたタイプの1つ又は複数の特徴平面和を含む。また、この方法は、各タイプの特徴平面に対応する1つ又は複数の比較結果を照合すること、及び、照合された結果に基づいて、画像におけるオブジェクトの存在を検出することを含む。
【図面の簡単な説明】
【0009】
図1】例示的シナリオにおける、複数の画像ピクセルを含む画像を図示する。
【0010】
図2】例示的シナリオにおける、第1から第mのHOGビン(bin)を図示する。
【0011】
図3A】例示的シナリオにおける、6つのHOGビンの第1のセットを図示する。
図3B】例示的シナリオにおける、8つのHOGビンの第2のセットを図示する。
【0012】
図4】或る実施形態における、オブジェクト検出システムのブロック図を図示する。
【0013】
図5A】例示的シナリオにおける、サイズ(64,128)の画像において画定されるサイズ(6,6)のセルを図示する。
図5B】例示的シナリオにおける、サイズ(64,128)の画像において画定されるサイズ(6,6)のセルを図示する。
【0014】
図6A】例示的シナリオにおける、サイズ(64,128)の画像において画定されるサイズ(4,4)のセルを図示する。
図6B】例示的シナリオにおける、サイズ(64,128)の画像において画定されるサイズ(4,4)のセルを図示する。
【0015】
図6C】例示的シナリオにおける、サイズ(64,128)の画像において画定されるサイズ(8,8)のセルを図示する。
【0016】
図7】或る実施形態における、画像フレーム内の検出ウィンドウを図示する。
【0017】
図8】或る実施形態における、画像におけるオブジェクトを検出する方法のフローチャートである。
【発明を実施するための形態】
【0018】
図面は、特に記載しない限り一定の縮尺で描かれておらず、こうした図面は本来、単なる例である。
【0019】
図1を参照すると、複数の画像ピクセルで形成される画像100が示されている。i番目の画像ピクセルの場合、i+1番目(x)及びi-1番目(x)は、x方向の隣接する画像ピクセルであり、i+1番目(y)及びi-1番目(y)は、y方向の隣接する画像ピクセルである。各画像ピクセルは或る強度及び勾配を有し、i番目の画像ピクセルの勾配は、大きさMG及び方向θを有する。i番目の画像ピクセルの勾配の方向θは、
θ=tan-1/x (1)
によって表され、上式で、x=i番目のピクセルの水平勾配であり、y=i番目のピクセルの垂直勾配である。
【0020】
或る例において、i番目のピクセルの水平勾配は、或る大きさと「正」又は「負」の方向性とを有し、
=I(xi-1)-I(xi+1) (2)
によって表され、上式で、I(xi-1)=対応する水平に左のピクセル、即ちi-1番目(x)のピクセル、の強度であり、I(xi+1)=対応する水平に右のピクセル、即ちi+1番目(x)のピクセル、の強度である。
【0021】
同様に、この例において、i番目のピクセルの垂直勾配は、或る大きさと「正」又は「負」の方向性とを有し、
=I(yi-1)-I(yi+1) (3)
によって表され、上式で、I(yi+1)=対応する垂直に上のピクセル、即ちi+1番目(y)のピクセル、の強度であり、I(yi-1)=対応する垂直に下のピクセル、即ちi-1番目(y)のピクセル、の強度である。
【0022】
水平勾配の大きさMGxは、
MGx=Abs(I(xi-1)-I(xi+1)) (4)
によって表される。
【0023】
垂直勾配の大きさMGyは、
MGy=Abs(I(yi-1)-I(yi+1)) (5)
によって表される。
【0024】
i番目のピクセルの勾配の大きさMGは、
によって表される。
【0025】
代替として、i番目のピクセルの勾配の大きさMGは、
MG=MGx+MGy (7)
によって表すことができる。
【0026】
上記の数式において提供されるi番目のピクセルについての勾配の計算は限定的なものと見なされるべきではなく、勾配を計算するために他の数学式を用いることも可能である。別の例において、i番目のピクセルの水平勾配は、i番目のピクセルの、i+1番目(x)のピクセル又はi-1番目(x)のピクセルのいずれかとの強度差を用いて決定可能であり、i番目のピクセルの垂直勾配は、i番目のピクセルの、i+1番目(y)のピクセル又はi-1番目(y)のピクセルのいずれかとの強度差を用いて決定され得る。
【0027】
図2は、或る実施形態における、画像100におけるオブジェクト検出のための勾配のヒストグラム(HOG)ビン200を示す。HOGビン200は、1番目からm番目までのビン、Bin 0~Bin m-1を含む。オブジェクト検出のために、画像100の各画像ピクセルは、対応する勾配の方向θに基づいて、1番目からm番目までのビンのうちの1つにおいてカテゴリー分類される。この例において、mの値=6である。しかしながら、別の例示的シナリオにおいて、mの値は8又は10などと異なり得る。
【0028】
図3A及び図3Bは、例示的シナリオにおいて、それぞれ、6つのHOGビンの第1のセット300、及び8つのHOGビンの第2のセット302を示す図である。
【0029】
従来の(即ち、例示的実施形態に従わない)実装において、第1及び第2のセット300及び302の各HOGビンには、0~180°内の等しい方向範囲が割り当てられる。例えば、m=6のとき、各HOGビンには30°が割り当てられるため、Bin 0は0から30°まで延在し、Bin 1は30°から60°まで延在する、という具合である。同様に、m=8のとき、各HOGビンには22.5°が割り当てられるため、Bin 0は0から22.5°まで延在し、Bin 1は22.5°から45°まで延在する、という具合である。画像ピクセルには、対応する垂直及び水平の勾配の比を、対応する方向範囲のタンジェント値と比較することによって、HOGビンが割り当てられる。例えば、mの値=6の場合、対応する勾配がBin 0にあるかどうかをチェックするために、画像ピクセルの垂直及び水平の勾配の比(y/x)が、tan0°及びtan30°の値と比較され得る。同様に、対応する勾配がBin 1にあるかどうかをチェックするために、比(y/x)が、tan30°及びtan60°の値と比較され得る、という具合である。tan30°、60°、120°、及び150°は、それぞれ無理数1/√3、√3、-√3、及び-1√3であるため、画像ピクセルに関するHOGビンの計算は複雑であり時間のかかるタスクである。
【0030】
(従来の実装とは異なる)例示的実施形態において、第1及び第2のセット300及び302のHOGビンには、画像の画像ピクセルに関するHOGビンの計算を簡略化するために、等しくない方向範囲が割り当てられる。或る実施形態において、第1及び第2のセット300及び302の各ビンについて、最大及び最小のビニング角度(binning angle)θmin及びθmaxが、tanθmin及びtanθmaxの各々が有理数であり、除算又は乗算なしで計算され得るように、選択される。また、シフト演算、減算、及び比較演算のうちの少なくとも1つの各々が、画像ピクセルのHOGビンを計算するために有用である。HOGビンの第1のセット300の場合、各ビンについての最小及び最大のビニング角度は下記の表1に示される。
【表1】
【0031】
HOGビンの第2のセット302の場合、各ビンについての最小及び最大のビニング角度は下記の表2に示される。
【表2】
【0032】
図4は、或る実施形態における、オブジェクト検出システム400のブロック図を示す。例示的シナリオにおいて、オブジェクトは道路上の歩行者であり、オブジェクト検出システム400は、車両又は任意の他の移動プラットフォームにおいて、道路上のオブジェクト検出を支援するために用いられる。オブジェクト検出システム400は、歩行者検出システム400とも呼ばれ得る。オブジェクト検出システム400は、命令を記憶するためのメモリ402と、記憶された命令に応答して画像におけるオブジェクト検出のステップを実施するプロセッサ404とを含む。プロセッサ404は、特徴平面計算モジュール406、特徴ベクトル計算及び部分的分類モジュール408、並びに最終的分類モジュール410を含む。メモリ402は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、スタティックダイナミックRAM(SDRAM)、ダブルデータレート(DDR)RAM、及びDDR SDRAMなどの、任意の揮発性又は不揮発性メモリであり得る。同様に、プロセッサ404は、メモリ402に記憶された、ソフトウェア命令、プロトコル、又は論理命令の実行又はパフォーマンスを容易にするか又は可能にするための、様々な既知のデバイスを含み得る。例えば、プロセッサ404は、1つ又は複数の集積回路デバイス、中央処理ユニット(CPU)、又はマイクロプロセッサとして具現化され得る。また、プロセッサ404は、メモリデバイス(例えば、プロセッサキャッシュ)、時間保持デバイス(例えば、リアルタイムクロック(RTC))、及び/又は追加の回路要素又はデータ伝送チャネルを含み得る。プロセッサ404の1つの典型的な例には、エンベデッドビジョンエンジン(EVE)が含まれる。したがって、プロセッサ404内部のモジュール(モジュール406、408、及び410など)は、単一のエンティティ又は異なるエンティティ(ソフトウェア及びファームウェアを備えるか又は備えない集積回路など)の形態で具現化され得る。プロセッサ404はまた、道路上のオブジェクトの画像及び/又は映像の捕捉及び/又は後処理を支援するためのハードウェアシステムを含み得、又はその他の方式でそうしたハードウェアシステムと通信することも可能である。画像及び/又は映像は、プロセッサ404にアクセス可能なカメラなどの画像捕捉デバイスによって捕捉され得る。
【0033】
特徴平面計算モジュール406は、画像100(図1)などの入力画像を受信し、画像100の各画像ピクセルについて「h」個の特徴平面を計算する。典型的には、h=m+4であり、この式で、mはHOGビンの総数に等しい。例示的シナリオにおいて、HOGビンの数が6に等しい場合、特徴平面hの数は10に等しい。以下の説明では、特徴平面「h」の数は、特に指定のない限り、全体を通じて10であると見なされる。
【0034】
特徴平面計算モジュール406は、画像100の各画像ピクセルについて、10タイプの特徴平面の特徴セットFを計算する。i番目のピクセルの特徴セットFは、
={Y,U,V,M,Bi0,Bi1,Bi2,Bi3,Bi4,Bi5} (8)
によって表され、上式で、Y、U、Vは、i番目のピクセルの事前定義されたカラースキームを表すカラー特徴平面であり、Mは、i番目のピクセルの勾配の大きさを表す大きさ特徴平面であり、Bi0、Bi1、Bi2、Bi3、Bi4、Bi5は、それぞれ、Bin 0、Bin 1、Bin 2、Bin 3、Bin 4、及びBin 5におけるi番目のピクセルの勾配の大きさを表すHOG特徴平面である。例示的実施形態において、i番目のピクセルは、1つのビンにおいて非ゼロの勾配大きさ、及び他の5つのビンにおいてゼロ勾配を有する。
【0035】
例示的実施形態において、特徴平面計算モジュール406は、従来技法に基づき、i番目のピクセルについてY、U、V、Mの値を計算するか又はその他の方式でこれらの値にアクセスする。特徴平面計算モジュール406は、対応する水平及び垂直の勾配x及びyに基づいて推定される、i番目のピクセルの勾配の大きさ及び方向に基づいて、Bi0、Bi1、Bi2、Bi3、Bi4、Bi5の値を計算する。
【0036】
特徴平面計算モジュール406は、i番目のピクセルの勾配のHOGビンを計算するために、下記の表3において特定される、第1及び第2の閾値並びに比較条件を参照し、この表で、HOGビンの数は6に等しい。
【表3】
【0037】
特徴平面計算モジュール406は、i番目のピクセルの勾配のHOGビンを計算するために、下記の表4において特定される、第1及び第2の閾値並びに比較条件を参照し、この表で、HOGビンの数は8に等しい。
【表4】
【0038】
i番目のピクセルの水平及び垂直の勾配x及びyが、対応する比較条件を満たす場合、i番目のピクセルにビンが割り当てられる。表3及び表4に基づき、画像ピクセルについてのHOGビンの計算は、主にシフト及び比較を含む。これが可能であるのは、tanθmin及びtanθmaxの各々が有理数であるように、各HOGビンについてθmin及びθmaxが定義されるためである。
【0039】
i番目のピクセルの勾配についてHOGビンを計算した後、特徴平面計算モジュール406は、数式(6)に基づいて対応する勾配の大きさを計算する。その後、特徴平面計算モジュール406は、計算されたHOGビンに対応するHOG特徴平面に大きさ値を割り当て、残りのHOG特徴平面にゼロ値を割り当てる。例示的シナリオにおいて、特徴平面計算モジュール406がi番目の画像ピクセルについてBin 1における勾配大きさMを計算する場合、特徴セットFは、
={Y,U,V,M,0,M,0,0,0,0}
として表される。
【0040】
同様に、特徴計算モジュール406は、入力画像の各画像ピクセルについて特徴セットを計算し、同じものをメモリ402に記憶する。従来の(例示的実施形態に従わない)シナリオにおいて、特徴セットの数が画像ピクセルの数に等しい場合、特徴平面計算のうちで最も時間のかかる部分は、対応するHOGビンを決定するために勾配の方向θを計算していた。これに対して、例示的実施形態では、特徴計算モジュール406は、方向θの計算をバイパスし、画像ピクセルの水平勾配と垂直勾配との間の数学的関係に基づいて、画像ピクセルのHOGビンを決定する。この結果、特徴平面計算において約30~45%の性能向上が生じる。
【0041】
特徴平面計算モジュール406は更に、画像100において複数のセルを画定する。セルとは、(C,C)としてのサイズを有する画像100のユニットであり、ここで、Cはセル幅であり、Cはセル高さであり、(C×C)はセル内のピクセルの総数である。画像100における各セルの水平及び垂直方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの整数倍である。入力画像内のセルは、図5A及び図5B、並びに図6A図6B、及び図6Cを参照して更に示される。
【0042】
図5A及び図5Bは、例示的実施形態における、サイズ(6,6)の第1、第2、及び第3のセル502、504、506を含む、サイズ(64,128)の画像500を図示する。いくつかの例示的実施形態の説明を容易にするために、数個のセル502、504、506のみが示されている。セルは全画像500において画定される。第1のセル502は、x及びyの両方の方向に、0番目から6番目のピクセルまで延在する。第2のセル504は、x方向に4番目から10番目のピクセルまで、及びy方向に0番目から6番目のピクセルまで延在する。第3のセル506は、x方向に0番目から6番目のピクセルまで、及びy方向に4番目から10番目のピクセルまで延在する。
【0043】
一実施形態において、画像500における各セルのx及びy方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの倍数である。例えば、水平及び垂直のステップサイズが各々4ピクセルである場合、セルサイズにかかわらず、セルの開始位置は、x及びy方向に0,4,8,12,・・・ピクセルである。例示的シナリオにおいて、x方向に沿った第1及び第2のセル502及び504の開始位置は、それぞれ0番目及び4番目のピクセルである。また、y方向に沿った第1及び第3のセル502及び506は、それぞれ0番目及び4番目のピクセルである。水平及び垂直のセルサイズが、対応するステップサイズと異なる場合、隣接するセルのいくつかの画像ピクセルが互いに重なり合う。
【0044】
特徴平面計算モジュール406(図4)は、入力画像500の各セルについて、各タイプの特徴平面についての特徴平面和を計算する。或るセルについての特徴平面和が、同様のタイプのセルの画像ピクセルのそれらの特徴を総計することによって計算される。例示的シナリオにおいて、サイズ(6×6)の第1のセル502についての(タイプY特徴平面の)特徴平面和C(Y)が、第1のセル502の36のピクセルすべてのY特徴平面を総計することによって計算され、
によって表される。
【0045】
サイズ(6×6)の第1のセル502についての(タイプU平面の)特徴平面和C(U)が、第1のセル502の36のピクセルすべてのU特徴平面を総計することによって計算され、
によって表される。
【0046】
したがって、特徴平面計算モジュール406は、画像500のi番目のセルについて、10の特徴平面に対応する10の特徴平面和を計算する。i番目のセルについての特徴平面和のセットSは、
={C(Y),C(U),C(V),C(M),C(B),C(B),
(B),C(B),C(B),C(B)} (11)
によって表され、上式で、C(Y)、C(U)、及びC(V)は、i番目のセルについてのY、U、及びV特徴平面和であり、C(M)はi番目のセルについてのM特徴平面和であり、C(B)、C(B)、C(B)、C(B)、C(B)、及びC(B)は、i番目のセルについてのHOG特徴平面和である。
【0047】
図6A及び図6Bは、第1から第9のセル602~618を含む(64又は128などの)サイズの画像600を示し、セル602~618の各々のサイズは4×4(例えば、16ピクセル)である。例えば、セル602は、x及びyの両方の方向に0番目から4番目のピクセルまで延在し、セル604は、x方向に4番目から8番目のピクセルまで、及びy方向に0番目から4番目のピクセルまで延在し、セル606は、x方向に8番目から12番目のピクセルまで、及びy方向に0番目から4番目のピクセルまで延在する、という具合である。
【0048】
特徴平面計算モジュール406(図4)は、入力画像600の各セルについての各タイプの特徴平面和を計算する。例示的シナリオにおいて、サイズ(4×4)の第1のセル602についての(タイプV平面の)特徴平面和C(V)が、第1のセル602の16のピクセルすべてのV特徴平面を総計することによって計算され、
によって表される。
【0049】
サイズ(4×4)のセル602についての(タイプM特徴平面の)特徴平面和C(M)が、第1のセル604の16のピクセルすべてのM特徴平面を総計することによって計算され、
によって表される。
【0050】
数式(11)及び数式(12)と同様に、特徴平面計算モジュール406は、画像600の各セルについて、10の特徴平面に対応する10の特徴平面和を計算する。
【0051】
図6Cは、サイズ(8×8)のセル620及びセル622を表すサイズ(64,128)の画像600を示す。一実施形態において、サイズ(8×8)のセル620は、図6A及び図6Bを参照して説明したようなサイズ(4×4)のセル602、604、608、及び610を組み合わせることによって形成される。或る例において、特徴平面計算モジュール406は、セル602、604、608、及び610のY特徴平面和を総計することによって、サイズ(8×8)のセル620についての(タイプY平面の)特徴平面和C(Y)を計算する。サイズ(8×8)のセル620についての(タイプY平面の)特徴平面和C(Y)は、
(Y)=C11(Y)+C21(Y)+C41(Y)+C51(Y) (14)
によって表され、上式で、C11(Y)=セル602のY特徴平面和であり、C21(Y)=セル604のY特徴平面和であり、C41(Y)=セル608のY特徴平面和であり、C51(Y)=セル610のY特徴平面和である。
【0052】
同様に、サイズ(8×8)のセル622は、サイズ(4×4)のセル608、610、614、及び616を組み合わせることによって形成される。或る実施形態において、特徴平面計算モジュール406は、サイズ(4×4)のセル608、610、614、及び616のY特徴平面和を総計することによって、サイズ(8×8)のセル622についての(タイプY平面の)特徴平面和C(Y)を計算する。結果として、特徴平面計算モジュール406は、第11のセル622についてのY特徴平面和を計算する際に、セル608及び610のY特徴平面和を再使用する。同様に、(U平面、V平面、及び6つのHOG平面などの)他の平面についての和も計算される。
【0053】
図7は、入力画像704におけるオブジェクト検出のために用いられる、検出ウィンドウ700及び702の例を図示する。入力画像704はフレームサイズ(F,F)を有し、ここで、Fはフレーム幅であり、Fはフレーム高さであり、F×Fは入力画像704における画像ピクセルの総数である。一実施形態において、検出ウィンドウ700及び702の各々は、サイズ(SW,SW)を有する入力画像704の画像部分であり、ここで、SWはウィンドウ幅であり、SWはウィンドウ高さであり、SW×SWは、検出ウィンドウ(700、702)における画像ピクセルの総数である。検出ウィンドウ(700、702)のステップサイズはS×Sとして参照され、ここで、Sは、x方向に沿った1動作において検出ウィンドウ(700、702)によってトラバースされるピクセルの数であり、Sは、y方向に沿った1動作において検出ウィンドウ(700、702)によってトラバースされるピクセルの数である。
【0054】
モジュール408(図4)は、第1の検出ウィンドウ700を選択し、その中の第1の部分的特徴ベクトルを計算するために或るタイプの特徴平面を選択する。第1の部分的特徴ベクトルは、第1の検出ウィンドウ700の各セルに対応する、選択されたタイプの特徴平面和のセットである。或る例において、モジュール408がY特徴平面を選択する場合、第1の部分的特徴ベクトルは、第1の検出ウィンドウ700内で画定されるセルのY特徴平面和を含むセットである。第1の検出ウィンドウ700(第1から第nのセルを含む)のY特徴平面についての第1の部分的特徴ベクトルP11(Y)は、
11(Y)={C(Y),C(Y),C(Y),・・・,C(Y)} (15)
によって表され、上式で、C(Y)=第1の検出ウィンドウ700の第1のセルのY特徴平面和であり、C(Y)=第1の検出ウィンドウ700の第2のセルのY特徴平面和であり、C(Y)=第1の検出ウィンドウ700の第nのセルのY特徴平面和である。
【0055】
例示的シナリオにおいて、第1の検出ウィンドウ700のサイズが(64×128)であり、セルサイズが(8×8)である場合、第1の検出ウィンドウにおけるセルの数は(64/8)×(128/8)=128に等しい。したがって、部分的特徴ベクトルにおける要素の数は、セルの総数、即ち128、に等しく、部分的特徴ベクトルの数は10に等しい。また、完全な特徴ベクトルは、第1の検出ウィンドウ700の各セルについて各タイプの特徴平面和を含む。特徴平面和タイプの数が10である場合、完全な特徴ベクトル
は128×10=1280の要素を含む。
【0056】
モジュール408は、第1の検出ウィンドウ700におけるオブジェクトのYデータの存在を検出するために、第1の部分的特徴ベクトルをオブジェクトの対応する部分的分類子と比較し、第1の部分的特徴ベクトルを記憶する代わりに、比較の結果をメモリ402に記憶する。その後、モジュール408は、第1の検出ウィンドウ700についての第2の部分的特徴ベクトルを計算するために、U特徴平面などの次のタイプの特徴平面を選択する。その後、第1の検出ウィンドウ700においてオブジェクトのUデータが検出されるかどうかを検出するために、第2の部分的特徴ベクトルをオブジェクトの対応する部分的分類子と比較し、比較の結果をメモリ402に記憶する。例示的シナリオにおいて、部分的オブジェクト分類子はADABOOST分類子である。
【0057】
同様に、モジュール408は、次の特徴平面について部分的特徴ベクトルを計算するステップと、比較の結果をメモリ402に記憶するために、対応する部分的分類子と比較するステップとを、反復的に実施する。結果として、モジュール408は、10の部分的特徴ベクトルを反復的に計算し、比較結果をメモリ402に記憶するために、対応する部分的オブジェクト分類子との10回の比較を行なう。
【0058】
モジュール408は、第1の検出ウィンドウ700のセルの特徴平面和を記憶する代わりに、比較結果のみをメモリ402に記憶するため、メモリ帯域幅(ダブルデータレート(DDR)メモリ帯域幅など)が大幅に節約される。モジュール408は、第1の検出ウィンドウ700についての完全な特徴ベクトルの計算(1280の要素を共に計算することが必要となる)をバイパスし、一度に1つの部分的特徴ベクトルのみを計算する(128の要素を共に計算することが必要となる)ため、DDR帯域幅が大幅に節約される。
【0059】
最終的分類モジュール410は、モジュール408によって生成される比較結果を照合し、それに応じて、第1の検出ウィンドウ700にオブジェクトが存在するかどうかを最終的に決定する。一実施形態において、モジュール408は、対応する部分的オブジェクト分類子との比較に基づいて、各部分的特徴ベクトルに対応するスコアを計算し、したがって、各特徴平面タイプに対応する10の部分的スコアの総計を生成する。最終的分類モジュール410は、この10の部分的スコアを加算して、第1の検出ウィンドウ700にオブジェクトが存在するかどうかを示すための最終的スコアを生成する。
【0060】
その後、モジュール408は、第2の検出ウィンドウ702(図7)を選択し、対応する部分的特徴ベクトル及び部分的スコアを計算する。その後、最終的分類モジュール410は、部分的スコアを照合して、第2の検出ウィンドウ702におけるオブジェクトの存在を検出する。モジュール408は部分的スコアを計算し、最終的分類モジュール410は、画像704の残りの検出ウィンドウの各々について部分的スコアを逐次的に照合し、それによって、画像704における対応するオブジェクトの存在を検出する。いくつかの例示的実施形態において、1280の要素のすべてを単一サイクルで計算することも可能であり、その後、これらの要素は、検出ウィンドウ(画像部分)におけるオブジェクトの存在を検出するために、分類子と比較され得る。
【0061】
図8は、或る実施形態において、画像におけるオブジェクトを検出する方法のフローチャートである。或る実施形態において、方法800の動作は、プロセッサ400(図4)などのプロセッサによって行われる。
【0062】
ブロック802で、この方法は、例示的画像100(図1)などの、画像(入力画像)の各画像ピクセルについて1つ又は複数のタイプの1つ又は複数の特徴平面を計算することを含む。少なくとも1つの例において、各画像ピクセルについて10タイプの特徴平面が計算され、10タイプの特徴平面は、Y、U、V特徴平面、M特徴平面、及び6つのHOG特徴平面を含む。或る画像ピクセルについての6つのHOG特徴平面は、画像ピクセルの水平及び垂直の勾配に基づいて計算される。
【0063】
ブロック804で、この方法は、画像100における複数のセルを画定することを含み、各セルは第1から9番目のピクセルを含む。画像100における各セルの水平及び垂直方向の開始位置は、それぞれ事前に定義された水平及び垂直のステップサイズの整数倍である。例えば、水平及び垂直のステップサイズが各々4ピクセルである場合、セルサイズにかかわらず、セルの開始位置は、x及びy方向に0,4,8,12,・・・ピクセルである。
【0064】
ブロック806で、この方法は、セルの各々についての1つ又は複数のタイプの1つ又は複数の特徴平面和を計算することを含む。或るセルについての或るタイプの特徴平面和が、そのセルの1番目からn番目までのピクセルの対応する特徴平面を総計することによって計算される。例示的シナリオにおいて、第1のセル502(図5)などの、サイズ(6×6)のセルについての(タイプY特徴平面の)特徴平面和C1(Y)が、第1のセル502の36のピクセルすべてのY特徴平面を総計することによって計算される。
【0065】
ブロック808で、この方法は、画像704(図7)の第1の検出ウィンドウ700などの画像部分について特徴ベクトルを決定することを含む。画像部分の特徴ベクトルは、画像部分において画定されるセルの特徴平面和のセットを含む。一実施形態において、特徴ベクトルは、画像部分において画定されるセルについて、1タイプのみの特徴平面和のセットを含む、部分的特徴ベクトルである。
【0066】
ブロック810で、この方法は、画像の画像部分における対応するオブジェクトの存在を検出するために、特徴ベクトルを対応するオブジェクト分類子と比較することを含む。一実施形態において、特徴ベクトルは、部分的特徴ベクトルであり、画像部分における対応するオブジェクトの存在を検出するために、対応する部分的オブジェクト分類子と比較される。オブジェクトの存在は、画像全体におけるオブジェクトの存在を決定するために、(図7を参照して説明する様々な検出ウィンドウにおけるなど)様々な画像部分において検出される。
【0067】
部分的特徴ベクトルの一実施形態において、部分的特徴ベクトルは各タイプの特徴平面について反復的に決定され、各タイプの部分的特徴ベクトルは、各タイプの対応する部分的分類器と比較される。また、各タイプについての比較の結果はメモリに記憶される。また、各タイプの特徴平面に対応する1つ又は複数の比較結果が照合され、オブジェクトの存在は、照合された結果に基づいて画像において検出される。
【0068】
例示的実施形態の1つ又は複数の利点が、入力画像におけるオブジェクトを検出することを含む。様々な実施形態のオブジェクト検出システムにおいて、画像ピクセル勾配のHOGビンが、勾配の方向を計算せずに、画像ピクセルの水平勾配と垂直勾配との間の数学的関係に基づいて決定され、それにより、特徴平面計算において約30~45%の性能向上が生じる。また、完全な特徴ベクトル計算に代わる部分的特徴ベクトル計算は、メモリ帯域幅の約95%を大幅に節約する。オブジェクト検出システムの計算の複雑さ及びフットプリントは、従来の設計に比べて著しく低減される。また、オブジェクト検出システムは、任意のセルサイズ、検出ウィンドウサイズ、ステップサイズ、特徴平面の数、特徴ベクトルの数、及び分類子のタイプに適合可能である。
【0069】
本明細書全体を通じた、特徴、利点、又は同様の言い回しへの言及は、特徴及び利点のすべてが、すべての実施形態にあるべきである(又はある)ことを示唆するものではない。したがって、本明細書全体を通じた、特徴及び利点の考察及び同様の表現は、必ずしも同じ実施形態に言及するものではない。
【0070】
特許請求の範囲内で、説明する実施形態における改変が可能であり、他の実施形態が可能である。例えば、前述のような様々な実施形態は、異なる順のステップ及び/又は動作を用いて、並びに/或いは異なる構成におけるハードウェア要素を用いて、実施される。
図1
図2
図3A
図3B
図4
図5A
図5B
図6A
図6B
図6C
図7
図8