[0001] 本願は、2019年7月30日付で中国特許庁に出願された「歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップ」と題する中国特許出願第201910697411.3号に対する優先権を主張しており、同出願は参照により全体が本件に援用される。
技術分野
[0002] 本願は、人工知能分野におけるコンピュータ・ビジョンの分野に関連し、より具体的には、歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップに関連する。
[0003] 様々な応用分野、例えば製造、検査、文書分析、医学的診断、及び軍事のような分野における様々なインテリジェント/自律システムの不可分な部分として、コンピュータ・ビジョンは、カメラ/ビデオ・カメラ及びコンピュータを使用して、撮影された対象に関する情報及び必要なデータを得る方法についての学習である。明確に、コンピュータは、目(カメラ/ビデオ・カメラ)と脳(アルゴリズム)を備え、人間の目の代わりに、ターゲットを認識し、追跡し、測定し、その結果、コンピュータは環境を感知することができる。“感知(sense)”は、感覚信号から情報を取り出すように考えられることができるので、コンピュータ・ビジョンは、人工システムに画像又は多次元データを“感知”させる方法を研究する科学として考えることもできる。一般に、コンピュータ・ビジョンは、視覚器官の代わりに種々の画像システムによって入力情報を取得しており、次いで、脳の代わりにコンピュータによって入力情報を処理して解釈している。コンピュータ・ビジョンの究極の研究目標は、コンピュータが、人間のように世界を観察して理解し、環境に適応できるようにすることである。
[0004] コンピュータ・ビジョン分野において、歩行者検知は非常に重要な研究動向である。歩行者検出は、多くの分野及びシナリオにおいて重要な用途を有する。例えば、高度運転支援システム(advanced driving assistant system, ADAS)や自動運転システム(autonomous driving system, ADS)では、道路上の歩行者のような動的障害物が検出され、回避される。セーフ・シティやビデオ監視では、犯罪の容疑者を発見したり行方不明者を追跡したりするために、歩行者が検知される。スマート・ホーム・システムでは、ロボットが動いて障害物を回避するために、歩行者が検出される。
[0005] 従来の解決策では、歩行者検知の際に、歩行者が遮られている場合の検出効果は貧弱であり、これは遮られた歩行者の検出ミス及び誤検知に主に反映される。
[0006] 本願は、歩行者(特に、遮られた歩行者)検出の精度を改善する、歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップを提供する。
[0007] 第1態様によれば、歩行者検出方法が提供される。方法は:画像を取得するステップ;画像に関して特徴抽出を実行して画像の基本特徴マップを取得するステップ;基本特徴マップに基づいて、画像中に歩行者を含む可能性があるプロポーザルを決定するステップ;画像のオブジェクト視認マップを取得するために、画像の基本特徴マップを処理するステップ;画像の基本特徴マップと画像のオブジェクト視認マップに融合処理を実行して、画像の改善された特徴マップを取得するステップ;画像のプロポーザルと画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定するステップ;及びプロポーザルに対応する特徴に基づいて、画像中に歩行者を含む境界ボックス(bounding box)と、画像中に歩行者を含む境界ボックスの信頼度とを決定するステップを含む。
[0008] 画像は歩行者を含む画像であってもよい。
[0009] オプションとして、画像を取得することは、画像を取得するためにカメラを使用することによって写真撮影を行うことを含む。
[0010] 例えば、携帯電話の場合に、画像は撮影することによって取得されてもよい。
[0011] オプションとして、画像を取得することは、メモリから画像を取得することを含む。
[0012] 例えば、携帯電話の場合に、画像はアルバムから選択されてもよい。
[0013] 画像の基本特徴マップが取得された場合に、基本特徴マップは、具体的には、画像に関して畳み込み演算(convolution processing)を行うか、又は画像に関する畳み込み演算の結果に関して更なる処理(例えば、総和処理、重み付け処理、連結処理のような演算)を行うことによって取得されてもよい。
[0014] プロポーザルは、画像中に歩行者を含む可能性がある領域の境界ボックスである。プロポーザルが位置付けられる領域は、プロポーザルによって境界を形成した領域(プロポーザル内側の領域)であってもよい。プロポーザルが位置する領域は、画像内に歩行者を含む可能性のある領域である。
[0015] 画像のオブジェクト視認マップは、異なるオブジェクトに対して異なるレスポンス度合いを有する。画像のオブジェクト視認マップにおいて、歩行者視認部分に対するレスポンス度合いは、歩行者非認識部分に対するレスポンス度合いより大きい。換言すると、画像のオブジェクト視認マップにおいて、歩行者視認部分の特徴は、歩行者非視認部分の特徴に対して強調される。具体的には、画像のオブジェクト視認マップにおいて、歩行者視認部分の画素値は、歩行者非視認部分の画素値より大きい。
[0016] 画像のオブジェクト視認マップを用いて、歩行者視認部分の特徴を強調することができる。
[0017] また、画像のオブジェクト視認マップにおいて、歩行者視認部分は、歩行者の画像を見ることができる部分であり、歩行者非視認部分は歩行者画像を見ることができない部分である。
[0018] プロポーザルに対応する特徴は、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された特徴マップにある領域であって、プロポーザル内に位置する領域の特徴である。具体的には、プロポーザルの領域特徴は、改善された特徴マップ内にある特徴であって、プロポーザルによって境界を形成する領域に位置する特徴であってもよい。
[0019] プロポーザルの領域特徴は、改善された特徴マップにある領域内であって、プロポーザルに対応する領域内の特徴であってもよい。プロポーザルの領域特徴が決定されると、先ず、改善された特徴マップ内のプロポーザルの位置が決定され、次いで、改善された特徴マップ内であって、プロポーザルによって境界が形成される領域内の特徴が、プロポーザルの領域特徴として決定されてもよい。
[0020] 更に、プロポーザルの領域特徴を得るために、サンプリング処理(具体的には、アップサンプリング又はダウンサンプリングである可能性がある)が、改善された特徴マップ内の領域であって、プロポーザルによって境界が形成される領域の特徴に対して更に実行されてもよい。
[0021] 画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度は、画像に関して実行された歩行者検出の検出結果であってもよく、画像の歩行者検出結果と言及されてもよい。
[0022] 本願では、画像のオブジェクト視認マップは歩行者視認部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることにより得られる改善された特徴マップは、歩行者視認部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に実行される歩行者検出の精度を向上させる。更に、歩行者が(比較的深刻に)遮られている場合、本願における歩行者検出の精度は、比較的顕著に改善される。
[0023] 更に、本願では、オブジェクト視認マップを使用することにより、歩行者検出の精度が改善される場合、訓練データのマーキング量は、訓練プロセスにおいて増加しない。本願では、処理プロセスにおいてオブジェクト視認マップを生成し、その後の処理においてオブジェクト視認マップを総合的に考慮する必要があるだけである。データ・マーキング量を増加させることによって、歩行者検出の精度が改善される解決策と比較して、本願は、データ・マーキング量を低減し、訓練の複雑性を低減することができる。
[0024] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、歩行者遮断部分を含む。
[0025] 歩行者非視認部分が歩行者遮蔽部分を含む場合、歩行者視認部分と歩行者遮蔽部分は、オブジェクト視認マップ内で区別することができる。また、歩行者視認部分の画素値は、歩行者遮断部分の画素値より大きいので、オブジェクトの視認性において、歩行者視認部分の特徴は強調されることが可能であり、歩行者遮断部分の特徴は弱められることが可能であり、以後の歩行者検知プロセスにおける検出結果への歩行者遮蔽部分の影響を軽減し、その結果、以後の歩行者検出中に、歩行者視認部分の特徴が強調され、それにより歩行者検出の効果を改善することができる。
[0026] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、画像の背景部分を含む。
[0027] 画像の背景部分は、画像内の歩行者以外の他の部分であってもよいし、或いは画像の背景部分は、画像中の歩行者や主要な物体(例えば、車両)以外の他の部分であってもよい。
[0028] 歩行者非視認部分が画像の背景部分を含む場合、歩行者と背景部分は、オブジェクト視認マップ内で区別され、歩行者視認部分の特徴を強調し、背景部分の特徴を弱め、以後の歩行者検出プロセスにおける検出結果に対する背景部分の影響を軽減し、その結果、以後の歩行者検出中に、歩行者視認部分の特徴が強調され、それにより歩行者検出の効果を改善することができる。
[0029] 第1態様に関し、第1態様のある実装において、画像のオブジェクト視認マップを取得するために、画像の基本特徴マップを処理するステップは:第1畳み込みネットワークを利用することにより、画像の基本特徴マップに関して畳み込み処理を実行して、複数の第1セマンティック特徴マップを取得するステップ;複数の第1セマンティック特徴マップに関して重み付け加算処理を実行して、画像のオブジェクト視認マップを取得するステップを含み;プロポーザルに対応する特徴に基づいて、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む前記境界ボックスの信頼度とを決定するステップは:第2畳み込みネットワークを利用することにより、プロポーザルに対応する特徴に関して畳み込み処理を実行して、複数の第2セマンティック特徴マップを取得するステップ;回帰装置を使用することにより、複数の第2セマンティック特徴を処理して、境界ボックスの位置を決定するステップ;及び分類器を使用することにより、複数の第2セマンティック特徴を処理して、画像中に歩行者を含む境界ボックスの信頼度を取得するステップを含む。
[0030] 複数の第1セマンティック特徴マップは、異なる意味論的意味を有する複数の特徴マップであって、基本特徴マップの完全マップから抽出されるものである。具体的には、複数の第1セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0031] 複数の第2セマンティック特徴マップはそれぞれ、異なる意味論的意味を有する複数の特徴マップであって、プロポーザルに対応する特徴から抽出されるものを表現する。第2畳み込みネットワークの畳み込みパラメータは、第1畳み込みネットワークの畳み込みパラメータと同じである。具体的には、複数の第2セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0032] 第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータが同じであるということは、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みカーネル・パラメータが同じであることを意味してもよい。更に、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータが同じであるということは、代替的に、第1畳み込みネットワークと第2畳み込みネットワークのネットワーク・アーキテクチャと畳み込みカーネル・パラメータが、完全に同一であることを意味してもよく、第1畳み込みネットワークと第2畳み込みネットワークが、同じ画像に関して特徴抽出を実行するために使用される場合、画像の同じセマンティック特徴を抽出することができる。
[0033] 重み付け加算処理が複数の第1セマンティック特徴に対して実行される場合に使用される重み係数は、分類器における重み係数であって、歩行者スコアを決定するために使用される重み係数である。
[0034] 本願では、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータは同じであり、重み付け加算処理が複数の第1セマンティック特徴に関して実行される場合に使用される重み係数は、分類器における重み係数であって、歩行者スコアを決定するために使用される重み係数であるので、歩行者視認部分を強調することができるオブジェクト視認マップを、複数の第1セマンティック特徴を処理することによって取得することができ、その結果、歩行者検出は、以後、オブジェクト視認マップに基づいて、より正確に実行されることが可能である。
[0035] 第1態様に関し、第1態様のある実装において、プロポーザルに対応する特徴は、プロポーザルの輪郭領域の領域特徴を更に含み、プロポーザルの輪郭領域は、プロポーザルと、予め設定された第1比率によりプロポーザルが縮小された後に取得される縮小プロポーザルとの間に形成される領域である。
[0036] プロポーザルが予め設定された第1比率で縮小されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で縮小されることを意味してもよく、プロポーザルの幅と高さが縮小される割合は同じであってもよいし、或いは異なっていてもよい。
[0037] オプションとして、プロポーザルが予め設定された第1比率で縮小されることは、以下を含む:プロポーザルの幅が第1縮小比率で縮小され、プロポーザルの高さが第2縮小比率で縮小される。
[0038] 予め設定された第1比率は、第1縮小比率と第2縮小比率を含み、第1縮小比率と第2縮小比率は同じであってもよいし、或いは異なっていてもよい。
[0039] 第1縮小比率と第2縮小比率は、経験に基づいて設定されてもよい。例えば、1縮小比率と第2縮小比率について、適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴を、プロポーザルのものである輪郭領域から良好に抽出することが可能であり、その輪郭領域は、プロポーザルの幅と高さが第1縮小比率及び第2縮小比率で縮尺された後に得られるものである。
[0040] 第1縮小比率と第2縮小比率は、歩行者輪郭をより良く抽出するために使用できる値に設定することができる。
[0041] 第1縮小比率は1/1.1であってもよく、第2縮小比率1/1.8であってもよい。
[0042] プロポーザルの輪郭領域の領域特徴は、一般に、歩行者の輪郭特徴を含み、歩行者の輪郭特徴は、歩行者検出において非常に重要な役割を果たす。
[0043] 本願では、プロポーザルに対応する特徴がプロポーザルの輪郭領域の領域特徴を更に含む場合に、歩行者の輪郭特徴も、歩行者検出中に考慮することができ、その結果、以後、歩行者の輪郭特徴と組み合わせて歩行者検出をより良好に行うことができる。
[0044] 第1態様に関し、第1態様のある実装において、方法は:プロポーザルの領域特徴の特徴であって縮小プロポーザル内に位置する特徴の値をゼロに設定して、プロポーザルの輪郭領域の領域特徴を取得するステップを更に含む。
[0045] 本願では、プロポーザルの輪郭領域の領域特徴が得られた場合、プロポーザルの領域特徴の特徴であって縮小プロポーザルに位置する特徴の値が、直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を迅速かつ好都合に取得することができる。
[0046] 本願において、プロポーザルの輪郭領域の領域特徴は、代替的に、別の方法で取得されてもよいことが理解されるべきである。例えば、プロポーザルの輪郭領域の領域特徴は、プロポーザルの輪郭領域の領域位置に基づくスキャニングによって、改善された特徴マップから直接的に取得されてもよい。
[0047] 第1態様に関し、第1態様のある実装において、プロポーザルに対応する特徴は、プロポーザルの背景領域の領域特徴を更に含み、プロポーザルの背景領域は、プロポーザルと、予め設定された第2比率によりプロポーザルが拡大された後に取得される拡大プロポーザルとの間に形成される領域である。
[0048] プロポーザルが予め設定された第2比率で拡大されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で拡大されることを意味してもよく、プロポーザルの幅と高さが拡大される割合は同じであってもよいし、或いは異なっていてもよい。
[0049] オプションとして、プロポーザルが予め設定された第2比率で拡大されることは、以下を含む:プロポーザルの幅が第1拡大比率で拡大され、プロポーザルの高さが第2拡大比率で拡大される。
[0050] 予め設定された第2比率は、第1拡大比率と第2拡大比率を含み、第1拡大比率と第2拡大比率は同じであってもよいし、或いは異なっていてもよい。
[0051] 第1拡大比率と第2拡大比率は、経験に基づいて設定されてもよい。例えば、1拡大比率と第2拡大比率について、適切な値を設定することが可能であり、その結果、歩行者周辺の背景特徴を、プロポーザルのものである背景領域から良好に抽出することが可能であり、その背景領域は、プロポーザルの幅と高さが第1拡大比率及び第2拡大比率で拡大された後に得られるものである。
[0052] 第1拡大比率は1.1であってもよく、第2拡大比率1.8であってもよい。
[0053] プロポーザルの背景領域の領域特徴は、一般に、画像中の歩行者が位置する背景領域の特徴を反映する。歩行者検出は、背景領域の特徴と歩行者の特徴に基づいて実行されてもよい。
[0054] 本願では、プロポーザルに対応する特徴がプロポーザルの背景領域の領域特徴を更に含む場合に、背景領域の輪郭特徴も、歩行者検出中に考慮することができ、その結果、以後、背景領域の領域特徴と組み合わせて歩行者検出をより良好に行うことができる。
[0055] 第1態様に関し、第1態様のある実装において、方法は:第1領域の領域特徴を取得するステップであって、第1領域の領域特徴は、オブジェクト視認マップ内の領域内であって拡大プロポーザル内に位置する領域内の領域特徴である、ステップ;及び第1領域の領域特徴の特徴であってプロポーザル内に位置する特徴をゼロに設定して、プロポーザルの背景領域の領域特徴を取得するステップを更に含む。
[0056] 本願では、プロポーザルの背景領域の領域特徴が得られた場合に、改善された特徴マップ内の領域特徴であって、プロポーザルの背景領域に対応する領域特徴が取得され、その領域特徴の特徴であってプロポーザルに位置する特徴は、直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を、迅速かつ好都合に取得することができる。
[0057] オプションとして、方法はニューラル・ネットワーク(モデル)によって実行される。
[0058] 具体的には、方法において、画像が取得された後に、画像がニューラル・ネットワーク(モデル)を用いて処理されてもよい。最後に、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とが、プロポーザルに対応する特徴に基づいて決定される。
[0059] 第2態様によれば、ニューラル・ネットワーク・トレーニング方法が提供される。方法は:訓練データを取得するステップであって、訓練データは、訓練画像と、訓練画像の歩行者マーキング結果とを含む、ステップ;ニューラル・ネットワークに基づいて、訓練画像に関して後処理を実行するステップ;訓練画像の基本特徴マップを取得するために、訓練画像に関して畳み込み処理を実行するステップ;基本特徴マップに基づいて、訓練画像中におそらく歩行者を含むプロポーザルを決定するステップ;訓練画像のオブジェクト視認マップを取得するために、訓練画像の基本特徴マップを処理するステップ;訓練画像の基本特徴マップと訓練画像のオブジェクト視認マップに関して融合処理を実行して、訓練画像の改善された特徴マップを取得するステップ;訓練画像のプロポーザルと、訓練画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定するステップ;プロポーザルに対応する特徴に基づいて、訓練画像の歩行者検出結果を決定するステップ;訓練画像の歩行者検出結果と訓練画像の歩行者マーキング結果とに基づいて、ニューラル・ネットワークの損失値を決定するステップ;及び逆伝搬を通じて損失値に基づいてニューラル・ネットワークを調整するステップを含む。
[0060] プロポーザルは、訓練画像中に歩行者を含む可能性のある領域の境界ボックスである。プロポーザルが位置づけられる領域は、プロポーザルによって境界が形成される領域(プロポーザル内側の領域)とすることができる。プロポーザルが位置付けられる領域は、訓練画像中に歩行者を含む可能性のある領域である。
[0061] また、訓練画像のオブジェクト視認マップにおいて、歩行者視認部分は、歩行者の画像を見ることができる部分であり、歩行者非視認部分は歩行者画像を見ることができない部分である。
[0062] プロポーザルに対応する特徴は、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された特徴マップにある領域であって、プロポーザル内に位置する領域の特徴である。
[0063] 訓練画像の歩行者検出結果は、訓練画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度とを含んでもよい。
[0064] 訓練画像の歩行者検出マーキング結果は、訓練画像内に歩行者を含む境界ボックスを含む。
[0065] 訓練画像の歩行者検出マーキング結果は、事前にマーキングすることができる(具体的には、マニュアルでマーキングすることができる)。
[0066] 更に、前述の訓練プロセスでは、一般的には複数の訓練画像が使用される。
[0067] ニューラル・ネットワークを訓練するプロセスでは、モデル・パラメータの初期セットを、ニューラル・ネットワークに対して設定することが可能であり、次いで、訓練画像の歩行者検出マーキング結果と訓練画像の歩行者検出結果との間の差分に基づいて、ニューラル・ネットワークのモデル・パラメータが徐々に調整されることを、訓練画像の歩行者検出結果と訓練画像の歩行者検出マーキング結果との間の差分が、予め設定された範囲内に収まるか、又は訓練の回数が予め設定された回数に達するまで行い、この場合のニューラル・ネットワークのモデル・パラメータが、ニューラル・ネットワーク・モデルの最終パラメータとして決定される。このようにして、ニューラル・ネットワークの訓練が完了する。
[0068] 第2態様の方法を使用することによって訓練を通じて取得されたニューラル・ネットワークは、本願の第1態様の方法を実行するために使用することができる、ということが理解されるべきである。
[0069] 本願では、本願の実施形態における歩行者検出方法が記載又は説明される場合に現れる、基本特徴マップ、プロポーザル、オブジェクト視認マップ、改善された特徴マップ、画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼度は、取得された画像に関連して説明されるが、本願の実施形態におけるニューラル・ネットワーク訓練方法では、基本特徴マップ、プロポーザル、オブジェクト視認マップ、改善された特徴マップ、画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼度は、訓練画像に関連して説明されることが、理解されるべきである。
[0070] 第3態様によれば、歩行者検出装置が提供される。歩行者検出装置は、第1態様における方法を実行するように構成されたモジュールを含む。
[0071] 第4態様によれば、ニューラル・ネットワーク訓練装置が提供される。装置は、第2態様における方法を実行するように構成されたモジュールを含む。
[0072] 第5態様によれば、歩行者検出装置が提供される。装置は、プログラムを記憶するように構成されたメモリと、メモリに記憶されたプログラムを実行するように構成されたプロセッサとを含む。メモリに記憶されたプログラムが実行されると、プロセッサは、第1態様における方法を実行するように構成されている。
[0073] 第6態様によれば、ニューラル・ネットワーク訓練装置が提供される。装置は、プログラムを記憶するように構成されたメモリと、メモリに記憶されたプログラムを実行するように構成されたプロセッサとを含む。メモリに記憶されたプログラムが実行されると、プロセッサは、第2態様における方法を実行するように構成されている。
[0074] 第7態様によれば、電子デバイスが提供される。電子デバイスは、第3態様又は第5態様における歩行者検出装置を含む。
[0075] 第8態様によれば、電子デバイスが提供される。電子デバイスは、第4態様又は第6態様におけるニューラル・ネットワーク訓練装置を含む。
[0076] 電子デバイスは、具体的には、移動端末(例えば、スマートフォン)、タブレット・コンピュータ、ノートブック・コンピュータ、拡張現実/仮想現実デバイス、車載端末デバイスなどであってもよい。
[0077] 第9態様によれば、コンピュータ読み取り可能な記憶媒体が提供される。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、プログラム・コードは、第1態様又は第2態様における方法のステップを実行するために使用される命令を含む。
[0078] 第10態様によれば、命令を含むコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品がコンピュータ上で実行される場合に、コンピュータは、第1態様又は第2態様における方法を実行することを可能にする。
[0079] 第11態様によれば、チップが提供される。チップは、プロセッサ及びデータ・インターフェースを含み、プロセッサは、データ・インターフェースを介して、メモリに記憶された命令を読み込み、第1態様又は第2態様における方法を実行する。
[0080] オプションとして、実装において、チップはメモリを更に含んでもよく、メモリは命令を記憶し、プロセッサは、メモリに記憶された命令を実行するように構成され、命令が実行されると、プロセッサは、第1態様における方法を実行するように構成されている。
[0081] チップは、具体的には、フィールド・プログラマブル・ゲート・アレイFPGA又は特定用途向け集積回路ASICであってもよい。
[0082]
本願において、第1態様における方法は、具体的には、第1態様又は第1態様の実装のうちの任意の1つにおける方法であってもよいことが理解されるべきである。第2態様における方法は、具体的には、第2態様又は第2態様の実装のうちの任意の1つにおける方法であってもよい。
[0083]
本願の実施形態によるドライバー支援/自動運転システムにおける歩行者検出プロセスの概略図である。 [0084]
本願の実施形態によるセーフ・シティ/ビデオ監視システムにおける歩行者検出プロセスの概略図である。 [0085]
本願の実施形態によるシステム・アーキテクチャの概略構造図である。 [0086]
本願の実施形態による畳み込みニューラル・ネットワーク・モデルを使用することにより実行される歩行者検出の概略図である。 [0087]
本願の実施形態によるチップのハードウェア構造の概略図である。 [0088]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0089]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0090]
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。 [0091]
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。 [0092]
本願の一実施形態による歩行者検出方法の概略フローチャートである。 [0093]
基本特徴マップを得るために画像に畳み込み処理を行う概略図である。 [0094]
画像の基本特徴マップを生成するプロセスの概略図である。 [0095]
RPNモジュールが画像のプロポーザルを決定するプロセスの概略図である。 [0096]
オブジェクト視認マップの概略図である。 [0097]
オブジェクト視認マップの概略図である。 [0098]
本願の実施形態による歩行者検出方法の概略フローチャートである。 [0099]
自己活性化モジュールが基本特徴マップに基づいてオブジェクト視認マップを取得するプロセスの概略図である。 [0100]
オブジェクト視認マップ及び基本特徴マップに対して重み付け加算を実行するプロセスの概略図である。 [0101]
プロポーザルと改善された特徴マップとに基づいて歩行者検出結果を得るプロセスの概略図である。 [0102]
オブジェクト視認マップ、プロポーザル、及び改善された特徴マップに基づいて歩行者検出結果を取得するプロセスの概略図である。 [0103]
プロポーザルの輪郭領域を決定する概略図である。 [0104]
プロポーザルの背景領域を決定する概略図である。 [0105]
オブジェクト視認マップ、プロポーザル、及び改善された特徴マップに基づいて歩行者検出結果を取得するプロセスの概略図である。 [0106]
RCNNモジュールがプロポーザルに対応する特徴を処理する概略図である。 [0107]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0108]
本願の実施形態による歩行者検出装置のハードウェア構造の概略図である。 [0109]
本願の実施形態によるニューラル・ネットワーク訓練装置のハードウェア構造の概略図である。
[0110] 本願の解決策は、ドライバー支援、自動運転、セーフ・シティ、及びインテリジェント端末のような、歩行者認識(歩行者検出と言及されてもよい)を必要とする分野に適用される可能性がある。以下、2つの一般的なアプリケーション・シナリオを簡単に説明する。
[0111] アプリケーション・シナリオ1:ドライバー支援/自動運転システム
[0112] 高度ドライバー支援システム(advanced driving assistant system, ADAS)及び自動運転システム(autonomous driving system, ADS)では、道路上の歩行者のような動的障害物は、検出されて回避されることを必要とし、特に、歩行者との衝突が回避されることを必要とする。道路上には密集した歩行者がしばしば存在し、歩行者間の遮り、歩行者と他の物体との間の遮りは、比較的深刻であり、安全運転に対する重大な脅威の原因となっている。従って、深刻な遮りを伴うシナリオにおける正確な歩行者検出は、運転安全のために非常に重要である。
[0113] 具体的には、図1に示すように、ドライバー支援/自動運転システムにより得られた道路状況に関して歩行者検知が実行された後に、歩行者検知結果が得られる。次いで、ドライバー支援/自動運転システムは、歩行者検出結果に基づいて車両を制御することができる。
[0114] 歩行者検出は、本出願の実施形態における歩行者検出方法を使用することによって実行することができる。道路画像に歩行者が存在するかどうか、そして歩行者の位置は、歩行者検出に基づいて決定することができるので、ドライバー支援/自動運転システムは認識結果に基づいて車両を制御できる。
[0115] アプリケーション・シナリオ2:セーフ・シティ(Safe City)/ビデオ監視システム
[0116] セーフ・シティ・システムやビデオ監視システムでは、歩行者検出はリアル・タイムで実行され、歩行者検出結果はマーキングされ、歩行者検知結果はシステムの分析ユニットへ送られ、犯罪被疑者や行方不明者を捜索し、スカイネット追跡を実施する。
[0117] 具体的には、図2に示すように、セーフ・シティ/ビデオ監視システムにより得られた道路状況に関して歩行者検出が実行された後に、歩行者検出結果が取得される。次いで、歩行者検出結果に基づいて、特定の人物が認識されて追跡されてもよい。
[0118] 歩行者検出は、本願の実施形態における歩行者検出方法を使用することによって実行することができる。監視画像中に歩行者が存在するか否か、そして歩行者の位置は、歩行者検出に基づいて決定することができる。監視画像中に歩行者が存在する場合、歩行者は特定の人物(行方不明者、犯罪容疑者など)であるか否かが認識されてもよい。特定の人物が認識された場合、スカイ・アイ・システム(Sky Eye system)(セーフ・シティ/ビデオ監視システムの一部と考えられてもよい)が、特定の人物を追跡するために始動されてもよい。
[0119] 本願の実施形態における歩行者検出方法は、ニューラル・ネットワーク(モデル)によって実行されてもよい。本願の実施形態における歩行者検出方法をより良く理解するために、以下、ニューラル・ネットワークの関連する用語と概念を先ず説明する。
[0120] (1) ニューラル・ネットワーク
[0121] ニューラル・ネットワークはニューロンを含むことができる。ニューロンは、xsと切片1を入力として使用する演算ユニットであってもよい。演算ユニットの出力は、数式(1)で示されてもよい:
[0122] s=1, 2, ..., nであり、nは1より大きな自然数であり、W
sはx
sの重みであり、bはニューロンのバイアスである。fはニューロンの活性化関数(activation functions)である。活性化関数は、ニューラル・ネットワークにおける特徴に関して非線形変換を実行して、ニューロンにおける入力信号を出力信号に変換するために使用される。活性化関数の出力信号は、次の畳み込み層の入力として使用されてもよい。活性化関数は、シグモイド関数であってもよい。ニューラル・ネットワークは、単一ニューロンを複数個接続することによって形成されるネットワークである。換言すれば、あるニューロンの出力は別のニューロンの入力である可能性がある。局所受容ドメインの特徴を抽出するために、各ニューロンの入力は、前の層の局所受容ドメインに接続されてもよい。局所受容ドメインは、複数のニューロンを含む領域であってもよい。
[0123] (2) ディープ・ニューラル・ネットワーク
[0124] ディープ・ニューラル・ネットワーク(deep neural network, DNN)は、多層ニューラル・ネットワークとも呼ばれ、複数の隠れ層を有するニューラル・ネットワークとして理解することができる。DNNは区別される層の位置に基づいて分けられる。DNNにおけるニューラル・ネットワークは、入力層、隠れ層、及び出力層の3つのタイプに分けられる。一般に、最初の層は入力層であり、最後の層は出力層であり、中間の層は隠れ層である。層は完全に接続される。具体的には、i番目の層のうちの如何なるニューロンも、(i+1)番目の層の何らかのニューロンと確実に接続される。
[0125] DNNは複雑に見えるが、各層の作業は実際には複雑ではない。簡単に言えば、次の線型関係の表現が使用される:
→xは入力ベクトルであり、
→yは出力ベクトルであり、
→bはバイアス・ベクトルであり、Wは重み行列(係数とも呼ばれる)であり、α()は活性化関数である。各層は、出力ベクトル
→yを得るために、入力ベクトル
→xに対してこのようなシンプルな演算を単に実行している。DNNは多数の層を有するので、係数W及びバイアス・ベクトル
→bも比較的多量に存在する。これらのパラメータは、DNNでは以下のように定義される:例えば係数Wを例として使用し、係数が3層DNNにおけるものであるとすると、第2層の第4ニューロンから第3層の第2ニューロンへの線型係数は、W
24
3のように定義される。上付き文字3は、係数Wが位置する層の番号を表し、下付き文字は、第3層の出力のインデックス2と第2層の入力のインデックス4に対応する。
[0126] 結論として、(L-1)番目の層のk番目のニューロンからL番目の層のj番目のニューロンへの係数は、Wjk
Lのように定義される。
[0127] 入力層はパラメータWを有しないことに留意すべきである。ディープ・ニューラル・ネットワークでは、隠れ層が多いほど、ネットワークは、現実世界でのより複雑な状況を記述することができる。理論的には、より多くのパラメータを有するモデルは、より複雑であり、且つより大きな“キャパシティ”を有し、これはそのモデルがより複雑な学習タスクを完了できることを意味する。ディープ・ニューラル・ネットワークを訓練するプロセスは、重み行列を学習するプロセスであり、その最終目標は、訓練されたディープ・ニューラル・ネットワークの全層に対する重み行列を得ることである(重み行列は多くの層のベクトルWを含む)。
[0128] (3) 畳み込みニューラル・ネットワーク
[0129] 畳み込みニューラル・ネットワーク(convolutional neuron network, CNN)は、畳み込み構造を有するディープ・ニューラル・ネットワークである。畳み込みニューラル・ネットワークは、畳み込み層とサブ・サンプリング層を含む特徴抽出器を含む。特徴抽出器はフィルタと考えてもよい。畳み込み層は、畳み込みニューラル・ネットワーク内にあるニューロン層であって、入力信号に対して畳み込み処理を実行するものである。畳み込みニューラル・ネットワークの畳み込み層では、ニューロンは、隣接する層の幾つかのニューロンにのみ接続されている可能性がある。1つの畳み込み層は、通常、複数の特徴プレーンを含む。各々の特徴プレーンは、矩形に配置された幾つかのニューロンを含むことができる。同一の特徴プレーン内のニューロンは、重みを共有する。ここで共有される重みは畳み込みカーネルである。共有される重みは、画像情報を抽出する方法が、位置と無関係なものであるとして理解することができる。畳み込みカーネルは、ランダムなサイズの行列の形式で初期化されてもよい。畳み込みニューラル・ネットワークを訓練するプロセスにおいて、畳み込みカーネルは学習を通して適切な重みを得ることができる。更に、重み共有によってもたらされる直接的な利点は、畳み込みニューラル・ネットワークの層間の接続を低減することと、オーバーフィッティングのリスクを低減することである。
[0130] (4) 残差ネットワーク
[0131] 残差ネットワークは、2015年に提案された深層畳み込みネットワークである。従来のニューラル・ネットワークと比較して、残差ネットワークを最適化することはより容易であり、深さを適切に増加させることによって精度を改善することができる。残差ネットワークの核心は、深さの増加によって生じる副作用(a degeneration problem)を解決することである。このように、ネットワークの深さを単に増やすことによって、ネットワーク・パフォーマンスを向上させることができる。残差ネットワークは、一般に、同じ構造を有する多くのサブ・モジュールを含む。一般に、残差ネットワーク(residual network, ResNet)は、サブ・モジュールの繰り返しの量を示すために、数字を付ける。例えば、ResNet50は、残差ネットワークが50個のサブ・モジュールを含むことを示す。
[0132] (6) 分類器
[0133] 多くのニューラル・ネットワーク構造は、画像内のオブジェクトを分類するように構成された分類器で終わる。分類器は、一般に、全結合層(fully connected layer)とソフトマックス関数(これは正規化された指数関数と言及されてもよい)を含み、入力に基づいて異なるカテゴリの確率を出力することができる。
[0134] (7) 損失関数
[0135] ディープ・ニューラル・ネットワークを訓練するプロセスでは、ディープ・ニューラル・ネットワークの出力が、予測されるように実際に期待される値に可能な限り近いことが予想されるので、現在のネットワークの予測値と実際に期待されるターゲット値とが比較され、次いで2つの層間の差分に基づいて、ニューラル・ネットワークの各層の重みベクトルが更新される(実際、最初の更新の前に、通常、初期化プロセスが存在し、即ちディープ・ニューラル・ネットワークにおける各層に対してパラメータが事前に設定される)。例えば、ネットワークの予測値が、より高い場合、重みベクトルは、より低い予測値を得るように調整される。ディープ・ニューラル・ネットワークが、実際に予想される目標値、又は実際に予想される目標値に非常に近い値、を予測できるようになるまで、重みベクトルは連続的に調整される。従って、差分を求めるためには、予測値と目標値をどのように比較するかが、予め定義されることを要する。これは損失関数又は目的関数をもたらし、これは予測値と目標値の間の差分を測定するために使用される重要な方程式である。損失関数を例にとると、損失関数のより高い出力値(損失)は、より大きな差分を示す。従って、ディープ・ニューラル・ネットワークの訓練は、可能な限り損失を低減するプロセスとなる。
[0136] (8) 逆伝搬アルゴリズム
[0137] ニューラル・ネットワークの場合、誤差逆伝搬(back propagation, BP)アルゴリズムが、訓練プロセスにおける初期ニューラル・ネットワーク・モデルのパラメータ値を補正するために使用されてもよく、その結果、ニューラル・ネットワーク・モデルの再構成誤差損失は小さくなる。具体的には、入力信号は、誤差損失が出力で発生するまで転送され、初期ニューラル・ネットワーク・モデルにおけるパラメータは、誤差損失が収束するように、誤差損失に関する情報の逆伝搬を通じて更新される。逆伝搬アルゴリズムは誤差損失によって支配される逆伝搬の動きであり、ニューラル・ネットワーク・モデルの最適化パラメータ、例えば重み行列を得るように意図されている。
[0138] 上記はニューラル・ネットワークの幾つかの基本的な内容を簡単に説明しており、以下、画像データ処理中に使用される可能性の有る幾つかの特定のニューラル・ネットワークを説明する。
[0139] 以下、図3を参照して、本願の実施形態におけるシステム・アーキテクチャを詳細に説明する。
[0140] 図3は、本願の実施形態によるシステム・アーキテクチャの概略図である。図3に示すように、システム・アーキテクチャ100は、実行デバイス110、訓練デバイス120、データベース130、クライアント・デバイス140、データ記憶システム150、及びデータ収集システム160を含む。
[0141] 更に、実行デバイス110は、演算モジュール111、I/Oインターフェース112、前処理モジュール113、及び前処理モジュール114を含む。演算モジュール111は、ターゲット・モデル/ルール101を含んでもよい。前処理モジュール113及び前処理モジュール114はオプションである。
[0142] データ収集デバイス160は、訓練データを収集するように構成される。本願の実施形態における歩行者検出方法では、訓練データは、訓練画像(訓練画像は歩行者を含む)とマーキング・ファイルを含んでもよい。マーキング・ファイルは、訓練画像内に歩行者を含む境界ボックス(bounding box)の座標を提供する。訓練データを収集した後に、データ収集デバイス160は、訓練データをデータベース130に格納する。訓練デバイス120は、データベース130内に維持されている訓練データに基づく訓練を通じて、ターゲット・モデル/ルール101を得る。
[0143] 以下、訓練デバイス120が訓練データに基づいてターゲット・モデル/ルール101をどのように獲得するかについて説明する。訓練デバイス120は、入力訓練画像に関してオブジェクト検出を実行し、出力された歩行者検出結果(画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼レベル)とマーキング結果とを、訓練デバイス120によって出力されたオブジェクトの歩行者検出結果と事前マーキング結果との間の差分が特定の閾値未満になるまで比較を行い、ターゲット・モデル/ルール101の訓練を完了する。
[0144] ターゲット・モデル/ルール101は、本願の実施形態における歩行者検出方法を実施するために使用することができる。具体的には、(関連する前処理後の)処理対象画像がターゲット・モデル/ルール101に入力された後に、処理対象画像の歩行者検出結果を取得することができる。本願のこの実施形態におけるターゲット・モデル/ルール101は、具体的にはニューラル・ネットワークであってもよい。実際のアプリケーションでは、データベース130内に維持される訓練データは、必ずしも全てがデータ収集デバイス160によって収集されているわけではなく、他のデバイスから受け取ったものでもよいことに留意すべきである。更に、訓練デバイス120は、必ずしもデータベース130内に維持されている訓練データに完全に基づいてターゲット・モデル/ルール101を訓練せず、モデル訓練を実行するためにクラウド側又は別の場所から、訓練データを取得してもよいことに留意すべきである。以上の説明は、本願のこの実施態様に関する限定として解釈されるべきではない。
[0145] 訓練デバイス120による訓練を通じて得られるターゲット・モデル/ルール101は、様々なシステム又はデバイスに適用されてもよく、例えば図3に示される実行デバイス110に適用されてもよい。実行デバイス110は、端末、例えば、携帯電話端末、タブレット・コンピュータ、ノートブック・コンピュータ、拡張現実(augmented reality, AR)端末/仮想現実(virtual reality, VR)端末、又は車載端末であってもよいし、或いはサーバー、クラウド側などであってもよい。図3において、入出力(input/output, I/O)インターフェース112は、外部デバイスとデータをやり取りするために、実行デバイス110内に構成される。ユーザーは、クライアント・デバイス140を使用することによって、I/Oインターフェース112にデータを入力することができる。本願のこの実施形態では、入力データは、クライアント・デバイスによって処理されるべき画像入力を含んでもよい。本件におけるクライアント・デバイス140は、具体的には端末デバイスであってもよい。
[0146] 前処理モジュール113及び前処理モジュール114は、I/Oインターフェース112によって受信された入力データ(例えば、処理対象画像)に基づいて前処理を実行するように構成される。本願のこの実施形態では、前処理モジュール113及び前処理モジュール114の一方のみが存在してもよいし、或いは何れも存在しなくてもよい。前処理モジュール113及び前処理モジュール114が存在しない場合、入力データは、演算モジュール111を使用することによって直接的に処理されることが可能である。
[0147] 実行デバイス110が入力データを前処理したり、実行デバイス110の演算モジュール111が演算を実行したりするプロセスのような関連する処理プロセスにおいて、実行デバイス110は、データ記憶システム150内のデータ、コード等を、対応する処理のために呼び出し、対応する処理を通じて得られたデータ、命令等をデータ記憶システム150内に格納することができる。
[0148] 最後に、I/Oインターフェース112は、処理結果、例えば、ターゲット・モデル/ルール101に基づく演算を通じて得られた歩行者検出結果をクライアント・デバイス140に提示し、ユーザーに処理結果を提供する。
[0149] 具体的には、演算モジュール111におけるターゲット・モデル/ルール101に基づく処理を通じて得られた歩行者検出結果は、前処理モジュール113によって処理され(又は前処理モジュール114によって更に処理されてもよい)、次いでI/Oインターフェースへ送られ、最終的に、表示のためにI/Oインターフェースを使用することによってクライアント・デバイス140へ送られる。
[0150] 前処理モジュール113及び前処理モジュール114がシステム・アーキテクチャ100に存在しない場合、処理を通じて得られた歩行者検出結果は、代替的に、演算モジュール111によってI/Oインターフェースへ送られ、次いでI/Oインターフェースによって、表示のためにクライアント・デバイスへ140に送られることが理解されるべきである。
[0151] 訓練デバイス120は、様々な訓練データに基づいて、様々な目的、又は様々なタスクと呼ばれるもののために、対応するターゲット・モデル/ルール101を生成することが可能であり、対応するターゲット・モデル/ルール101は、目的を実行するために、タスクを完了するために、ユーザーに必要な結果を提供するために使用され得ることに留意すべきである。
[0152] 図3に示すあるケースでは、ユーザーは、マニュアルで入力データを与えることができ、マニュアルで与えることは、I/Oインターフェース112によって提供されるインターフェースを使用することによって操作されてもよい。別のケースでは、クライアント・デバイス140は、入力データをI/Oインターフェース112へ自動的に送信することができる。入力データを自動的に送信する必要がある場合、クライアント・デバイス140は、ユーザーにより認証されることを必要として、ユーザーは、クライアント・デバイス140において対応する許可を設定することができる。ユーザーは、クライアント・デバイス140上で、実行デバイス110によって出力された結果を見ることができる。特定の提示フォームは、表示、音声、又はアクションのような特定の方法であってもよい。また、クライアント・デバイス140は、図に示されているI/Oインターフェース112への入力データ入力、及びI/Oインターフェース112から出力された出力結果を収集し、入力データ及び出力結果を新しいサンプル・データとして使用し、新しいサンプル・データをデータベース130に格納するためのデータ収集端末として使用されてもよい。確かに、図に示されているI/Oインターフェース112への入力データ入力、及びI/Oインターフェース112から出力される出力結果は、代替的に、クライアント・デバイス140によって収集されることなく、I/Oインターフェース112によって新しいサンプル・データとしてデータベース130に直接的に格納されてもよい。図1は、本願の実施形態によるシステム・アーキテクチャの概略図に過ぎないことに留意すべきである。
[0153] 図1は、本願の実施形態によるシステム・アーキテクチャの概略図に過ぎないことに留意すべきである。図示のデバイス、コンポーネント、モジュール等の位置関係は、限定を何ら構成しない。例えば、図1において、データ記憶システム150は、実行デバイス110に対する外部メモリである。別のケースでは、データ記憶システム150は、代替的に、実行デバイス110内に構成されてもよい。
[0154] 図3に示すように、訓練デバイス120による訓練を通じて得られるターゲット・モデル/ルール101は、本願の実施形態におけるニューラル・ネットワークであってもよい。具体的には、本願の実施形態で提供されるニューラル・ネットワークは、CNN、深層畳み込みニューラル・ネットワーク(deep convolutional neural networks, DCNN)などであってもよい。
[0155] CNNは非常に一般的なニューラル・ネットワークであるので、以下、図4を参照してCNNの構造の詳細な説明に焦点を当てる。前述の基本概念の説明で述べたように、畳み込みニューラル・ネットワークは、畳み込み構造を有する深層ニューラル・ネットワークであり、ディープ・ラーニング(deep learning)アーキテクチャである。ディープ・ラーニング・アーキテクチャは、機械学習アルゴリズムを使用することによって、様々な抽象レベルでマルチ・レベル学習を実行することを意味する。ディープ・ラーニング・アーキテクチャとして、CNNはフィード・フォワード(feed-forward)人工ニューラル・ネットワークである。フィード・フォワード人工ニューラル・ネットワークの各ニューロンは、ニューラル・ネットワークへの画像入力に応答する可能性がある。
[0156] 図4に示すように、畳み込みニューラル・ネットワーク(CNN)200は、入力層210、畳み込み層/プーリング層220(プーリング層はオプション)、及び全結合層(完全に接続された層)230を含んでもよい。以下、レイヤの関連する内容を詳細に説明する。
[0157] 畳み込み層/プーリング層220:
[0158] 畳み込み層:
[0159] 図4に示すように、畳み込み層/プーリング層220は、例えば層221乃至226を含む可能性がある。例えば、ある実装では、層221は畳み込み層であり、層222はプーリング層であり、層223は畳み込み層であり、層224はプーリング層であり、層225は畳み込み層であり、層226はプーリング層である。別の実装では、221及び222は畳み込み層であり、223はプーリング層であり、224及び225は畳み込み層であり、226はプーリング層である。換言すれば、畳み込み層の出力は、後続のプーリング層の入力として使用される可能性があり、或いは畳み込み演算を実行し続けるために、別の畳み込み層の入力として使用される可能性がある。
[0160] 以下、畳み込み層221を例として使用することにより、畳み込み層の内部動作原理を説明する。
[0161] 畳み込み層221は、複数の畳み込み演算子を含んでもよい。畳み込みオペレータは、カーネルとも呼ばれ、入力画像行列から特定の情報を抽出するためのフィルタのように、画像処理において機能する。畳み込みオペレータは、本質的には重み行列であってもよく、重み行列は、通常、事前に定義される。画像に関して畳み込み演算を実行するプロセスでは、重み行列は、通常、入力画像において1画素ずつ(又は2画素ずつ、... ストライドストライド値に依存する分ずつ)水平方向に処理を実行し、画像から特定の特徴の抽出を完了する。重み行列のサイズは、画像のサイズに関係付けられるべきである。重み行列の深さ次元(depth dimension)は、入力画像の深さ次元と同じであることに留意すべきである。畳み込み演算プロセスでは、重み行列は入力画像の深度全体に延びる。従って、単一の重み行列による畳み込みは、単一の深さ次元の畳み込み出力を生成する。しかしながら、ほとんどの場合、単一の重み行列は使用されず、むしろ、同じサイズ(行×列)の複数の重み行列、即ち、複数の同次行列が使用される。全ての重み行列の出力は、畳み込み画像の深さ次元を形成するためにスタックされる。本件における次元は、上述の「複数の」によって決定されるものと理解されてもよい。画像内の異なる特徴を抽出するために、異なる重み行列を使用することができる。例えば、画像のエッジ情報を抽出するために、ある重み行列が使用され、画像の特定の色を抽出するために、別の重み行列が使用され、画像内の不要なノイズをぼかすために、更に別の重み行列が使用される。複数の重み行列のサイズ(行×列)は同じであり、同じサイズの複数の重み行列に基づいて抽出された畳み込み特徴マップのサイズも同じである。次いで、同じサイズの複数の抽出された畳み込み特徴マップを組み合わせて、畳み込み演算の出力を形成する。
[0162] これらの重み行列におけるウェイト値は、実際のアプリケーションにおける大量の訓練を通じて取得されることを必要とする。訓練によって得られたウェイト値を含む各々の重み行列を使用して、入力画像から情報を抽出し、その結果、畳み込みニューラル・ネットワーク200は正しい予測を実行することができる。
[0163] 畳み込みニューラル・ネットワーク200が複数の畳み込み層を有する場合、初期畳み込み層(例えば、221)は、通常、比較的多くの一般的な特徴を抽出する。一般的な特徴は、低レベル特徴とも呼ばれる。畳み込みニューラル・ネットワーク200の深度とともに、後の畳み込み層(例えば、226)は、より複雑な特徴、例えば、セマンティック特徴のような高レベル特徴を抽出する。より高度な意味論的な意味を伴う特徴は、解決されるべき課題にとって、より相応しいものである。
[0164] プーリング層:
[0165] 通常、訓練パラメータの量は削減されることを必要とするので、プーリング層は、通常、畳み込み層の背後に周期的に導入されることを必要とする。図4の層220に示される層221乃至226については、1つの畳み込み層の後に1つのプーリング層が続いてもよいし、或いは複数の畳み込み層の後に1つ以上のプーリング層が続いてもよい。画像処理プロセスにおいて、プーリング層の唯一の目的は、画像の空間サイズを小さくすることである。プーリング層は、入力画像をサンプリングして比較的小さなサイズの画像を得るために、平均プーリング・オペレータ及び/又は最大プーリング・オペレータを含んでもよい。平均プーリング・オペレータは、特定の範囲内で、画像中の画素値の平均値を、平均プーリングの結果として計算することができる。最大プーリング・オペレータは、特定の範囲内で、その範囲内の最大値を有する画素を、最大プーリングの結果として取得することができる。更に、畳み込み層における重み行列のサイズが画像のサイズに関係すべきであるのとまさに同様に、プーリング層におけるオペレータも画像のサイズに関係するべきである。プーリング層によって実行された処理の後の画像出力のサイズは、プーリング層に入力された画像のサイズより小さい可能性がある。プーリング層によって出力される画像中の各画素は、プーリング層に入力された画像の対応するサブ領域の平均値又は最大値を表す。
[0166] 全結合層230:
[0167] 畳み込み層/プーリング層220の処理の後に、畳み込みニューラル・ネットワーク200は、必要な出力情報を出力するには依然として不十分である。上述のように、畳み込み層/プーリング層220は、特徴を抽出し、入力画像によってもたらされるパラメータを低減するだけである。しかしながら、最終出力情報(必要なカテゴリ情報又は他の関連情報)を生成するために、畳み込みニューラル・ネットワーク200は、一つ又は一組の必要なカテゴリ数の出力を生成するために、全結合層230を使用する必要がある。従って、全結合層230は、複数の隠れ層(図4に示す231及び232乃至23n)と出力層240を含んでもよい。複数の隠れ層に含まれるパラメータは、特定のタスク・タイプの関連する訓練データに基づく事前訓練を通じて得られてもよい。例えば、タスク・タイプは、画像認識、画像分類、超解像度画像再構成を含んでもよい。
[0168] 出力層240は、全結合層230内の複数の隠れ層の背後にあり、畳み込みニューラル・ネットワーク200全体の最終層である。出力層240は、分類クロス・エントロピーと同様な損失関数を有し、予測誤差を計算するように具体的に構成される。いったん、畳み込みニューラル・ネットワーク200全体の順伝搬(例えば、図4では、210から240への方向における伝搬が順伝搬である)が完了すると、逆伝搬(例えば、図4では、240から210への方向における伝搬が逆伝搬である)が、上述の各層のウェイト値及びバイアスを更新し始め、畳み込みニューラル・ネットワーク200の損失を低減し、且つ出力層を使用することによって畳み込みニューラル・ネットワーク200によって出力される結果と理想的な結果との間の誤差を低減する。
[0169] 図4に示す畳み込みニューラル・ネットワーク200は、畳み込みニューラル・ネットワークの一例としてのみ使用されているに過ぎないことに留意すべきである。特定のアプリケーションにおいて、畳み込みニューラル・ネットワークは、代替的に、別のネットワーク・モデルの形態で存在してもよい。
[0170] 図4に示される畳み込みニューラル・ネットワーク200は、本願の実施形態における歩行者検出方法を実行するために使用されてもよいことが理解されるべきである。図4に示すように、処理対象画像が入力層210、畳み込み層/プーリング層220、及び全結合層230によって処理された後、処理対象画像の検出結果(処理対象画像に歩行者を含む境界ボックスと、画像に歩行者を含む境界ボックスの信頼度)を得ることができる。
[0171] 図5は、本願の実施形態によるチップのハードウェア構造を示す図である。チップは、ニューラル・ネットワーク処理ユニット50を含む。チップは、演算モジュール111の演算作業を完了するために、図3に示す実行デバイス110内に配置されてもよい。代替的に、チップは、図3に示される訓練デバイス120内に配置されて、訓練デバイス120の訓練作業を完了し、ターゲット・モデル/ルール101を出力することができる。図4に示す畳み込みニューラル・ネットワークにおける全ての層のアルゴリズムは、図5に示すチップに実装することができる。
[0172] ニューラル・ネットワーク処理ユニット(neural-network processing unit, NPU)50は、コプロセッサとしてホスト中央処理ユニット(central processing unit, CPU) (ホストCPU)に接続され、ホストCPUによってタスクの割り当てを受ける。NPUのコア部分は、演算回路503である。コントローラ504は、データをメモリ(ウェイト・メモリ又は入力メモリ)から抽出し、演算を実行するために演算回路503を制御する。
[0173] 幾つかの実装において、演算回路503は、複数の処理要素(process engine, PE)を内部に含む。幾つかの実装において、演算回路503は、二次元シストリック・アレイである。代替的に、演算回路503は、一次元シストリック・アレイ又は他の電子回路であって、乗算及び加算のような数学的演算を実行することができるものであってもよい。幾つかの実装において、演算回路503は汎用マトリックス・プロセッサである。例えば、入力行列A、重み行列B、出力行列Cがあると仮定する。演算回路503は、行列Bに対応するデータをウェイト・メモリ502から取得し、データを演算回路503内の各PEにバッファリングする。
[0174] 演算回路503は、行列Aのデータを入力メモリ501から取得し、行列Aと行列Bに対して行列演算を実行し、得られた部分的な結果又は行列の最終的な結果をアキュムレータ(accumulator)508に格納する。
[0175] ベクトル演算ユニット507は、演算回路503の出力に対して、更なる処理、例えば、ベクトル乗算、ベクトル加算、指数演算、対数演算、値の比較を行ってもよい。例えば、ベクトル演算ユニット507は、ニューラル・ネットワークにおける非畳み込み/非FC層において、ネットワーク計算、例えば、プーリング(pooling)、バッチ正規化(batch normalization)、又はローカル・レスポンス正規化(local response normalization)を実行するように構成されてもよい。
[0176] 幾つかの実装において、ベクトル演算ユニット507は、処理された出力ベクトルを、ユニファイド・バッファ506に格納することができる。例えば、ベクトル演算ユニット507は、演算回路503の出力、例えば累積された値のベクトルに非線形関数を適用して、活性化値を生成してもよい。幾つかの実装において、ベクトル演算ユニット507は、正規化された値、結合された値、又はそれら両方を生成する。幾つかの実装において、処理された出力ベクトルは、演算回路503への活性化入力として使用されることが可能であり、例えば、ニューラル・ネットワークの後続の層で使用されることが可能である。
[0177] ユニファイド・メモリ506は、入力データと出力データを記憶するように構成される。
[0178] ダイレクト・メモリ・アクセス・コントローラ(direct memory access controller, DMAC)505は、外部メモリの入力データを入力メモリ501及び/又はユニファイド・メモリ506へ転送し、ウェイト・メモリ502に、外部・メモリ内の重みデータを格納し、外部メモリに、ユニファイド・メモリ506内のデータを格納する。
[0179] バス・インターフェース・ユニット(bus interface unit, BIU)510は、バスを使用することによって、ホストCPU、DMAC、及び命令フェッチ・バッファ509間のインタラクションを実施するように構成される。
[0180] コントローラ504に接続された命令フェッチ・バッファ(instruction fetch buffer)509は、コントローラ504によって使用される命令を格納するように構成される。
[0181] コントローラ504は、命令フェッチ・バッファ509内にバッファリングされた命令を起動し、演算アクセラレータの作業プロセスを制御するように構成される。
[0182] 一般に、ユニファイド・メモリ506、入力メモリ501、ウェイト・メモリ502、及び命令フェッチ・バッファ509は全てオンチップ(on-chip)メモリである。外部メモリはNPU外部のメモリである。外部メモリは、二重データ・レート同期ダイナミック・ランダム・アクセス・メモリ(double data rate synchronous dynamic random access memory, 略称DDR SDRAM)、高帯域幅メモリ(high bandwidth memory, HBM)、又は他の読み取り可能で書き込み可能なメモリであってもよい。
[0183] また、本願では、図4に示す畳み込みニューラル・ネットワークの各層における演算は、演算回路503又はベクトル演算ユニット507によって実行されてもよい。
[0184] 図6は、本願の一実施形態によるシステム・アーキテクチャの概略図である。
[0185] 図6に示すように、歩行者検出ネットワークを用いて入力画像が処理された後に、入力画像に歩行者を含む2Dボックス(2Dボックスは境界ボックスと言及されてもよい)を取得することができる。2Dボックスに関する情報は、処理のために後続の分析モジュールに送られ、例えば、障害物分析のために自動運転システムの規制ユニットに送られるか、又は行方不明者と照合するためにセーフ・シティの分析モジュールに送られる。
[0186] 図6に示す歩行者検出ネットワークは、バックボーン(backbone)ネットワーク・モジュール、領域提案ネットワーク(region proposal network, RPN)モジュール、自己活性化モジュール、基本特徴重み付けモジュール、領域特徴生成モジュール、領域畳み込みニューラル・ネットワーク(region convolutional neural network, RCNN)モジュール、及び出力モジュールを含む。図6の歩行者検出ネットワークは、本願の実施形態における歩行者検出方法を実行することができる。以下、歩行者検出ネットワークが入力画像を処理するプロセスを簡単に説明する。
[0187] 入力画像を取得した後に、バックボーン・ネットワーク・モジュールは、入力画像に関して畳み込み処理を実行し、入力画像の基本特徴マップを取得する。RPNモジュールは基本特徴マップを処理して、入力画像の歩行者提案を得る。自己活性化モジュールは、基本特徴マップに関して更なる畳み込み処理と重み付け加算処理を実行して、入力画像のオブジェクト視認マップを得る(オブジェクト視認マップは、入力画像の中で歩行者視認部分の特徴を強調することができる)。基本特徴重み付けモジュールは、オブジェクト視認マップと基本機能マップに関して重み付け処理を実行して、改善された特徴マップを取得するように構成される。領域特徴モジュールは、プロポーザルと入力画像のオブジェクト視認マップとに基づいて、プロポーザルに対応する特徴を生成することができる。RCNNモジュールは、プロポーザルに対応する特徴を処理し、入力画像の歩行者検出結果を得る。歩行者検出結果は、画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度とであるとすることが可能である。
[0188] 本願の実施形態における歩行者検出装置が実装される製品形態は、自動運転、端末デバイス、監視デバイス等であってもよい。本発明は、関連デバイスの演算ノード上に配備され、歩行者認識の精度は、ソフトウェア再構成によって改善されることが可能である。
[0189] 本願の実施形態における歩行者検出装置は、図5に示されるものであってもよい。歩行者検出装置は、主に、バックボーン・ネットワーク・モジュール101、RPNモジュール102、自己活性化モジュール103、基本特徴重み付けモジュール104、領域特徴生成モジュール105、RCNNモジュール106、及び出力モジュール107を含む。
[0190] 図7に示す歩行者検出装置は、領域特徴生成モジュール105を含んでもよいし、又は領域特徴生成モジュール105を含まなくてもよい。
[0191] 歩行者検出装置が領域特徴生成モジュール105を含まない場合、歩行者検出装置及び歩行者検出装置を用いて歩行者検出を行うプロセスは、図8A及び図8Bに示されるものであってもよい。
[0192] 図8A及び図8Bに示すように、RPNモジュールは、基本特徴マップに基づいて画像のプロポーザルを決定し、自己活性化モジュール103は、基本特徴マップに基づいて画像のオブジェクト視認マップを生成し、基本特徴重み付けモジュール104は、画像のオブジェクト視認マップと基本特徴マップに関して重み付け加算を実行して、改善された特徴マップを得る。次いで、プロポーザルに対応する特徴が、関心領域(region of interest, ROI)プーリングを通じて、改善された特徴マップから抽出され、次いでRCNNモジュールはプロポーザルに対応する特徴を処理して、歩行者検出結果を得る。図8A及び図8Bにおいて、プロポーザルに対応する特徴は、プロポーザルの領域特徴であることが理解されるべきである。
[0193] 歩行者検出装置が領域特徴生成モジュール105を含む場合、歩行者検出装置及び歩行者検出装置を用いて歩行者検出を行うプロセスは、図9A及び図9Bに示されるものであってもよい。
[0194] 図8A及び図8Bと比較して、図9A及び図9Bに示す歩行者検出装置は、プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴、及びプロポーザルの背景領域の領域特徴を生成するために、領域特徴生成モジュール105を使用する。3つの特徴は、プロポーザルに対応する特徴に融合されることが可能である。次いで、RCNNモジュールはプロポーザルに対応する特徴を処理して、歩行者検出結果を得る。
[0195] 本願の実施形態における歩行者検出方法を実行するプロセスをより良く理解するために、以下、図7のモジュールの機能を先ず簡単に説明する。
[0196] バックボーン・ネットワーク・モジュール101:
[0197] バックボーン・ネットワーク・モジュール101は、入力画像(ピクチャと言及されてもよい)に関して一連の畳み込み処理を行い、画像の基本特徴マップ(feature map)を得るように構成される。画像の基本特徴マップは、他のモジュールによって実行される後続の画像検出のための画像の基本特徴を提供する。
[0198] バックボーン・ネットワーク・モジュール101内のバックボーン・ネットワークは、複数の方法、例えば、VGGネットワーク、深層残差ネットワーク(deep residual network, ResNet)、及びインセプション・ネットワークで実装することができる。
[0199] RPNモジュール102:
[0200] RPNモジュール102は、バックボーン・ネットワーク・モジュール101によって生成された基本特徴マップに関して、歩行者を含む可能性のある領域を予測し、これらの領域の位置を提供するように構成される。領域の境界はプロポーザル(proposal)と言及されてもよい。一般に、プロポーザルのうちの位置であって検出を通じてRPNモジュール102によって得られる位置は、非常に正確なものではなく、プロポーザルは、背景画像の上に落ちるかもしれないし、或いは画像内で歩行者ターゲットに良好に境界を形成しない可能性がある。
[0201] 自己活性化モジュール103:
[0202] 自己活性化モジュールは、RCNNモジュール106内の共用Conv5畳み込み層を使用することによって、バックボーン・ネットワーク・モジュール101によって生成された基本特徴マップに関して更なる畳み込み処理を実行して、より高い層のセマンティック特徴マップを取得し、次いで、分類器における重み係数であってRCNNモジュール106におけるものと同じ重み係数を使用することによって、より高い層のセマンティック特徴マップを重み付けして、画像のオブジェクト視認マップ(visibility map)を取得する。画像のオブジェクト視認マップは、歩行者視認部分に対して強い応答を有し、背景と遮られた部分とに対して弱い応答を有する。自己活性化モジュール103は、本願の歩行者検出装置のコア・モジュールである。
[0203] 基本特徴重み付けモジュール104:
[0204] 基本特徴重み付けモジュール104は、バックボーン・ネットワーク・モジュール101によって生成された、画像の基本特徴マップと、自己活性化モジュール103によって生成された、画像のオブジェクト視認マップとに関して、重み付け処理を実行し、画像の改善された特徴マップを得るように構成される。画像の改善された特徴マップにおいては、歩行者視認部分の特徴は強調され、画像の背景や歩行者を遮る障害物の特徴は弱められる。
[0205] 領域特徴生成モジュール105:
[0206] 領域特徴生成モジュール105は、画像のオブジェクト視認マップであって自己活性化モジュール103によって生成されたオブジェクト視認マップを参照して、RPNモジュール102によって生成された各プロポーザルを処理して、現在のプロポーザルに対応する歩行者の輪郭領域画像、背景領域画像、及びROI領域画像を生成し、3つの領域画像の特徴を、領域特徴生成モジュール105の関心プーリング(pooling)モジュールのネットワークを使用することによって抽出し、次いで、抽出された3つの領域画像を、現在のプロポーザルの領域特徴として融合する。
[0207] RCNNモジュール106:
[0208] RCNNモジュール106は、自己活性化モジュール103のものと同じConv5畳み込み層を使用することによって、プロポーザルの領域特徴であって領域特徴生成モジュール105によって生成された領域特徴に関して畳み込み処理を実行して、提案領域の画像特徴を取得し、次いで、グローバル平均プーリング(global average pooling, GAP)モジュールを使用することによって提案領域の画像特徴に関して平均化演算を実行し、最後に、最終的な座標とプロポーザルの信頼度を予測するために、平均化された画像特徴を、ボックス回帰装置及び分類器の各々に送る。
[0209] 出力モジュール107:
[0210] 出力モジュール107は、RCNNモジュール106によって出力される全てのプロポーザルに対して非最大抑制(non-maximize suppression, NMS)処理を実行し、大きくオーバーラップしたプロポーザルを結合し、過剰に低い信頼度を伴うプロポーザルを除外して、2Dボックス(以下に述べる境界ボックスと等価)と歩行者検出結果を反映する2Dボックスの信頼度を出力するように構成される。
[0211] 以下、図10を参照して、本願の実施形態における歩行者検出方法を詳細に説明する。
[0212] 図10は、本願の実施形態による歩行者検出方法の概略フローチャートである。図10に示す方法は、本願における歩行者検出装置によって実行することができる。図10に示す方法は、ステップ1001乃至1007を含む。以下、ステップ1001乃至1007を詳細に説明する。
[0213] 1001. 画像を取得する。
[0214] 画像は歩行者を含む画像であってもよい。
[0215] 具体的には、画像は、歩行者を含む様々な画像、例えば、携帯電話や他のインテリジェント端末で撮影された画像、ドライバー支援/自動運転システムで取得された道路画像、或いはセーフ・シティ/ビデオ監視システムで取得された監視画像であってもよい。
[0216] 携帯電話やインテリジェント端末で撮影された画像、道路画像、及び監視画像は、一般的には歩行者を含む画像であることが理解されるべきである。これらの画像が歩行者を含まない場合、最終的な認識結果はエンプティになる可能性がある。換言すれば、歩行者を含む境界ボックスは、歩行者を含まない画像に関して実行される認識から得ることはできない。
[0217] ステップ1001において、画像は、カメラを使用することによる撮影を通じて取得されてもよく、又は画像はメモリから取得されてもよい。図1に示す方法は、代替的にステップ1002から直接的に始まってもよいことが理解されるべきである。
[0218] 1002. 画像に関して特徴抽出を実行して、画像の基本特徴マップを取得する。
[0219] 画像の基本特徴マップがステップ1002において得られた場合には、基本特徴マップが、具体的には、画像に関して畳み込み演算(convolution processing)を実行すること、或いは画像に関する畳み込み演算結果に対して更なる処理(例えば、総和処理、重み付け処理、連結処理)を実行することによって、取得されてもよい。
[0220] ステップ1002において、ニューラル・ネットワーク内のバックボーン・ネットワーク(モジュール)を使用することによって、画像に関して畳み込み処理が実行され、画像の基本特徴マップ(feature map)を取得してもよい。バックボーン・ネットワークは、複数の畳み込みネットワーク・アーキテクチャ、例えば、VGGネットワーク(オックスフォード大学の視覚幾何グループ(visual geometry group)によって提案されたネットワーク)、深層残差ネットワーク(deep residual network, ResNet)、及びインセプション・ネットワークを使用することができる。
[0221] 基本特徴マップは、複数のチャネルを含む可能性がある。ステップ1002では、画像に対して特徴抽出が実行される場合に、具体的には、基本特徴マップを得るために、画像に対して畳み込み処理が実行されてもよい。畳み込み処理を通じて基本特徴マップを得るプロセスは図11に示されるものであってもよい。
[0222] 図11に示すように、基本特徴マップは、複数のチャネルを含む特徴マップである。図11では、入力画像の解像度はH0*W0*3(高さはH0であり、幅はW0であり、チャネル数は3である、即ちRBGの3チャネルである)と仮定している。次いで、畳み込み処理後に、基本特徴マップU∈H*W*Kを得ることができる。HとKはそれぞれ基本特徴マップの高さと幅を表し、Kは基本特徴マップのチャネル数を表す。
[0223] 以下、ステップ1002における画像の基本特徴マップを生成するプロセスを、図12を参照しながら詳細に説明する。
[0224] 図12に示されるように、畳み込み演算は、残差ネットワークResNet18の異なる畳み込み層を使用することによって、入力画像に対して実行されてもよい。具体的には、図12に示される畳み込み演算は、具体的には、以下の(1)乃至(4)のプロセスを含む可能性がある。
[0225] (1) ResNet18‐Conv1(ResNet18の第1畳み込み層)が入力画像に関して畳み込み処理を実行して特徴マップC1(feature map C1)を得る。
[0227] 入力画像の解像度はH0*W0*3(高さはH0であり、幅はW0であり、チャネル数は3である)と仮定すると、ResNet18‐Conv1の畳み込み処理後に得られる特徴マップC1の解像度はH0/4*W0/4*64となる可能性がある。具体的には、ResNet18-Conv1は、入力画像に対してダウンサンプリングを2回実行し(サンプリング操作が実行されるたびに、幅と高さの各々が前回の半分になる)、チャネル数を3から64へ拡大して、特徴マップC1を得ることができる。
[0227] (2) ResNet18-Conv2(ResNet18の第2畳み込み層)が特徴マップC1に関して畳み込み処理の実行を継続して、特徴マップC2(feature map C2)を得る。
[0228] ResNet18-Conv2は特徴マップC1に関して畳み込み処理の実行を継続し、得られた特徴マップC2の解像度は、特徴マップC1の解像度と同じ、即ちH0/4*W0/4*64であってもよい。
[0229] (3) ResNet18‐Conv3(ResNet18の第3畳み込み層)が特徴マップC2に関して畳み込み処理の実行を継続して、特徴マップC3(feature map C3)を得る。
[0230] ResNet18-Conv3は更に、特徴マップC2に関してダウンサンプリングを1回行い、チャネル数を2倍にし(チャネル数を64から128に拡大し)、特徴マップC3を得ることができる。特徴マップC3の解像度は、H0/8*W0/8*128である。
[0231] (4) ResNet18-Conv4(ResNet18の第4畳み込み層)は特徴マップC3に関して畳み込み処理の実行を継続して、特徴マップC4(feature map C4)を得る。
[0232] ResNet18-Conv4は更に、特徴マップC3に関してダウンサンプリングを1回行い、チャネル数を2倍にし(チャネル数を128から256に拡大し)、特徴マップC4を得ることができる。特徴マップC4の解像度は、H0/16*W0/16*256である。
[0233] 図12に示す畳み込みプロセスは、単なる一例に過ぎないことが理解されるべきである。本願のこの実施形態において、畳み込み処理に使用されるネットワーク、畳み込み処理の回数などは限定されない。
[0234] 図12に示される畳み込み処理プロセスは、一例として使用されている。ステップ1002における基本特徴マップは、図12に示される特徴マップC4であってもよいして、或いは図12に示される特徴マップC1乃至畳み込み特徴マップC4の少なくとも1つであってもよい。
[0235] 基本特徴マップが、異なる解像度の複数の特徴マップであって図12に示されるような複数の特徴マップを含む場合、後続のROIプーリング処理において、異なる解像度のこれらの特徴マップは、同じ解像度の特徴マップに調整され、更なる処理のために以後のRCNNモジュールに入力されてもよい。
[0236] 1003. 基本特徴マップに基づいて画像のプロポーザルを決定する。
[0237] プロポーザルは、画像中におそらく歩行者を含む領域の境界ボックスである。プロポーザルが位置づけられる領域は、プロポーザルによって境界が形成される領域(プロポーザル内側の領域)とすることが可能である。プロポーザルが位置付けられる領域は、画像内に歩行者を含む可能性のある領域である。
[0238] ステップ1003では、歩行者を含む可能性のある領域は、RPNモジュールを使用することによって、画像の基本特徴マップに基づいて予測され、フレーム化されてもよい。これらの領域をフレーム化する枠組みは、プロポーザルである。
[0239] 一般に、ステップ1003で決定されたプロポーザルの位置は、非常に正確なものではなく、プロポーザルは、背景画像の上に落ちたり(この場合、プロポーザル中に歩行者ターゲットが存在しない可能性がある)、或いは歩行者ターゲットに十分に境界を形成していない可能性がある。
[0240] ステップ1003において、基本特徴マップは、概して、プロポーザルを得るために、RPNモジュールを使用することによって処理されてもよい。以下、RPNモジュールが画像のプロポーザルを決定するプロセスを、図13を参照しながら詳細に説明する。
[0241] 図13に示すように、RPNモジュールは、先ず、3×3畳み込みカーネルを使用することによって、基本特徴マップに関して畳み込み処理を実行し、RPN隠れ(RPN Hidden)特徴マップを得ることができる。次いで、2つの3×3畳み込みカーネルを使用することによって、RPN隠れ特徴マップに関して畳み込み処理が別々に実行され、RPN隠れ特徴マップ中の各プロポーザルの位置と信頼度を予測する。一般的に、プロポーザルのより高い信頼度は、そのプロポーザルが歩行者を含むより高い確率を示す。
[0242] 次に、RPNモジュールは、予測によって得られたプロポーザルに関して組み合わせ処理を実行する。組み合わせ処理の間に、プロポーザル間の重複の程度に応じて、冗長なプロポーザルは削除される可能性がある。冗長なプロポーザルを削除するプロセスでは、プロポーザルは、NMSアルゴリズムを使用することによってスクリーニングされてもよいが、これに限定されない。
[0243] RPNモジュールが全部でJ個のプロポーザルを予測していると仮定すると、歩行者を含むプロポーザルとして、より高いスコアを有するN (N<J)個のプロポーザルが、J個のプロポーザルから選択されてもよい。NとJはともに正の整数である。
[0244] しかしながら、画像のプロポーザルのうちの位置であってRPNモジュールを使用することによって決定される位置もまた、一般的には、非常に正確なものではない。図13に示すように、2つのプロポーザルの各々の中に歩行者が存在するが、歩行者はプロポーザルに完全には含まれておらず、歩行者はプロポーザルのうちの小さな割合を占めているに過ぎない。
[0245] 1004. 画像の基本特徴マップを処理して、画像のオブジェクト視認マップを取得する。
[0246] 画像のオブジェクト視認マップは、異なるオブジェクトに対して異なる応答度合いを有する。画像のオブジェクト視認マップでは、歩行者視認部分に対する応答度合いは、歩行者非視認部分に対する応答度合いよりも大きい。換言すれば、画像のオブジェクト視認マップにおいて、画像のオブジェクト視認マップは、歩行者視認部分に対して強い応答を有し、歩行者非視認部分に対して弱い応答を有する。歩行者視認部分の特徴は、歩行者非視認部分の特徴に対して強調される。
[0247] 具体的には、画像のオブジェクト視認マップにおいて、歩行者視認部分の画素値は、歩行者非視認部分の画素値より大きい。
[0248] 以下、図14及び図15を参照して、オブジェクト視認マップの表示効果を説明する。
[0249] 図14に示すように、人体視認部分は、歩行者を見ることができる部分、或いは換言すれば、歩行者が他の物体によって妨げられていない部分である。歩行者非視認部分は、歩行者を遮断する他のオブジェクト部分と、画像の背景部分とを含む可能性がある。図14において、人体視認部分の色は相対的に明るく、応答が相対的に強いことを示しており、人体非視認部分の色は相対的に暗く、応答が相対的に弱いことを示している。
[0250] 図15に示すように、第1行の6つの画像はオリジナル画像であり、第2行の6つの画像が、対応するオブジェクト視認マップである。第2行に示される6つの画像では、人体視認部分の色も相対的に明るく、人体視認部分の色は相対的に暗い。図15に示す第3列及び第4列の画像では、人体の下部が遮断され、生成されたオブジェクト視認マップでは、人体が見える部分に対応する色の明るさは、人体が遮られている部分に対応する色の明るさよりも大きく、その結果、人体の可視部分の特徴が強調され、人体の遮断された部分の特徴と背景領域の特徴は弱められる。
[0251] 画像のオブジェクト視認マップを用いて、歩行者視認部分の特徴を強調することが可能である。
[0252] また、画像のオブジェクト視認マップでは、歩行者視認部分は、歩行者画像を見ることが可能な部分であり、歩行者非視認部分は、歩行者画像を見ることができない部分である。
[0253] 画像内のオブジェクト視認マップは、歩行者視認部分に対して、より強い応答を有するので、歩行者を含む境界ボックスが以後に画像内で決定されると、歩行者検出の精度は、オブジェクト視認マップとの組み合わせで向上させることができる。
[0254] ステップ1004では、先ず、画像の基本特徴マップに関して畳み込み処理が実行され、次いで、畳み込み処理を通じて得られた複数の特徴マップに関して重み付け加算処理が実行されて、画像のオブジェクト視認マップを取得する。
[0255] 本願では、画像のオブジェクト視認マップは歩行者可視部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることによって得られる改善された特徴マップは、歩行者可視部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に実行される歩行者検出の精度を向上させる。
[0256] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、歩行者遮断部分を含む。
[0257] 歩行者非視認部分が歩行者遮断部分を含む場合、歩行者可視部分と歩行者遮断部分はオブジェクト視認マップにおいて区別することができる。また、歩行者可視部分の画素値は、歩行者遮断部分の画素値よりも大きいので、対象の視認性において、歩行者可視部分の特徴を強調することが可能であり、且つ歩行者遮断部分の特徴を弱めることが可能であり、その後の歩行者検出プロセスにおける検出結果への歩行者遮断部分の影響を減らし、その結果、歩行者可視部分の特徴が強調され、歩行者検出の効果を向上させることができる。
[0258] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、画像の背景部分を含む。
[0259] 画像の背景部分は、画像中の歩行者以外の部分であってもよいし、或いは画像の背景部分は、画像中の歩行者及びメイン・オブジェクト(例えば、車両)以外の他の部分であってもよい。
[0260] 歩行者非視認部分が画像の背景部分を含む場合、歩行者と背景部分を、オブジェクト視認マップにおいて区別し、歩行者可視部分の特徴を強調し、背景部分の特徴を弱め、その後の歩行者検出プロセスにおける検出結果に対する背景部分の影響を軽減し、その結果、歩行者可視部分の特徴は以後の歩行者検出の際に強調され、それにより、歩行者検出の効果を高めることができる。
[0261] 図16に示すように、ステップ1004における画像のオブジェクト視認マップを決定する具体的なプロセスは、以下のステップを含んでもよい:
[0262] 1004a. 第1畳み込みネットワークを用いて画像の基本特徴マップに関して畳み込み処理を実行して複数の第1セマンティック特徴マップを得る。
[0263] 1004b. 複数の第1セマンティック特徴マップに関して重み付け加算処理を実行して、画像のオブジェクト視認マップを得る。
[0264] 複数の第1意味特徴マップは、異なる意味論的意味を有する複数の特徴マップであって基本特徴マップの完全なマップから抽出されるものである。具体的には、複数の第1セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0265] 例えば、複数の第1セマンティック特徴マップが、F1、F2、及びF3を含み、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は右手の特徴を反映し、F1、F2、及びF3によってそれぞれ反映される意味論的意味は互いに異なる。
[0266] ステップ1004aにおいて畳み込み処理が実行される場合に使用される畳み込みパラメータは、後続のステップ1007aにおいて畳み込み処理が実行される場合に使用される畳み込みパラメータと同じである。ステップ1004bにおいて重み付け加算処理が複数の第1セマンティック特徴に対して実行される場合に使用される重み付け係数は、分類器における重み係数であって歩行者スコアを決定するために使用される重み係数である。分類器は、図8AのRCNNモジュール106内の分類器である。
[0267] ステップ1004aにおける畳み込みパラメータは、ステップ1007aにおける畳み込みパラメータと同じであり、ステップ1004aにおける複数の第1セマンティック特徴に対して重み付け加算処理が実行される場合に使用される重み係数が、分類器における重み係数であって歩行者スコアを決定するために使用される重み係数であるので、ステップ1004bにおいて取得されるオブジェクト視認マップは、歩行者非視認部分に対する応答よりも強い、歩行者視認部分に対する応答を有する可能性がある。
[0268] ステップ1004a及びステップ1004bにおいて、自己活性化モジュールは、基本特徴マップを処理して、画像のオブジェクト視認マップを得ることができる。
[0269] 以下、図17を参照して、ステップ1004a及びステップ1004bを詳細に説明する。
[0270] 図17に示されるように、Conv5畳み込み層を使用することによって、基本特徴マップU∈H*W*Kに関して別の畳み込み処理が先ず実行され、より上位の層のセマンティック特徴マップF∈H*W*Kを得る。H、W、Kはそれぞれ、より上位の層のセマンティック特徴マップの高さ、幅、チャネル数である。より上位の層のセマンティック特徴は、人物の何らかの主要部分の特徴(例えば、頭部の特徴、左手の特徴、右手の特徴)を反映することができる。
[0271] 次に、より上位の層のセマンティック特徴マップFは、K個の第1特徴マップFk∈H*Wに更に分割されてもよく、k=1,2,...,Kである。各々の第1特徴マップは異なる特徴を反映している。例えば、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は背景オブジェクトの特徴を反映し...等々である。歩行者認識の際には、異なる部分の特徴は異なる重要性を持つ。幾つかの特徴は、歩行者認識の際に非常に重要であり、幾つかの特徴は、歩行者認識の際に重要度が低い。例えば、歩行者認識の際に頭部の特徴と顔の特徴は相対的に重要であり、歩行者認識の際に背景の物体の特徴は相対的に重要度が低い。
[0272] 更に、自己活性化モジュールにおけるConv5畳み込み層の畳み込みパラメータは、後述の図24に示されるRCNNモジュールにおけるConv5畳み込み層の畳み込みパラメータと同じである。RCNNモジュールにおけるConv5畳み込み層の畳み込みパラメータは、一般に、歩行者検出前の複数回の訓練を通じて取得される。従って、自己活性化モジュールのConv5畳み込み層が、RCNNモジュールのConv5畳み込み層と同じ畳み込みパラメータを使用する場合、画像の高度なセマンティック特徴をより良く抽出することができる。また、分類器の重みは、Conv5畳み込み層の後でカテゴリと特徴との間のマッピング関係を確立するので、分類器(図8AのRCNNモジュール106)の重みを再利用するために、自己活性化モジュールは、同じエンコーディングを実行する必要がある。従って、本件ではConv5畳み込み層が使用される。
[0273] 複数の第1特徴マップ(F1乃至Fk)が得られた後に、画像の視認性マップを得るために、数式(2)に基づいて、複数の第1特徴マップに対して重み付け加算が実行されてもよい:
[0274] 数式(2)では、w
k∈1*1は、第1特徴マップF
k∈H*Wの重み係数を表す。より大きなw
kは、F
kが歩行者の認識に、より大きく寄与し、F
kはより重要なものであることを示す。
[0275] 数式(2)に基づいて画像のオブジェクト視認マップが計算される場合、使用される重み係数(ここでは、重み係数は視認ウェイトと言及されてもよい)は、RCNNモジュールにおいて異なる意味論的意味を有する特徴マップに対して重み付け加算が実行される場合に以後に使用される重み係数と同じである。具体的には、第1特徴マップFk∈H*Kの重み係数は、RCNNモジュールが同じ意味論的意味を有する特徴マップを重ね合わせる場合に以後に使用される重み係数と同じである。例えば、数式(2)において人の頭部を表す第1特徴マップの重み係数は、RCNNモジュールが、人の頭部を表す特徴マップに関して重み付け加算を実行する場合に以後に使用される重み係数と同じである。
[0276] 数式(2)の重み付け加算方式では、人体検出に大きく寄与する特徴は強調され、人体検出に小さく寄与をする特徴は抑制される可能性がある。画像のオブジェクト視認マップVであって数式(2)を用いる計算を通じて得られるものは、歩行者視認部分に対して強い応答を生じ、背景や遮られる部分に対して弱い応答を生じさせることができる、ということが実験で判明した。
[0277] 図14及び図15には、画像のオブジェクト視認マップであって数式(2)を用いる演算を通じて生成されたものが示されている。図14及び図15に示す画像では、人の色は比較的明るく、相対的に大きく強いことを示しており、人の周囲の他の物体又は背景の色は相対的に的暗く、弱い反応を示している。一般に、図14及び図15に示す画像のオブジェクト視認マップは、背景に対して強い抑制効果を有する。局所的には、歩行者視認部分に対する応答は強く、歩行者遮断部分への応答は弱い。
[0278] 本願では、重み付け加算処理を実行するために、RCNNモジュールによって使用されたものと同じ重み付け係数を使用することによって複数の第1特徴マップに対して重み付け加算を行うことで、画像のオブジェクト視認マップが取得される場合、人体に大きく寄与する特徴を強調することができ、小さく寄与する特徴を抑制することができる。
[0279] 1005. 画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理を実行して、画像の改善された特徴マップを取得する。
[0280] 画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理が実行される前に、先ず、画像のオブジェクト視認マップに関して次元拡張が実行されてもよく、その結果、次元拡張後に得られるオブジェクト視認マップのチャネル数は、基本特徴マップのチャネル数と同じになる。次いで、画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理が実行される。融合処理の際に、具体的には、以下の3つの融合方法が使用されてもよい。
[0281] 第1融合方法:
[0282] 第1融合方法では、基本特徴マップ中の対応する要素は、次元拡張後に得られるオブジェクト視認マップ中の対応する要素と乗算され、得られた生成物と元の基本特徴マップ中の対応する要素とが合計されて、改善された特徴マップUの中の対応する要素の値を得る。
[0283] 具体的には、図18に示すように、オブジェクト視認マップVは、一般に、次元拡張が実行される前では唯1つのチャネルを有する。次元拡張を通じて、次元拡張の後に取得されるオブジェクト視認マップVのチャネル数は、基本特徴マップUのチャネル数と同じである。次いで、基本特徴マップUの要素(i, j)は、次元拡張後に取得される基本特徴マップUの要素(i, j)と乗算され、基本特徴マップUの要素(i, j)の値と積とが合計され、改善された特徴マップの各要素の値を取得する。
[0284] 図18に示すプロセスにおいて、重み付け加算は、チャネル毎に特徴マップに関して実行され、最終的に改善された特徴マップを取得することが可能であり、その改善された特徴マップのチャネル数は基本特徴マップのものと同じである。例えば、基本特徴マップUは、全部で64個のチャネルを有する。この場合、基本特徴マップの各チャネルの特徴マップは、オブジェクト視認マップの対応する要素と乗算され、次いで、乗算結果と、基本特徴マップの対応する要素とが合計されて、改善された特徴マップの対応する要素の値を求めることができる。改善された特徴マップの64個のチャネル各々の特徴マップの要素の値が得られるまで、同様な演算が反復される。
[0285] 具体的には、重み付け処理の間に、数式(3)を用いて、画像のオブジェクト視認マップVと基本特徴マップUに関して重み付け処理を実行し、画像の改善された特徴マップUを得ることができる。
は、Vがチャネルの次元でK回拡張されることを意味し、◎は対応する要素の乗算を意味する。
[0287] 画像についての改善された特徴マップであって自己活性化モジュール103を使用することによって得られるものは、画像内の人体可視部分の特徴を強調し、且つ背景の特徴と障害物の特徴を抑制することができ、それによって、画像の改善された特徴に基づいて以後に実行される高精度な歩行者検出を促進する。
[0288] 第2融合方法:
[0289] 第2融合方法では、基本特徴マップにおける対応する要素は、次元拡張の後に得られるオブジェクト視認マップにおける対応する要素と乗算され、次いで、得られた積と、次元拡張後に得られるオブジェクト視認マップ中の対応する要素とが合計され、改善された特徴マップU~における対応する要素の値を求めることができる。
[0290] 第3融合方法:
[0291] 第3融合方法では、基本特徴マップにおける対応する要素と、次元拡張の後に得られるオブジェクト視認マップ中の対応する要素とに関して重み付け加算が直接的に実行されることが可能であり、重み付け加算の後に得られる要素の値は、改善された特徴マップ中の対応する要素の値である。重み付け加算が実行される場合、次元拡張の後に得られるオブジェクト視認マップの重み付け係数は、基本特徴マップの重み付け係数よりも大きくてもよく、その結果、改善さえた特徴マップは、オブジェクト視認マップの特徴を主に反映する。
[0292] 1006. 画像のプロポーザルと画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定する。
[0293] プロポーザルに対応する特徴であってステップ1006で得られるものは、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された機能マップ内にある領域であってプロポーザル内に位置する領域の特徴である。
[0294] 具体的には、プロポーザルの領域特徴は、改善された特徴マップ内の領域であってプロポーザルに対応する領域の特徴であってもよい。プロポーザルの領域特徴が決定されると、改善された特徴マップ中のプロポーザルの位置が先ず決定され、次いで、改善された特徴マップ中の領域であってプロポーザルで境界が形成される領域の特徴が、プロポーザルの領域特徴として決定されてもよい。
[0295] 更に、サンプリング処理(具体的には、アップサンプリング又はダウンサンプリングである可能性がある)は、改善された特徴マップ内にある領域であってプロポーザルによって境界が形成される領域の特徴に対して更に実行され、プロポーザルの領域特徴を得ることができる。
[0296] プロポーザルに対応する特徴は、プロポーザルの領域特徴に加えて、プロポーザル外側の別の領域の特徴を更に含んでもよい。
[0297] 図19に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、画像の改善された特徴マップ内にある特徴であってプロポーザル内に位置する特徴が、プロポーザルに対応する特徴として直接的に使用されてもよい。
[0298] プロポーザルに対応する最終的に決定された特徴を、より正確にするために、プロポーザルの領域は、先ず画像のオブジェクト視認マップを参照して決定され、次いで、プロポーザルに対応する特徴が、画像のプロポーザルの領域と画像の改善された特徴マップとに基づいて決定される。
[0299] 図20に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず画像のオブジェクト視認マップから決定され、次いで、プロポーザルの領域(領域の場所)に基づいて、改善された特徴マップ内にある特徴であってプロポーザル内に位置する特徴が、プロポーザルに対応する特徴として決定される。
[0300] 図20において、画像のオブジェクト視認マップは、人体可視部分に対してより強い応答を有するので、プロポーザルの位置は、オブジェクト視認マップを使用することによって、より正確に決定し、次いで、プロポーザルのより正確な領域特徴を得ることができる。
[0301] 図19及び図20では、プロポーザルの領域特徴が得られた後に、RCNNモジュールを使用して、プロポーザルの領域特徴の処理を継続し、最終的に、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを得ることができる。
[0302] 本願では、最終的な歩行者検出結果の精度を更に向上させるために、プロポーザル周辺の領域の領域特徴を抽出することができ、プロポーザル周辺の領域の領域特徴はプロポーザルの領域特徴と融合され、次いで、融合した特徴はRCNNモジュールを用いて処理され、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを決定する。本願では、プロポーザルの領域特徴とプロポーザルの周辺の領域の領域特徴とが総合的に使用され、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを総合的に決定し、歩行者検出の精度はより高くなる。
[0303] オプションとして、プロポーザルに対応する特徴は、プロポーザルの輪郭領域の領域特徴を更に含み、プロポーザルの輪郭領域は、プロポーザルと、プロポーザルが第1プリセット比率だけ縮小された後に得られる縮小プロポーザルとの間に形成される領域である。
[0304] プロポーザルの輪郭領域の領域特徴は一般に歩行者の輪郭特徴を含み、歩行者の輪郭特徴は歩行者検出において非常に重要な役割を果たす。
[0305] 図21に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず、画像のオブジェクト視認マップから決定され、次いで、プロポーザルのフレームは、特定の比率で内側に縮小される。プロポーザルの元のフレームと、プロポーザルの縮小後に得られるフレームとの間の領域は、プロポーザルの輪郭領域である。
[0306] 代替的に、プロポーザルの輪郭領域が決定されると、プロポーザルの領域は、改善された特徴マップから決定され、次いで、プロポーザルのフレームは、特定の比率で内側に縮小される。プロポーザルの元のフレームと、プロポーザルの縮小後に得られるフレームとの間の領域は、プロポーザルの輪郭領域である。
[0307] プロポーザルが第1プリセット比率で縮小されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で縮小されることを意味してもよく、プロポーザルの幅と高さが縮小される割合は同じであってもよいし、或いは異なっていてもよい。
[0308] オプションとして、プロポーザルが第1プリセット比率で縮小されることには、次のようなものを含む:プロポーザルの幅は第1縮小比率で縮小され、プロポーザルの高さは第2縮小比率で縮小される。
[0309] 第1プリセット比率は、第1縮小比率と第2縮小比率を含み、第1縮小比率と第2縮小比率は同じであってもよいし、或いは異なっていてもよい。
[0310] 第1縮小比率と第2縮小比率は、経験に基づいて設定されてもよい。例えば、第1縮小比率と第2縮小比率について適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴はプロポーザルの輪郭領域からより良く抽出することができ、その輪郭領域は、プロポーザルの幅と高さが第1縮小比率と第2縮小比率によって縮尺された後に得られるものである。
[0311] 第1縮小比率と第2縮小比率は、歩行者輪郭をより良く抽出するために使用できる値に設定されてもよい。
[0312] 第1縮小比率は1/1.1であってもよく、第2縮小比率は1/1.8であってもよい。
[0313] プロポーザルのフレームは、プロポーザルのセンターを中心として使用することにより、特定の割合で内側に縮小されてもよい。縮小プロポーザルの中心は、画像のオブジェクト視認マップ中の元のプロポーザルの最大値の地点であってもよい。
[0314] オプションとして、縮小プロポーザルの中心は、元のプロポーザルの中心に一致する。
[0315] 本願では、プロポーザルに対応する特徴がプロポーザルの輪郭領域の領域特徴を更に含む場合に、歩行者の輪郭特徴も歩行者検出中に考慮することができ、その結果、歩行者検出は、以後、歩行者の輪郭特徴と組み合わせてより良好に行うことができる。
[0316] オプションとして、図10に示される方法は、プロポーザルの領域特徴のうちの特徴であって縮小プロポーズ内に位置する特徴の値をゼロに設定し、プロポーザルの輪郭領域の領域特徴を取得することを更に含む。
[0317] 本願では、プロポーザルの輪郭領域の領域特徴が得られた場合、プロポーザルの領域特徴の特徴であって縮小プロポーザルに位置する特徴の値が、直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を迅速かつ好都合に取得することができる。
[0318] 本願において、プロポーザルの輪郭領域の領域特徴は、代替的に、別の方法で取得されてもよいことが理解されるべきである。例えば、プロポーザルの輪郭領域の領域特徴は、プロポーザルの輪郭領域の領域位置に基づくスキャニングによって、改善された特徴マップから直接的に取得されてもよい。
[0319] オプションとして、プロポーザルに対応する特徴は、プロポーザルの背景領域の領域特徴を更に含み、プロポーザルの背景領域は、プロポーザルと、第2プリセット比率によりプロポーザルが拡大された後に取得される拡大プロポーザルとの間に形成される領域である。
[0320] プロポーザルの背景領域の領域特徴は、一般に、画像中の歩行者が位置する背景領域の特徴を反映する。歩行者検出は、背景領域の特徴と歩行者の特徴に基づいて実行されてもよい。
[0321] プロポーザルが第1プリセット比率で拡大されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で拡大されることを意味してもよく、プロポーザルの幅と高さが拡大される割合は同じであってもよいし、或いは異なっていてもよい。
[0322] オプションとして、プロポーザルが第1プリセット比率で拡大されることは、以下を含む:プロポーザルの幅が第1拡大比率で拡大され、プロポーザルの高さが第2拡大比率で拡大される。
[0323] 第1プリセット比率は、第1拡大比率と第2拡大比率を含み、第1拡大比率と第2拡大比率は同じであってもよいし、或いは異なっていてもよい。
[0324] 第1拡大比率と第2拡大比率は、経験に基づいて設定されてもよい。例えば、1拡大比率と第2拡大比率について、適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴を、プロポーザルのものである輪郭領域から良好に抽出することが可能であり、その輪郭領域は、プロポーザルの幅と高さが第1拡大比率及び第2拡大比率で拡大された後に得られるものである。
[0325] 第1拡大比率及び第2拡大比率は、歩行者の輪郭をより良く抽出するために使用できる値に設定されてもよい。
[0326] 第1拡大比率は1/1.1であってもよく、第2拡大比率1/1.8であってもよい。
[0327] 図22に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず、画像のオブジェクト視認マップから決定され、次いで、プロポーザルのフレームは、特定の比率で外側に拡大される。プロポーザルの元のフレームと、プロポーザルが拡大された後に得られるフレームとの間の領域は、プロポーザルの背景領域である。
[0328] 代替的に、プロポーザルの背景領域が決定されると、プロポーザルの領域は、先ず、画像のプロポーザル(プロポーザルの場所)に基づいて画像の改善された特徴マップから決定されてもよく、次いで、プロポーザルのフレームは、特定の比率で外側に拡大される。プロポーザルの元のフレームと、プロポーザルが拡大された後に得られるフレームとの間の領域は、プロポーザルの背景領域である。
[0329] プロポーザルのフレームが拡大される場合、拡大比率は経験に基づいて決定されてもよい。例えば、プロポーザルが拡大される場合、プロポーザルの幅は元の幅の1.1倍に変更されてもよく、プロポーザルの高さは元の高さの1.8倍に変更されてもよい。
[0330] プロポーザルのフレームは、プロポーザルのセンターを中心として使用することにより、特定の割合で外側に拡大されてもよい。拡大プロポーザルの中心は、画像のオブジェクト視認マップ中の元のプロポーザルの最大値の地点であってもよい。
[0331] オプションとして、拡大プロポーザルの中心は、元のプロポーザルの中心に一致する。
[0332] 本願では、プロポーザルに対応する特徴がプロポーザルの背景領域の領域特徴を更に含む場合に、背景領域の領域特徴も歩行者検出中に考慮することができ、その結果、歩行者検出は、以後、背景領域の領域特徴と組み合わせてより良好に行うことができる。
[0333] オプションとして、図10に示される方法は、更に、第1領域の領域特徴を取得するステップであって、第1領域の領域特徴は、オブジェクト視認マップ内にある領域であって拡大プロポーザル内に位置する領域内の領域特徴である、ステップと、第1領域の領域特徴の特徴であってプロポーザル内に位置する特徴をゼロに設定して、プロポーザルの背景領域の領域特徴を取得するステップとを更に含む。
[0334] オプションとして、プロポーザルの背景領域の領域特徴は、代替的に、改善された特徴マップを参照して決定されてもよい。具体的には、第2領域の領域特徴を得ることができ、ここで、第2領域の領域特徴は、改善された特徴マップにある領域であって拡大されたプロポーザルに位置する領域の領域特徴であり;第2領域の領域特徴であってプロポーザルに位置する特徴はゼロに設定され、プロポーザルの背景領域の領域特徴を得ることができる。
[0335] 本願では、プロポーザルの背景領域の領域特徴が得られた場合に、改善された特徴マップにある領域特徴であってプロポーザルの背景領域に対応する領域特徴が取得され、次いで、その領域特徴のうちの特徴であってプロポーザルに位置する特徴は直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を迅速かつ好都合に得ることができる。
[0336] プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びここでのプロポーザルの背景特徴は、プロポーザルに対応する特徴として言及されてよいことが理解されるべきである。換言すれば、この場合、プロポーザルに対応する特徴は、プロポーザルの領域内の領域特徴を含むだけでなく、プロポーザルの領域外側の別の領域(輪郭領域及び背景領域)の領域特徴も含む。
[0337] 具体的には、プロポーザルの領域特徴に加えて、プロポーザルに対応する特徴は、プロポーザルの輪郭特徴及びプロポーザルの背景特徴の少なくとも1つを更に含んでもよい。
[0338] プロポーザルに対応する特徴が、3つの特徴:プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴を含む場合、プロポーザルに対応する特徴はほとんどの情報を含み、従って、プロポーザルに対応する特徴に対してRCNNモジュールに基づいて歩行者検出が以後に実行される場合、歩行者検出の精度はある程度改善される可能性がある。
[0339] プロポーザルに対応する特徴は、3つの独立した特徴:プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴を直接的に含んでいてもよいし、或いは3つの特徴、即ちプロポーザルの領域特徴、プロポーザルの輪郭特徴、プロポーザルの背景特徴が融合された後に得られる特徴を含んでいてもよいことが理解されるべきである。換言すれば、3つの特徴、即ちプロポーザルの領域特徴、プロポーザルの輪郭特徴、プロポーザルの背景特徴は融合されることが可能であり、融合された特徴はプロポーザルに対応する特徴である。
[0340] プロポーザルに対応する特徴を取得し、プロポーザルに対応する特徴に基づいて歩行者検出を実行するプロセスは、プロポーザルに対応する特徴が、プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴という3つの特徴が融合された後に取得した特徴である例を使用することによって、図23を参照しながら詳細に説明される。
[0341] 図23に示すように、画像のプロポーザルと画像のオブジェクト視認マップとに基づいて、プロポーザルの領域、プロポーザルの輪郭領域、及びプロポーザルの背景領域を決定することができる(これらの領域を決定するプロセスについては、図21及び図22を参照されたい)。
[0342] 次いで、プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴(略して、輪郭特徴と言及されてもよい)、及びプロポーザルの背景領域の領域特徴(略して、背景特徴と言及されてもよい)が、プロポーザルの領域、プロポーザルの輪郭領域、及びプロポーザルの背景領域に基づいて、画像の改善された特徴マップからそれぞれ抽出される。
[0343] プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴、及びプロポーザルの背景領域の領域特徴が得られた後、3つの特徴を融合して融合特徴を得ることができる。融合機能はプロポーザルに対応する特徴である。3つの特徴は、線型結合方式で融合されてもよく(3つの特徴に対して重み付け加算が行われる)、又は非線型結合方式で融合されてもよい。3つの特徴が融合される前に、3つの特徴は、最初に同じサイズ(例えば、7×7×K、ここで、Kはチャネル数である)に調整されてもよい。次いで、3つの特徴は融合される。
[0344] プロポーザルに対応する特徴が得られた後、RCNNモジュールを用いてプロポーザルに対応する特徴を処理し、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを最終的に得ることができる。
[0345] 1007. プロポーザルに対応する特徴に基づいて、画像に歩行者を含む境界ボックスと画像に歩行者を含む境界ボックスの信頼度を決定する。
[0346] プロポーザルに対応する特徴に対して畳み込み処理と重み付け加算を行うことにより、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度は、プロポーザルに対応する部分の画像特徴に基づいて、より良く決定することができる。
[0347] 本願では、画像のオブジェクト視認マップは歩行者可視部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることによって得られる改善された特徴マップは、歩行者可視部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に行われる歩行者検出の精度を向上させる。更に、歩行者が(相対的に深刻に)遮られている場合、このアプリケーションにおける歩行者検出の精度は相対的に顕著に改善される。
[0348] 更に、本願では、オブジェクト視認マップを使用することによって歩行者検出の精度が改善される場合、訓練データのマーキング量は、訓練プロセスにおいて増加しない。本願では、処理プロセスにおいてオブジェクト視認マップを生成し、その後の処理においてオブジェクト視認マップを総合的に考慮する必要があるだけである。データ・マーキング量を増加させることによって、歩行者検出の精度が改善される解決策と比較して、本願は、データ・マーキング量を低減し、訓練の複雑性を低減することができる。
[0349] 本願のこの実施形態における歩行者検出方法は、ドライバー支援/自動運転システム及びセーフ・シティ/ビデオ監視システムのような複数のシナリオに適用することができる。
[0350] 本願のこの実施形態における歩行者検出方法が、ドライバー支援/自動運転システムに適用される場合、道路画像が得られ、本願のこの実施形態における歩行者検出方法を使用して処理することによって、道路画像に歩行者を含む境界ボックスと道路画像に歩行者を含む境界ボックスの信頼度とを検出することができる。次いで、自動運転車両は、道路画像中に歩行者を含む境界ボックスと、道路画像中に歩行者を含む境界ボックスの信頼度とに基づいて制御されることが可能である。例えば、道路画像中に歩行者を含む境界ボックスと道路画像中に歩行者を含む境界ボックスの信頼度とに基づいて、車両の前方におそらく歩行者がいると判断された場合、車両は減速及び警笛を行うように制御されたり、或いは車両は歩行者を回避するように制御されたりする可能性がある。
[0351] 本願のこの実施形態における歩行者検出方法が、セーフ・シティ/ビデオ監視システムに適用される場合、先ず、監視画像が得られ、次いで、本願のこの実施形態における歩行者検出方法を使用して処理することによって、監視画像に歩行者を含む境界ボックスと、監視画像に歩行者を含む境界ボックスの信頼度とが取得される。次いで、特定の人物が、監視画像に歩行者を含む境界ボックスと監視画像に歩行者を含む境界ボックスの信頼度とに基づいて認識されて追跡される可能性がある。例えば、監視画像に歩行者を含む境界ボックスと監視画像に歩行者を含む境界ボックスの信頼度とに基づいて、監視画像に特定の人物(行方不明者又は犯罪容疑者)が存在すると認識された場合、その特定の人物は、スカイ・アイ・システム(このシステムは、セーフ・シティ/ビデオ監視システムの一部と見なされてもよい)を介して追跡される可能性がある。
[0352] ステップ1007では、先ず、プロポーザルに対応する特徴に対して畳み込み処理が実行される可能性があり、次いで、畳み込み処理後に得られた畳み込み特徴マップに関して重み付け加算が実行され、最終的に、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とが、重み付け加算によって得られた特徴マップに基づいて決定される。
[0353] 具体的には、図16に示すように、ステップ1007において、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを決定する特定のプロセスは、以下のステップを含んでもよい:
[0354] 1007a. 第2畳み込みネットワークを用いて、プロポーザルに対応する特徴に関して畳み込み処理を実行し、複数の第2セマンティック特徴マップを得る。
[0355] 1007b. 回帰装置を使用することにより、複数の第2セマンティック特徴を処理し、画像中に歩行者を含む境界ボックスの位置を決定する。
[0356] 1007c. 分類器を使用することにより、複数の第2セマンティック特徴を処理し、画像中に歩行者を含む境界ボックスの信頼度を得る。
[0357] 複数の第2セマンティック特徴マップはそれぞれ、異なる意味論的意味を有する複数の特徴マップであってプロポーザルに対応する特徴から抽出されるものを表す。第2畳み込みネットワークの畳み込みパラメータは、第1畳み込みネットワークの畳み込みパラメータと同じである。具体的には、複数の第2セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0358] 例えば、複数の第2セマンティック特徴マップが、F1、F2、及びF3を含み、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は脚の特徴を反映し、F1、F2、及びF3によってそれぞれ反映される意味論的意味は互いに異なる。
[0359] ここでの例におけるF1、F2、及びF3は、複数の第1セマンティック特徴マップの前述の例の説明におけるF1、F2、及びF3とは異なることが理解されるべきである。ここでのF1、F2、及びF3は、第2セマンティック特徴マップに属する一方、複数の第1セマンティック特徴マップの前述の説明例におけるF1、F2、及びF3は、第1セマンティック特徴マップに属する。
[0360] 画像中に歩行者を含む境界ボックスの位置と画像中に歩行者を含む境界ボックスの信頼度とは、画像に関して実行される歩行者検出の検出結果であってもよく、画像の歩行者検出結果として言及されてもよい。
[0361] 以下、図24を参照して、ステップ1007a乃至1007cのプロセスを詳細に説明する。
[0362] 図24に示すように、RCNNモジュールにおけるConv5を使用することによって、プロポーザルに対応する特徴に関して畳み込み処理が実行され、複数の第2セマンティック特徴マップ(C1乃至Ck)を得ることができる。複数の第2セマンティック特徴マップの各々は、異なる特徴を反映する。例えば、C1は頭部の特徴を反映し、C2は左手の特徴を反映し、C3は背景オブジェクトの特徴を反映し、...等々である。複数の第2セマンティック特徴が得られた後、平均プーリング(global average pooling, GAP)モジュールを使用して、各々の第2セマンティック特徴マップに関して平均化処理を実行し、特徴マップP1乃至Pkを取得することができる。P1は特徴マップC1に関して平均化処理が実行された後に得られるものであり、Pkは特徴マップCkに関して平均化処理が実行された後に得られるものである。
[0363] 特徴マップP1乃至Pkが得られた後、プロポーザルの信頼度を得るために、分類器における分類係数を使用することによって、特徴マップP1乃至Pkに関して重み付け加算が実行されてもよい。
[0364] 具体的には、重み付け加算は、プロポーザルの信頼度を得るために、数式(4)に基づいて特徴マップPkに関して実行されてもよい:
[0365] 数式(4)において、w
k∈1*1はP
kに対応する分類係数である。RCNNの分類器では、より大きなw
kは、P
kが人物に対してより大きく寄与をすることを示す。P
kはC
kの平均であるので、P
kはC
kを表し、より大きなw
kは、C
kが人物を認識する上でより重要な役割を果たすことを示す。従って、分類器の重み係数はC
kに対する選択効果を有する。このため、自己活性化モジュールでは、より上位層のセマンティック特徴マップを重み付けし、オブジェクト視認マップを形成するために、RCNNと共有される分類係数w
kが使用される。
[0366] 最後に、ボックス回帰装置において、ボックスのより正確な座標(xmin, ymin, width, height)を得るために、同様な係数が使用される。
[0367] (xmin, ymin)は、ボックスの左上コーナー位置の座標であってもよい。WとHはそれぞれボックスの幅と高さを表す。更に、(xmin, ymin)は、代替的に、ボックスの中心位置、又はボックスの右上コーナー位置/左下コーナー位置/右下コーナー位置であってもよい。
[0368] プロポーザルの位置と座標が得られた後、非最大抑制(non-maximize suppression, NMS)処理が全ての出力プロポーザルに関して更に実行され、大きくオーバーラップしたプロポーザルを結合し、過剰に低い信頼度を伴うプロポーザルを除外して、歩行者検出結果を出力する、即ち、訓練画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを出力することができる。
[0369] 以下、本願のこの実施形態における歩行者検出方法の効果を、表1を参照して説明する。表1は、公表されているデータ・セット(CityPersons)に対して、本願の解決策と既存の解決策を使用することによって歩行者検出が実行された場合に得られるミス率(miss rate)を示す。従来の解決策1は、適応高速RCNN (adapted faster RCNN)解決策である。従来の解決策1は、2017年のコンピュウータ・ビジョン及びパターン認識に関するIEEE会議(IEEE Conference on Computer Vision and Pattern Recognition, CVPR)で提案されたものである。IEEEは電気電子技術者協会(institute of electrical and electronics engineers)である。従来の解決策2はオクルージョン・アウェアR-CNN(occlusion-aware R-CNN)解決策である。従来の解決策2は、2018年のコンピュータ・ビジョンに関する欧州会議(European conference on computer vision, ECCV)で提案されたものである。
[0370] また、表1の第2列は、画像内の全ての歩行者(他の物体で遮られている歩行者と他の物体で遮られていない歩行者とを含む)に関して実行された歩行者検出のロス率を示し、表1の第3列は、画像内で著しく遮られている歩行者に関して実行された歩行者検出のロス率を示す。より低いロス率は、より良い歩行者検出パフォーマンスを示す。
[0371] 2つのシナリオの両方において、特に、深刻な遮りを伴うシナリオにおいて、本願の解決策のロス率は既存の解決策のロス率より低いことを、表1から知ることができる。従来の解決策と比較して、本願の解決策は、約10%のパフォーマンス利得を達成できており、他と比べて明らかな効果改善を有する。
表1
[0372] 本願の実施形態における歩行者検出方法は、添付の図面に関連して上記で詳細に説明されている。本願の実施形態における歩行者検出装置は、添付の図面を参照して以下で詳細に説明されている。以下に説明される歩行者検出装置は、本願の実施形態における歩行者検出方法のステップを実行することができる、ということは理解されるべきである。不必要な繰り返しを避けるために、本願の実施形態における歩行者検出装置を以下で説明する場合に、繰り返しの説明は適宜省略される。
[0373] 図25は、本願の一実施形態による歩行者検出装置の概略ブロック図である。図25に示す歩行者検出装置3000は、取得ユニット3001と処理ユニット3002とを含む。
[0374] 取得ユニット3001と処理ユニット3002は、本願の実施形態において、歩行者検出方法を実行するように構成されることが可能である。具体的には、取得ユニット3001はステップ1001を実行することができ、処理ユニット3002はステップ1002乃至1007を実行することができる。
[0375] 処理ユニット3002は、様々な処理機能に基づいて複数のモジュールに分割されてもよい。具体的には、処理ユニット3002は、図7に示す歩行者検出装置におけるバックボーン・ネットワーク・モジュール101、RPNモジュール102、自己活性化モジュール103、基本特徴重み付けモジュール104、領域特徴生成モジュール105、RCNNモジュール106、及び出力モジュール107と同等であってもよい。処理ユニット3002は、図7に示す歩行者検出装置におけるモジュールの機能を実現することができる。
[0376] 図26は、本願の実施形態による歩行者検出装置のハードウェア構造の概略図である。図26に示される歩行者検出装置4000(装置4000は、具体的には、コンピュータ・デバイスであってもよい)は、メモリ4001、プロセッサ4002、通信インターフェース4003、及びバス4004を含む。メモリ4001、プロセッサ4002、及び通信インターフェース4003の間の通信接続は、バス4004を介して実装される。
[0377] メモリ4001は、リード・オンリー・メモリ(read-only memory, ROM)、スタティック記憶デバイス、ダイナミック記憶デバイス、又はランダム・アクセス・メモリ(random access memory, RAM)であってもよい。メモリ4001は、プログラムを記憶することができる。メモリ4001に記憶されたプログラムがプロセッサ4002によって実行されると、プロセッサ4002は、本願の実施形態における歩行者検出方法のステップを実行するように構成されている。
[0378] プロセッサ4002は、汎用中央処理ユニット(central processing unit, CPU)、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit, ASIC)、グラフィックス処理ユニット(graphics processing unit, GPU)、又は1つ以上の集積回路を使用することが可能であり、関連プログラムを実行して、本願の方法の実施形態における歩行者検出方法を実施するように構成されている。
[0379] 代替的に、プロセッサ4002は、集積回路チップであってもよく、信号処理能力を有する。実装プロセスにおいて、本願の歩行者検出方法のステップは、プロセッサ4002内のハードウェア集積論理回路を使用することによって、又はソフトウェアの形式における命令を使用することによって、実装されることが可能である。
[0380] 代替的に、プロセッサ4002は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processing, DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array, FPGA)、又は別のプログラマブル論理デバイス、個別ゲート又はトランジスタ論理デバイス、或いは個別ハードウェア構成要素であってもよい。本願の実施形態において開示される方法、ステップ、及び論理ブロック図が実施又は実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよく、或いはプロセッサは、任意の従来のプロセッサ等であってもよい。本願の実施形態に関連して開示される方法のステップは、ハードウェア復号化プロセッサを使用することによって直接的に実行され完結されてもよいし、或いは復号化プロセッサ内のソフトウェア・モジュール及びハードウェア・モジュールの組み合わせを使用することによって実行され完結されてもよい。ソフトウェア・モジュールは、ランダム・アクセス・メモリ、フラッシュ・メモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブル・メモリ、又はレジスタのような当該技術分野で成熟した記憶媒体に配置されることが可能である。記憶媒体は、メモリ4001内に位置する。プロセッサ4002は、メモリ4001内の情報を読み込み、プロセッサ4002のハードウェアと組み合わせて、歩行者検出装置に含まれるユニットによって実行されることを必要とする機能を完了するか、又は本願の方法の実施形態における歩行者検出方法を実行する。
[0381] 通信インターフェース4003は、例えばトランシーバであるがそれに限定されないトランシーバ装置を使用して、装置4000と他のデバイス又は通信ネットワークとの間の通信を実現する。例えば、処理対象画像は、通信インターフェース4003を使用することによって取得されてもよい。
[0382] バス4004は、装置4000の種々の構成要素(例えば、メモリ4001、プロセッサ4002、及び通信インターフェース4003)の間の情報転送のための経路を含んでもよい。
[0383] 図27は、本願の実施形態によるニューラル・ネットワーク訓練装置のハードウェア構造の概略図である。前述の装置4000と同様に、図27に示されるニューラル・ネットワーク訓練装置5000は、メモリ5001、プロセッサ5002、通信インターフェース5003、及びバス5004を含む。メモリ5001、プロセッサ5002、及び通信インターフェース5003の間の通信接続は、バス5004を介して実装される。
[0384] メモリ5001は、ROM、静的記憶デバイス、又はRAMであってもよい。メモリ5001は、プログラムを記憶することができる。メモリ5001に記憶されたプログラムがプロセッサ5002によって実行されると、プロセッサ5002及び通信インターフェース5003は、本願の実施形態におけるニューラル・ネットワーク訓練方法のステップを実行するように構成される。
[0385] プロセッサ5002は、汎用CPU、マイクロプロセッサ、ASIC、GPU、又は1つ以上の集積回路を使用してもよく、関連プログラムを実行し、本願の実施形態における画像処理装置内のユニットによって実行されることを必要とする機能を実行するか、或いは本願の方法の実施形態におけるニューラル・ネットワーク訓練方法を実行するように構成される。
[0386] 代替的に、プロセッサ5002は、集積回路チップであってもよく、信号処理能力を有する。実装プロセスにおいて、本願の実施形態におけるニューラル・ネットワーク訓練方法のステップは、プロセッサ5002内のハードウェア集積論理回路を使用することによって、又はソフトウェアの形式における命令を使用することによって、実装されることが可能である。
[0387] 代替的に、上記のプロセッサ5002は、汎用プロセッサ、DSP、ASIC、FPGA、又は別のプログラマブル論理デバイス、個別ゲート又はトランジスタ論理デバイス、或いは個別ハードウェア構成要素であってもよい。本願の実施形態において開示される方法、ステップ、及び論理ブロック図が実施又は実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよく、或いはプロセッサは、任意の従来のプロセッサ等であってもよい。本願の実施形態に関連して開示される方法のステップは、ハードウェア復号化プロセッサを使用することによって直接的に実行され完結されてもよいし、或いは復号化プロセッサ内のソフトウェア・モジュール及びハードウェア・モジュールの組み合わせを使用することによって実行され完結されてもよい。ソフトウェア・モジュールは、ランダム・アクセス・メモリ、フラッシュ・メモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブル・メモリ、又はレジスタのような当該技術分野で成熟した記憶媒体に配置されることが可能である。記憶媒体は、メモリ5001内に位置する。プロセッサ5002は、メモリ5001内の情報を読み込み、プロセッサ5002のハードウェアと組み合わせて、歩行者検出装置の実施形態における画像処理装置に含まれるユニットによって実行されることを必要とする機能を完了するか、又は本願の方法の実施形態におけるニューラル・ネットワーク訓練方法を実行する。
[0388] 通信インターフェース5003は、例えばトランシーバであるがそれに限定されないトランシーバ装置を使用して、装置5000と他のデバイス又は通信ネットワークとの間の通信を実現する。例えば、処理対象画像は、通信インターフェース5003を使用することによって取得されてもよい。
[0389] バス5004は、装置5000の種々の構成要素(例えば、メモリ5001、プロセッサ5002、及び通信インターフェース5003)の間の情報転送のための経路を含んでもよい。
[0390] 装置4000と装置5000の各々にメモリ、プロセッサ、通信インターフェースのみが示されているが、特定の実装プロセスにおいては、装置4000と装置5000は、通常の動作に必要な他の構成要素を更に含む可能性があることを当業者は理解するはずである、ということに留意すべきである。更に、特定の要件に従って、装置4000と装置5000は、他の追加機能を実施するためのハードウェア構成要素を更に含んでもよいことを、当業者は理解するはずである。更に、装置4000と装置5000は、本願の実施形態を実施するために必要な構成要素のみを含んでいてもよいが、必ずしも図26及び図27に示す全ての構成要素を含む必要はないことを、当業者は理解するはずである。
[0391] 当業者は、本明細書に開示された実施形態に記載される例との組み合わせにおいて、ユニット及びアルゴリズム・ステップが、電子ハードウェア、又はコンピュータ・ソフトウェアと電子ハードウェアとの組み合わせによって実施されてもよいことを認識することができる。機能がハードウェア又はソフトウェアで実行されるかどうかは、特定のアプリケーションや技術的解決策の設計上の制約に依存する。当業者は、特定のアプリケーションの各々について、説明された機能を実現するために様々な方法を使用する可能性があるが、その実現は本願の範囲を越えて行くものであると考えられるべきではない。
[0392] 説明の簡便性のために、前述のシステム、装置、及びユニットの詳細な処理プロセスについては、前述の方法の実施形態における対応するプロセスをされたい、ということを当業者は明確に理解されることが可能であり、詳細はここで再度説明されない。
[0393] 本願で提供される幾つかの実施形態において、開示されたシステム、装置、及び方法は、他の方法で実施することができる、ということは理解されるべきである。例えば、説明された装置の実施形態は単なる例である。例えば、分割単位は、単なる論理的な機能分割であるに過ぎず、実際の実装においては他の分割であってもよい。例えば、複数のユニット又は構成要素が、別のシステムに結合又は統合されてもよいし、或いは幾つかの特徴が無視されたり、或いは実行されなかったりしてもよい。また、図示又は説明された相互結合、直接結合、又は通信接続は、幾つかのインターフェースを使用することによって実現されてもよい。デバイス又はユニット間の間接的な結合又は通信接続は、電気的、機械的、又は他の形態で実施されてもよい。
[0394] 別個のパーツとして説明されるユニットは、物理的に別々であってもなくてもよく、ユニットとして表示されているパーツは、物理的なユニットであってなくてもよく、一カ所に配置されていてもよいし、或いは複数のネットワーク・ユニット上に分散されていてもよい。全部又は一部のユニットは、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてもよい。
[0395] 更に、本願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよいし、或いは各ユニットは、物理的に単独で存在してもよいし、或いは2つ以上のユニットは1つのユニットに統合される。
[0396] 機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売又は使用される場合、機能は、コンピュータ読み取り可能な記憶媒体に格納されていてもよい。このような理解に基づいて、本質的に本願の技術的解決策、又は先行技術に対して寄与する部分、又は技術的解決策の一部分は、ソフトウェア製品の形態で実施されてもよい。コンピュータ・ソフトウェア製品は、記憶媒体に格納され、コンピュータ・デバイス(パーソナル・コンピュータ、サーバー、ネットワーク・デバイスなどであってもよい)が、本願の実施形態で説明される方法の全部又は一部のステップを実行するように指示するための幾つかの命令を含む。前述の記憶媒体は、USBフラッシュ・ドライブ、リムーバブル・ハード・ディスク、リード・オンリー・メモリ(read-only memory, ROM)、ランダム・アクセス・メモリ(random access memory, RAM)、磁気ディスク、又は光ディスクのようなプログラム・コードを記憶することが可能な任意の媒体を含む。
[0397] 前述の説明は、本願の単なる具体的な実装であるに過ぎず、本願の保護範囲を制限するようには意図されていない。本願で開示される技術的範囲内で、当業者によって容易に把握される如何なる変更や置換も、本願の保護範囲内に該当するものとする。従って、本願の保護範囲はクレームの保護範囲に従うものとする。
[0001] 本願は、2019年7月30日付で中国特許庁に出願された「歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップ」と題する中国特許出願第201910697411.3号に対する優先権を主張しており、同出願は参照により全体が本件に援用される。
技術分野
[0002] 本願は、人工知能分野におけるコンピュータ・ビジョンの分野に関連し、より具体的には、歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップに関連する。
背景
[0003] 様々な応用分野、例えば製造、検査、文書分析、医学的診断、及び軍事のような分野における様々なインテリジェント/自律システムの不可分な部分として、コンピュータ・ビジョンは、カメラ/ビデオ・カメラ及びコンピュータを使用して、撮影された対象に関する情報及び必要なデータを得る方法についての学習である。明確に、コンピュータは、目(カメラ/ビデオ・カメラ)と脳(アルゴリズム)を備え、人間の目の代わりに、ターゲットを認識し、追跡し、測定し、その結果、コンピュータは環境を感知することができる。“感知(sense)”は、感覚信号から情報を取り出すように考えられることができるので、コンピュータ・ビジョンは、人工システムに画像又は多次元データを“感知”させる方法を研究する科学として考えることもできる。一般に、コンピュータ・ビジョンは、視覚器官の代わりに種々の画像システムによって入力情報を取得しており、次いで、脳の代わりにコンピュータによって入力情報を処理して解釈している。コンピュータ・ビジョンの究極の研究目標は、コンピュータが、人間のように世界を観察して理解し、環境に適応できるようにすることである。
[0004] コンピュータ・ビジョン分野において、歩行者検知は非常に重要な研究動向である。歩行者検出は、多くの分野及びシナリオにおいて重要な用途を有する。例えば、高度運転支援システム(advanced driving assistant system, ADAS)や自動運転システム(autonomous driving system, ADS)では、道路上の歩行者のような動的障害物が検出され、回避される。セーフ・シティやビデオ監視では、犯罪の容疑者を発見したり行方不明者を追跡したりするために、歩行者が検知される。スマート・ホーム・システムでは、ロボットが動いて障害物を回避するために、歩行者が検出される。
[0005] 従来の解決策では、歩行者検知の際に、歩行者が遮られている場合の検出効果は貧弱であり、これは遮られた歩行者の検出ミス及び誤検知に主に反映される。
[0006] 本願は、歩行者(特に、遮られた歩行者)検出の精度を改善する、歩行者検出方法及び装置、コンピュータ読み取り可能な記憶媒体並びにチップを提供する。
[0007] 第1態様によれば、歩行者検出方法が提供される。方法は:画像を取得するステップ;画像に関して特徴抽出を実行して画像の基本特徴マップを取得するステップ;基本特徴マップに基づいて、画像中に歩行者を含む可能性があるプロポーザルを決定するステップ;画像のオブジェクト視認マップを取得するために、画像の基本特徴マップを処理するステップ;画像の基本特徴マップと画像のオブジェクト視認マップに融合処理を実行して、画像の改善された特徴マップを取得するステップ;画像のプロポーザルと画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定するステップ;及びプロポーザルに対応する特徴に基づいて、画像中に歩行者を含む境界ボックス(bounding box)と、画像中に歩行者を含む境界ボックスの信頼度とを決定するステップを含む。
[0008] 画像は歩行者を含む画像であってもよい。
[0009] オプションとして、画像を取得することは、画像を取得するためにカメラを使用することによって写真撮影を行うことを含む。
[0010] 例えば、携帯電話の場合に、画像は撮影することによって取得されてもよい。
[0011] オプションとして、画像を取得することは、メモリから画像を取得することを含む。
[0012] 例えば、携帯電話の場合に、画像はアルバムから選択されてもよい。
[0013] 画像の基本特徴マップが取得された場合に、基本特徴マップは、具体的には、画像に関して畳み込み演算(convolution processing)を行うか、又は画像に関する畳み込み演算の結果に関して更なる処理(例えば、総和処理、重み付け処理、連結処理のような演算)を行うことによって取得されてもよい。
[0014] プロポーザルは、画像中に歩行者を含む可能性がある領域の境界ボックスである。プロポーザルが位置付けられる領域は、プロポーザルによって境界を形成した領域(プロポーザル内側の領域)であってもよい。プロポーザルが位置する領域は、画像内に歩行者を含む可能性のある領域である。
[0015] 画像のオブジェクト視認マップは、異なるオブジェクトに対して異なるレスポンス度合いを有する。画像のオブジェクト視認マップにおいて、歩行者視認部分に対するレスポンス度合いは、歩行者非認識部分に対するレスポンス度合いより大きい。換言すると、画像のオブジェクト視認マップにおいて、歩行者視認部分の特徴は、歩行者非視認部分の特徴に対して強調される。具体的には、画像のオブジェクト視認マップにおいて、歩行者視認部分の画素値は、歩行者非視認部分の画素値より大きい。
[0016] 画像のオブジェクト視認マップを用いて、歩行者視認部分の特徴を強調することができる。
[0017] また、画像のオブジェクト視認マップにおいて、歩行者視認部分は、歩行者の画像を見ることができる部分であり、歩行者非視認部分は歩行者画像を見ることができない部分である。
[0018] プロポーザルに対応する特徴は、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された特徴マップにある領域であって、プロポーザル内に位置する領域の特徴である。具体的には、プロポーザルの領域特徴は、改善された特徴マップ内にある特徴であって、プロポーザルによって境界を形成する領域に位置する特徴であってもよい。
[0019] プロポーザルの領域特徴は、改善された特徴マップにある領域内であって、プロポーザルに対応する領域内の特徴であってもよい。プロポーザルの領域特徴が決定されると、先ず、改善された特徴マップ内のプロポーザルの位置が決定され、次いで、改善された特徴マップ内であって、プロポーザルによって境界が形成される領域内の特徴が、プロポーザルの領域特徴として決定されてもよい。
[0020] 更に、プロポーザルの領域特徴を得るために、サンプリング処理(具体的には、アップサンプリング又はダウンサンプリングである可能性がある)が、改善された特徴マップ内の領域であって、プロポーザルによって境界が形成される領域の特徴に対して更に実行されてもよい。
[0021] 画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度は、画像に関して実行された歩行者検出の検出結果であってもよく、画像の歩行者検出結果と言及されてもよい。
[0022] 本願では、画像のオブジェクト視認マップは歩行者視認部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることにより得られる改善された特徴マップは、歩行者視認部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に実行される歩行者検出の精度を向上させる。更に、歩行者が(比較的深刻に)遮られている場合、本願における歩行者検出の精度は、比較的顕著に改善される。
[0023] 更に、本願では、オブジェクト視認マップを使用することにより、歩行者検出の精度が改善される場合、訓練データのマーキング量は、訓練プロセスにおいて増加しない。本願では、処理プロセスにおいてオブジェクト視認マップを生成し、その後の処理においてオブジェクト視認マップを総合的に考慮する必要があるだけである。データ・マーキング量を増加させることによって、歩行者検出の精度が改善される解決策と比較して、本願は、データ・マーキング量を低減し、訓練の複雑性を低減することができる。
[0024] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、歩行者遮断部分を含む。
[0025] 歩行者非視認部分が歩行者遮蔽部分を含む場合、歩行者視認部分と歩行者遮蔽部分は、オブジェクト視認マップ内で区別することができる。また、歩行者視認部分の画素値は、歩行者遮断部分の画素値より大きいので、オブジェクト視認マップにおいて、歩行者視認部分の特徴は強調されることが可能であり、歩行者遮断部分の特徴は弱められることが可能であり、以後の歩行者検知プロセスにおける検出結果への歩行者遮蔽部分の影響を軽減し、その結果、以後の歩行者検出中に、歩行者視認部分の特徴が強調され、それにより歩行者検出の効果を改善することができる。
[0026] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、画像の背景部分を含む。
[0027] 画像の背景部分は、画像内の歩行者以外の他の部分であってもよいし、或いは画像の背景部分は、画像中の歩行者や主要な物体(例えば、車両)以外の他の部分であってもよい。
[0028] 歩行者非視認部分が画像の背景部分を含む場合、歩行者と背景部分は、オブジェクト視認マップ内で区別され、歩行者視認部分の特徴を強調し、背景部分の特徴を弱め、以後の歩行者検出プロセスにおける検出結果に対する背景部分の影響を軽減し、その結果、以後の歩行者検出中に、歩行者視認部分の特徴が強調され、それにより歩行者検出の効果を改善することができる。
[0029] 第1態様に関し、第1態様のある実装において、画像のオブジェクト視認マップを取得するために、画像の基本特徴マップを処理するステップは:第1畳み込みネットワークを利用することにより、画像の基本特徴マップに関して畳み込み処理を実行して、複数の第1セマンティック特徴マップを取得するステップ;複数の第1セマンティック特徴マップに関して重み付け加算処理を実行して、画像のオブジェクト視認マップを取得するステップを含み;プロポーザルに対応する特徴に基づいて、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む前記境界ボックスの信頼度とを決定するステップは:第2畳み込みネットワークを利用することにより、プロポーザルに対応する特徴に関して畳み込み処理を実行して、複数の第2セマンティック特徴マップを取得するステップ;回帰装置を使用することにより、複数の第2セマンティック特徴マップを処理して、境界ボックスの位置を決定するステップ;及び分類器を使用することにより、複数の第2セマンティック特徴を処理して、画像中に歩行者を含む境界ボックスの信頼度を取得するステップを含む。
[0030] 複数の第1セマンティック特徴マップは、異なる意味論的意味を有する複数の特徴マップであって、基本特徴マップの完全マップから抽出されるものである。具体的には、複数の第1セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0031] 複数の第2セマンティック特徴マップはそれぞれ、異なる意味論的意味を有する複数の特徴マップであって、プロポーザルに対応する特徴から抽出されるものを表現する。第2畳み込みネットワークの畳み込みパラメータは、第1畳み込みネットワークの畳み込みパラメータと同じである。具体的には、複数の第2セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0032] 第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータが同じであるということは、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みカーネル・パラメータが同じであることを意味してもよい。更に、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータが同じであるということは、代替的に、第1畳み込みネットワークと第2畳み込みネットワークのネットワーク・アーキテクチャと畳み込みカーネル・パラメータが、完全に同一であることを意味してもよく、第1畳み込みネットワークと第2畳み込みネットワークが、同じ画像に関して特徴抽出を実行するために使用される場合、画像の同じセマンティック特徴を抽出することができる。
[0033] 重み付け加算処理が複数の第1セマンティック特徴に対して実行される場合に使用される重み係数は、分類器における重み係数であって、信頼度を決定するために使用される重み係数である。
[0034] 本願では、第1畳み込みネットワークと第2畳み込みネットワークの畳み込みパラメータは同じであり、重み付け加算処理が複数の第1セマンティック特徴に関して実行される場合に使用される重み係数は、分類器における重み係数であって、歩行者スコアを決定するために使用される重み係数であるので、歩行者視認部分を強調することができるオブジェクト視認マップを、複数の第1セマンティック特徴を処理することによって取得することができ、その結果、歩行者検出は、以後、オブジェクト視認マップに基づいて、より正確に実行されることが可能である。
[0035] 第1態様に関し、第1態様のある実装において、プロポーザルに対応する特徴は、プロポーザルの輪郭領域の領域特徴を更に含み、プロポーザルの輪郭領域は、プロポーザルと、予め設定された第1比率によりプロポーザルが縮小された後に取得される縮小プロポーザルとの間に形成される領域である。
[0036] プロポーザルが予め設定された第1比率で縮小されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で縮小されることを意味してもよく、プロポーザルの幅と高さが縮小される割合は同じであってもよいし、或いは異なっていてもよい。
[0037] オプションとして、プロポーザルが予め設定された第1比率で縮小されることは、以下を含む:プロポーザルの幅が第1縮小比率で縮小され、プロポーザルの高さが第2縮小比率で縮小される。
[0038] 予め設定された第1比率は、第1縮小比率と第2縮小比率を含み、第1縮小比率と第2縮小比率は同じであってもよいし、或いは異なっていてもよい。
[0039] 第1縮小比率と第2縮小比率は、経験に基づいて設定されてもよい。例えば、1縮小比率と第2縮小比率について、適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴を、プロポーザルのものである輪郭領域から良好に抽出することが可能であり、その輪郭領域は、プロポーザルの幅と高さが第1縮小比率及び第2縮小比率で縮尺された後に得られるものである。
[0040] 第1縮小比率と第2縮小比率は、歩行者輪郭をより良く抽出するために使用できる値に設定することができる。
[0041] 第1縮小比率は1/1.1であってもよく、第2縮小比率1/1.8であってもよい。
[0042] プロポーザルの輪郭領域の領域特徴は、一般に、歩行者の輪郭特徴を含み、歩行者の輪郭特徴は、歩行者検出において非常に重要な役割を果たす。
[0043] 本願では、プロポーザルに対応する特徴がプロポーザルの輪郭領域の領域特徴を更に含む場合に、歩行者の輪郭特徴も、歩行者検出中に考慮することができ、その結果、以後、歩行者の輪郭特徴と組み合わせて歩行者検出をより良好に行うことができる。
[0044] 第1態様に関し、第1態様のある実装において、方法は:プロポーザルの領域特徴の特徴であって縮小プロポーザル内に位置する特徴の値をゼロに設定して、プロポーザルの輪郭領域の領域特徴を取得するステップを更に含む。
[0045] 本願では、プロポーザルの輪郭領域の領域特徴が得られた場合、プロポーザルの領域特徴の特徴であって縮小プロポーザルに位置する特徴の値が、直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を迅速かつ好都合に取得することができる。
[0046] 本願において、プロポーザルの輪郭領域の領域特徴は、代替的に、別の方法で取得されてもよいことが理解されるべきである。例えば、プロポーザルの輪郭領域の領域特徴は、プロポーザルの輪郭領域の領域位置に基づくスキャニングによって、改善された特徴マップから直接的に取得されてもよい。
[0047] 第1態様に関し、第1態様のある実装において、プロポーザルに対応する特徴は、プロポーザルの背景領域の領域特徴を更に含み、プロポーザルの背景領域は、プロポーザルと、予め設定された第2比率によりプロポーザルが拡大された後に取得される拡大プロポーザルとの間に形成される領域である。
[0048] プロポーザルが予め設定された第2比率で拡大されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で拡大されることを意味してもよく、プロポーザルの幅と高さが拡大される割合は同じであってもよいし、或いは異なっていてもよい。
[0049] オプションとして、プロポーザルが予め設定された第2比率で拡大されることは、以下を含む:プロポーザルの幅が第1拡大比率で拡大され、プロポーザルの高さが第2拡大比率で拡大される。
[0050] 予め設定された第2比率は、第1拡大比率と第2拡大比率を含み、第1拡大比率と第2拡大比率は同じであってもよいし、或いは異なっていてもよい。
[0051] 第1拡大比率と第2拡大比率は、経験に基づいて設定されてもよい。例えば、1拡大比率と第2拡大比率について、適切な値を設定することが可能であり、その結果、歩行者周辺の背景特徴を、プロポーザルのものである背景領域から良好に抽出することが可能であり、その背景領域は、プロポーザルの幅と高さが第1拡大比率及び第2拡大比率で拡大された後に得られるものである。
[0052] 第1拡大比率は1.1であってもよく、第2拡大比率1.8であってもよい。
[0053] プロポーザルの背景領域の領域特徴は、一般に、画像中の歩行者が位置する背景領域の特徴を反映する。歩行者検出は、背景領域の特徴と歩行者の特徴に基づいて実行されてもよい。
[0054] 本願では、プロポーザルに対応する特徴がプロポーザルの背景領域の領域特徴を更に含む場合に、背景領域の輪郭特徴も、歩行者検出中に考慮することができ、その結果、以後、背景領域の領域特徴と組み合わせて歩行者検出をより良好に行うことができる。
[0055] 第1態様に関し、第1態様のある実装において、方法は:第1領域の領域特徴を取得するステップであって、第1領域の領域特徴は、オブジェクト視認マップ内の領域内であって拡大プロポーザル内に位置する領域内の領域特徴である、ステップ;及び第1領域の領域特徴の特徴であってプロポーザル内に位置する特徴をゼロに設定して、プロポーザルの背景領域の領域特徴を取得するステップを更に含む。
[0056] 本願では、プロポーザルの背景領域の領域特徴が得られた場合に、改善された特徴マップ内の領域特徴であって、プロポーザルの背景領域に対応する領域特徴が取得され、その領域特徴の特徴であってプロポーザルに位置する特徴は、直接的にゼロに設定され、その結果、プロポーザルの背景領域の領域特徴を、迅速かつ好都合に取得することができる。
[0057] オプションとして、方法はニューラル・ネットワーク(モデル)によって実行される。
[0058] 具体的には、方法において、画像が取得された後に、画像がニューラル・ネットワーク(モデル)を用いて処理されてもよい。最後に、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とが、プロポーザルに対応する特徴に基づいて決定される。
[0059] 第2態様によれば、ニューラル・ネットワーク・トレーニング方法が提供される。方法は:訓練データを取得するステップであって、訓練データは、訓練画像と、訓練画像の歩行者マーキング結果とを含む、ステップ;ニューラル・ネットワークに基づいて、訓練画像に関して後処理を実行するステップ;訓練画像の基本特徴マップを取得するために、訓練画像に関して畳み込み処理を実行するステップ;基本特徴マップに基づいて、訓練画像中におそらく歩行者を含むプロポーザルを決定するステップ;訓練画像のオブジェクト視認マップを取得するために、訓練画像の基本特徴マップを処理するステップ;訓練画像の基本特徴マップと訓練画像のオブジェクト視認マップに関して融合処理を実行して、訓練画像の改善された特徴マップを取得するステップ;訓練画像のプロポーザルと、訓練画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定するステップ;プロポーザルに対応する特徴に基づいて、訓練画像の歩行者検出結果を決定するステップ;訓練画像の歩行者検出結果と訓練画像の歩行者マーキング結果とに基づいて、ニューラル・ネットワークの損失値を決定するステップ;及び逆伝搬を通じて損失値に基づいてニューラル・ネットワークを調整するステップを含む。
[0060] プロポーザルは、訓練画像中に歩行者を含む可能性のある領域の境界ボックスである。プロポーザルが位置づけられる領域は、プロポーザルによって境界が形成される領域(プロポーザル内側の領域)とすることができる。プロポーザルが位置付けられる領域は、訓練画像中に歩行者を含む可能性のある領域である。
[0061] また、訓練画像のオブジェクト視認マップにおいて、歩行者視認部分は、歩行者の画像を見ることができる部分であり、歩行者非視認部分は歩行者画像を見ることができない部分である。
[0062] プロポーザルに対応する特徴は、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された特徴マップにある領域であって、プロポーザル内に位置する領域の特徴である。
[0063] 訓練画像の歩行者検出結果は、訓練画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度とを含んでもよい。
[0064] 訓練画像の歩行者検出マーキング結果は、訓練画像内に歩行者を含む境界ボックスを含む。
[0065] 訓練画像の歩行者検出マーキング結果は、事前にマーキングすることができる(具体的には、マニュアルでマーキングすることができる)。
[0066] 更に、前述の訓練プロセスでは、一般的には複数の訓練画像が使用される。
[0067] ニューラル・ネットワークを訓練するプロセスでは、モデル・パラメータの初期セットを、ニューラル・ネットワークに対して設定することが可能であり、次いで、訓練画像の歩行者検出マーキング結果と訓練画像の歩行者検出結果との間の差分に基づいて、ニューラル・ネットワークのモデル・パラメータが徐々に調整されることを、訓練画像の歩行者検出結果と訓練画像の歩行者検出マーキング結果との間の差分が、予め設定された範囲内に収まるか、又は訓練の回数が予め設定された回数に達するまで行い、この場合のニューラル・ネットワークのモデル・パラメータが、ニューラル・ネットワークの最終モデル・パラメータとして決定される。このようにして、ニューラル・ネットワークの訓練が完了する。
[0068] 第2態様の方法を使用することによって訓練を通じて取得されたニューラル・ネットワークは、本願の第1態様の方法を実行するために使用することができる、ということが理解されるべきである。
[0069] 本願では、本願の実施形態における歩行者検出方法が記載又は説明される場合に現れる、基本特徴マップ、プロポーザル、オブジェクト視認マップ、改善された特徴マップ、画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼度は、取得された画像に関連して説明されるが、本願の実施形態におけるニューラル・ネットワーク訓練方法では、基本特徴マップ、プロポーザル、オブジェクト視認マップ、改善された特徴マップ、画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼度は、訓練画像に関連して説明されることが、理解されるべきである。
[0070] 第3態様によれば、歩行者検出装置が提供される。歩行者検出装置は、第1態様における方法を実行するように構成されたモジュールを含む。
[0071] 第4態様によれば、ニューラル・ネットワーク訓練装置が提供される。装置は、第2態様における方法を実行するように構成されたモジュールを含む。
[0072] 第5態様によれば、歩行者検出装置が提供される。装置は、プログラムを記憶するように構成されたメモリと、メモリに記憶されたプログラムを実行するように構成されたプロセッサとを含む。メモリに記憶されたプログラムが実行されると、プロセッサは、第1態様における方法を実行するように構成されている。
[0073] 第6態様によれば、ニューラル・ネットワーク訓練装置が提供される。装置は、プログラムを記憶するように構成されたメモリと、メモリに記憶されたプログラムを実行するように構成されたプロセッサとを含む。メモリに記憶されたプログラムが実行されると、プロセッサは、第2態様における方法を実行するように構成されている。
[0074] 第7態様によれば、電子デバイスが提供される。電子デバイスは、第3態様又は第5態様における歩行者検出装置を含む。
[0075] 第8態様によれば、電子デバイスが提供される。電子デバイスは、第4態様又は第6態様におけるニューラル・ネットワーク訓練装置を含む。
[0076] 電子デバイスは、具体的には、移動端末(例えば、スマートフォン)、タブレット・コンピュータ、ノートブック・コンピュータ、拡張現実/仮想現実デバイス、車載端末デバイスなどであってもよい。
[0077] 第9態様によれば、コンピュータ読み取り可能な記憶媒体が提供される。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、プログラム・コードは、第1態様又は第2態様における方法のステップを実行するために使用される命令を含む。
[0078] 第10態様によれば、命令を含むコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品がコンピュータ上で実行される場合に、コンピュータは、第1態様又は第2態様における方法を実行することを可能にする。
[0079] 第11態様によれば、チップが提供される。チップは、プロセッサ及びデータ・インターフェースを含み、プロセッサは、データ・インターフェースを介して、メモリに記憶された命令を読み込み、第1態様又は第2態様における方法を実行する。
[0080] オプションとして、実装において、チップはメモリを更に含んでもよく、メモリは命令を記憶し、プロセッサは、メモリに記憶された命令を実行するように構成され、命令が実行されると、プロセッサは、第1態様における方法を実行するように構成されている。
[0081] チップは、具体的には、フィールド・プログラマブル・ゲート・アレイFPGA又は特定用途向け集積回路ASICであってもよい。
[0082]
本願において、第1態様における方法は、具体的には、第1態様又は第1態様の実装のうちの任意の1つにおける方法であってもよいことが理解されるべきである。第2態様における方法は、具体的には、第2態様又は第2態様の実装のうちの任意の1つにおける方法であってもよい。
[0083]
本願の実施形態によるドライバー支援/自動運転システムにおける歩行者検出プロセスの概略図である。 [0084]
本願の実施形態によるセーフ・シティ/ビデオ監視システムにおける歩行者検出プロセスの概略図である。 [0085]
本願の実施形態によるシステム・アーキテクチャの概略構造図である。 [0086]
本願の実施形態による畳み込みニューラル・ネットワーク・モデルを使用することにより実行される歩行者検出の概略図である。 [0087]
本願の実施形態によるチップのハードウェア構造の概略図である。 [0088]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0089]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0090]
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。 [0091]
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。
歩行者検出装置を使用することにより実行される歩行者検出の概略図である。 [0092]
本願の一実施形態による歩行者検出方法の概略フローチャートである。 [0093]
基本特徴マップを得るために画像に畳み込み処理を行う概略図である。 [0094]
画像の基本特徴マップを生成するプロセスの概略図である。 [0095]
RPNモジュールが画像のプロポーザルを決定するプロセスの概略図である。 [0096]
オブジェクト視認マップの概略図である。 [0097]
オブジェクト視認マップの概略図である。 [0098]
本願の実施形態による歩行者検出方法の概略フローチャートである。 [0099]
自己活性化モジュールが基本特徴マップに基づいてオブジェクト視認マップを取得するプロセスの概略図である。 [0100]
オブジェクト視認マップ及び基本特徴マップに対して重み付け加算を実行するプロセスの概略図である。 [0101]
プロポーザルと改善された特徴マップとに基づいて歩行者検出結果を得るプロセスの概略図である。 [0102]
オブジェクト視認マップ、プロポーザル、及び改善された特徴マップに基づいて歩行者検出結果を取得するプロセスの概略図である。 [0103]
プロポーザルの輪郭領域を決定する概略図である。 [0104]
プロポーザルの背景領域を決定する概略図である。 [0105]
オブジェクト視認マップ、プロポーザル、及び改善された特徴マップに基づいて歩行者検出結果を取得するプロセスの概略図である。 [0106]
RCNNモジュールがプロポーザルに対応する特徴を処理する概略図である。 [0107]
本願の実施形態による歩行者検出装置の概略ブロック図である。 [0108]
本願の実施形態による歩行者検出装置のハードウェア構造の概略図である。 [0109]
本願の実施形態によるニューラル・ネットワーク訓練装置のハードウェア構造の概略図である。
[0110] 本願の解決策は、ドライバー支援、自動運転、セーフ・シティ、及びインテリジェント端末のような、歩行者認識(歩行者検出と言及されてもよい)を必要とする分野に適用される可能性がある。以下、2つの一般的なアプリケーション・シナリオを簡単に説明する。
[0111] アプリケーション・シナリオ1:ドライバー支援/自動運転システム
[0112] 高度ドライバー支援システム(advanced driving assistant system, ADAS)及び自動運転システム(autonomous driving system, ADS)では、道路上の歩行者のような動的障害物は、検出されて回避されることを必要とし、特に、歩行者との衝突が回避されることを必要とする。道路上には密集した歩行者がしばしば存在し、歩行者間の遮り、歩行者と他の物体との間の遮りは、比較的深刻であり、安全運転に対する重大な脅威の原因となっている。従って、深刻な遮りを伴うシナリオにおける正確な歩行者検出は、運転安全のために非常に重要である。
[0113] 具体的には、図1に示すように、ドライバー支援/自動運転システムにより得られた道路状況に関して歩行者検知が実行された後に、歩行者検知結果が得られる。次いで、ドライバー支援/自動運転システムは、歩行者検出結果に基づいて車両を制御することができる。
[0114] 歩行者検出は、本出願の実施形態における歩行者検出方法を使用することによって実行することができる。道路画像に歩行者が存在するかどうか、そして歩行者の位置は、歩行者検出に基づいて決定することができるので、ドライバー支援/自動運転システムは認識結果に基づいて車両を制御できる。
[0115] アプリケーション・シナリオ2:セーフ・シティ(Safe City)/ビデオ監視システム
[0116] セーフ・シティ・システムやビデオ監視システムでは、歩行者検出はリアル・タイムで実行され、歩行者検出結果はマーキングされ、歩行者検知結果はシステムの分析ユニットへ送られ、犯罪被疑者や行方不明者を捜索し、スカイネット追跡を実施する。
[0117] 具体的には、図2に示すように、セーフ・シティ/ビデオ監視システムにより得られた道路状況に関して歩行者検出が実行された後に、歩行者検出結果が取得される。次いで、歩行者検出結果に基づいて、特定の人物が認識されて追跡されてもよい。
[0118] 歩行者検出は、本願の実施形態における歩行者検出方法を使用することによって実行することができる。監視画像中に歩行者が存在するか否か、そして歩行者の位置は、歩行者検出に基づいて決定することができる。監視画像中に歩行者が存在する場合、歩行者は特定の人物(行方不明者、犯罪容疑者など)であるか否かが認識されてもよい。特定の人物が認識された場合、スカイ・アイ・システム(Sky Eye system)(セーフ・シティ/ビデオ監視システムの一部と考えられてもよい)が、特定の人物を追跡するために始動されてもよい。
[0119] 本願の実施形態における歩行者検出方法は、ニューラル・ネットワーク(モデル)によって実行されてもよい。本願の実施形態における歩行者検出方法をより良く理解するために、以下、ニューラル・ネットワークの関連する用語と概念を先ず説明する。
[0120] (1) ニューラル・ネットワーク
[0121] ニューラル・ネットワークはニューロンを含むことができる。ニューロンは、xsと切片1を入力として使用する演算ユニットであってもよい。演算ユニットの出力は、数式(1)で示されてもよい:
[0122] s=1, 2, ..., nであり、nは1より大きな自然数であり、W
sはx
sの重みであり、bはニューロンのバイアスである。fはニューロンの活性化関数(activation functions)である。活性化関数は、ニューラル・ネットワークにおける特徴に関して非線形変換を実行して、ニューロンにおける入力信号を出力信号に変換するために使用される。活性化関数の出力信号は、次の畳み込み層の入力として使用されてもよい。活性化関数は、シグモイド関数であってもよい。ニューラル・ネットワークは、単一ニューロンを複数個接続することによって形成されるネットワークである。換言すれば、あるニューロンの出力は別のニューロンの入力である可能性がある。局所受容ドメインの特徴を抽出するために、各ニューロンの入力は、前の層の局所受容ドメインに接続されてもよい。局所受容ドメインは、複数のニューロンを含む領域であってもよい。
[0123] (2) ディープ・ニューラル・ネットワーク
[0124] ディープ・ニューラル・ネットワーク(deep neural network, DNN)は、多層ニューラル・ネットワークとも呼ばれ、複数の隠れ層を有するニューラル・ネットワークとして理解することができる。DNNは区別される層の位置に基づいて分けられる。DNNにおけるニューラル・ネットワークは、入力層、隠れ層、及び出力層の3つのタイプに分けられる。一般に、最初の層は入力層であり、最後の層は出力層であり、中間の層は隠れ層である。層は完全に接続される。具体的には、i番目の層のうちの如何なるニューロンも、(i+1)番目の層の何らかのニューロンと確実に接続される。
[0125] DNNは複雑に見えるが、各層の作業は実際には複雑ではない。簡単に言えば、次の線型関係の表現が使用される:
→xは入力ベクトルであり、
→yは出力ベクトルであり、
→bはバイアス・ベクトルであり、Wは重み行列(係数とも呼ばれる)であり、α()は活性化関数である。各層は、出力ベクトル
→yを得るために、入力ベクトル
→xに対してこのようなシンプルな演算を単に実行している。DNNは多数の層を有するので、係数W及びバイアス・ベクトル
→bも比較的多量に存在する。これらのパラメータは、DNNでは以下のように定義される:例えば係数Wを例として使用し、係数が3層DNNにおけるものであるとすると、第2層の第4ニューロンから第3層の第2ニューロンへの線型係数は、W
24
3のように定義される。上付き文字3は、係数Wが位置する層の番号を表し、下付き文字は、第3層の出力のインデックス2と第2層の入力のインデックス4に対応する。
[0126] 結論として、(L-1)番目の層のk番目のニューロンからL番目の層のj番目のニューロンへの係数は、Wjk
Lのように定義される。
[0127] 入力層はパラメータWを有しないことに留意すべきである。ディープ・ニューラル・ネットワークでは、隠れ層が多いほど、ネットワークは、現実世界でのより複雑な状況を記述することができる。理論的には、より多くのパラメータを有するモデルは、より複雑であり、且つより大きな“キャパシティ”を有し、これはそのモデルがより複雑な学習タスクを完了できることを意味する。ディープ・ニューラル・ネットワークを訓練するプロセスは、重み行列を学習するプロセスであり、その最終目標は、訓練されたディープ・ニューラル・ネットワークの全層に対する重み行列を得ることである(重み行列は多くの層のベクトルWを含む)。
[0128] (3) 畳み込みニューラル・ネットワーク
[0129] 畳み込みニューラル・ネットワーク(convolutional neural network, CNN)は、畳み込み構造を有するディープ・ニューラル・ネットワークである。畳み込みニューラル・ネットワークは、畳み込み層とサブ・サンプリング層を含む特徴抽出器を含む。特徴抽出器はフィルタと考えてもよい。畳み込み層は、畳み込みニューラル・ネットワーク内にあるニューロン層であって、入力信号に対して畳み込み処理を実行するものである。畳み込みニューラル・ネットワークの畳み込み層では、ニューロンは、隣接する層の幾つかのニューロンにのみ接続されている可能性がある。1つの畳み込み層は、通常、複数の特徴プレーンを含む。各々の特徴プレーンは、矩形に配置された幾つかのニューロンを含むことができる。同一の特徴プレーン内のニューロンは、重みを共有する。ここで共有される重みは畳み込みカーネルの重み係数である。共有される重みは、画像情報を抽出する方法が、位置と無関係なものであるとして理解することができる。畳み込みカーネルは、ランダムなサイズの行列の形式で初期化されてもよい。畳み込みニューラル・ネットワークを訓練するプロセスにおいて、畳み込みカーネルは学習を通して適切な重みを得ることができる。更に、重み共有によってもたらされる直接的な利点は、畳み込みニューラル・ネットワークの層間の接続を低減することと、オーバーフィッティングのリスクを低減することである。
[0130] (4) 残差ネットワーク
[0131] 残差ネットワークは、2015年に提案された深層畳み込みネットワークである。従来のニューラル・ネットワークと比較して、残差ネットワークを最適化することはより容易であり、深さを適切に増加させることによって精度を改善することができる。残差ネットワークの核心は、深さの増加によって生じる副作用(a degeneration problem)を解決することである。このように、ネットワークの深さを単に増やすことによって、ネットワーク・パフォーマンスを向上させることができる。残差ネットワークは、一般に、同じ構造を有する多くのサブ・モジュールを含む。例えば、ResNet50は、残差ネットワークが50個のサブ・モジュールを含むことを示す。
[0132] (6) 分類器
[0133] 多くのニューラル・ネットワーク構造は、画像内のオブジェクトを分類するように構成された分類器で終わる。分類器は、一般に、全結合層(fully connected layer)とソフトマックス関数(これは正規化された指数関数と言及されてもよい)を含み、入力に基づいて異なるカテゴリの確率を出力することができる。
[0134] (7) 損失関数
[0135] ディープ・ニューラル・ネットワークを訓練するプロセスでは、ディープ・ニューラル・ネットワークの出力が、予測されるように実際に期待される値に可能な限り近いことが予想されるので、現在のネットワークの予測値と実際に期待されるターゲット値とが比較され、次いで2つの層間の差分に基づいて、ニューラル・ネットワークの各層の重みベクトルが更新される(実際、最初の更新の前に、通常、初期化プロセスが存在し、即ちディープ・ニューラル・ネットワークにおける各層に対してパラメータが事前に設定される)。例えば、ネットワークの予測値が、より高い場合、重みベクトルは、より低い予測値を得るように調整される。ディープ・ニューラル・ネットワークが、実際に予想される目標値、又は実際に予想される目標値に非常に近い値、を予測できるようになるまで、重みベクトルは連続的に調整される。従って、差分を求めるためには、予測値と目標値をどのように比較するかが、予め定義されることを要する。これは損失関数又は目的関数をもたらし、これは予測値と目標値の間の差分を測定するために使用される重要な方程式である。損失関数を例にとると、損失関数のより高い出力値(損失)は、より大きな差分を示す。従って、ディープ・ニューラル・ネットワークの訓練は、可能な限り損失を低減するプロセスとなる。
[0136] (8) 逆伝搬アルゴリズム
[0137] ニューラル・ネットワークの場合、誤差逆伝搬(back propagation, BP)アルゴリズムが、訓練プロセスにおける初期ニューラル・ネットワーク・モデルのパラメータ値を補正するために使用されてもよく、その結果、ニューラル・ネットワーク・モデルの再構成誤差損失は小さくなる。具体的には、入力信号は、誤差損失が出力で発生するまで転送され、初期ニューラル・ネットワーク・モデルにおけるパラメータは、誤差損失が収束するように、誤差損失に関する情報の逆伝搬を通じて更新される。逆伝搬アルゴリズムは誤差損失によって支配される逆伝搬の動きであり、ニューラル・ネットワーク・モデルの最適化パラメータ、例えば重み行列を得るように意図されている。
[0138] 上記はニューラル・ネットワークの幾つかの基本的な内容を簡単に説明しており、以下、画像データ処理中に使用される可能性の有る幾つかの特定のニューラル・ネットワークを説明する。
[0139] 以下、図3を参照して、本願の実施形態におけるシステム・アーキテクチャを詳細に説明する。
[0140] 図3は、本願の実施形態によるシステム・アーキテクチャの概略図である。図3に示すように、システム・アーキテクチャ100は、実行デバイス110、訓練デバイス120、データベース130、クライアント・デバイス140、データ記憶システム150、及びデータ収集システム160を含む。
[0141] 更に、実行デバイス110は、演算モジュール111、I/Oインターフェース112、前処理モジュール113、及び前処理モジュール114を含む。演算モジュール111は、ターゲット・モデル/ルール101を含んでもよい。前処理モジュール113及び前処理モジュール114はオプションである。
[0142] データ収集デバイス160は、訓練データを収集するように構成される。本願の実施形態における歩行者検出方法では、訓練データは、訓練画像(訓練画像は歩行者を含む)とマーキング・ファイルを含んでもよい。マーキング・ファイルは、訓練画像内に歩行者を含む境界ボックス(bounding box)の座標を提供する。訓練データを収集した後に、データ収集デバイス160は、訓練データをデータベース130に格納する。訓練デバイス120は、データベース130内に維持されている訓練データに基づく訓練を通じて、ターゲット・モデル/ルール101を得る。
[0143] 以下、訓練デバイス120が訓練データに基づいてターゲット・モデル/ルール101をどのように獲得するかについて説明する。訓練デバイス120は、入力訓練画像に関してオブジェクト検出を実行し、出力された歩行者検出結果(画像中に歩行者を含む境界ボックス、及び画像中に歩行者を含む境界ボックスの信頼レベル)とマーキング結果とを、訓練デバイス120によって出力された歩行者検出結果とマーキング結果との間の差分が特定の閾値未満になるまで比較を行い、ターゲット・モデル/ルール101の訓練を完了する。
[0144] ターゲット・モデル/ルール101は、本願の実施形態における歩行者検出方法を実施するために使用することができる。具体的には、(関連する前処理後の)処理対象画像がターゲット・モデル/ルール101に入力された後に、処理対象画像の歩行者検出結果を取得することができる。本願のこの実施形態におけるターゲット・モデル/ルール101は、具体的にはニューラル・ネットワークであってもよい。実際のアプリケーションでは、データベース130内に維持される訓練データは、必ずしも全てがデータ収集デバイス160によって収集されているわけではなく、他のデバイスから受け取ったものでもよいことに留意すべきである。更に、訓練デバイス120は、必ずしもデータベース130内に維持されている訓練データに完全に基づいてターゲット・モデル/ルール101を訓練せず、モデル訓練を実行するためにクラウド側又は別の場所から、訓練データを取得してもよいことに留意すべきである。以上の説明は、本願のこの実施態様に関する限定として解釈されるべきではない。
[0145] 訓練デバイス120による訓練を通じて得られるターゲット・モデル/ルール101は、様々なシステム又はデバイスに適用されてもよく、例えば図3に示される実行デバイス110に適用されてもよい。実行デバイス110は、端末、例えば、携帯電話端末、タブレット・コンピュータ、ノートブック・コンピュータ、拡張現実(augmented reality, AR)端末/仮想現実(virtual reality, VR)端末、又は車載端末であってもよいし、或いはサーバー、クラウド側などであってもよい。図3において、入出力(input/output, I/O)インターフェース112は、外部デバイスとデータをやり取りするために、実行デバイス110内に構成される。ユーザーは、クライアント・デバイス140を使用することによって、I/Oインターフェース112にデータを入力することができる。本願のこの実施形態では、入力データは、クライアント・デバイスによって処理されるべき画像入力を含んでもよい。本件におけるクライアント・デバイス140は、具体的には端末デバイスであってもよい。
[0146] 前処理モジュール113及び前処理モジュール114は、I/Oインターフェース112によって受信された入力データ(例えば、処理対象画像)に基づいて前処理を実行するように構成される。本願のこの実施形態では、前処理モジュール113及び前処理モジュール114の一方のみが存在してもよいし、或いは何れも存在しなくてもよい。前処理モジュール113及び前処理モジュール114が存在しない場合、入力データは、演算モジュール111を使用することによって直接的に処理されることが可能である。
[0147] 実行デバイス110が入力データを前処理したり、実行デバイス110の演算モジュール111が演算を実行したりするプロセスのような関連する処理プロセスにおいて、実行デバイス110は、データ記憶システム150内のデータ、コード等を、対応する処理のために呼び出し、対応する処理を通じて得られたデータ、命令等をデータ記憶システム150内に格納することができる。
[0148] 最後に、I/Oインターフェース112は、処理結果、例えば、ターゲット・モデル/ルール101に基づく演算を通じて得られた歩行者検出結果をクライアント・デバイス140に提示し、ユーザーに処理結果を提供する。
[0149] 具体的には、演算モジュール111におけるターゲット・モデル/ルール101に基づく処理を通じて得られた歩行者検出結果は、前処理モジュール113によって処理され(又は前処理モジュール114によって更に処理されてもよい)、次いでI/Oインターフェースへ送られ、最終的に、表示のためにI/Oインターフェースを使用することによってクライアント・デバイス140へ送られる。
[0150] 前処理モジュール113及び前処理モジュール114がシステム・アーキテクチャ100に存在しない場合、処理を通じて得られた歩行者検出結果は、代替的に、演算モジュール111によってI/Oインターフェースへ送られ、次いでI/Oインターフェースによって、表示のためにクライアント・デバイスへ140に送られることが理解されるべきである。
[0151] 訓練デバイス120は、様々な訓練データに基づいて、様々な目的、又は様々なタスクと呼ばれるもののために、対応するターゲット・モデル/ルール101を生成することが可能であり、対応するターゲット・モデル/ルール101は、目的を実行するために、タスクを完了するために、ユーザーに必要な結果を提供するために使用され得ることに留意すべきである。
[0152] 図3に示すあるケースでは、ユーザーは、マニュアルで入力データを与えることができ、マニュアルで与えることは、I/Oインターフェース112によって提供されるインターフェースを使用することによって操作されてもよい。別のケースでは、クライアント・デバイス140は、入力データをI/Oインターフェース112へ自動的に送信することができる。入力データを自動的に送信する必要がある場合、クライアント・デバイス140は、ユーザーにより認証されることを必要として、ユーザーは、クライアント・デバイス140において対応する許可を設定することができる。ユーザーは、クライアント・デバイス140上で、実行デバイス110によって出力された結果を見ることができる。特定の提示フォームは、表示、音声、又はアクションのような特定の方法であってもよい。また、クライアント・デバイス140は、図に示されているI/Oインターフェース112への入力データ入力、及びI/Oインターフェース112から出力された出力結果を収集し、入力データ及び出力結果を新しいサンプル・データとして使用し、新しいサンプル・データをデータベース130に格納するためのデータ収集端末として使用されてもよい。確かに、図に示されているI/Oインターフェース112への入力データ入力、及びI/Oインターフェース112から出力される出力結果は、代替的に、クライアント・デバイス140によって収集されることなく、I/Oインターフェース112によって新しいサンプル・データとしてデータベース130に直接的に格納されてもよい。図1は、本願の実施形態によるシステム・アーキテクチャの概略図に過ぎないことに留意すべきである。
[0153] 図1は、本願の実施形態によるシステム・アーキテクチャの概略図に過ぎないことに留意すべきである。図示のデバイス、コンポーネント、モジュール等の位置関係は、限定を何ら構成しない。例えば、図1において、データ記憶システム150は、実行デバイス110に対する外部メモリである。別のケースでは、データ記憶システム150は、代替的に、実行デバイス110内に構成されてもよい。
[0154] 図3に示すように、訓練デバイス120による訓練を通じて得られるターゲット・モデル/ルール101は、本願の実施形態におけるニューラル・ネットワークであってもよい。具体的には、本願の実施形態で提供されるニューラル・ネットワークは、CNN、深層畳み込みニューラル・ネットワーク(deep convolutional neural networks, DCNN)などであってもよい。
[0155] CNNは非常に一般的なニューラル・ネットワークであるので、以下、図4を参照してCNNの構造の詳細な説明に焦点を当てる。前述の基本概念の説明で述べたように、畳み込みニューラル・ネットワークは、畳み込み構造を有する深層ニューラル・ネットワークであり、ディープ・ラーニング(deep learning)アーキテクチャである。ディープ・ラーニング・アーキテクチャは、機械学習アルゴリズムを使用することによって、様々な抽象レベルでマルチ・レベル学習を実行することを意味する。ディープ・ラーニング・アーキテクチャとして、CNNはフィード・フォワード(feed-forward)人工ニューラル・ネットワークである。フィード・フォワード人工ニューラル・ネットワークの各ニューロンは、ニューラル・ネットワークへの画像入力に応答する可能性がある。
[0156] 図4に示すように、畳み込みニューラル・ネットワーク(CNN)200は、入力層210、畳み込み層/プーリング層220(プーリング層はオプション)、及び全結合層(完全に接続された層)230を含んでもよい。以下、レイヤの関連する内容を詳細に説明する。
[0157] 畳み込み層/プーリング層220:
[0158] 畳み込み層:
[0159] 図4に示すように、畳み込み層/プーリング層220は、例えば層221乃至226を含む可能性がある。例えば、ある実装では、層221は畳み込み層であり、層222はプーリング層であり、層223は畳み込み層であり、層224はプーリング層であり、層225は畳み込み層であり、層226はプーリング層である。別の実装では、221及び222は畳み込み層であり、223はプーリング層であり、224及び225は畳み込み層であり、226はプーリング層である。換言すれば、畳み込み層の出力は、後続のプーリング層の入力として使用される可能性があり、或いは畳み込み演算を実行し続けるために、別の畳み込み層の入力として使用される可能性がある。
[0160] 以下、畳み込み層221を例として使用することにより、畳み込み層の内部動作原理を説明する。
[0161] 畳み込み層221は、複数の畳み込み演算子を含んでもよい。畳み込みオペレータは、カーネルとも呼ばれ、入力画像行列から特定の情報を抽出するためのフィルタのように、画像処理において機能する。畳み込みオペレータは、本質的には重み行列であってもよく、重み行列は、通常、事前に定義される。画像に関して畳み込み演算を実行するプロセスでは、重み行列は、通常、入力画像において1画素ずつ(又は2画素ずつ、... ストライド値に依存する分ずつ)水平方向に処理を実行し、画像から特定の特徴の抽出を完了する。重み行列のサイズは、画像のサイズに関係付けられるべきである。重み行列の深さ次元(depth dimension)は、入力画像の深さ次元と同じであることに留意すべきである。畳み込み演算プロセスでは、重み行列は入力画像の深度全体に延びる。従って、単一の重み行列による畳み込みは、単一の深さ次元の畳み込み出力を生成する。しかしながら、ほとんどの場合、単一の重み行列は使用されず、むしろ、同じサイズ(行×列)の複数の重み行列、即ち、複数の同次行列が使用される。全ての重み行列の出力は、畳み込み画像の深さ次元を形成するためにスタックされる。本件における次元は、上述の「複数の」によって決定されるものと理解されてもよい。画像内の異なる特徴を抽出するために、異なる重み行列を使用することができる。例えば、画像のエッジ情報を抽出するために、ある重み行列が使用され、画像の特定の色を抽出するために、別の重み行列が使用され、画像内の不要なノイズをぼかすために、更に別の重み行列が使用される。複数の重み行列のサイズ(行×列)は同じであり、同じサイズの複数の重み行列に基づいて抽出された畳み込み特徴マップのサイズも同じである。次いで、同じサイズの複数の抽出された畳み込み特徴マップを組み合わせて、畳み込み演算の出力を形成する。
[0162] これらの重み行列におけるウェイト値は、実際のアプリケーションにおける大量の訓練を通じて取得されることを必要とする。訓練によって得られたウェイト値を含む各々の重み行列を使用して、入力画像から情報を抽出し、その結果、畳み込みニューラル・ネットワーク200は正しい予測を実行することができる。
[0163] 畳み込みニューラル・ネットワーク200が複数の畳み込み層を有する場合、初期畳み込み層(例えば、221)は、通常、比較的多くの一般的な特徴を抽出する。一般的な特徴は、低レベル特徴とも呼ばれる。畳み込みニューラル・ネットワーク200の深度とともに、後の畳み込み層(例えば、226)は、より複雑な特徴、例えば、セマンティック特徴のような高レベル特徴を抽出する。より高度な意味論的な意味を伴う特徴は、解決されるべき課題にとって、より相応しいものである。
[0164] プーリング層:
[0165] 通常、訓練パラメータの量は削減されることを必要とするので、プーリング層は、通常、畳み込み層の背後に周期的に導入されることを必要とする。図4の層220に示される層221乃至226については、1つの畳み込み層の後に1つのプーリング層が続いてもよいし、或いは複数の畳み込み層の後に1つ以上のプーリング層が続いてもよい。画像処理プロセスにおいて、プーリング層の唯一の目的は、画像の空間サイズを小さくすることである。プーリング層は、入力画像をサンプリングして比較的小さなサイズの画像を得るために、平均プーリング・オペレータ及び/又は最大プーリング・オペレータを含んでもよい。平均プーリング・オペレータは、特定の範囲内で、画像中の画素値の平均値を、平均プーリングの結果として計算することができる。最大プーリング・オペレータは、特定の範囲内で、その範囲内の最大値を有する画素を、最大プーリングの結果として取得することができる。更に、畳み込み層における重み行列のサイズが画像のサイズに関係すべきであるのとまさに同様に、プーリング層におけるオペレータも画像のサイズに関係するべきである。プーリング層によって実行された処理の後の画像出力のサイズは、プーリング層に入力された画像のサイズより小さい可能性がある。プーリング層によって出力される画像中の各画素は、プーリング層に入力された画像の対応するサブ領域の平均値又は最大値を表す。
[0166] 全結合層230:
[0167] 畳み込み層/プーリング層220の処理の後に、畳み込みニューラル・ネットワーク200は、必要な出力情報を出力するには依然として不十分である。上述のように、畳み込み層/プーリング層220は、特徴を抽出し、入力画像によってもたらされるパラメータを低減するだけである。しかしながら、最終出力情報(必要なカテゴリ情報又は他の関連情報)を生成するために、畳み込みニューラル・ネットワーク200は、一つ又は一組の必要なカテゴリ数の出力を生成するために、全結合層230を使用する必要がある。従って、全結合層230は、複数の隠れ層(図4に示す231及び232乃至23n)と出力層240を含んでもよい。複数の隠れ層に含まれるパラメータは、特定のタスク・タイプの関連する訓練データに基づく事前訓練を通じて得られてもよい。例えば、タスク・タイプは、画像認識、画像分類、超解像度画像再構成を含んでもよい。
[0168] 出力層240は、全結合層230内の複数の隠れ層の背後にあり、畳み込みニューラル・ネットワーク200全体の最終層である。出力層240は、分類クロス・エントロピーと同様な損失関数を有し、予測誤差を計算するように具体的に構成される。いったん、畳み込みニューラル・ネットワーク200全体の順伝搬(例えば、図4では、210から240への方向における伝搬が順伝搬である)が完了すると、逆伝搬(例えば、図4では、240から210への方向における伝搬が逆伝搬である)が、上述の各層のウェイト値及びバイアスを更新し始め、畳み込みニューラル・ネットワーク200の損失を低減し、且つ出力層を使用することによって畳み込みニューラル・ネットワーク200によって出力される結果と理想的な結果との間の誤差を低減する。
[0169] 図4に示す畳み込みニューラル・ネットワーク200は、畳み込みニューラル・ネットワークの一例としてのみ使用されているに過ぎないことに留意すべきである。特定のアプリケーションにおいて、畳み込みニューラル・ネットワークは、代替的に、別のネットワーク・モデルの形態で存在してもよい。
[0170] 図4に示される畳み込みニューラル・ネットワーク200は、本願の実施形態における歩行者検出方法を実行するために使用されてもよいことが理解されるべきである。図4に示すように、処理対象画像が入力層210、畳み込み層/プーリング層220、及び全結合層230によって処理された後、処理対象画像の検出結果(処理対象画像に歩行者を含む境界ボックスと、画像に歩行者を含む境界ボックスの信頼度)を得ることができる。
[0171] 図5は、本願の実施形態によるチップのハードウェア構造を示す図である。チップは、ニューラル・ネットワーク処理ユニット50を含む。チップは、演算モジュール111の演算作業を完了するために、図3に示す実行デバイス110内に配置されてもよい。代替的に、チップは、図3に示される訓練デバイス120内に配置されて、訓練デバイス120の訓練作業を完了し、ターゲット・モデル/ルール101を出力することができる。図4に示す畳み込みニューラル・ネットワークにおける全ての層のアルゴリズムは、図5に示すチップに実装することができる。
[0172] ニューラル・ネットワーク処理ユニット(neural-network processing unit, NPU)50は、コプロセッサとしてホスト中央処理ユニット(central processing unit, CPU) (ホストCPU)に接続され、ホストCPUによってタスクの割り当てを受ける。NPUのコア部分は、演算回路503である。コントローラ504は、データをメモリ(ウェイト・メモリ又は入力メモリ)から抽出し、演算を実行するために演算回路503を制御する。
[0173] 幾つかの実装において、演算回路503は、複数の処理要素(process engine, PE)を内部に含む。幾つかの実装において、演算回路503は、二次元シストリック・アレイである。代替的に、演算回路503は、一次元シストリック・アレイ又は他の電子回路であって、乗算及び加算のような数学的演算を実行することができるものであってもよい。幾つかの実装において、演算回路503は汎用マトリックス・プロセッサである。例えば、入力行列A、重み行列B、出力行列Cがあると仮定する。演算回路503は、行列Bに対応するデータをウェイト・メモリ502から取得し、データを演算回路503内の各PEにバッファリングする。
[0174] 演算回路503は、行列Aのデータを入力メモリ501から取得し、行列Aと行列Bに対して行列演算を実行し、得られた部分的な結果又は行列の最終的な結果をアキュムレータ(accumulator)508に格納する。
[0175] ベクトル演算ユニット507は、演算回路503の出力に対して、更なる処理、例えば、ベクトル乗算、ベクトル加算、指数演算、対数演算、値の比較を行ってもよい。例えば、ベクトル演算ユニット507は、ニューラル・ネットワークにおける非畳み込み/非FC層において、ネットワーク計算、例えば、プーリング(pooling)、バッチ正規化(batch normalization)、又はローカル・レスポンス正規化(local response normalization)を実行するように構成されてもよい。
[0176] 幾つかの実装において、ベクトル演算ユニット507は、処理された出力ベクトルを、ユニファイド・バッファ506に格納することができる。例えば、ベクトル演算ユニット507は、演算回路503の出力、例えば累積された値のベクトルに非線形関数を適用して、活性化値を生成してもよい。幾つかの実装において、ベクトル演算ユニット507は、正規化された値、結合された値、又はそれら両方を生成する。幾つかの実装において、処理された出力ベクトルは、演算回路503への活性化入力として使用されることが可能であり、例えば、ニューラル・ネットワークの後続の層で使用されることが可能である。
[0177] ユニファイド・メモリ506は、入力データと出力データを記憶するように構成される。
[0178] ダイレクト・メモリ・アクセス・コントローラ(direct memory access controller, DMAC)505は、外部メモリの入力データを入力メモリ501及び/又はユニファイド・メモリ506へ転送し、ウェイト・メモリ502に、外部・メモリ内の重みデータを格納し、外部メモリに、ユニファイド・メモリ506内のデータを格納する。
[0179] バス・インターフェース・ユニット(bus interface unit, BIU)510は、バスを使用することによって、ホストCPU、DMAC、及び命令フェッチ・バッファ509間のインタラクションを実施するように構成される。
[0180] コントローラ504に接続された命令フェッチ・バッファ(instruction fetch buffer)509は、コントローラ504によって使用される命令を格納するように構成される。
[0181] コントローラ504は、命令フェッチ・バッファ509内にバッファリングされた命令を起動し、演算アクセラレータの作業プロセスを制御するように構成される。
[0182] 一般に、ユニファイド・メモリ506、入力メモリ501、ウェイト・メモリ502、及び命令フェッチ・バッファ509は全てオンチップ(on-chip)メモリである。外部メモリはNPU外部のメモリである。外部メモリは、二重データ・レート同期ダイナミック・ランダム・アクセス・メモリ(double data rate synchronous dynamic random access memory, 略称DDR SDRAM)、高帯域幅メモリ(high bandwidth memory, HBM)、又は他の読み取り可能で書き込み可能なメモリであってもよい。
[0183] また、本願では、図4に示す畳み込みニューラル・ネットワークの各層における演算は、演算回路503又はベクトル演算ユニット507によって実行されてもよい。
[0184] 図6は、本願の一実施形態によるシステム・アーキテクチャの概略図である。
[0185] 図6に示すように、歩行者検出ネットワークを用いて入力画像が処理された後に、入力画像に歩行者を含む2Dボックス(2Dボックスは境界ボックスと言及されてもよい)を取得することができる。2Dボックスに関する情報は、処理のために後続の分析モジュールに送られ、例えば、障害物分析のために自動運転システムの規制ユニットに送られるか、又は行方不明者と照合するためにセーフ・シティの分析モジュールに送られる。
[0186] 図6に示す歩行者検出ネットワークは、バックボーン(backbone)ネットワーク・モジュール、領域提案ネットワーク(region proposal network, RPN)モジュール、自己活性化モジュール、基本特徴重み付けモジュール、領域特徴生成モジュール、領域畳み込みニューラル・ネットワーク(region convolutional neural network, RCNN)モジュール、及び出力モジュールを含む。図6の歩行者検出ネットワークは、本願の実施形態における歩行者検出方法を実行することができる。以下、歩行者検出ネットワークが入力画像を処理するプロセスを簡単に説明する。
[0187] 入力画像を取得した後に、バックボーン・ネットワーク・モジュールは、入力画像に関して畳み込み処理を実行し、入力画像の基本特徴マップを取得する。RPNモジュールは基本特徴マップを処理して、入力画像の歩行者提案を得る。自己活性化モジュールは、基本特徴マップに関して更なる畳み込み処理と重み付け加算処理を実行して、入力画像のオブジェクト視認マップを得る(オブジェクト視認マップは、入力画像の中で歩行者視認部分の特徴を強調することができる)。基本特徴重み付けモジュールは、オブジェクト視認マップと基本機能マップに関して重み付け処理を実行して、改善された特徴マップを取得するように構成される。領域特徴モジュールは、プロポーザルと入力画像のオブジェクト視認マップとに基づいて、プロポーザルに対応する特徴を生成することができる。RCNNモジュールは、プロポーザルに対応する特徴を処理し、入力画像の歩行者検出結果を得る。歩行者検出結果は、画像内に歩行者を含む境界ボックスと、画像内に歩行者を含む境界ボックスの信頼度とであるとすることが可能である。
[0188] 本願の実施形態における歩行者検出装置が実装される製品形態は、自動運転、端末デバイス、監視デバイス等であってもよい。このアプリケーションは、関連デバイスの演算ノード上に配備され、歩行者認識の精度は、ソフトウェア再構成によって改善されることが可能である。
[0189] 本願の実施形態における歩行者検出装置は、図7に示されるものであってもよい。歩行者検出装置は、主に、バックボーン・ネットワーク・モジュール101、RPNモジュール102、自己活性化モジュール103、基本特徴重み付けモジュール104、領域特徴生成モジュール105、RCNNモジュール106、及び出力モジュール107を含む。
[0190] 図7に示す歩行者検出装置は、領域特徴生成モジュール105を含んでもよいし、又は領域特徴生成モジュール105を含まなくてもよい。
[0191] 歩行者検出装置が領域特徴生成モジュール105を含まない場合、歩行者検出装置及び歩行者検出装置を用いて歩行者検出を行うプロセスは、図8A及び図8Bに示されるものであってもよい。
[0192] 図8A及び図8Bに示すように、RPNモジュールは、基本特徴マップに基づいて画像のプロポーザルを決定し、自己活性化モジュール103は、基本特徴マップに基づいて画像のオブジェクト視認マップを生成し、基本特徴重み付けモジュール104は、画像のオブジェクト視認マップと基本特徴マップに関して重み付け加算を実行して、改善された特徴マップを得る。次いで、プロポーザルに対応する特徴が、関心領域(region of interest, ROI)プーリングを通じて、改善された特徴マップから抽出され、次いでRCNNモジュールはプロポーザルに対応する特徴を処理して、歩行者検出結果を得る。図8A及び図8Bにおいて、プロポーザルに対応する特徴は、プロポーザルの領域特徴であることが理解されるべきである。
[0193] 歩行者検出装置が領域特徴生成モジュール105を含む場合、歩行者検出装置及び歩行者検出装置を用いて歩行者検出を行うプロセスは、図9A及び図9Bに示されるものであってもよい。
[0194] 図8A及び図8Bと比較して、図9A及び図9Bに示す歩行者検出装置は、プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴、及びプロポーザルの背景領域の領域特徴を生成するために、領域特徴生成モジュール105を使用する。3つの特徴は、プロポーザルに対応する特徴に融合されることが可能である。次いで、RCNNモジュールはプロポーザルに対応する特徴を処理して、歩行者検出結果を得る。
[0195] 本願の実施形態における歩行者検出方法を実行するプロセスをより良く理解するために、以下、図7のモジュールの機能を先ず簡単に説明する。
[0196] バックボーン・ネットワーク・モジュール101:
[0197] バックボーン・ネットワーク・モジュール101は、入力画像(ピクチャと言及されてもよい)に関して一連の畳み込み処理を行い、画像の基本特徴マップ(feature map)を得るように構成される。画像の基本特徴マップは、他のモジュールによって実行される後続の画像検出のための画像の基本特徴を提供する。
[0198] バックボーン・ネットワーク・モジュール101内のバックボーン・ネットワークは、複数の方法、例えば、VGGネットワーク、深層残差ネットワーク(deep residual network, ResNet)、及びインセプション・ネットワークで実装することができる。
[0199] RPNモジュール102:
[0200] RPNモジュール102は、バックボーン・ネットワーク・モジュール101によって生成された基本特徴マップに関して、歩行者を含む可能性のある領域を予測し、これらの領域の位置を提供するように構成される。領域の境界はプロポーザル(proposal)と言及されてもよい。一般に、プロポーザルのうちの位置であって検出を通じてRPNモジュール102によって得られる位置は、非常に正確なものではなく、プロポーザルは、画像の背景に落ちるかもしれないし、或いは画像内で歩行者ターゲットに良好に境界を形成しない可能性がある。
[0201] 自己活性化モジュール103:
[0202] 自己活性化モジュールは、RCNNモジュール106内の共用Conv5畳み込み層を使用することによって、バックボーン・ネットワーク・モジュール101によって生成された基本特徴マップに関して更なる畳み込み処理を実行して、より高い層のセマンティック特徴マップを取得し、次いで、分類器における重み係数であってRCNNモジュール106におけるものと同じ重み係数を使用することによって、より高い層のセマンティック特徴マップを重み付けして、画像のオブジェクト視認マップ(visibility map)を取得する。画像のオブジェクト視認マップは、歩行者視認部分に対して強い応答を有し、背景と遮られた部分とに対して弱い応答を有する。自己活性化モジュール103は、本願の歩行者検出装置のコア・モジュールである。
[0203] 基本特徴重み付けモジュール104:
[0204] 基本特徴重み付けモジュール104は、バックボーン・ネットワーク・モジュール101によって生成された、画像の基本特徴マップと、自己活性化モジュール103によって生成された、画像のオブジェクト視認マップとに関して、重み付け処理を実行し、画像の改善された特徴マップを得るように構成される。画像の改善された特徴マップにおいては、歩行者視認部分の特徴は強調され、画像の背景や歩行者を遮る障害物の特徴は弱められる。
[0205] 領域特徴生成モジュール105:
[0206] 領域特徴生成モジュール105は、画像のオブジェクト視認マップであって自己活性化モジュール103によって生成されたオブジェクト視認マップを参照して、RPNモジュール102によって生成された各プロポーザルを処理して、現在のプロポーザルに対応する歩行者の輪郭領域画像、背景領域画像、及びROI領域画像を生成し、3つの領域画像の特徴を、領域特徴生成モジュール105の関心領域プーリング(pooling)モジュールを使用することによって抽出し、次いで、3つの領域画像の抽出された特徴を、現在のプロポーザルの領域特徴として融合する。
[0207] RCNNモジュール106:
[0208] RCNNモジュール106は、自己活性化モジュール103のものと同じConv5畳み込み層を使用することによって、プロポーザルの領域特徴であって領域特徴生成モジュール105によって生成された領域特徴に関して畳み込み処理を実行して、提案領域の画像特徴を取得し、次いで、グローバル平均プーリング(global average pooling, GAP)モジュールを使用することによって提案領域の画像特徴に関して平均化演算を実行し、最後に、最終的な座標とプロポーザルの信頼度を予測するために、平均化された画像特徴を、ボックス回帰装置及び分類器の各々に送る。
[0209] 出力モジュール107:
[0210] 出力モジュール107は、RCNNモジュール106によって出力される全てのプロポーザルに対して非最大抑制(non-maximize suppression, NMS)処理を実行し、大きくオーバーラップしたプロポーザルを結合し、過剰に低い信頼度を伴うプロポーザルを除外して、2Dボックス(以下に述べる境界ボックスと等価)と歩行者検出結果を反映する2Dボックスの信頼度を出力するように構成される。
[0211] 以下、図10を参照して、本願の実施形態における歩行者検出方法を詳細に説明する。
[0212] 図10は、本願の実施形態による歩行者検出方法の概略フローチャートである。図10に示す方法は、本願における歩行者検出装置によって実行することができる。図10に示す方法は、ステップ1001乃至1007を含む。以下、ステップ1001乃至1007を詳細に説明する。
[0213] 1001. 画像を取得する。
[0214] 画像は歩行者を含む画像であってもよい。
[0215] 具体的には、画像は、歩行者を含む様々な画像、例えば、携帯電話や他のインテリジェント端末で撮影された画像、ドライバー支援/自動運転システムで取得された道路画像、或いはセーフ・シティ/ビデオ監視システムで取得された監視画像であってもよい。
[0216] 携帯電話やインテリジェント端末で撮影された画像、道路画像、及び監視画像は、一般的には歩行者を含む画像であることが理解されるべきである。これらの画像が歩行者を含まない場合、最終的な認識結果はエンプティになる可能性がある。換言すれば、歩行者を含む境界ボックスは、歩行者を含まない画像に関して実行される認識から得ることはできない。
[0217] ステップ1001において、画像は、カメラを使用することによる撮影を通じて取得されてもよく、又は画像はメモリから取得されてもよい。図1に示す方法は、代替的にステップ1002から直接的に始まってもよいことが理解されるべきである。
[0218] 1002. 画像に関して特徴抽出を実行して、画像の基本特徴マップを取得する。
[0219] 画像の基本特徴マップがステップ1002において得られた場合には、基本特徴マップが、具体的には、画像に関して畳み込み演算(convolution processing)を実行すること、或いは画像に関する畳み込み演算結果に対して更なる処理(例えば、総和処理、重み付け処理、連結処理)を実行することによって、取得されてもよい。
[0220] ステップ1002において、ニューラル・ネットワーク内のバックボーン・ネットワーク(モジュール)を使用することによって、画像に関して畳み込み処理が実行され、画像の基本特徴マップ(feature map)を取得してもよい。バックボーン・ネットワークは、複数の畳み込みネットワーク・アーキテクチャ、例えば、VGGネットワーク(オックスフォード大学の視覚幾何グループ(visual geometry group)によって提案されたネットワーク)、深層残差ネットワーク(deep residual network, ResNet)、及びインセプション・ネットワークを使用することができる。
[0221] 基本特徴マップは、複数のチャネルを含む可能性がある。ステップ1002では、画像に対して特徴抽出が実行される場合に、具体的には、基本特徴マップを得るために、画像に対して畳み込み処理が実行されてもよい。畳み込み処理を通じて基本特徴マップを得るプロセスは図11に示されるものであってもよい。
[0222] 図11に示すように、基本特徴マップは、複数のチャネルを含む特徴マップである。図11では、入力画像の解像度はH0*W0*3(高さはH0であり、幅はW0であり、チャネル数は3である、即ちRBGの3チャネルである)と仮定している。次いで、畳み込み処理後に、基本特徴マップU∈H*W*Kを得ることができる。HとKはそれぞれ基本特徴マップの高さと幅を表し、Kは基本特徴マップのチャネル数を表す。
[0223] 以下、ステップ1002における画像の基本特徴マップを生成するプロセスを、図12を参照しながら詳細に説明する。
[0224] 図12に示されるように、畳み込み演算は、残差ネットワークResNet18の異なる畳み込み層を使用することによって、入力画像に対して実行されてもよい。具体的には、図12に示される畳み込み演算は、具体的には、以下の(1)乃至(4)のプロセスを含む可能性がある。
[0225] (1) ResNet18‐Conv1(ResNet18の第1畳み込み層)が入力画像に関して畳み込み処理を実行して特徴マップC1(feature map C1)を得る。
[0227] 入力画像の解像度はH0*W0*3(高さはH0であり、幅はW0であり、チャネル数は3である)と仮定すると、ResNet18‐Conv1の畳み込み処理後に得られる特徴マップC1の解像度はH0/4*W0/4*64となる可能性がある。具体的には、ResNet18-Conv1は、入力画像に対してダウンサンプリングを2回実行し(サンプリング操作が実行されるたびに、幅と高さの各々が前回の半分になる)、チャネル数を3から64へ拡大して、特徴マップC1を得ることができる。
[0227] (2) ResNet18-Conv2(ResNet18の第2畳み込み層)が特徴マップC1に関して畳み込み処理の実行を継続して、特徴マップC2(feature map C2)を得る。
[0228] ResNet18-Conv2は特徴マップC1に関して畳み込み処理の実行を継続し、得られた特徴マップC2の解像度は、特徴マップC1の解像度と同じ、即ちH0/4*W0/4*64であってもよい。
[0229] (3) ResNet18‐Conv3(ResNet18の第3畳み込み層)が特徴マップC2に関して畳み込み処理の実行を継続して、特徴マップC3(feature map C3)を得る。
[0230] ResNet18-Conv3は更に、特徴マップC2に関してダウンサンプリングを1回行い、チャネル数を2倍にし(チャネル数を64から128に拡大し)、特徴マップC3を得ることができる。特徴マップC3の解像度は、H0/8*W0/8*128である。
[0231] (4) ResNet18-Conv4(ResNet18の第4畳み込み層)は特徴マップC3に関して畳み込み処理の実行を継続して、特徴マップC4(feature map C4)を得る。
[0232] ResNet18-Conv4は更に、特徴マップC3に関してダウンサンプリングを1回行い、チャネル数を2倍にし(チャネル数を128から256に拡大し)、特徴マップC4を得ることができる。特徴マップC4の解像度は、H0/16*W0/16*256である。
[0233] 図12に示す畳み込みプロセスは、単なる一例に過ぎないことが理解されるべきである。本願のこの実施形態において、畳み込み処理に使用されるネットワーク、畳み込み処理の回数などは限定されない。
[0234] 図12に示される畳み込み処理プロセスは、一例として使用されている。ステップ1002における基本特徴マップは、図12に示される特徴マップC4であってもよいして、或いは図12に示される特徴マップC1乃至畳み込み特徴マップC4の少なくとも1つであってもよい。
[0235] 基本特徴マップが、異なる解像度の複数の特徴マップであって図12に示されるような複数の特徴マップを含む場合、後続のROIプーリング処理において、異なる解像度のこれらの特徴マップは、同じ解像度の特徴マップに調整され、更なる処理のために以後のRCNNモジュールに入力されてもよい。
[0236] 1003. 基本特徴マップに基づいて画像のプロポーザルを決定する。
[0237] プロポーザルは、画像中におそらく歩行者を含む領域の境界ボックスである。プロポーザルが位置づけられる領域は、プロポーザルによって境界が形成される領域(プロポーザル内側の領域)とすることが可能である。プロポーザルが位置付けられる領域は、画像内に歩行者を含む可能性のある領域である。
[0238] ステップ1003では、歩行者を含む可能性のある領域は、RPNモジュールを使用することによって、画像の基本特徴マップに基づいて予測され、フレーム化されてもよい。これらの領域をフレーム化する枠組みは、プロポーザルである。
[0239] 一般に、ステップ1003で決定されたプロポーザルの位置は、非常に正確なものではなく、プロポーザルは、背景画像の上に落ちたり(この場合、プロポーザル中に歩行者ターゲットが存在しない可能性がある)、或いは歩行者ターゲットに十分に境界を形成していない可能性がある。
[0240] ステップ1003において、基本特徴マップは、概して、プロポーザルを得るために、RPNモジュールを使用することによって処理されてもよい。以下、RPNモジュールが画像のプロポーザルを決定するプロセスを、図13を参照しながら詳細に説明する。
[0241] 図13に示すように、RPNモジュールは、先ず、3×3畳み込みカーネルを使用することによって、基本特徴マップに関して畳み込み処理を実行し、RPN隠れ(RPN Hidden)特徴マップを得ることができる。次いで、2つの3×3畳み込みカーネルを使用することによって、RPN隠れ特徴マップに関して畳み込み処理が別々に実行され、RPN隠れ特徴マップ中の各プロポーザルの位置と信頼度を予測する。一般的に、プロポーザルのより高い信頼度は、そのプロポーザルが歩行者を含むより高い確率を示す。
[0242] 次に、RPNモジュールは、予測によって得られたプロポーザルに関して組み合わせ処理を実行する。組み合わせ処理の間に、プロポーザル間の重複の程度に応じて、冗長なプロポーザルは削除される可能性がある。冗長なプロポーザルを削除するプロセスでは、プロポーザルは、NMSアルゴリズムを使用することによってスクリーニングされてもよいが、これに限定されない。
[0243] RPNモジュールが全部でJ個のプロポーザルを予測していると仮定すると、歩行者を含むプロポーザルとして、より高いスコアを有するN (N<J)個のプロポーザルが、J個のプロポーザルから選択されてもよい。NとJはともに正の整数である。
[0244] しかしながら、画像のプロポーザルのうちの位置であってRPNモジュールを使用することによって決定される位置もまた、一般的には、非常に正確なものではない。図13に示すように、2つのプロポーザルの各々の中に歩行者が存在するが、歩行者はプロポーザルに完全には含まれておらず、歩行者はプロポーザルのうちの小さな割合を占めているに過ぎない。
[0245] 1004. 画像の基本特徴マップを処理して、画像のオブジェクト視認マップを取得する。
[0246] 画像のオブジェクト視認マップは、異なるオブジェクトに対して異なる応答度合いを有する。画像のオブジェクト視認マップでは、歩行者視認部分に対する応答度合いは、歩行者非視認部分に対する応答度合いよりも大きい。換言すれば、画像のオブジェクト視認マップにおいて、画像のオブジェクト視認マップは、歩行者視認部分に対して強い応答を有し、歩行者非視認部分に対して弱い応答を有する。歩行者視認部分の特徴は、歩行者非視認部分の特徴に対して強調される。
[0247] 具体的には、画像のオブジェクト視認マップにおいて、歩行者視認部分の画素値は、歩行者非視認部分の画素値より大きい。
[0248] 以下、図14及び図15を参照して、オブジェクト視認マップの表示効果を説明する。
[0249] 図14に示すように、人体視認部分は、歩行者を見ることができる部分、或いは換言すれば、歩行者が他の物体によって妨げられていない部分である。歩行者非視認部分は、歩行者を遮断する他のオブジェクト部分と、画像の背景部分とを含む可能性がある。図14において、人体視認部分の色は相対的に明るく、応答が相対的に強いことを示しており、人体非視認部分の色は相対的に暗く、応答が相対的に弱いことを示している。
[0250] 図15に示すように、第1行の6つの画像はオリジナル画像であり、第2行の6つの画像が、対応するオブジェクト視認マップである。第2行に示される6つの画像では、人体視認部分の色も相対的に明るく、歩行者不可視部分の色は相対的に暗い。図15に示す第3列及び第4列の画像では、人体の下部が遮断され、生成されたオブジェクト視認マップでは、人体が見える部分に対応する色の明るさは、人体が遮られている部分に対応する色の明るさよりも大きく、その結果、人体の可視部分の特徴が強調され、人体の遮断された部分の特徴と背景領域の特徴は弱められる。
[0251] 画像のオブジェクト視認マップを用いて、歩行者視認部分の特徴を強調することが可能である。
[0252] また、画像のオブジェクト視認マップでは、歩行者視認部分は、歩行者画像を見ることが可能な部分であり、歩行者非視認部分は、歩行者画像を見ることができない部分である。
[0253] 画像内のオブジェクト視認マップは、歩行者視認部分に対して、より強い応答を有するので、歩行者を含む境界ボックスが以後に画像内で決定されると、歩行者検出の精度は、オブジェクト視認マップとの組み合わせで向上させることができる。
[0254] ステップ1004では、先ず、画像の基本特徴マップに関して畳み込み処理が実行され、次いで、畳み込み処理を通じて得られた複数の特徴マップに関して重み付け加算処理が実行されて、画像のオブジェクト視認マップを取得する。
[0255] 本願では、画像のオブジェクト視認マップは歩行者可視部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることによって得られる改善された特徴マップは、歩行者可視部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に実行される歩行者検出の精度を向上させる。
[0256] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、歩行者遮断部分を含む。
[0257] 歩行者非視認部分が歩行者遮断部分を含む場合、歩行者可視部分と歩行者遮断部分はオブジェクト視認マップにおいて区別することができる。また、歩行者可視部分の画素値は、歩行者遮断部分の画素値よりも大きいので、対象の視認性において、歩行者可視部分の特徴を強調することが可能であり、且つ歩行者遮断部分の特徴を弱めることが可能であり、その後の歩行者検出プロセスにおける検出結果への歩行者遮断部分の影響を減らし、その結果、歩行者可視部分の特徴が強調され、歩行者検出の効果を向上させることができる。
[0258] オプションとして、画像のオブジェクト視認マップにおいて、歩行者非視認部分は、画像の背景部分を含む。
[0259] 画像の背景部分は、画像中の歩行者以外の部分であってもよいし、或いは画像の背景部分は、画像中の歩行者及びメイン・オブジェクト(例えば、車両)以外の他の部分であってもよい。
[0260] 歩行者非視認部分が画像の背景部分を含む場合、歩行者と背景部分を、オブジェクト視認マップにおいて区別し、歩行者可視部分の特徴を強調し、背景部分の特徴を弱め、その後の歩行者検出プロセスにおける検出結果に対する背景部分の影響を軽減し、その結果、歩行者可視部分の特徴は以後の歩行者検出の際に強調され、それにより、歩行者検出の効果を高めることができる。
[0261] 図16に示すように、ステップ1004における画像のオブジェクト視認マップを決定する具体的なプロセスは、以下のステップを含んでもよい:
[0262] 1004a. 第1畳み込みネットワークを用いて画像の基本特徴マップに関して畳み込み処理を実行して複数の第1セマンティック特徴マップを得る。
[0263] 1004b. 複数の第1セマンティック特徴マップに関して重み付け加算処理を実行して、画像のオブジェクト視認マップを得る。
[0264] 複数の第1意味特徴マップは、異なる意味論的意味を有する複数の特徴マップであって基本特徴マップの完全なマップから抽出されるものである。具体的には、複数の第1セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0265] 例えば、複数の第1セマンティック特徴マップが、F1、F2、及びF3を含み、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は右手の特徴を反映し、F1、F2、及びF3によってそれぞれ反映される意味論的意味は互いに異なる。
[0266] ステップ1004aにおいて畳み込み処理が実行される場合に使用される畳み込みパラメータは、後続のステップ1007aにおいて畳み込み処理が実行される場合に使用される畳み込みパラメータと同じである。ステップ1004bにおいて重み付け加算処理が複数の第1セマンティック特徴に対して実行される場合に使用される重み付け係数は、分類器における重み係数であって歩行者スコアを決定するために使用される重み係数である。分類器は、図8AのRCNNモジュール106内の分類器である。
[0267] ステップ1004aにおける畳み込みパラメータは、ステップ1007aにおける畳み込みパラメータと同じであり、ステップ1004aにおける複数の第1セマンティック特徴に対して重み付け加算処理が実行される場合に使用される重み係数が、分類器における重み係数であって歩行者スコアを決定するために使用される重み係数であるので、ステップ1004bにおいて取得されるオブジェクト視認マップは、歩行者非視認部分に対する応答よりも強い、歩行者視認部分に対する応答を有する可能性がある。
[0268] ステップ1004a及びステップ1004bにおいて、自己活性化モジュールは、基本特徴マップを処理して、画像のオブジェクト視認マップを得ることができる。
[0269] 以下、図17を参照して、ステップ1004a及びステップ1004bを詳細に説明する。
[0270] 図17に示されるように、Conv5畳み込み層を使用することによって、基本特徴マップU∈H*W*Kに関して別の畳み込み処理が先ず実行され、より上位の層のセマンティック特徴マップF∈H*W*Kを得る。H、W、Kはそれぞれ、より上位の層のセマンティック特徴マップの高さ、幅、チャネル数である。より上位の層のセマンティック特徴は、人物の何らかの主要部分の特徴(例えば、頭部の特徴、左手の特徴、右手の特徴)を反映することができる。
[0271] 次に、より上位の層のセマンティック特徴マップFは、K個の第1特徴マップFk∈H*Wに更に分割されてもよく、k=1,2,...,Kである。各々の第1特徴マップは異なる特徴を反映している。例えば、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は背景オブジェクトの特徴を反映し...等々である。歩行者認識の際には、異なる部分の特徴は異なる重要性を持つ。幾つかの特徴は、歩行者認識の際に非常に重要であり、幾つかの特徴は、歩行者認識の際に重要度が低い。例えば、歩行者認識の際に頭部の特徴と顔の特徴は相対的に重要であり、歩行者認識の際に背景の物体の特徴は相対的に重要度が低い。
[0272] 更に、自己活性化モジュールにおけるConv5畳み込み層の畳み込みパラメータは、後述の図24に示されるRCNNモジュールにおけるConv5畳み込み層の畳み込みパラメータと同じである。RCNNモジュールにおけるConv5畳み込み層の畳み込みパラメータは、一般に、歩行者検出前の複数回の訓練を通じて取得される。従って、自己活性化モジュールのConv5畳み込み層が、RCNNモジュールのConv5畳み込み層と同じ畳み込みパラメータを使用する場合、画像の上位層のセマンティック特徴をより良く抽出することができる。また、分類器の重みは、Conv5畳み込み層の後でカテゴリと特徴との間のマッピング関係を確立するので、分類器(図8AのRCNNモジュール106)の重みを再利用するために、自己活性化モジュールは、同じエンコーディングを実行する必要がある。従って、本件ではConv5畳み込み層が使用される。
[0273] 複数の第1特徴マップ(F1乃至Fk)が得られた後に、画像の視認性マップを得るために、数式(2)に基づいて、複数の第1特徴マップに対して重み付け加算が実行されてもよい:
[0274] 数式(2)では、w
k∈1*1は、第1特徴マップF
k∈H*Wの重み係数を表す。より大きなw
kは、F
kが歩行者の認識に、より大きく寄与し、F
kはより重要なものであることを示す。
[0275] 数式(2)に基づいて画像のオブジェクト視認マップが計算される場合、使用される重み係数(ここでは、重み係数は視認ウェイトと言及されてもよい)は、RCNNモジュールにおいて異なる意味論的意味を有する特徴マップに対して重み付け加算が実行される場合に以後に使用される重み係数と同じである。具体的には、第1特徴マップFk∈H*Kの重み係数は、RCNNモジュールが同じ意味論的意味を有する特徴マップを重ね合わせる場合に以後に使用される重み係数と同じである。例えば、数式(2)において人の頭部を表す第1特徴マップの重み係数は、RCNNモジュールが、人の頭部を表す特徴マップに関して重み付け加算を実行する場合に以後に使用される重み係数と同じである。
[0276] 数式(2)の重み付け加算方式では、人体検出に大きく寄与する特徴は強調され、人体検出に小さく寄与をする特徴は抑制される可能性がある。画像のオブジェクト視認マップVであって数式(2)を用いる計算を通じて得られるものは、歩行者視認部分に対して強い応答を生じ、背景や遮られる部分に対して弱い応答を生じさせることができる、ということが実験で判明した。
[0277] 図14及び図15には、画像のオブジェクト視認マップであって数式(2)を用いる演算を通じて生成されたものが示されている。図14及び図15に示す画像では、人の色は比較的明るく、相対的に大きく強いことを示しており、人の周囲の他の物体又は背景の色は相対的に的暗く、弱い反応を示している。一般に、図14及び図15に示す画像のオブジェクト視認マップは、背景に対して強い抑制効果を有する。局所的には、歩行者視認部分に対する応答は強く、歩行者遮断部分への応答は弱い。
[0278] 本願では、重み付け加算処理を実行するために、RCNNモジュールによって使用されたものと同じ重み付け係数を使用することによって複数の第1特徴マップに対して重み付け加算を行うことで、画像のオブジェクト視認マップが取得される場合、歩行者検出に大きく寄与する特徴を強調することができ、小さく寄与する特徴を抑制することができる。
[0279] 1005. 画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理を実行して、画像の改善された特徴マップを取得する。
[0280] 画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理が実行される前に、先ず、画像のオブジェクト視認マップに関して次元拡張が実行されてもよく、その結果、次元拡張後に得られるオブジェクト視認マップのチャネル数は、基本特徴マップのチャネル数と同じになる。次いで、画像の基本特徴マップと画像のオブジェクト視認マップに関して融合処理が実行される。融合処理の際に、具体的には、以下の3つの融合方法が使用されてもよい。
[0281] 第1融合方法:
[0282] 第1融合方法では、基本特徴マップ中の対応する要素は、次元拡張後に得られるオブジェクト視認マップ中の対応する要素と乗算され、得られた生成物と元の基本特徴マップ中の対応する要素とが合計されて、改善された特徴マップUの中の対応する要素の値を得る。
[0283] 具体的には、図18に示すように、オブジェクト視認マップVは、一般に、次元拡張が実行される前では唯1つのチャネルを有する。次元拡張を通じて、次元拡張の後に取得されるオブジェクト視認マップVのチャネル数は、基本特徴マップUのチャネル数と同じである。次いで、基本特徴マップUの要素(i, j)は、次元拡張後に取得されるオブジェクト認識マップVの要素(i, j)と乗算され、基本特徴マップUの要素(i, j)の値と積とが合計され、改善された特徴マップの各要素の値を取得する。
[0284] 図18に示すプロセスにおいて、重み付け加算は、チャネル毎に特徴マップに関して実行され、最終的に改善された特徴マップを取得することが可能であり、その改善された特徴マップのチャネル数は基本特徴マップのものと同じである。例えば、基本特徴マップUは、全部で64個のチャネルを有する。この場合、基本特徴マップの各チャネルの特徴マップの要素は、オブジェクト視認マップの対応する要素と乗算され、次いで、乗算結果と、基本特徴マップの対応する要素とが合計されて、改善された特徴マップの対応する要素の値を求めることができる。改善された特徴マップの64個のチャネル各々の特徴マップの要素の値が得られるまで、同様な演算が反復される。
[0285] 具体的には、重み付け処理の間に、数式(3)を用いて、画像のオブジェクト視認マップVと基本特徴マップUに関して重み付け処理を実行し、画像の改善された特徴マップUを得ることができる。
は、Vがチャネルの次元でK回拡張されることを意味し、◎は対応する要素の乗算を意味する。
[0287] 画像についての改善された特徴マップであって自己活性化モジュール103を使用することによって得られるものは、画像内の人体可視部分の特徴を強調し、且つ背景の特徴と障害物の特徴を抑制することができ、それによって、画像の改善された特徴に基づいて以後に実行される高精度な歩行者検出を促進する。
[0288] 第2融合方法:
[0289] 第2融合方法では、基本特徴マップにおける対応する要素は、次元拡張の後に得られるオブジェクト視認マップにおける対応する要素と乗算され、次いで、得られた積と、次元拡張後に得られるオブジェクト視認マップ中の対応する要素とが合計され、改善された特徴マップU~における対応する要素の値を求めることができる。
[0290] 第3融合方法:
[0291] 第3融合方法では、基本特徴マップにおける対応する要素と、次元拡張の後に得られるオブジェクト視認マップ中の対応する要素とに関して重み付け加算が直接的に実行されることが可能であり、重み付け加算の後に得られる要素の値は、改善された特徴マップ中の対応する要素の値である。重み付け加算が実行される場合、次元拡張の後に得られるオブジェクト視認マップの重み付け係数は、基本特徴マップの重み付け係数よりも大きくてもよく、その結果、改善さえた特徴マップは、オブジェクト視認マップの特徴を主に反映する。
[0292] 1006. 画像のプロポーザルと画像の改善された特徴マップとに基づいて、プロポーザルに対応する特徴を決定する。
[0293] プロポーザルに対応する特徴であってステップ1006で得られるものは、プロポーザルの領域特徴を含んでもよい。プロポーザルの領域特徴は、改善された機能マップ内にある領域であってプロポーザル内に位置する領域の特徴である。
[0294] 具体的には、プロポーザルの領域特徴は、改善された特徴マップ内の領域であってプロポーザルに対応する領域の特徴であってもよい。プロポーザルの領域特徴が決定されると、改善された特徴マップ中のプロポーザルの位置が先ず決定され、次いで、改善された特徴マップ中の領域であってプロポーザルで境界が形成される領域の特徴が、プロポーザルの領域特徴として決定されてもよい。
[0295] 更に、サンプリング処理(具体的には、アップサンプリング又はダウンサンプリングである可能性がある)は、改善された特徴マップ内にある領域であってプロポーザルによって境界が形成される領域の特徴に対して更に実行され、プロポーザルの領域特徴を得ることができる。
[0296] プロポーザルに対応する特徴は、プロポーザルの領域特徴に加えて、プロポーザル外側の別の領域の特徴を更に含んでもよい。
[0297] 図19に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、画像の改善された特徴マップ内にある特徴であってプロポーザル内に位置する特徴が、プロポーザルに対応する特徴として直接的に使用されてもよい。
[0298] プロポーザルに対応する最終的に決定された特徴を、より正確にするために、プロポーザルの領域は、先ず画像のオブジェクト視認マップを参照して決定され、次いで、プロポーザルに対応する特徴が、画像のプロポーザルの領域と画像の改善された特徴マップとに基づいて決定される。
[0299] 図20に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず画像のオブジェクト視認マップから決定され、次いで、プロポーザルの領域(領域の場所)に基づいて、改善された特徴マップ内にある特徴であってプロポーザル内に位置する特徴が、プロポーザルに対応する特徴として決定される。
[0300] 図20において、画像のオブジェクト視認マップは、人体可視部分に対してより強い応答を有するので、プロポーザルの位置は、オブジェクト視認マップを使用することによって、より正確に決定し、次いで、プロポーザルのより正確な領域特徴を得ることができる。
[0301] 図19及び図20では、プロポーザルの領域特徴が得られた後に、RCNNモジュールを使用して、プロポーザルの領域特徴の処理を継続し、最終的に、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを得ることができる。
[0302] 本願では、最終的な歩行者検出結果の精度を更に向上させるために、プロポーザル周辺の領域の領域特徴を抽出することができ、プロポーザル周辺の領域の領域特徴はプロポーザルの領域特徴と融合され、次いで、融合した特徴はRCNNモジュールを用いて処理され、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを決定する。本願では、プロポーザルの領域特徴とプロポーザルの周辺の領域の領域特徴とが総合的に使用され、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを総合的に決定し、歩行者検出の精度はより高くなる。
[0303] オプションとして、プロポーザルに対応する特徴は、プロポーザルの輪郭領域の領域特徴を更に含み、プロポーザルの輪郭領域は、プロポーザルと、プロポーザルが第1プリセット比率だけ縮小された後に得られる縮小プロポーザルとの間に形成される領域である。
[0304] プロポーザルの輪郭領域の領域特徴は一般に歩行者の輪郭特徴を含み、歩行者の輪郭特徴は歩行者検出において非常に重要な役割を果たす。
[0305] 図21に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず、画像のオブジェクト視認マップから決定され、次いで、プロポーザルのフレームは、特定の比率で内側に縮小される。プロポーザルの元のフレームと、プロポーザルの縮小後に得られるフレームとの間の領域は、プロポーザルの輪郭領域である。
[0306] 代替的に、プロポーザルの輪郭領域が決定されると、プロポーザルの領域は、改善された特徴マップから決定され、次いで、プロポーザルのフレームは、特定の比率で内側に縮小される。プロポーザルの元のフレームと、プロポーザルの縮小後に得られるフレームとの間の領域は、プロポーザルの輪郭領域である。
[0307] プロポーザルが第1プリセット比率で縮小されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で縮小されることを意味してもよく、プロポーザルの幅と高さが縮小される割合は同じであってもよいし、或いは異なっていてもよい。
[0308] オプションとして、プロポーザルが第1プリセット比率で縮小されることには、次のようなものを含む:プロポーザルの幅は第1縮小比率で縮小され、プロポーザルの高さは第2縮小比率で縮小される。
[0309] 第1プリセット比率は、第1縮小比率と第2縮小比率を含み、第1縮小比率と第2縮小比率は同じであってもよいし、或いは異なっていてもよい。
[0310] 第1縮小比率と第2縮小比率は、経験に基づいて設定されてもよい。例えば、第1縮小比率と第2縮小比率について適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴はプロポーザルの輪郭領域からより良く抽出することができ、その輪郭領域は、プロポーザルの幅と高さが第1縮小比率と第2縮小比率によって縮尺された後に得られるものである。
[0311] 第1縮小比率と第2縮小比率は、歩行者輪郭をより良く抽出するために使用できる値に設定されてもよい。
[0312] 第1縮小比率は1/1.1であってもよく、第2縮小比率は1/1.8であってもよい。
[0313] プロポーザルのフレームは、プロポーザルのセンターを中心として使用することにより、特定の割合で内側に縮小されてもよい。縮小プロポーザルの中心は、画像のオブジェクト視認マップ中の元のプロポーザルの最大値の地点であってもよい。
[0314] オプションとして、縮小プロポーザルの中心は、元のプロポーザルの中心に一致する。
[0315] 本願では、プロポーザルに対応する特徴がプロポーザルの輪郭領域の領域特徴を更に含む場合に、歩行者の輪郭特徴も歩行者検出中に考慮することができ、その結果、歩行者検出は、以後、歩行者の輪郭特徴と組み合わせてより良好に行うことができる。
[0316] オプションとして、図10に示される方法は、プロポーザルの領域特徴のうちの特徴であって縮小プロポーズ内に位置する特徴の値をゼロに設定し、プロポーザルの輪郭領域の領域特徴を取得することを更に含む。
[0317] 本願では、プロポーザルの輪郭領域の領域特徴が得られた場合、プロポーザルの領域特徴の特徴であって縮小プロポーザルに位置する特徴の値が、直接的にゼロに設定され、その結果、プロポーザルの輪郭領域の領域特徴を迅速かつ好都合に取得することができる。
[0318] 本願において、プロポーザルの輪郭領域の領域特徴は、代替的に、別の方法で取得されてもよいことが理解されるべきである。例えば、プロポーザルの輪郭領域の領域特徴は、プロポーザルの輪郭領域の領域位置に基づくスキャニングによって、改善された特徴マップから直接的に取得されてもよい。
[0319] オプションとして、プロポーザルに対応する特徴は、プロポーザルの背景領域の領域特徴を更に含み、プロポーザルの背景領域は、プロポーザルと、第2プリセット比率によりプロポーザルが拡大された後に取得される拡大プロポーザルとの間に形成される領域である。
[0320] プロポーザルの背景領域の領域特徴は、一般に、画像中の歩行者が位置する背景領域の特徴を反映する。歩行者検出は、背景領域の特徴と歩行者の特徴に基づいて実行されてもよい。
[0321] プロポーザルが第2プリセット比率で拡大されることは、具体的には、プロポーザルの幅と高さがそれぞれ特定の比率で拡大されることを意味してもよく、プロポーザルの幅と高さが拡大される割合は同じであってもよいし、或いは異なっていてもよい。
[0322] オプションとして、プロポーザルが第2プリセット比率で拡大されることは、以下を含む:プロポーザルの幅が第1拡大比率で拡大され、プロポーザルの高さが第2拡大比率で拡大される。
[0323] 第2プリセット比率は、第1拡大比率と第2拡大比率を含み、第1拡大比率と第2拡大比率は同じであってもよいし、或いは異なっていてもよい。
[0324] 第1拡大比率と第2拡大比率は、経験に基づいて設定されてもよい。例えば、1拡大比率と第2拡大比率について、適切な値を設定することが可能であり、その結果、歩行者の輪郭特徴を、プロポーザルのものである輪郭領域から良好に抽出することが可能であり、その輪郭領域は、プロポーザルの幅と高さが第1拡大比率及び第2拡大比率で拡大された後に得られるものである。
[0325] 第1拡大比率及び第2拡大比率は、歩行者の輪郭をより良く抽出するために使用できる値に設定されてもよい。
[0326] 第1拡大比率は1/1.1であってもよく、第2拡大比率1/1.8であってもよい。
[0327] 図22に示すように、画像のプロポーザル(プロポーザルの場所)に基づいて、プロポーザルの領域は、先ず、画像のオブジェクト視認マップから決定され、次いで、プロポーザルのフレームは、特定の比率で外側に拡大される。プロポーザルの元のフレームと、プロポーザルが拡大された後に得られるフレームとの間の領域は、プロポーザルの背景領域である。
[0328] 代替的に、プロポーザルの背景領域が決定されると、プロポーザルの領域は、先ず、画像のプロポーザル(プロポーザルの場所)に基づいて画像の改善された特徴マップから決定されてもよく、次いで、プロポーザルのフレームは、特定の比率で外側に拡大される。プロポーザルの元のフレームと、プロポーザルが拡大された後に得られるフレームとの間の領域は、プロポーザルの背景領域である。
[0329] プロポーザルのフレームが拡大される場合、拡大比率は経験に基づいて決定されてもよい。例えば、プロポーザルが拡大される場合、プロポーザルの幅は元の幅の1.1倍に変更されてもよく、プロポーザルの高さは元の高さの1.8倍に変更されてもよい。
[0330] プロポーザルのフレームは、プロポーザルのセンターを中心として使用することにより、特定の割合で外側に拡大されてもよい。拡大プロポーザルの中心は、画像のオブジェクト視認マップ中の元のプロポーザルの最大値の地点であってもよい。
[0331] オプションとして、拡大プロポーザルの中心は、元のプロポーザルの中心に一致する。
[0332] 本願では、プロポーザルに対応する特徴がプロポーザルの背景領域の領域特徴を更に含む場合に、背景領域の領域特徴も歩行者検出中に考慮することができ、その結果、歩行者検出は、以後、背景領域の領域特徴と組み合わせてより良好に行うことができる。
[0333] オプションとして、図10に示される方法は、更に、第1領域の領域特徴を取得するステップであって、第1領域の領域特徴は、オブジェクト視認マップ内にある領域であって拡大プロポーザル内に位置する領域内の領域特徴である、ステップと、第1領域の領域特徴の特徴であってプロポーザル内に位置する特徴をゼロに設定して、プロポーザルの背景領域の領域特徴を取得するステップとを更に含む。
[0334] オプションとして、プロポーザルの背景領域の領域特徴は、代替的に、改善された特徴マップを参照して決定されてもよい。具体的には、第2領域の領域特徴を得ることができ、ここで、第2領域の領域特徴は、改善された特徴マップにある領域であって拡大されたプロポーザルに位置する領域の領域特徴であり;第2領域の領域特徴であってプロポーザルに位置する特徴はゼロに設定され、プロポーザルの背景領域の領域特徴を得ることができる。
[0335] 本願では、プロポーザルの背景領域の領域特徴が得られた場合に、改善された特徴マップにある領域特徴であってプロポーザルの背景領域に対応する領域特徴が取得され、次いで、その領域特徴のうちの特徴であってプロポーザルに位置する特徴は直接的にゼロに設定され、その結果、プロポーザルの背景領域の領域特徴を迅速かつ好都合に得ることができる。
[0336] プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びここでのプロポーザルの背景特徴は、プロポーザルに対応する特徴として言及されてよいことが理解されるべきである。換言すれば、この場合、プロポーザルに対応する特徴は、プロポーザルの領域内の領域特徴を含むだけでなく、プロポーザルの領域外側の別の領域(輪郭領域及び背景領域)の領域特徴も含む。
[0337] 具体的には、プロポーザルの領域特徴に加えて、プロポーザルに対応する特徴は、プロポーザルの輪郭特徴及びプロポーザルの背景特徴の少なくとも1つを更に含んでもよい。
[0338] プロポーザルに対応する特徴が、3つの特徴:プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴を含む場合、プロポーザルに対応する特徴はほとんどの情報を含み、従って、プロポーザルに対応する特徴に対してRCNNモジュールに基づいて歩行者検出が以後に実行される場合、歩行者検出の精度はある程度改善される可能性がある。
[0339] プロポーザルに対応する特徴は、3つの独立した特徴:プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴を直接的に含んでいてもよいし、或いは3つの特徴、即ちプロポーザルの領域特徴、プロポーザルの輪郭特徴、プロポーザルの背景特徴が融合された後に得られる特徴を含んでいてもよいことが理解されるべきである。換言すれば、3つの特徴、即ちプロポーザルの領域特徴、プロポーザルの輪郭特徴、プロポーザルの背景特徴は融合されることが可能であり、融合された特徴はプロポーザルに対応する特徴である。
[0340] プロポーザルに対応する特徴を取得し、プロポーザルに対応する特徴に基づいて歩行者検出を実行するプロセスは、プロポーザルに対応する特徴が、プロポーザルの領域特徴、プロポーザルの輪郭特徴、及びプロポーザルの背景特徴という3つの特徴が融合された後に取得した特徴である例を使用することによって、図23を参照しながら詳細に説明される。
[0341] 図23に示すように、画像のプロポーザルと画像のオブジェクト視認マップとに基づいて、プロポーザルの領域、プロポーザルの輪郭領域、及びプロポーザルの背景領域を決定することができる(これらの領域を決定するプロセスについては、図21及び図22を参照されたい)。
[0342] 次いで、プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴(略して、輪郭特徴と言及されてもよい)、及びプロポーザルの背景領域の領域特徴(略して、背景特徴と言及されてもよい)が、プロポーザルの領域、プロポーザルの輪郭領域、及びプロポーザルの背景領域に基づいて、画像の改善された特徴マップからそれぞれ抽出される。
[0343] プロポーザルの領域特徴、プロポーザルの輪郭領域の領域特徴、及びプロポーザルの背景領域の領域特徴が得られた後、3つの特徴を融合して融合特徴を得ることができる。融合機能はプロポーザルに対応する特徴である。3つの特徴は、線型結合方式で融合されてもよく(3つの特徴に対して重み付け加算が行われる)、又は非線型結合方式で融合されてもよい。3つの特徴が融合される前に、3つの特徴は、最初に同じサイズ(例えば、7×7×K、ここで、Kはチャネル数である)に調整されてもよい。次いで、3つの特徴は融合される。
[0344] プロポーザルに対応する特徴が得られた後、RCNNモジュールを用いてプロポーザルに対応する特徴を処理し、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを最終的に得ることができる。
[0345] 1007. プロポーザルに対応する特徴に基づいて、画像に歩行者を含む境界ボックスと画像に歩行者を含む境界ボックスの信頼度を決定する。
[0346] プロポーザルに対応する特徴に対して畳み込み処理と重み付け加算を行うことにより、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度は、プロポーザルに対応する部分の画像特徴に基づいて、より良く決定することができる。
[0347] 本願では、画像のオブジェクト視認マップは歩行者可視部分の特徴を強調することができるので、画像の基本特徴マップと画像のオブジェクト視認マップを融合させることによって得られる改善された特徴マップは、歩行者可視部分の特徴を強調し、それにより、改善された特徴マップに基づいて以後に行われる歩行者検出の精度を向上させる。更に、歩行者が(相対的に深刻に)遮られている場合、このアプリケーションにおける歩行者検出の精度は相対的に顕著に改善される。
[0348] 更に、本願では、オブジェクト視認マップを使用することによって歩行者検出の精度が改善される場合、訓練データのマーキング量は、訓練プロセスにおいて増加しない。本願では、処理プロセスにおいてオブジェクト視認マップを生成し、その後の処理においてオブジェクト視認マップを総合的に考慮する必要があるだけである。データ・マーキング量を増加させることによって、歩行者検出の精度が改善される解決策と比較して、本願は、データ・マーキング量を低減し、訓練の複雑性を低減することができる。
[0349] 本願のこの実施形態における歩行者検出方法は、ドライバー支援/自動運転システム及びセーフ・シティ/ビデオ監視システムのような複数のシナリオに適用することができる。
[0350] 本願のこの実施形態における歩行者検出方法が、ドライバー支援/自動運転システムに適用される場合、道路画像が得られ、本願のこの実施形態における歩行者検出方法を使用して処理することによって、道路画像に歩行者を含む境界ボックスと道路画像に歩行者を含む境界ボックスの信頼度とを検出することができる。次いで、自動運転車両は、道路画像中に歩行者を含む境界ボックスと、道路画像中に歩行者を含む境界ボックスの信頼度とに基づいて制御されることが可能である。例えば、道路画像中に歩行者を含む境界ボックスと道路画像中に歩行者を含む境界ボックスの信頼度とに基づいて、車両の前方におそらく歩行者がいると判断された場合、車両は減速及び警笛を行うように制御されたり、或いは車両は歩行者を回避するように制御されたりする可能性がある。
[0351] 本願のこの実施形態における歩行者検出方法が、セーフ・シティ/ビデオ監視システムに適用される場合、先ず、監視画像が得られ、次いで、本願のこの実施形態における歩行者検出方法を使用して処理することによって、監視画像に歩行者を含む境界ボックスと、監視画像に歩行者を含む境界ボックスの信頼度とが取得される。次いで、特定の人物が、監視画像に歩行者を含む境界ボックスと監視画像に歩行者を含む境界ボックスの信頼度とに基づいて認識されて追跡される可能性がある。例えば、監視画像に歩行者を含む境界ボックスと監視画像に歩行者を含む境界ボックスの信頼度とに基づいて、監視画像に特定の人物(行方不明者又は犯罪容疑者)が存在すると認識された場合、その特定の人物は、スカイ・アイ・システム(このシステムは、セーフ・シティ/ビデオ監視システムの一部と見なされてもよい)を介して追跡される可能性がある。
[0352] ステップ1007では、先ず、プロポーザルに対応する特徴に対して畳み込み処理が実行される可能性があり、次いで、畳み込み処理後に得られた畳み込み特徴マップに関して重み付け加算が実行され、最終的に、画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とが、重み付け加算によって得られた特徴マップに基づいて決定される。
[0353] 具体的には、図16に示すように、ステップ1007において、画像中に歩行者を含む境界ボックスと、画像中に歩行者を含む境界ボックスの信頼度とを決定する特定のプロセスは、以下のステップを含んでもよい:
[0354] 1007a. 第2畳み込みネットワークを用いて、プロポーザルに対応する特徴に関して畳み込み処理を実行し、複数の第2セマンティック特徴マップを得る。
[0355] 1007b. 回帰装置を使用することにより、複数の第2セマンティック特徴を処理し、画像中に歩行者を含む境界ボックスの位置を決定する。
[0356] 1007c. 分類器を使用することにより、複数の第2セマンティック特徴を処理し、画像中に歩行者を含む境界ボックスの信頼度を得る。
[0357] 複数の第2セマンティック特徴マップはそれぞれ、異なる意味論的意味を有する複数の特徴マップであってプロポーザルに対応する特徴から抽出されるものを表す。第2畳み込みネットワークの畳み込みパラメータは、第1畳み込みネットワークの畳み込みパラメータと同じである。具体的には、複数の第2セマンティック特徴マップのうちの任意の2つは、異なる意味論的意味に対応する。
[0358] 例えば、複数の第2セマンティック特徴マップが、F1、F2、及びF3を含み、F1は頭部の特徴を反映し、F2は左手の特徴を反映し、F3は脚の特徴を反映し、F1、F2、及びF3によってそれぞれ反映される意味論的意味は互いに異なる。
[0359] ここでの例におけるF1、F2、及びF3は、複数の第1セマンティック特徴マップの前述の例の説明におけるF1、F2、及びF3とは異なることが理解されるべきである。ここでのF1、F2、及びF3は、第2セマンティック特徴マップに属する一方、複数の第1セマンティック特徴マップの前述の説明例におけるF1、F2、及びF3は、第1セマンティック特徴マップに属する。
[0360] 画像中に歩行者を含む境界ボックスの位置と画像中に歩行者を含む境界ボックスの信頼度とは、画像に関して実行される歩行者検出の検出結果であってもよく、画像の歩行者検出結果として言及されてもよい。
[0361] 以下、図24を参照して、ステップ1007a乃至1007cのプロセスを詳細に説明する。
[0362] 図24に示すように、RCNNモジュールにおけるConv5を使用することによって、プロポーザルに対応する特徴に関して畳み込み処理が実行され、複数の第2セマンティック特徴マップ(C1乃至Ck)を得ることができる。複数の第2セマンティック特徴マップの各々は、異なる特徴を反映する。例えば、C1は頭部の特徴を反映し、C2は左手の特徴を反映し、C3は背景オブジェクトの特徴を反映し、...等々である。複数の第2セマンティック特徴が得られた後、グローバル平均プーリング(global average pooling, GAP)モジュールを使用して、各々の第2セマンティック特徴マップに関して平均化処理を実行し、特徴マップP1乃至Pkを取得することができる。P1は特徴マップC1に関して平均化処理が実行された後に得られるものであり、Pkは特徴マップCkに関して平均化処理が実行された後に得られるものである。
[0363] 特徴マップP1乃至Pkが得られた後、プロポーザルの信頼度を得るために、分類器における分類係数を使用することによって、特徴マップP1乃至Pkに関して重み付け加算が実行されてもよい。
[0364] 具体的には、重み付け加算は、プロポーザルの信頼度を得るために、数式(4)に基づいて特徴マップPkに関して実行されてもよい:
[0365] 数式(4)において、w
k∈1*1はP
kに対応する分類係数である。RCNNの分類器では、より大きなw
kは、P
kが
歩行者認識に対してより大きく寄与をすることを示す。P
kはC
kの平均であるので、P
kはC
kを表し、より大きなw
kは、C
kが人物を認識する上でより重要な役割を果たすことを示す。従って、分類器の重み係数はC
kに対する選択効果を有する。このため、自己活性化モジュールでは、より上位層のセマンティック特徴マップを重み付けし、オブジェクト視認マップを形成するために、RCNNと共有される分類係数w
kが使用される。
[0366] 最後に、ボックス回帰装置において、ボックスのより正確な座標(xmin, ymin, width, height)を得るために、同様な係数が使用される。
[0367] (xmin, ymin)は、ボックスの左上コーナー位置の座標であってもよい。WとHはそれぞれボックスの幅と高さを表す。更に、(xmin, ymin)は、代替的に、ボックスの中心位置、又はボックスの右上コーナー位置/左下コーナー位置/右下コーナー位置であってもよい。
[0368] プロポーザルの位置と座標が得られた後、非最大抑制(non-maximize suppression, NMS)処理が全ての出力プロポーザルに関して更に実行され、大きくオーバーラップしたプロポーザルを結合し、過剰に低い信頼度を伴うプロポーザルを除外して、歩行者検出結果を出力する、即ち、訓練画像中に歩行者を含む境界ボックスと画像中に歩行者を含む境界ボックスの信頼度とを出力することができる。
[0369] 以下、本願のこの実施形態における歩行者検出方法の効果を、表1を参照して説明する。表1は、公表されているデータ・セット(CityPersons)に対して、本願の解決策と既存の解決策を使用することによって歩行者検出が実行された場合に得られるミス率(miss rate)を示す。従来の解決策1は、適応高速RCNN (adapted faster RCNN)解決策である。従来の解決策1は、2017年のコンピュウータ・ビジョン及びパターン認識に関するIEEE会議(IEEE Conference on Computer Vision and Pattern Recognition, CVPR)で提案されたものである。IEEEは電気電子技術者協会(institute of electrical and electronics engineers)である。従来の解決策2はオクルージョン・アウェアR-CNN(occlusion-aware R-CNN)解決策である。従来の解決策2は、2018年のコンピュータ・ビジョンに関する欧州会議(European conference on computer vision, ECCV)で提案されたものである。
[0370] また、表1の第2列は、画像内の全ての歩行者(他の物体で遮られている歩行者と他の物体で遮られていない歩行者とを含む)に関して実行された歩行者検出のロス率を示し、表1の第3列は、画像内で著しく遮られている歩行者に関して実行された歩行者検出のロス率を示す。より低いロス率は、より良い歩行者検出パフォーマンスを示す。
[0371] 2つのシナリオの両方において、特に、深刻な遮りを伴うシナリオにおいて、本願の解決策のロス率は既存の解決策のロス率より低いことを、表1から知ることができる。従来の解決策と比較して、本願の解決策は、約10%のパフォーマンス利得を達成できており、他と比べて明らかな効果改善を有する。
表1
[0372] 本願の実施形態における歩行者検出方法は、添付の図面に関連して上記で詳細に説明されている。本願の実施形態における歩行者検出装置は、添付の図面を参照して以下で詳細に説明されている。以下に説明される歩行者検出装置は、本願の実施形態における歩行者検出方法のステップを実行することができる、ということは理解されるべきである。不必要な繰り返しを避けるために、本願の実施形態における歩行者検出装置を以下で説明する場合に、繰り返しの説明は適宜省略される。
[0373] 図25は、本願の一実施形態による歩行者検出装置の概略ブロック図である。図25に示す歩行者検出装置3000は、取得ユニット3001と処理ユニット3002とを含む。
[0374] 取得ユニット3001と処理ユニット3002は、本願の実施形態において、歩行者検出方法を実行するように構成されることが可能である。具体的には、取得ユニット3001はステップ1001を実行することができ、処理ユニット3002はステップ1002乃至1007を実行することができる。
[0375] 処理ユニット3002は、様々な処理機能に基づいて複数のモジュールに分割されてもよい。具体的には、処理ユニット3002は、図7に示す歩行者検出装置におけるバックボーン・ネットワーク・モジュール101、RPNモジュール102、自己活性化モジュール103、基本特徴重み付けモジュール104、領域特徴生成モジュール105、RCNNモジュール106、及び出力モジュール107と同等であってもよい。処理ユニット3002は、図7に示す歩行者検出装置におけるモジュールの機能を実現することができる。
[0376] 図26は、本願の実施形態による歩行者検出装置のハードウェア構造の概略図である。図26に示される歩行者検出装置4000(装置4000は、具体的には、コンピュータ・デバイスであってもよい)は、メモリ4001、プロセッサ4002、通信インターフェース4003、及びバス4004を含む。メモリ4001、プロセッサ4002、及び通信インターフェース4003の間の通信接続は、バス4004を介して実装される。
[0377] メモリ4001は、リード・オンリー・メモリ(read-only memory, ROM)、スタティック記憶デバイス、ダイナミック記憶デバイス、又はランダム・アクセス・メモリ(random access memory, RAM)であってもよい。メモリ4001は、プログラムを記憶することができる。メモリ4001に記憶されたプログラムがプロセッサ4002によって実行されると、プロセッサ4002は、本願の実施形態における歩行者検出方法のステップを実行するように構成されている。
[0378] プロセッサ4002は、汎用中央処理ユニット(central processing unit, CPU)、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit, ASIC)、グラフィックス処理ユニット(graphics processing unit, GPU)、又は1つ以上の集積回路を使用することが可能であり、関連プログラムを実行して、本願の方法の実施形態における歩行者検出方法を実施するように構成されている。
[0379] 代替的に、プロセッサ4002は、集積回路チップであってもよく、信号処理能力を有する。実装プロセスにおいて、本願の歩行者検出方法のステップは、プロセッサ4002内のハードウェア集積論理回路を使用することによって、又はソフトウェアの形式における命令を使用することによって、実装されることが可能である。
[0380] 代替的に、プロセッサ4002は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processing, DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array, FPGA)、又は別のプログラマブル論理デバイス、個別ゲート又はトランジスタ論理デバイス、或いは個別ハードウェア構成要素であってもよい。本願の実施形態において開示される方法、ステップ、及び論理ブロック図が実施又は実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよく、或いはプロセッサは、任意の従来のプロセッサ等であってもよい。本願の実施形態に関連して開示される方法のステップは、ハードウェア復号化プロセッサを使用することによって直接的に実行され完結されてもよいし、或いは復号化プロセッサ内のソフトウェア・モジュール及びハードウェア・モジュールの組み合わせを使用することによって実行され完結されてもよい。ソフトウェア・モジュールは、ランダム・アクセス・メモリ、フラッシュ・メモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブル・メモリ、又はレジスタのような当該技術分野で成熟した記憶媒体に配置されることが可能である。記憶媒体は、メモリ4001内に位置する。プロセッサ4002は、メモリ4001内の情報を読み込み、プロセッサ4002のハードウェアと組み合わせて、歩行者検出装置に含まれるユニットによって実行されることを必要とする機能を完了するか、又は本願の方法の実施形態における歩行者検出方法を実行する。
[0381] 通信インターフェース4003は、例えばトランシーバであるがそれに限定されないトランシーバ装置を使用して、装置4000と他のデバイス又は通信ネットワークとの間の通信を実現する。例えば、処理対象画像は、通信インターフェース4003を使用することによって取得されてもよい。
[0382] バス4004は、装置4000の種々の構成要素(例えば、メモリ4001、プロセッサ4002、及び通信インターフェース4003)の間の情報転送のための経路を含んでもよい。
[0383] 図27は、本願の実施形態によるニューラル・ネットワーク訓練装置のハードウェア構造の概略図である。前述の装置4000と同様に、図27に示されるニューラル・ネットワーク訓練装置5000は、メモリ5001、プロセッサ5002、通信インターフェース5003、及びバス5004を含む。メモリ5001、プロセッサ5002、及び通信インターフェース5003の間の通信接続は、バス5004を介して実装される。
[0384] メモリ5001は、ROM、静的記憶デバイス、又はRAMであってもよい。メモリ5001は、プログラムを記憶することができる。メモリ5001に記憶されたプログラムがプロセッサ5002によって実行されると、プロセッサ5002及び通信インターフェース5003は、本願の実施形態におけるニューラル・ネットワーク訓練方法のステップを実行するように構成される。
[0385] プロセッサ5002は、汎用CPU、マイクロプロセッサ、ASIC、GPU、又は1つ以上の集積回路を使用してもよく、関連プログラムを実行し、本願の実施形態における画像処理装置内のユニットによって実行されることを必要とする機能を実行するか、或いは本願の方法の実施形態におけるニューラル・ネットワーク訓練方法を実行するように構成される。
[0386] 代替的に、プロセッサ5002は、集積回路チップであってもよく、信号処理能力を有する。実装プロセスにおいて、本願の実施形態におけるニューラル・ネットワーク訓練方法のステップは、プロセッサ5002内のハードウェア集積論理回路を使用することによって、又はソフトウェアの形式における命令を使用することによって、実装されることが可能である。
[0387] 代替的に、上記のプロセッサ5002は、汎用プロセッサ、DSP、ASIC、FPGA、又は別のプログラマブル論理デバイス、個別ゲート又はトランジスタ論理デバイス、或いは個別ハードウェア構成要素であってもよい。本願の実施形態において開示される方法、ステップ、及び論理ブロック図が実施又は実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよく、或いはプロセッサは、任意の従来のプロセッサ等であってもよい。本願の実施形態に関連して開示される方法のステップは、ハードウェア復号化プロセッサを使用することによって直接的に実行され完結されてもよいし、或いは復号化プロセッサ内のソフトウェア・モジュール及びハードウェア・モジュールの組み合わせを使用することによって実行され完結されてもよい。ソフトウェア・モジュールは、ランダム・アクセス・メモリ、フラッシュ・メモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブル・メモリ、又はレジスタのような当該技術分野で成熟した記憶媒体に配置されることが可能である。記憶媒体は、メモリ5001内に位置する。プロセッサ5002は、メモリ5001内の情報を読み込み、プロセッサ5002のハードウェアと組み合わせて、歩行者検出装置の実施形態における画像処理装置に含まれるユニットによって実行されることを必要とする機能を完了するか、又は本願の方法の実施形態におけるニューラル・ネットワーク訓練方法を実行する。
[0388] 通信インターフェース5003は、例えばトランシーバであるがそれに限定されないトランシーバ装置を使用して、装置5000と他のデバイス又は通信ネットワークとの間の通信を実現する。例えば、処理対象画像は、通信インターフェース5003を使用することによって取得されてもよい。
[0389] バス5004は、装置5000の種々の構成要素(例えば、メモリ5001、プロセッサ5002、及び通信インターフェース5003)の間の情報転送のための経路を含んでもよい。
[0390] 装置4000と装置5000の各々にメモリ、プロセッサ、通信インターフェースのみが示されているが、特定の実装プロセスにおいては、装置4000と装置5000は、通常の動作に必要な他の構成要素を更に含む可能性があることを当業者は理解するはずである、ということに留意すべきである。更に、特定の要件に従って、装置4000と装置5000は、他の追加機能を実施するためのハードウェア構成要素を更に含んでもよいことを、当業者は理解するはずである。更に、装置4000と装置5000は、本願の実施形態を実施するために必要な構成要素のみを含んでいてもよいが、必ずしも図26及び図27に示す全ての構成要素を含む必要はないことを、当業者は理解するはずである。
[0391] 当業者は、本明細書に開示された実施形態に記載される例との組み合わせにおいて、ユニット及びアルゴリズム・ステップが、電子ハードウェア、又はコンピュータ・ソフトウェアと電子ハードウェアとの組み合わせによって実施されてもよいことを認識することができる。機能がハードウェア又はソフトウェアで実行されるかどうかは、特定のアプリケーションや技術的解決策の設計上の制約に依存する。当業者は、特定のアプリケーションの各々について、説明された機能を実現するために様々な方法を使用する可能性があるが、その実現は本願の範囲を越えて行くものであると考えられるべきではない。
[0392] 説明の簡便性のために、前述のシステム、装置、及びユニットの詳細な処理プロセスについては、前述の方法の実施形態における対応するプロセスをされたい、ということを当業者は明確に理解されることが可能であり、詳細はここで再度説明されない。
[0393] 本願で提供される幾つかの実施形態において、開示されたシステム、装置、及び方法は、他の方法で実施することができる、ということは理解されるべきである。例えば、説明された装置の実施形態は単なる例である。例えば、分割単位は、単なる論理的な機能分割であるに過ぎず、実際の実装においては他の分割であってもよい。例えば、複数のユニット又は構成要素が、別のシステムに結合又は統合されてもよいし、或いは幾つかの特徴が無視されたり、或いは実行されなかったりしてもよい。また、図示又は説明された相互結合、直接結合、又は通信接続は、幾つかのインターフェースを使用することによって実現されてもよい。デバイス又はユニット間の間接的な結合又は通信接続は、電気的、機械的、又は他の形態で実施されてもよい。
[0394] 別個のパーツとして説明されるユニットは、物理的に別々であってもなくてもよく、ユニットとして表示されているパーツは、物理的なユニットであってなくてもよく、一カ所に配置されていてもよいし、或いは複数のネットワーク・ユニット上に分散されていてもよい。全部又は一部のユニットは、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてもよい。
[0395] 更に、本願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよいし、或いは各ユニットは、物理的に単独で存在してもよいし、或いは2つ以上のユニットは1つのユニットに統合される。
[0396] 機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売又は使用される場合、機能は、コンピュータ読み取り可能な記憶媒体に格納されていてもよい。このような理解に基づいて、本質的に本願の技術的解決策、又は先行技術に対して寄与する部分、又は技術的解決策の一部分は、ソフトウェア製品の形態で実施されてもよい。コンピュータ・ソフトウェア製品は、記憶媒体に格納され、コンピュータ・デバイス(パーソナル・コンピュータ、サーバー、ネットワーク・デバイスなどであってもよい)が、本願の実施形態で説明される方法の全部又は一部のステップを実行するように指示するための幾つかの命令を含む。前述の記憶媒体は、USBフラッシュ・ドライブ、リムーバブル・ハード・ディスク、リード・オンリー・メモリ(read-only memory, ROM)、ランダム・アクセス・メモリ(random access memory, RAM)、磁気ディスク、又は光ディスクのようなプログラム・コードを記憶することが可能な任意の媒体を含む。
[0397] 前述の説明は、本願の単なる具体的な実装であるに過ぎず、本願の保護範囲を制限するようには意図されていない。本願で開示される技術的範囲内で、当業者によって容易に把握される如何なる変更や置換も、本願の保護範囲内に該当するものとする。従って、本願の保護範囲はクレームの保護範囲に従うものとする。