(57)【要約】【課題】画像に含まれる複数の物体を検出するために要する演算コストを削減することができる物体位置検出装置を提供すること。【解決手段】実施形態に係る物体位置検出装置は、格納部と、検出部と、学習部とを備える。画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデルの機械学習を実行する学習部は、検出モデルに設定された学習用画像に関連付けられている複数の物体各々の各正解位置を順序が重複しないように並び替えたパターンごとに、各正解位置と、検出モデルから導出される各推定位置との誤差をそれぞれ算出し、算出された各誤差の中で最小の誤差を検出モデルのパラメータの最適化に用いる採用誤差に決定し、決定された採用誤差を用いてパラメータを最適化する。【選択図】図４
2020194456.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデルを記憶する検出モデル格納部と、
前記検出モデルを用いて、前記複数の物体各々の当該画像における位置を検出する検出部と
前記検出モデルの機械学習を実行する学習部と、
を備え、
前記学習部は、
前記複数の物体が撮像された複数の学習用画像と、当該学習用画像ごとに定義された前記複数の物体各々の前記学習用画像における各正解位置とを関連付けて記憶する学習用データ格納部と、
前記検出モデルのパラメータを記憶するパラメータ格納部と、
前記学習用画像及び前記パラメータを前記検出モデルに設定する設定部と、
前記検出モデルに設定された前記学習用画像に関連付けられている前記各正解位置を順序が重複しないように並び替えたパターンごとに、前記各正解位置と、前記検出モデルから導出される前記各推定位置との誤差をそれぞれ算出し、算出された各誤差の中で最小の誤差を前記パラメータの最適化に用いる採用誤差に決定する算出部と、
前記算出部により決定された採用誤差を用いて前記パラメータを最適化する最適化処理を実行する更新部と
を有することを特徴とする物体位置検出装置。
【請求項２】
前記各推定位置及び前記各正解位置は、前記画像における位置を特定する座標と、当該座標を基点とする水平方向の幅と、当該水平方向に直交する垂直方向の高さとを含むことを特徴とする請求項１に記載の物体位置検出装置。
【請求項３】
前記算出部は、前記誤差を算出する際、前記座標よりも、前記水平方向の幅、及び前記垂直方向の高さに対する重みを大きくすることを特徴とする請求項２に記載の物体位置検出装置。
【請求項４】
前記予め定められた数の複数の物体は、車両に乗車する乗車員の頭部であることを特徴とする請求項１〜３のいずれか１つに記載の物体位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、物体位置検出装置に関する。
【背景技術】
【０００２】
従来、カメラ画像から物体を検出する技術が種々提案されている（非特許文献１〜３参照）。非特許文献１には、カメラ画像から人の顔を検出する技術が提案されている。また、非特許文献２及び非特許文献３には、カメラ画像から複数の物体を発見する手法が提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Paul  Viola,  Micheal  Jones  (2001)  Rapid  Object  Detection  using  a  Boosted  Cascade  of  Simple  Features
【非特許文献２】Joseph  Redmon,  Santosh  Divvala,  Ross  Girshick,  Ali  Farhadi  (2015)  You  Only  Look  Once:  Unified,  Real-Time  Object  Detection
【非特許文献３】Wei  Liu,  Dragomir  Anguelov,  Dumitru  Erhan,  Christian  Szegedy,  Scott  Reed,  Cheng-Yang  Fu,  Alexander  C.  Berg  (2016)  Single  Shot  Multi  Box  Detector
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術には、画像に含まれる複数の物体を検出するために要する演算コストを削減する余地がある。
【０００５】
たとえば、上記従来手法では、カメラ画像の端から端までの全領域を探索して、大小さまざまな物体を発見する構造となっている。さまざまな位置及び大きさの物体の発見を許容すればするほど、画像認識に必要な演算量が増加する。しかしながら、上記従来手法は、物体が存在しない空間に対しても均等に物体を検出するための演算を行っており、演算コストを浪費しているのが現状である。
【０００６】
そこで、本発明の課題の一つは、画像に含まれる複数の物体を検出するために要する演算コストを削減することができる物体位置検出装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の実施形態にかかる物体位置検出装置は、一例として、画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデルの機械学習を実行する学習部と、前記検出モデルを記憶する格納部と、前記検出モデルを用いて、前記予め定められた数の複数の物体各々の当該画像における位置を検出する検出部とを備え、前記学習部は、前記予め定められた数の複数の物体が撮像された複数の学習用画像と、当該学習用画像ごとに定義された前記予め定められた数の複数の物体各々の前記学習用画像における各正解位置とを関連付けて記憶する学習用データ格納部と、前記検出モデルのパラメータを記憶するパラメータ格納部と、前記学習用画像及び前記パラメータを前記検出モデルに設定する設定部と、前記検出モデルに設定された前記学習用画像に関連付けられている前記各正解位置を順序が重複しないように並び替えたパターンごとに、前記各正解位置と、前記検出モデルから導出される前記各推定位置との誤差をそれぞれ算出し、算出された各誤差の中で最小の誤差を前記パラメータの最適化に用いる採用誤差に決定する算出部と、前記算出部により決定された採用誤差を用いて前記パラメータを最適化する最適化処理を実行する更新部とを有する。
【０００８】
このため、一例としては、画像を全領域に渡って探索する必要がなく、予め数が決まっている複数の物体を画像内から検出するための必要最小限の演算を実行すればよいので、演算コストを抑えることができる。すなわち、安価な演算処理装置による物体位置の検出のための演算が可能となる。また、一例として、検出モデルから導出される推定値の順序と、予め定義された正解値の順序に依存しない機械学習を実現できるので、回帰分析手法を応用し、画像に含まれる予め定められた数の複数の物体の位置検出を実現できる。
【０００９】
上記物体位置検出装置において、前記各推定位置及び前記各正解位置は、前記画像における位置を特定する座標と、当該座標を基点とする水平方向の幅と、当該水平方向に直交する垂直方向の高さとを含んでもよい。これにより、画像内において予め定められた数の複数の物体が位置する領域を特定できる。
【００１０】
上記物体位置検出装置において、前記算出部は、前記誤差を算出する際、前記座標よりも、前記水平方向の幅、及び前記垂直方向の高さに対する重みを大きくしてもよい。これにより、点の情報に過ぎない座標の影響を抑えた物体位置の検出を行うことができる。
【００１１】
上記物体位置検出装置において、前記予め定められた数の複数の物体は、車両に乗車する乗車員の頭部であってよい。これにより、車両に乗車する乗員の位置に応じた車載機器の制御を実現できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態に係る物体位置検出装置が搭載される車両の車室内を上方から見た平面図である。
【図２】図２は、実施形態に係る車室内の画像の一例を示す図である。
【図３】図３は、実施形態に係る制御システムの構成を示すブロック図である。
【図４】図４は、ＥＣＵの機能的構成を示すブロック図である。
【図５】図５は、検出部により検出される情報の一例を示す図である。
【図６】図６は、比較例に係る回帰分析手法を用いた検出モデルの機械学習の概要を示す図である。
【図７】図７は、実施形態に係る検出モデルの機械学習の概要を示す図である。
【図８】図８は、実施形態に係る誤差演算処理の概要を示す図である。
【図９】図９は、ＥＣＵが実行する学習処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に、本願に係る物体位置検出装置を実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る物体位置検出装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。以下の実施形態では、一例として、画像に含まれる予め定められた数の複数の物体各々の推定位置を導出する検出モデルを、車室内を撮影した画像に含まれる乗員の頭部の位置を検出する処理に適用する例について説明する。
【００１４】
［１．車両の構成］
図１は、実施形態に係る物体位置検出装置が搭載される車両１の車室内を上方から見た平面図である。
【００１５】
図１は、乗車定員が５名の車両１の車室内の一例を示すものである。車両１の車室内には、複数の座席２が設けられている。車室内の前方側には、運転席２ａおよび助手席２ｂが設けられ、後方側には複数の後部座席２ｃ〜２ｅが設けられる。後部座席２ｃは、運転席２ａの後方に設けられ、後部座席２ｄは、助手席２ｂの後方に設けられ、後部座席２ｅは、後部座席２ｃと後部座席２ｄとの間に設けられる。
【００１６】
車室内の前方側には撮像装置４が設けられる。撮像装置４は、ＣＣＤ（Charge  Coupled  Device）、またはＣＩＳ（CMOS  Image  Sensor）等の撮像素子を内蔵し、撮像素子によって撮像された画像を後述するＥＣＵ１０（図２参照）に出力する。
【００１７】
図２は、実施形態に係る車室内の画像の一例を示す図である。撮像装置４は、車室内を撮像する。図２において、乗員Ｕ１は運転席２ａに乗車する乗員を示し、乗員Ｕ２〜Ｕ４は後部座席２ｃ〜２ｅに乗車する乗員を示し、乗員Ｕ５は助手席２ｂに乗車する乗員を示す。撮像装置４は、図２に示すように、少なくとも各座席に乗車する乗員Ｕ１〜Ｕ５の頭部をそれぞれ撮像可能なように、向き、画角、及び設置位置などが決められる。撮像装置４は、車室内のダッシュボード、ルームミラー、天井等に設置され得る。撮像装置４は、車室内に複数設置されてもよく、かかる複数の撮像装置４によって各座席に乗車する乗員の頭部が撮像されればよい。
【００１８】
撮像装置４として、たとえば、単眼カメラ、ステレオカメラ、可視光カメラ、赤外線カメラ、またはＴＯＦ距離画像カメラ等の任意の種類のカメラを採用できる。なお、これらのカメラのうち、赤外線カメラは、車外が明るい状況でも白飛びしにくく、また、車室内が暗い状況でも乗員をある程度捉えることができるという点で有効である。
【００１９】
［２．制御システム１００の構成］
車両１には、物体位置検出装置を含む制御システム１００が設けられる。かかる制御システム１００の構成について図３を参照して説明する。図３は、実施形態に係る制御システム１００の構成を示すブロック図である。
【００２０】
図３に示すように、制御システム１００は、車内ネットワーク３と、撮像装置４と、複数のエアバッグ装置５と、警報装置６と、ＥＣＵ１０とを備える。ＥＣＵ１０は、物体位置検出装置の一例である。物体位置検出装置は、ＥＣＵ１０の他、撮像装置４を含んで構成されてもよい。
【００２１】
複数のエアバッグ装置５は、複数の座席２の各々に対応して設けられる。エアバッグ装置５は、車両１の衝突時などにエアバッグを展開することによって、座席２に着座した乗員を衝撃から保護する。警報装置６は、たとえば警告灯やスピーカなどを含んで構成され、光や音によって乗員に警報を発する。なお、警報装置６は、通信部を備え、乗員が所持するスマートフォン等の携帯端末に対して所定の警報情報を送信してもよい。
【００２２】
ＥＣＵ１０は、たとえば、ＣＰＵ（Central  Processing  Unit）１１と、ＳＳＤ（Solid  State  Drive）１２と、ＲＯＭ（Read  Only  Memory）１３と、ＲＡＭ（Random  Access  Memory）１４とを備える。ＣＰＵ１１は、ＲＯＭ１３等の不揮発性の記憶装置にインストールされ記憶されたプログラムを実行することによって、物体位置検出装置としての機能を実現する。ＲＡＭ１４は、ＣＰＵ１１での演算で用いられる各種のデータを一時的に記憶する。ＳＳＤ１２は、書き換え可能な不揮発性の記憶装置であって、ＥＣＵ１０の電源がオフされた場合にあってもデータを記憶することができる。ＣＰＵ１１、ＲＯＭ１３、およびＲＡＭ１４等は、同一パッケージ内に集積され得る。ＥＣＵ１０は、ＣＰＵ１１に替えて、ＤＳＰ（Digital  Signal  Processor）等の他の論理演算プロセッサや論理回路等が用いられる構成であってもよい。ＳＳＤ１２に替えてＨＤＤ（Hard  Disk  Drive）が設けられてもよいし、ＳＳＤ１２またはＨＤＤは、ＥＣＵ１０とは別に設けられてもよい。
【００２３】
ＥＣＵ１０は、物体位置検出装置としての機能の他にも車両１の種々の制御機能を実現する。たとえば、ＥＣＵ１０は、車内ネットワーク３を介して制御信号を送ることにより、エアバッグ装置５および警報装置６を制御できる。その他、ＥＣＵ１０は、ブレーキシステムの制御、操舵システムの制御等を実行し得る。また、ＥＣＵ１０は、出力線を介して、撮像装置４により撮像された車室内の画像を撮像装置４から取得できる。
【００２４】
［３．ＥＣＵ１０の機能的構成］
次に、ＥＣＵ１０の機能的構成について図４を参照して説明する。図４は、ＥＣＵ１０の機能的構成を示すブロック図である。
【００２５】
図４に示すように、ＥＣＵ１０は、検出モデル格納部２０と、検出部３０と、判定部４０と、車載機器制御部５０と、学習部６０とを備える。ＥＣＵ１０が備える各部の機能は、ＣＰＵ１１が、ＲＯＭ１３に格納されたプログラムを実行することによって実現される。なお、これらの構成は、ハードウェア回路にて実現されてもよい。
【００２６】
検出モデル格納部２０は、画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデル６４を記憶する。かかる検出モデル６４は、後述する学習部６０による機械学習によって得られる。検出モデル格納部２０は、たとえばＳＳＤ１２により構成される。
【００２７】
検出部３０は、撮像装置４により撮像された車室内の画像を出力線を介して取得し、検出モデル格納部２０に記憶されている検出モデル６４を用いて、車室内の画像に含まれる各乗員の頭部の当該画像における位置を検出する。
【００２８】
図５は、検出部により検出される情報の一例を示す図である。検出部３０により検出される乗員の頭部の位置を示す情報は、図５に示すように、画像における位置を特定する座標値と、当該座標値を基点とする水平方向の幅の情報と、当該水平方向に直交する垂直方向の高さの情報とを含んで構成される。たとえば、運転席２ａに乗車中の乗員Ｕ１の頭部の位置を示す情報ＨＰ１は、頭部の位置を特定する矩形領域ＨＰ１の１つの頂点に対応する座標（Ｘ１，Ｙ１）と、矩形領域ＨＰ１の幅Ｗ１と、矩形領域ＨＰ１の高さＨ１で示される。検出部３０は、検出した乗員の頭部の位置を示す情報を判定部４０に渡す。
【００２９】
判定部４０は、検出部３０により検出された乗員の頭部の位置を示す情報に基づいて、車室内のどの座席に乗員が乗車中であるかを判定する。判定部４０は、たとえば車室内を撮影した画像上の位置と車室内の座席の位置との対応関係に基づいて、車室内のどの座席に乗員が乗車中であるかを判定する。車室内を撮影した画像上の位置と車室内の座席の位置との対応関係は、撮像装置４の設置時に予め登録される。判定部４０は、判定結果を車載機器制御部５０に渡す。
【００３０】
車載機器制御部５０は、車両１に搭載される各種機器の制御を行う。一例として、車載機器制御部５０は、判定部４０におる判定結果に基づいて、複数のエアバッグ装置５（車載機器の一例）の展開を個別に制御する。
【００３１】
学習部６０は、車室内を撮影した画像に含まれる複数の物体各々の推定位置を導出する検出モデル６４の機械学習を実行する。学習部６０は、学習用データ格納部６１と、パラメータ格納部６２と、設定部６３と、検出モデル６４と、算出部６５と、更新部６６とを備え、かかる各部により、以下に説明する検出モデル６４の機械学習を実行する。
【００３２】
学習用データ格納部６１は、予め定められた数の複数が撮像された複数の学習用画像と、当該学習用画像ごとに定義された予め定められた数の複数の物体各々の学習用画像における各正解位置とを関連付けて記憶する。たとえば車室内の画像から５人の乗員の頭部を検出する検出モデル６４の機械学習を実行する場合、学習用画像として、５人の乗員の頭部が撮像された車室内の画像を複数準備する。また、正解値として、学習用画像ごとに、車室内の画像における各乗員の頭部の正解位置を定義し、学習用画像に関連付けておく。
【００３３】
パラメータ格納部６２は、検出モデル６４に設定されるパラメータを記憶する。設定部６３は、学習用画像及びパラメータを検出モデル６４に設定する。算出部６５は、後述する誤差算出処理を実行する。更新部６６は、後述する最適化処理を実行する。
【００３４】
［４．学習方法］
学習部６０は、回帰分析手法を応用し、画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデル６４の効率的な機械学習を実現する点に特徴がある。学習部６０の学習方法に対する比較例として、回帰分析手法を用いた検出モデル６４ＥＸの機械学習の概要を説明する。
【００３５】
図６は、比較例に係る回帰分析手法を用いた検出モデルの機械学習の概要を示す図である。比較例に係る回帰分析手法は、たとえば車室内のように、存在し得る物体（たとえば乗員の頭部）の数が制限される限定的な空間において、かかる空間を撮像した画像から予め定められた数の複数の物体の位置を検出可能とする手法である。
【００３６】
図６に示すように、比較例に係る回帰分析手法を用いた検出モデル６４ＥＸは、学習用画像（たとえば、ＥＸ１）と正解値（たとえば、ＥＸ１１）とを１組とした学習用データを複数用いた機械学習を実行する。かかる回帰分析手法においては、画像に含まれる予め定められた数の複数の物体の位置を導出する際の正解順序が重要となり、機械学習の際も同様に正解順序に依存した推論（学習）を実行する必要がある。すなわち、かかる回帰分析手法を用いた検出モデル６４ＥＸの機械学習においては、学習用画像に含まれる予め定められた数の複数の物体について正解位置（たとえば、Ａ，Ｂ，Ｃ）が定義された順序で、各物体の位置を検出モデル６４ＥＸに推論させる必要がある。
【００３７】
図６に、回帰分析手法を用いた検出モデル６４ＥＸの学習用データとして、学習用画像ＥＸ１とかかる画像に対応する正解値ＥＸ１１、並びに学習用画像ＥＸ２とかかる画像に対応する正解値ＥＸ２１を例示する。学習用画像ＥＸ１及び学習用画像ＥＸ２は、同一の画像であり、それぞれ３つの物体Ａ，Ｂ，Ｃ（たとえば、車室内の乗員の頭部）が被写体として含まれている。
【００３８】
たとえば学習用画像ＥＸ１に対応する正解値ＥＸ１１において、物体Ａ，Ｂ，Ｃの正解位置が、たとえば物体Ａ（Ｎｏ．１）→物体Ｂ（Ｎｏ．２）→物体Ｃ（Ｎｏ．３）の順序で定義されているとする。この場合、回帰分析手法を用いた検出モデル６４ＥＸの機械学習では、正解位置が定義された物体Ａ→物体Ｂ→物体Ｃの順序で、学習用画像ＥＸ１に含まれる物体の位置を検出モデル６４ＥＸに推論させ、推論結果を正解位置に基づいて評価する必要がある。同様に、学習用画像ＥＸ２に対応する正解値ＥＸ２１において、物体Ａ，Ｂ，Ｃの正解位置が、たとえば物体Ｂ（Ｎｏ．１）→物体Ｃ（Ｎｏ．２）→物体Ａ（Ｎｏ．３）の順序で定義されているとする。この場合、回帰分析手法を用いた検出モデル６４ＥＸの機械学習では、正解位置が定義された物体Ｂ→物体Ｃ→物体Ａの順序で、学習用画像ＥＸ１に含まれる物体の位置を検出モデル６４ＥＸに推論させ、推論結果を正解位置に基づいて評価する必要がある。
【００３９】
このようにして、比較例に係る回帰分析手法では、複数の学習用データを用いた検出モデル６４ＥＸの推論結果と、推論結果の評価を実行することにより、検出モデル６４ＥＸに設定するパラメータを最適化する。かかる回帰分析手法においては、検出モデル６４ＥＸが、画像に含まれる予め定められた数の複数の物体の位置を、当該各物体の正解位置が定義された順序で正しく推論できなければ、画像に含まれる予め定められた数の複数の物体の位置を正しく推論できたものと評価されない。たとえば、学習用画像ＥＸ１と学習用画像ＥＸ２とが同一の画像であった場合、学習に矛盾が生じ、検出モデル６４ＥＸのパラメータが収束しないという問題がある。
【００４０】
ところで、画像から予め定められた数の複数の物体の位置を検出することを目的とする場合、必ずしも正解位置が定義された順序で予め定められた数の複数の物体の位置が正しく検出される必要はなく、結果的に各物体の位置そのものが正しければ問題とならない。そこで、本願に係る学習部６０は、車室内のような限定的な空間を撮像した画像から予め定められた数の複数の物体の位置を検出するという回帰分析手法を取り入れつつ、正解位置が定義された順序で学習する必要がない（順序依存性のない）検出モデル６４の機械学習の方法を提案する。
【００４１】
図７は、実施形態に係る検出モデルの機械学習の概要を示す図である。図７に示す機械学習では、説明の便宜上、３つの物体が含まれる学習用画像を用いた場合の機械学習の一例を説明するが、学習用画像に含まれる物体の数は、予め決められていればよく、図４に示す例には特に限定されない。たとえば、定員が５名の車両の車室内の画像から乗員の頭部を検出するように検出モデル６４に設定するパラメータを最適化する場合、５名の乗員の頭部を被写体として含む複数の学習用画像を用いた機械学習を実行すればよい。
【００４２】
図７に示すように、学習部６０（設定部６３）は、検出モデル６４にパラメータ（初期値）と、学習用画像Ｇ１〜Ｇｎ（ｎは、２以上の整数）を設定する。学習部６０（算出部６５）は、検出モデル６４から導出される推定値Ｓ１〜Ｓｎと正解値Ｃ１〜Ｃｎを用いて、誤差演算処理を実行する。以下、検出モデル６４に学習用画像Ｇ１を設定した場合の誤差演算処理について説明する。
【００４３】
図８は、実施形態に係る誤差演算処理の概要を示す図である。算出部６５は、学習用画像Ｇ１に含まれる物体Ａ，Ｂ，Ｃについての推論結果として検出モデル６４から導出される推定値Ｓ１を取得する。かかる推定値Ｓ１は、検出モデル６４が、学習用画像Ｇ１に含まれる物体Ａ，Ｂ，Ｃについて、たとえば物体Ａ（Ｎｏ．１）→物体Ｂ（Ｎｏ．２）→物体Ｃ（Ｎｏ．３）の順序で各物体の位置を推論した結果として導出される。物体Ａ〜Ｃとして、たとえば車室内の画像に含まれる乗員の頭部である場合が例示される。
【００４４】
検出モデル６４から導出された推定値Ｓ１は、物体Ａに対応する推定位置Ｐ１、物体Ｂに対応する推定位置Ｐ２、及び物体Ｃに対応する推定位置Ｐ３を含む。推定位置Ｐ１〜Ｐ３は、物体Ａ〜Ｃの位置を特定する矩形領域の１つの頂点に対応する座標と、当該座標を基点とする水平方向の幅と、当該水平方向に直交する垂直方向の高さとで示される。推定位置Ｐ１〜Ｐ３により、学習用画像Ｇ１内において物体Ａ〜Ｃが存在する物体候補領域がそれぞれ特定される。図８に示す例では、推定位置Ｐ１として、（Ｘ５５，Ｙ５６，Ｗ５７，Ｈ５８）が導出され、推定位置Ｐ２として、（Ｘ７５，Ｙ７６，Ｗ７７，Ｈ７８）が導出され、推定位置Ｐ３として、（Ｘ６５，Ｙ６６，Ｗ６７，Ｈ６８）が導出される。
【００４５】
算出部６５は、学習用画像Ｇ１に対応する正解値Ｃ１を取得する。正解値Ｃ１は、学習用画像Ｇ１に含まれる３つの物体Ａ、物体Ｂ、及び物体Ｃそれぞれの正解位置α、正解位置β、及び正解位置γで構成される。正解位置α〜γは、物体Ａ、物体Ｂ、及び物体Ｃの学習用画像Ｇ１における正しい座標、幅、及び高さとで構成される。算出部６５は、正解値Ｃ１に含まれる正解位置α〜γを順序が重複しないように並び替えた複数のパターンを生成する。かかる複数のパターンは、正解位置α〜γを順序が重複しないように並び替えてできる全６通りのパターンとなる。なお、説明の便宜上、図８において、パターンＰＴ４，ＰＴ５については、図示を省略している。
【００４６】
算出部６５は、正解値Ｃ１に含まれる正解位置α〜γを順序が重複しないように並び替えたパターン（パターンＰＴ１〜ＰＴ６）ごとに、各正解位置α〜γと、検出モデル６４から導出される各推定位置Ｐ１〜Ｐ３との誤差をそれぞれ算出する。
【００４７】
具体的には、算出部６５は、正解位置α〜γをα→β→γの順序に並べたパターンＰＴ１について、正解位置αと推定位置Ｐ１との誤差、正解位置βと推定位置Ｐ２との誤差、正解位置γと推定位置Ｐ３との誤差をそれぞれ算出する。算出部６５が算出する各誤差は、正解位置αと推定位置Ｐ１との間の座標位置、幅及び高さのずれ、正解位置βと推定位置Ｐ２との間の座標位置、幅及び高さのずれ、並びに正解位置γと推定位置Ｐ３との間の座標位置、幅及び高さのずれからなる。座標位置のずれは、座標間の距離で評価され、幅及び高さのずれは、幅及び高さの差で評価される。たとえば正解位置αと推定位置Ｐ１の誤差は、座標（Ｘ５１，Ｙ５２）と座標（Ｘ５５，Ｙ５６）との距離、幅Ｗ５３と幅Ｗ５７との差、高さＨ５４と高さＨ５８との差で示される。そして、算出部６５は、算出した各誤差、すなわち、正解位置αと推定位置Ｐ１との誤差、正解位置βと推定位置Ｐ２との誤差、並びに正解位置γと推定位置Ｐ３との誤差を合算した誤差ｅ１を算出する。なお、算出部６５は、算出した各誤差を合算するのではなく、各誤差の平均値を算出してもよい。
【００４８】
続いて、算出部６５は、正解位置α〜γをα→γ→βの順序に並べたパターンＰＴ２について、正解位置αと推定位置Ｐ１との誤差、正解位置γと推定位置Ｐ２との誤差、正解位置βと推定位置Ｐ３との誤差をそれぞれ算出する。そして、算出部６５は、算出した各誤差を合算した誤差ｅ２を算出する。
【００４９】
算出部６５は、パターンＰＴ１，ＰＴ２以外の残りのパターンＰＴ３〜ＰＴ６についても、上述したパターンＰＴ１，ＰＴ２と同様にして、誤差ｅ３〜ｅ６をそれぞれ算出する。
【００５０】
算出部６５は、全６通りの全てのパターンＰＴ１〜ＰＴ６のそれぞれに対応する誤差ｅ１〜ｅ６の算出を完了すると、誤差ｅ１〜ｅ６の中から値が最小である誤差ｅ２を特定し、特定した誤差ｅ２を採用誤差Ｅ１に決定する。かかる採用誤差Ｅ１は、検出モデル６４に設定するパラメータを最適化する最適化処理に採用する誤差を指す。
【００５１】
算出部６５は、他の学習用画像Ｇ２〜Ｇｎについても同様に、正解位置α〜γを順序が重複しないように並び替えたパターンごとに、各正解位置と、検出モデル６４から導出される各推定位置との誤差をそれぞれ算出し、採用誤差をそれぞれ決定する。算出部６５は、決定した採用誤差Ｅ１〜Ｅｎを、更新部６６に渡す。
【００５２】
図７に戻り、更新部６６は、算出部６５により決定された採用誤差Ｅ１〜Ｅｎを用いて、検出モデル６４に設定するパラメータを最適化する最適化処理を実行する。たとえば更新部６６は、算出部６５により算出された採用誤差Ｅ１〜Ｅｎが最小となるように、検出モデル６４に設定するパラメータを演算することにより、検出モデル６４に設定するパラメータを最適化する。更新部６６は、最適化したパラメータをパラメータ格納部６２に格納する。更新部６６は、検出モデル６４に設定するパラメータを最適化するための手法として、最小二乗法や、「Backpropagation＋ミニバッチ勾配降下法」などの既存の手法を用いることができる。
【００５３】
学習部６０は、パラメータ格納部６２から最適化されたパラメータを取得し、取得したパラメータを設定した検出モデル６４を検出モデル格納部２０に格納する。
【００５４】
上述してきたように、学習部６０は、学習用画像ごとに予め定義された各正解位置の順序を入れ替えたパターンごとに、各正解位置と、検出モデル６４から導出される各推定位置との誤差を算出する誤差算出処理を実行する。そして、学習部６０は、誤差算出処理によって、パターンごとに得られる各正解位置と各推定位置との誤差の各最小値を、検出モデル６４に設定するパラメータの最適化処理を実行する際の誤差として採用する。
【００５５】
画像から検出する物体の数が予め決まっている場合、検出モデル６４に順序依存性のある機械学習を検出モデル６４に行わせるのではなく、各物体の正解位置を並び替えて検出モデル６４の推論結果との差を評価する方が効率的な機械学習を実現できる。すなわち、順序依存性を無視した場合、検出モデル６４から導出される学習用画像内の各物体の推定位置と、学習用画像内の各物体の正解位置との誤差ができるだけ小さいことが、検出モデル６４にとって理想的な検出結果となるはずである。そこで、実施形態に係る学習部６０は、学習用画像内の各物体の正解位置が定義された順序ごとに学習用画像をそれぞれ用意する代わりに、かかる各物体の正解位置を並び替えた複数のパターンを用意しておく。そして、学習部６０は、学習用画像内の各物体の正解位置を並び替えた複数のパターンごとに、各正解位置と、検出モデル６４から導出される各物体の推定位置との誤差をそれぞれ算出する。そして、学習部６０は、算出した各誤差の中で最小の誤差を有効化し、かかる最小の誤差を用いて検出モデル６４に設定するパラメータの最適化を行う。これにより、学習部６０は、少なくとも学習用画像内に含まれる予め定められた数の複数の物体の位置を正しく導出できるように、検出モデル６４のパラメータを最適化できる。このようにして、学習部６０は、回帰分析手法を応用して、車室内のような限定的な空間を撮像した画像から予め定められた数の複数の物体の位置検出が可能な検出モデル６４を得ることができる。
【００５６】
［５．ＥＣＵ１０の具体的動作］
次に、ＥＣＵ１０の具体的動作について図９を参照して説明する。図９は、ＥＣＵ１０が実行する学習処理の手順の一例を示すフローチャートである。
【００５７】
図９に示すように、設定部６３は、学習用データ格納部６１から学習用データを読み込む（ステップＳ１０１）。
【００５８】
続いて、設定部６３は、パラメータ格納部６２からパラメータを読み込み（ステップＳ１０２）、読み込んだパラメータを検出モデル６４に設定する（ステップＳ１０３）。
【００５９】
続いて、設定部６３は、ステップＳ１０１で読み込んだ学習用データの中から、学習用画像を取得して、検出モデル６４に設定する（ステップＳ１０４）。
【００６０】
算出部６５は、検出モデル６４から導出される推定値を取得し（ステップＳ１０５）、ステップＳ１０１で読み込んだ学習用データの中から、ステップＳ１０４で設定した学習用画像に対応する正解値を取得する（ステップＳ１０６）。
【００６１】
算出部６５は、ステップＳ１０４で設定した学習用画像に対応する正解値と、ステップＳ１０５で取得した推定値との間の誤差を算出する誤差演算処理（図７及び図８参照）を実行する（ステップＳ１０７）。具体的には、算出部６５は、正解値に含まれる各正解位置を順序が重複しないように並び替えたパターンごとに、各正解位置と、検出モデル６４から導出される各推定位置との誤差をそれぞれ算出する。そして、算出部６５は、算出した各誤差の中から値が最小である最小の誤差を特定し、特定した最小の誤差を検出モデル６４に設定するパラメータを最適化する最適化処理に採用する採用誤差に決定する。
【００６２】
算出部６５は、全ての学習用画像について誤差演算処理を実行済みであるか否かを判定する（ステップＳ１０８）。
【００６３】
算出部６５は、全ての学習用画像について誤差演算処理を実行済みでないと判定した場合（ステップＳ１０８；Ｎｏ）、上述したステップＳ１０４の手順に戻り、未処理の学習用画像を検出モデル６４に設定する。
【００６４】
一方、算出部６５により、全ての学習用画像について誤差演算処理を実行済みであると判定された場合（ステップＳ１０８；Ｙｅｓ）、更新部６６は、検出モデル６４に設定するパラメータの最適化処理を実行し（ステップＳ１０９）、図９に示す処理を終了する。
【００６５】
［６．変形例］
算出部６５は、上記誤差演算処理を実行する際、各正解位置及び各推定位置に含まれる座標（Ｘ，Ｙ）よりも、各正解位置及び各推定位置に含まれる水平軸方向の幅Ｗ、及び垂直軸方向の高さＨに対する重みを大きくしてもよい。これにより、画像内に物体（乗員の頭部など）が含まれない（あるいは少ない）ときの検出モデル６４のパラメータの更新が容易となる。例えば、図８に示す推定位置Ｐ１及びパターンＰＴ１について、ｄＸ＝（Ｘ５５−Ｘ５１）２，ｄＹ＝（Ｙ５６−Ｙ５２）２，ｄＷ＝（Ｗ５７−Ｗ５３）２，ｄＨ＝（Ｈ５８−Ｈ５４）２とする。このとき、推定位置Ｐ１及びパターンＰＴ１との誤差ｅ１１を、単純に、誤差ｅ１１＝ｄＸ＋ｄＹ＋ｄＷ＋ｄＨで評価することもできるが、次のように評価してもよい。例えば、Ｖａｌｉｄ＝（Ｗ５７×Ｈ５８）＞０として、以下の式（１）で評価する。画像内に物体（乗員の頭部など）がないときは、幅Ｗと高さＨを「０（ゼロ）」として出力するが、座標（Ｘ，Ｙ）は、不問とする。
【００６６】
誤差ｅ１１＝（ｄＸ＋ｄＹ）×Ｖａｌｉｄ＋ｄＷ＋ｄＨ・・・（１）
【００６７】
車室内のような限定的な空間を撮像した画像から予め定められた数の複数の物体を検出する検出モデル６４の学習の難しさは、検出対象となる物体が画像内に含まれるか、含まれないかの区間において、変数が不連続になってしまうことが理由の１つにある。検出対象となる物体（頭部など）が画像内に含まれない（あるいは、所定の数に満たない）データを検出モデル６４の学習データに含めることで、検出モデル６４は、検出対象となる物体が存在しない（あるいは、所定の数に満たない）ことを学習（パラメータを更新）できる。しかし、検出対象となる物体が画像内に含まれない場合、画像内に存在しない検出対象となる物体の位置（Ｘ，Ｙ）として、どこが正しいかを決めることは難しい。例えば、右側にフレームアウトしていく物体（頭部）のフレームアウト直前のＸ座標と、フレームアウト直後のＸ座標は不連続になるので、学習が非常に困難となる。一方、検出対象となる物体が画像内に含まれない場合であっても、検出対象となる物体の大きさ、すなわち幅Ｗ、若しくは高さＨを、「０（ゼロ）」と定義することは概ね正しく、フレームアウト直後の物体の大きさ（幅Ｗ、高さＨ）を連続的なものとして取り扱うことができるので、比較的学習が容易となる。つまり、上記の式（１）において、Ｖａｌｉｄ＝（Ｗ５７×Ｈ５８）＞０とするのは、検出対象となる物体（例えば、頭部）が画像内に存在しないときを、検出対象の物体の幅Ｗ及び高さＨのいずれかが「０（ゼロ）」であることを表現するものである。そして、上記の式（１）において、ｄＸ及びｄＹに対して、Ｖａｌｉｄを掛け合わせることにより、検出対象となる物体（頭部）が画像内に存在しないときのＸ座標、Ｙ座標の誤差も「０（ゼロ）」として考える。これにより、検出モデル６４のパラメータの更新が容易となる。
【００６８】
また、上記実施形態では、車両１の車室内を撮影した画像に含まれる乗員の頭部の位置を検出する例を説明したが、この例には特に限定される必要はない。たとえば、検出対象となる物体の数が予め決まっている限定的な空間であれば、上記実施形態で説明した検出モデル６４を適用して、物体位置の検出を実行できる。
【００６９】
また、車両１は、たとえば、エンジン等の内燃機関を駆動源とする自動車であってもよいし、モータ等の電動機を駆動源とする電気自動車や燃料電池自動車等であってもよいし、それらの双方を駆動源とするハイブリッド自動車であってもよい。車両１は、種々の変速装置を搭載することができるし、内燃機関や電動機を駆動するのに必要な種々の装置を搭載することができる。車両１における車輪の駆動に関わる装置の方式、個数、及び、レイアウト等は、種々に設定することができる。
【００７０】
上述してきたように、実施形態に係る物体位置検出装置（一例として、ＥＣＵ１０）は、検出モデル格納部２０と、検出部３０と、学習部６０とを備える。検出モデル格納部２０は、画像に含まれる予め定められた数の複数の物体各々の各推定位置を導出する検出モデル６４を記憶する。検出部３０は、検出モデル６４を用いて、予め定められた数の複数の物体各々の当該画像における位置を検出する。学習部６０は、検出モデル６４の機械学習を実行する。学習部６０は、学習用データ格納部６１と、パラメータ格納部６２と、設定部６３と、算出部６５と、更新部６６とを有する。学習用データ格納部６１は、予め定められた数の複数の物体が撮像された複数の学習用画像と、学習用画像ごとに定義された予め定められた数の複数の物体各々の学習用画像における各正解位置とを関連付けて記憶する。パラメータ格納部６２は、検出モデル６４のパラメータを記憶する。設定部６３は、学習用画像及びパラメータを検出モデル６４に設定する。算出部６５は、検出モデル６４に設定された学習用画像に関連付けられている各正解位置を順序が重複しないように並び替えたパターンごとに、各正解位置と、検出モデル６４から導出される各推定位置との誤差をそれぞれ算出し、算出された各誤差の中で最小の誤差をパラメータの最適化に用いる採用誤差に決定する。更新部６６は、算出部６５により決定された採用誤差を用いてパラメータを最適化する最適化処理を実行する。
【００７１】
このため、実施形態に係る物体位置検出装置によれば、画像を全領域に渡って探索する必要がなく、予め定められた数の複数の物体を画像内から検出するための必要最小限の演算を実行すればよいので、演算コストを抑えることができる。すなわち、安価な演算処理装置による物体位置の検出のための演算が可能となる。また、検出モデル６４から導出される推定値の順序と、予め定義された正解値の順序に依存しない機械学習を実現できるので、回帰分析手法を応用した予め定められた数の複数の物体の位置検出を実現できる。
【００７２】
学習用画像に含まれる予め定められた数の複数の物体の各推定位置、及びかかる複数の物体の各正解位置は、画像における位置を特定する座標と、当該座標を基点とする水平方向の幅と、当該水平方向に直交する垂直方向の高さとを含んでもよい。これにより、画像内において予め定められた数の複数の物体が位置する領域を特定できる。
【００７３】
算出部６５は、誤差を算出する際、座標よりも、水平方向の幅、及び垂直方向の高さに対する重みを大きくしてもよい。これにより、点の情報に過ぎない座標の影響を抑えた物体位置の検出を行うことができる。
【００７４】
予め定められた数の複数の物体は、車両１に乗車する乗車員の頭部であってよい。これにより、車両１に乗車する乗員の位置に応じた車載機器の制御を実現できる。
【００７５】
上記実施形態では、一例として、車室内を撮影した画像に含まれる乗員の頭部の位置を検出する処理に検出モデル６４を適用する例について説明したが、この例には特に限定される必要はない。たとえば、画像内に含まれる複数の物体の数が予め定められていれば、どのような被写体が撮像された画像であっても、検出モデル６４を同様に適用して、画像に含まれる複数の物体の位置を検出できる。
【００７６】
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。
【符号の説明】
【００７７】
１…車両、２…座席、３…車内ネットワーク、４…撮像装置、５…エアバッグ装置、６…警報装置、１０…ＥＣＵ、２０…検出モデル格納部、３０…検出部、４０…判定部、５０…車載機器制御部、６０…学習部、６１…学習用データ格納部、６２…パラメータ格納部、６３…設定部、６４…検出モデル、６５…算出部、６６…更新部、１００…制御システム。
【図１】
2020194456.tif 000003
【図２】
2020194456.tif 000004
【図３】
2020194456.tif 000005
【図４】
2020194456.tif 000006
【図５】
2020194456.tif 000007
【図６】
2020194456.tif 000008
【図７】
2020194456.tif 000009
【図８】
2020194456.tif 000010
【図９】
2020194456.tif 000011