(57)【要約】関節の位置の推定精度を高くするために、関節位置推定装置は、メモリと、メモリと接続されるプロセッサとを有し、プロセッサは、第1の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第1のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び部位領域を複数結合した複数部位領域の画像とし、第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する動物の部位領域を推定し、第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、第１のＤＮＮにより推定した部位領域及び部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する。
2018173108.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリと接続されるプロセッサとを有し、
前記プロセッサは、
第1の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第1のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、関節位置推定装置。
【請求項２】
前記プロセッサは、更に、
前記第１のパラメータを設定した第1のＤＮＮにより、前記第２の教師データの入力画像に対する前記動物の部位領域を推定する、請求項１に記載の関節位置推定装置。
【請求項３】
前記プロセッサは、前記第２の教師データの入力である、前記部位領域及び複数部位領域の画像を、前記第２の教師データの入力画像内の部位領域及び複数部位領域で前記第２の教師データの入力画像を切り取って生成する、請求項１に記載の関節位置推定装置。
【請求項４】
前記第１のＤＮＮは、第３のＤＮＮと第４のＤＮＮとを有し、
前記第1のＤＮＮの学習を実行することは、
第３の教師データの入力を前記第１の教師データの入力画像、前記第３の教師データの正解データを前記入力画像内の動物が存在する動物領域として、第３のＤＮＮの学習を実行することと、
第４の教師データの入力を、前記第４の教師データの入力画像内の動物が存在する動物領域の画像とし、前記第４の教師データの正解データを、前記動物の部位領域として、第４のＤＮＮの学習を実行することとを有し、
前記第１のＤＮＮにより前記処理対象の入力画像に対する前記動物の部位領域を推定することは、
前記第３のＤＮＮの学習で求めた第３のパラメータを設定した第３のＤＮＮにより、前記処理対象の入力画像に対する前記動物領域を推定することと、
前記第４のＤＮＮの学習で求めた第４のパラメータを設定した第４のＤＮＮにより、前記推定した動物領域で前記処理対象の入力画像データを切り取った動物領域の画像対する前記動物の部位領域を推定することを有する、請求項１に記載の関節位置推定装置。
【請求項５】
前記第４の教師データの入力である前記第４の教師データの入力画像内の動物領域の画像は、前記第３のパラメータを設定した前記第３のＤＮＮにより推定した動物領域で前記入力画像を切り取って求められる、請求項４に記載の関節位置推定装置。
【請求項６】
前記プロセッサは、更に、
第５の教師データの入力を前記第１の関節位置と第２の関節位置とし、前記第５の教師データの正解データを前記第１の関節位置と第２の関節位置が含まれる第３の関節位置として、第５のＤＮＮの学習を実行し、
前記第５のＤＮＮの学習で求めた第５のパラメータを設定した第５のＤＮＮにより、前記第２のＤＮＮにより推定した前記第1の関節位置と第２の関節位置に対する前記第３の関節位置を推定する、請求項１に記載の関節位置推定装置。
【請求項７】
前記学習の実行は、
所定数の教師データの入力に対して前記ＤＮＮが推定した出力と前記正解データとの差分の二乗和の総和を算出し、前記総和の勾配に基づいて前記パラメータを更新することを、前記総和が基準値未満になるまで繰り返すことを含む、請求項１に記載の関節位置推定装置。
【請求項８】
前記プロセッサは、更に、
第６の教師データの入力である入力画像に対して前記第１のパラメータを設定した第１のＤＮＮにより前記部位領域を推定し、前記推定した部位領域及び前記複数部位領域に対して前記第２のパラメータを設定した第２のＤＮＮにより前記第１の関節位置及び第２の関節位置を推定し、
前記第１のＤＮＮにより推定した部位領域と前記第１のＤＮＮの正解データとの差分の第１の二乗和と、前記第２のＤＮＮにより推定した第１の関節位置及び第２の関節位置と前記第２のＤＮＮの正解データとの差分の第２の二乗和との総和を算出し、前記総和の勾配に基づいて前記第１のパラメータ及び第２のパラメータを更新することを、前記総和が基準値未満になるまで繰り返す、請求項１に記載の関節位置推定装置。（マルチタスク学習法）
【請求項９】
第1の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第1のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、処理を有する関節位置推定方法。
【請求項１０】
第1の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第1のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、処理をコンピュータに実行させる関節位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，関節位置推定装置、関節位置推定方法及び関節位置推定プログラムに関する。
【背景技術】
【０００２】
関節位置の推定装置は、人や動物の画像からその関節の位置を推定する。例えば、体操競技の機械による自動採点は、体操選手の画像からその関節の位置を推定し、各関節の角度情報から点数を評価することで行われる。【０００３】
画像から人や動物さらに物体を抽出し、抽出物を認識するニューラルネットワークが以下の非特許文献に記載されている。また、人体の関節を推定する方法が、以下の特許文献１−３に記載されている。【０００４】
一方、ディープラーニングは機械学習の1つの分野である。ディープラーニングでは、機械学習のモデルであるディープニューラルネットワーク（Deep Neural Network: 以下DNNと称する。）に、教師データを与えて学習をさせる。そして、学習によって最適化されたモデルであるDNNは、処理対象の入力（画像、音声、テキストなど）を与えられると、DNNによる演算を実行し、出力を算出または推定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１６７００８号公報
【特許文献２】特開２００７−３０７２０５号公報
【特許文献３】国際公開第２０１２／０４６３９２号
【非特許文献】
【０００６】
【非特許文献１】Instance-aware Semantic Segmentation via Multi-task Network Cascades, CVPR, 2016
【発明の概要】
【発明が解決しようとする課題】
【０００７】
DNNのモデルを使って、人や動物の画像からその関節の位置を推定する場合、様々な課題に直面する。例えば、画像内の部位が障害物などにより隠れている場合、隠れた部位の関節を推定することはできない。体操競技では、特に鞍馬競技において人の部位が隠れることが多い。このようなオクルージョンの課題を解決する必要がある。【０００８】
別の課題としては、入力画像に人や動物以外の予期しない画像が含まれている場合、人や動物の関節を高い精度で認識することは困難となり、関節推定の精度が上がらない。【０００９】
そこで，一つの実施の形態の目的は，関節の位置の推定精度を高くした関節位置推定装置、関節位置推定方法及び関節位置推定プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本実施の形態の第１の側面は、メモリと、前記メモリと接続されるプロセッサとを有し、前記プロセッサは、
第1の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第1のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、関節位置推定装置である。
【発明の効果】
【００１１】
第１の側面によれば，入力画像内の人や動物の関節の位置の推定精度を高くできる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態における関節位置推定装置の構成を示す図である。
【図２】本実施の形態におけるＤＮＮの構成例を示す図である。
【図３】各DNN_nの構成例を示す図である。
【図４】DNN_1とDNN_2による推定処理を示す図である。
【図５】DNN_3とDNN_4による推定処理を示す図である。
【図６】マスキング層を説明するための図である。
【図７】マスキング層を説明するための図である。
【図８】マスキング層が画像を単数部位領域及び複数部位領域で切り取ることを示す図である。
【図９】スケーリング層を説明するための図である。
【図１０】DNNの学習とその後の処理の概略を示すフローチャート図である。
【図１１】各DNN_1 - DNN_4それぞれの学習に利用する教師データを生成する処理S31を示す図である。
【図１２】DNN_1の学習を説明する図である。
【図１３】本実施の形態の学習方法の一つである確率的勾配降下法またはミニバッチ法の概略を示すフローチャート図である。
【図１４】DNN_2に入力する人体の画像または人体の特徴量の画像を生成するマスキング層MSK_L1及びスケーリング層SC_L1の処理を示すフローチャート図である。
【図１５】DNN_2の学習を説明する図である。
【図１６】マスキング層MSK_L2及びスケーリング層SC_L2の処理を示すフローチャート図である。
【図１７】DNN_3の学習を説明する図である。
【図１８】DNN_4の学習を説明する図である。
【図１９】工程S34の全DNNの学習を説明する図である。
【発明を実施するための形態】
【００１３】
本実施の形態の関節位置推定装置は、人間と人間以外を含む動物が含まれている画像データから、その動物の関節位置を推定する。以下簡単のために、動物の一例である人間の関節位置を推定する例について、本実施の形態を説明する。但し、本実施の形態の関節位置推定装置は、人間以外の動物の関節位置も推定することができる。
【００１４】
［関数位置推定装置の概略］
図１は、本実施の形態における関節位置推定装置の構成を示す図である。関節位置推定装置１は、コンピュータやサーバのような情報処理装置である。関節位置推定装置１は、プロセッサ１０と、メインメモリ１２と、ネットワークインタフェース１４と、大容量の補助記憶装置１６とを有する。補助記憶装置１６には、ＤＮＮプログラム２０と、ＤＮＮに設定されるＤＮＮのパラメータ２２と、ＤＮＮ学習プログラム２４と、ＤＮＮの学習に使用する教師データ２６とが記憶される。教師データ２６は、ＤＮＮに入力する入力と、正しい出力である正解値とを有する。そして、ＤＮＮプログラム２０と、ＤＮＮに設定されるＤＮＮのパラメータ２２と、ＤＮＮ学習プログラム２４と、ＤＮＮの学習に使用する教師データ２６とが、メインメモリ１２内に展開され、プロセッサが各プログラムを実行する。
【００１５】
ネットワークインタフェース１４がネットワークＮＷに接続され、関節位置推定装置１は、外部の端末装置３０，３２とネットワークＮＷを介して通信可能に接続される。
【００１６】
関節位置推定装置１は、ディープラーニングのモデルとして、ディープニューラルネットワーク（ＤＮＮ）を採用する。関節位置推定装置１は、ＤＮＮへの入力データとその正解データとを有する教師データ２６を提供される。そして、プロセッサ１０は、ＤＮＮ学習プログラム２４を実行し、教師データを使用してＤＮＮの学習を実行し、ＤＮＮの最適なパラメータを決定する。さらに、プロセッサは、最適のパラメータをＤＮＮプログラム２０に設定し、ＤＮＮプログラム２０を実行して、処理対象の画像から画像内の動物（人間または人間以外の動物）の関節位置を推定する。
【００１７】
ＤＮＮプログラム２０は、モデルのＤＮＮの各種演算処理を実行するプログラムである。ＤＮＮ学習プログラム２４は、モデルのＤＮＮの学習に伴うＤＮＮの各種演算処理と、最適なパラメータを抽出する処理とを実行するプログラムである。ＤＮＮ学習プログラムは、ＤＮＮの各種演算処理をＤＮＮプログラム２０をコールすることで実行する。ＤＮＮは教師データを使用して学習することでパラメータを最適化するので、ＤＮＮプログラム２０には、ＤＮＮ学習プログラム２４が必ず添付または内蔵される。
【００１８】
図２は、本実施の形態におけるＤＮＮの構成例を示す図である。ＤＮＮは、入力と出力の間に配置される複数のDNNである、DNN_1, DNN_2, DNN_3-1, DNN3_2, DNN_4を有する。図中、複数のDNNそれぞれに入力データと、出力データとが一点鎖線で示される。尚、ＤＮＮは、ＬＳＩにより実装することが可能であるが、本実施の形態では、ＤＮＮの各種の演算を実行するＤＮＮプログラムをプロセッサが実行することで実現される。
【００１９】
ＤＮＮは、以下の４つのDNN_1〜DNN_4を有する。
（１）入力される入力画像IMG_INから、入力画像内の人体が存在する人体領域HB_Rを演算または推定する第1のDNN（DNN_1）と、
（２）入力画像IMG_INまたはDNN_1の中間層が生成する特徴画像（図示せず）を、人体領域HB_Rで切り取った人体領域の画像を入力し、部位が存在する領域である部位領域BDP_Rを演算または推定する第２のDNN（DNN_2）と、
（３）入力画像IMG_INまたは特徴画像を、単体の部位領域BFP_Rで及び複数の部位領域を結合した複数部位領域PBDP_Rでそれぞれ切り取った部位領域の画像及び複数部位領域の画像を入力し、両画像内の関節位置候補（関節座標候補）C_JT_CRDを演算または推定する第３のDNN（DNN_3）と、
（４）関節座標候補C_JT_CRDを入力し、関節座標JT_CRDを演算または推定する第４のDNN（DNN_4）。
【００２０】
第３のDNN（DNN_3）は、単体の部位領域の画像から画像内の第１の関節座標候補C_JT_CRD_1を演算または推定するDNN_3_1と、複数部位領域の画像から画像内の第２の関節座標候補C_JT_CRD_2を演算または推定するDNN_3_2とを有する。第１の関節座標候補C_JT_CRD_1と第２の関節座標候補C_JT_CRD_2は、同じ関節座標が重複して推定される場合がある。関節座標JT_CRDは、第１、第２の関節座標候補から重複して推定された関節座標の重複が除去されている。
【００２１】
DNN_2は、入力画像IMG_INまたはその特徴画像を人体領域HB_Rで切り取るマスキング層（図示せず）と、切り取られた人物領域の画像のサイズをDNN_2の入力に整合させるスケーリング層（図示せず）とを有する。
【００２２】
同様に、DNN_3_1とDNN_3_2も、入力画像IMG_INまたはその特徴画像を部位領域BDP_R及び複数部位領域PBDP_Rでそれぞれ切り取るマスキング層と、切り取られた部位領域の画像及び複数振り領域の画像のサイズをDNN_3の入力に整合させるスケーリング層とを有する。
【００２３】
各DNN_1〜DNN_4には、それぞれの重みのパラメータW1〜W4が設定される。
【００２４】
尚、上記の第１のDNN（DNN_1）と第２のDNN（DNN_2）とを結合したDNNが、入力画像IMG_INから人体の部位領域BDP_Rを演算または推定する構成にしても良い。
【００２５】
図３は、各DNN_nの構成例を示す図である。各DNN_nは、入力層INPUT_Lと、複数のDNNユニットDNN_U1〜DNN_Unと、全結合層FULCON_Lと、出力層OUTPUT_Lとを有する。各DNNユニットDNN_U1〜DNN_Unは、入力層の画像データなどをフィルタを構成する重みWで畳込み演算する畳込み層CONV_Lと、畳込み層の演算結果を活性化関数で判定する活性化関数層ACTF_Lと、例えば局所的な演算結果の最大値を抽出するプーリング層POOL_Lとを有する。DNNユニットの数は適切にチューニングされる。
【００２６】
［DNNの推定処理］
次に、DNNの推定処理について説明する。DNNの演算または推定処理は、前述のプロセッサがDNNのパラメータ２２を設定されたDNNプログラム２０を実行することで行われる。
【００２７】
図４は、DNN_1とDNN_2による推定処理を示す図である。まず、DNN_1は、人体が含まれる入力画像IMG_INを入力し、人体が存在する領域または人体領域Z1=HB_Rを演算または推定する（S1)。人体領域HB_Rは、例えば、左上座標及び右下座標で特定される。左上座標及び幅と高さで特定されてもよい。また、DNN_1では、その中間層が入力画像IMG_INの特徴画像FIMGを生成する。人体領域HB_Rは、例えばほとんど人体のみを含む領域であり、入力画像内の人体が存在する狭い領域である。
【００２８】
次に、DNN_2の入力側に設けられているマスキング層MSK_L1が、入力画像IMG_INまたはその特徴画像FIMGを、人体領域HB_Rで切り取って人体領域の画像を生成する（S2）。更に、スケーリング層SC_1が、人体領域の画像のサイズを変更（例えば拡大）して、DNN_2の入力層のサイズに整合する（S3）。マスキング層とスケーリング層については後で詳述する。
【００２９】
更に、DNN_2が、スケーリング層SC_L1が出力する人体領域の画像を入力し、人体の頭部、左右の上肢（腕）、左右の下肢（脚）、胴体などの部位の領域Z2=BDP_Rを演算または推定する（S4）。更に、部位結合部CNBが、単体の部位の領域Z2=BDP_Rを複数結合した複数部位の領域Z2*=PBDP_Rを生成する（S5）。複数の部位の領域の結合は、複数の部位の領域を含む矩形の領域の左上座標と右下座標を生成する処理である。
【００３０】
図５は、DNN_3とDNN_4による推定処理を示す図である。DNN_3は、DNN_2が出力した複数の単体部位及び複数の複数部位それぞれに対応して複数のDNN_3-1〜DNN_3-Nを有する。つまり、複数のDNN_3-1〜DNN_3-Nのうち、単体部位の数に対応した数のDNN_3が単体部位領域の画像から単体部位領域内の候補の関節の位置（座標）を演算または推定する。また、複数のDNN_3-1〜DNN_3-Nのうち、複数部位の数に対応した数のDNN_3が複数部位領域の画像から複数部位領域内の候補の関節の位置（座標）を演算または推定する。
【００３１】
例えば、DNN_3-1の入力側に設けられているマスキング層MSK_L2-1が、入力画像IMG_INまたはその特徴画像FIMGを、単体部位領域Z2＝BDP_Rで切り取って単体部位領域の画像を生成する（S6）。更に、スケーリング層SC_L2-1が、単体部位領域の画像のサイズを変更（例えば拡大）して、DNN_3-1の入力層のサイズに整合する（S7）。
【００３２】
さらに、例えば、DNN_3-Nの入力側設けられているマスキング層MSK_L2-Nが、入力画像IMG_INまたはその特徴画像FIMGを、複数部位領域Z2*＝PBDP_Rで切り取って複数部位領域の画像を生成する（S6）。更に、スケーリング層SC_L2-Nが、複数部位領域の画像のサイズを変更（例えば拡大）して、DNN_3-Nの入力層のサイズに整合する（S7）。
【００３３】
そして、例えば、DNN_3-1が、単体部位領域の画像を入力し、単体部位領域内の関節の位置（座標）の候補C_JT_CRD_1を演算または推定する（S8）。同様に、例えば、DNN_3-Nが、複数部位領域の画像を入力し、複数部位領域内の関節の位置（座標）の候補C_JT_CRD_2を演算または推定する（S8）。
【００３４】
最後に、DNN_4が、関節座標の候補Z3=C_JT_CRDを入力し、重複する関節座標を削除した人体の関節の位置（座標）Z4=JT_CRDを演算または推定する（S9）。
【００３５】
図６は、マスキング層を説明するための図である。このマスキング層MSK_Lは、図４のマスキング層の例であり、入力画像IMG_INまたは特徴画像FIMGを右腕（上肢）の部位領域Z2=BDP_Rで切り取って部位領域の画像IMG_M, FIMG_Mを出力する。マスキング層MSK_Lは、以下の演算を行う。
【００３６】
【数１】
2018173108.tif 000003
即ち、部位領域BDP_Rの起点となる入力画像IMG_INまたは特徴画像FIMG内の左上座標を(p,q)とし、部位領域内の行方向と列方向の位置をそれぞれi, jとし、マスキング層に入力される入力画像IMG_INまたは特徴画像FIMGの画素をz(l-1)i+p,j+qとする。この場合、マスキング層が出力する画像IMG_M or FIMG_Mの画素z(l)i,jは、上記の数１のとおりである。つまり、出力画像の画素z(l)i,jは、位置i+p,j+qが部位領域BDP_Rの中であれば入力画像または特徴画像の画素z(l-1)i+p,j+qとなり、中でなければ0になる。
【００３７】
図６の例では、マスキング層MSK_Lが、入力画像IMG_INまたは特徴画像FIMGを、右腕を含む領域（部位領域BDP_R）で切り取ったマスク済み画像IMG_MまたはFIMG_Mを出力する。また、ｍは入力画像または特徴画像の番号である。
【００３８】
図７は、マスキング層を説明するための図である。このマスキング層MSK_Lは、図５のマスキング層の1つであり、入力画像IMG_INまたは特徴画像FIMGを頭部の部位Headと首の部位Neckの両領域を含む複数部位領域Z2*=PBDP_Rで切り取った複数部位領域の画像IMG_M2, FIMG_M2を出力する。複数部位領域Z2*=PBDP_Rは、２つの単体部位領域Z2=BDP_Rを含む領域である。
【００３９】
図８は、マスキング層が画像を単数部位領域及び複数部位領域で切り取ることを示す図である。図８に示された入力画像IMG_INまたは特徴画像FIMGは、人体の左脚と左尻が障害物OB_1,OB_2により隠れて、オクルージョンが発生している。そのため、マスキング層MSK_Lが入力画像IMG_INまたは特徴画像FIMGを単体部位領域BDP_Rで切り取ると、切り取られた画像IMG_M, FIMG_Mには部位の画像が全く含まれない、またはほとんど含まれない。その結果、次のDNN_3は単体部位領域内の関節位置を検出できない、または検出精度が低下する。
【００４０】
一方、マスキング層SK_Lが入力画像IMG_INまたは特徴画像FIMGを複数部位領域PBDP_Rで切り取ると、切り取られた画像IMG_M2, FIMG_M2には左脚と左尻の部位の画像は含まれないが、隣接する部位の画像は含まれる。つまり、複数部位領域PBDP_Rには、オクルージョンで隠れた部位以外の部位の画像が含まれる蓋然性が高い。その結果、次のDNN_3は隣接する部位内の関節位置を検出し、それらの関節位置からオクルージョンで隠れてしまった左脚と左尻の部位領域内の関節位置を推定できる、または推定精度を高くできる。
【００４１】
本実施の形態では、後述するとおり、DNNの学習工程では教師データにオクルージョンが含まれない入力画像と含まれる入力画像とを使用する。したがって、DNNは、オクルージョンが含まれない入力画像と含まれる入力画像の両方について、それぞれ関節位置を検出することができるようになる。
【００４２】
オクルージョンが含まれる画像を教師データに使用して学習を行うと、DNNは、オクルージョンのある画像についても関節位置を推定できる。ただし、オクルージョンの割合が高いと関節位置の推定制度は低くなる。特に、オクルージョンを含む画像の場合、単体部位領域で画像を切り取ると、切り取られた画像内に占めるオクルージョンの割合が高くなり、関節位置の推定精度は低くなる。一方、複数部位制度で画像を切り取ると、切り取られた画像内に占めるオクルージョンの割合が低下し、関節位置の推定精度はより高くなる。さらに、オクルージョンを含まない画像の場合、単体部位領域のほうが複数部位領域よりも切り取られた画像が小さく且つ単純になり、関節位置の推定精度が高くなるというメリットがある。
【００４３】
上記のとおり、本実施の形態では、DNNの学習工程で、オクルージョンを含む画像と含まない画像を教師データに使用し、DNN内では、単体部位領域と複数部位領域の両方で切り取った画像から関節位置を推定する。これにより、学習後のDNNは、オクルージョンを含む画像も含まない画像も関節位置を推定することができる。
【００４４】
さらに、本実施の形態では、DNN内のマスキング層が、入力画像IMG_INまたは特徴画像FIMGを部位領域または複数部位領域で切り取り、切り取り済みつまりマスク済み画像から、単数部位または複数部位の関節位置を演算または推定する。入力画像または特徴画像は、人体以外の背景の画像などを含むが、DNNは、入力画像または特徴画像の人体が存在する領域を切り取り、さらに人体が存在する領域の画像の単体部位及び複数部位の領域を切り取る。その結果、DNN_3は、雑音のない画像から関節位置を演算または推定する。よって、関節位置の推定精度を高くできる。
【００４５】
図９は、スケーリング層を説明するための図である。スケーリング層SC_Lは、入力されるマスク済み画像IMG_M,FIMG_Mを後段のDNNの入力層のサイズに整合するよう、そのサイズを変更する。つまり、次の数式のとおり、スケーリング層SC_Lは、マスク済み画像IMG_M,FIMG_Mの行方向の位置i、列方向の位置jの画素z(l-1)i,jを、スケール済み画像IMG_S,FIMG_Sの行方向の位置a*i、列方向の位置b*jの画素z(l)a*i,b*jに変換する。
【００４６】
【数２】
2018173108.tif 000004
ここで、a,bは、行方向と列方向のスケーリングファクタ（拡縮係数）である。
【００４７】
［DNNの学習］
次に、本実施の形態におけるDNNの学習について説明する。ディープラーニングでは、DNNの構成と学習方法の改善により、より望ましいDNNを生成する。そして、本実施の形態のDNNは複数のDNN_1 - DNN_4を有するので、それぞれのDNN_1-DNN_4が所望の動作を行うことができるように、各DNN_1-DNN_4の学習を実行する。
【００４８】
図１０は、DNNの学習とその後の処理の概略を示すフローチャート図である。DNNの学習では、図１で示したとおり、プロセッサ１０が教師データ２６を使用ながらDNN学習プログラム２４を実行する。
【００４９】
図１０に示したとおり、プロセッサ１０は、図２に示したDNN内の各DNN_1 - DNN_4それぞれの学習に利用する教師データを生成する（S31）。与えられる教師データは、例えば、入力画像IMG_INとそれに含まれる人体の関節位置の情報である。人体の関節位置の情報が教師データの正解データである。
【００５０】
そこで、工程S31では、プロセッサは、与えられた教師データの正解データから、各DNN_1 - DNN_3の学習で使用する正解データを予め生成する。各DNN_1 - DNN_3の学習では、プロセッサは、教師データの集合からランダムに選択した所定数の教師データをそれぞれ使用する。したがって、与えられた教師データ全てについて、各DNN_1 - DNN_3の学習で使用する正解データを予め生成するのが望ましい。
【００５１】
さらに、プロセッサ１０は、教師データを使用して各DNN_1 - DNN_4それぞれの学習を、順番に実行する（S32,S33）。プロセッサは、この学習により各DNN_1 - DNN_4の最適なパラメータを求める。DNN_1 - DNN_4全ての学習が終了すると（S33のYES）、プロセッサは、DNN_1 - DNN_4全てを繋いだDNNの学習を実行する（S34）。その後、プロセッサは、各DNN_1 - DNN_4に学習で求めた最適のパラメータを設定する（S35）。以上で学習工程を終了する。
【００５２】
そして、プロセッサは、パラメータが設定されたDNNの演算を実行し、処理対象の画像に対する関節位置の情報を演算または推定する（S36）。プロセッサは、このDNNの演算の実行S36を、処理対象の画像があるたびに繰り返す。
【００５３】
次に、図１０の各処理について詳述する。
【００５４】
［教師データの生成S31］
図１１は、各DNN_1 - DNN_4それぞれの学習に利用する教師データを生成する処理S31を示す図である。プロセッサ１０は、DNN学習プログラムを実行して、教師データ２６の正解データである関節位置の正解値Z4_CVにおける関節を中心とする正方形を定め、それらの正方形から単体部位が存在する領域の座標の正解値Z2_CVを検出する（S11）。領域の座標とは、例えば矩形領域の左上と右下の座標である。また、矩形領域の左上の座標と幅及び高さであってもよい。
【００５５】
同時に、プロセッサ１０は、単体部位が存在する領域Z2_CV内の関節の座標を抽出し、単体部位の関節座標候補の正解値Z3_CVも生成する（S11）。
【００５６】
そして、プロセッサ１０は、単体部位が存在する領域を複数含む領域を、複数部位が存在する領域の座標Z2*_CVとして検出する（S12）。
【００５７】
同時に、プロセッサ１０は、複数部位が存在する領域Z2*＿CV内の関節座標を抽出し、複数部位の関節座標候補の正解値Z3_CVも生成する（S12）。
【００５８】
さらに、プロセッサは、単数部位の領域の座標の正解値Z2_CV及び複数部位の領域の座標の正解値Z2*_CVを全て含む領域を、人体が存在する領域の座標の正解値Z1_CVとして検出する（S13）。
【００５９】
プロセッサ１０は、全ての教師データについて、上記の工程S11,S12,S13を行い、全ての教師データそれぞれの単数部位及び複数部位の関節座標候補の正解値Z3_CV、単数部位の領域の座標Z2_CV、複数部位の領域の座標Z2*_CV、人体が存在する領域の座標Z1_CVを生成する。
【００６０】
そして、全ての教師データのうち、第1の集合がDNN_1の教師データに利用され、第２の集合がDNN_2の教師データに利用され、第３の集合がDNN_3の教師データに利用され、そして、第４の集合がDNN_4の教師データに利用される。
【００６１】
さらに、上記の人体が存在する領域の座標の正解値Z1_CVは、DNN_1の教師データの正解値データとして利用され、単体部位が存在する領域の座標の正解値Z2_CVは、DNN_2の教師データの正解値データとして利用される。更に、単体部位及び複数部位の関節座標候補の正解値Z3_CVは、DNN_3の教師データの正解値として利用される。
【００６２】
［DNN_1の学習］
図１２は、DNN_1の学習を説明する図である。プロセッサは、第1の集合の教師データの入力を入力画像IMG_IN、正解値を人体領域の座標の正解値Z1_CVとして、DNN_1の学習を実行する（S14）。プロセッサは、この学習を、例えば確率的勾配降下法またはミニバッチ法と呼ばれる方法によって行う。この学習工程により、プロセッサは、DNN_1のパラメータ（重み値等）W1を最適化する。
【００６３】
さらに、プロセッサは、最適化したDNN_1のパラメータW1をDNN_1に設定し、次に使用する第２の集合の教師データの入力画像IMG_INについてDNN_1の演算を実行し、DNN_1の中間層から入力画像IMG_INの特徴画像FIMGを生成する（S15）。特徴画像FIMGは、入力画像のエッジ検出などの畳み込み演算を行う中間層から出力される。画像の特徴が強調されているので、その後のDNN_2, DNN_3のための画像として入力画像よりも好ましい場合がある。
【００６４】
図１３は、本実施の形態の学習方法の一つである確率的勾配降下法またはミニバッチ法の概略を示すフローチャート図である。この学習法では、プロセッサは、多数の教師データから少数（例えば１０個）の教師データをランダムに選択し（S41）、選択した少数の教師データの入力をDNN_nに入力しDNN_nの演算を実行して出力を得る（S42）。そして、プロセッサは、選択した少数の教師データ全てについて、DNN_nの出力と正解値との差分の二乗和の総和を算出する（S43）。プロセッサは、この二乗和の総和が基準値未満か否か判定し（S44）、基準値未満でなければ（S44のNO）、二乗和の総和の勾配に基づいて、DNN_nの新たなパラメータを求め、DNN_nに設定する（S45）。そして、プロセッサは、工程S44の判定がYESになるまで、工程S41からS44の処理を、それぞれ別の少数の教師データを使用して繰り返す。工程S44の判定がYESになると、その時のパラメータをDNN_nの最適化されたパラメータとして出力する。
【００６５】
上記の学習方法は、DNN_nで学習する教師データの数を抑制することができる。
【００６６】
［DNN_2の学習］
図１４は、DNN_2に入力する人体の画像または人体の特徴量の画像を生成するマスキング層MSK_L1及びスケーリング層SC_L1の処理を示すフローチャート図である。プロセッサは、次に使用する第２の集合の教師データの入力画像IMG_INを入力し、工程S14で求めた最適化パラメータW1が設定されたDNN_1の演算を実行して、人体が存在する領域の座標Z1=HB_Rを推定する（S16_1）。
【００６７】
そして、プロセッサは、マスキング層MSK_L1とスケーリング層SC_L1の演算を実行し、上記の第２の集合の教師データの入力画像IMG_INまたはその特徴画像FIMGを、人体領域Z1=HB_Rで切り取り、さらに、スケール変換を行う（S16_2）。これにより、プロセッサは、第２の集合の教師データの人体の画像IMG_HBまたは人体の特徴画像FIMG_HBを生成する。これらの画像は、DNN_2の学習での教師データの入力として使用される。
【００６８】
上記の工程S16_1で求めた人体が存在する領域の座標Z1に代えて、図１１の正解値を生成する工程で生成した、第２の集合の教師データの人体が存在する領域の座標の正解値Z1_CVを利用しても良い。
【００６９】
このマスキング処理により、入力画像または特徴画像から人体と関係のない背景の画像などを削除することができるので、その後の関節の推定または算出の精度を高めることができる。
【００７０】
図１５は、DNN_2の学習を説明する図である。プロセッサは、第２の集合の教師データの入力を、図１４の工程S16_2で生成した入力画像の人体の画像IMG_HBまたは特徴画像の人体の画像FIMG_HBとし、正解値を、図１１のS11で求めた単体部位が存在する領域の座標の正解値Z2_CVとして、DNN_2の学習を実行する（S17）。プロセッサは、この学習を、前述の確率的勾配降下法またはミニバッチ法によって行う。この学習工程により、プロセッサは、DNN_2のパラメータ（重み値等）W2を最適化する。
【００７１】
［DNN_3の学習］
図１６は、マスキング層MSK_L2及びスケーリング層SC_L2の処理を示すフローチャート図である。プロセッサは、第３の集合の教師データの入力画像IMG_INまたは特徴画像FIMGを入力し、最適化パラメータW1が設定されたDNN_1と最適化パラメータW2が設定されたDNN_2の演算を実行して、単体部位が存在する領域の座標Z2=BDP_Rを推定する（S18_1）。
【００７２】
さらに、プロセッサは、図１１の工程S12と同様の方法で、単体部位領域を合体した複数部位が存在する領域の座標Z2*=PBDP_Rを生成する。
【００７３】
上記の工程S18_1に代えて、図１１の工程S11,S12で求めた、第３の集合の教師データの単体部位が存在する領域の座標の正解値Z2_CVと、複数部位が存在する領域の座標の正解値Z2*_CVを使用しても良い。
【００７４】
そして、プロセッサは、マスキング層MSK_L1とスケーリング層SC_L1の演算を実行し、第３の集合の教師データの入力画像IMG_INまたはその特徴画像FIMGを、単体部位領域Z2=BDP_R及び複数部位領域Z2*=PBDP_Rで切り取り、さらに、スケール変換を行う（S18_2）。これにより、プロセッサは、第３の集合の教師データの入力画像IMG_INから抽出した単体部位画像IMG_BP、複数部位画像IMG_PBPを、または特徴画像FIMGから抽出した単体部位特徴画像FIMG_BP、複数部位特徴画像FIMG_PBP _HBを生成する。これらの画像は、DNN_3の学習での教師データの入力として使用される。
【００７５】
図１７は、DNN_3の学習を説明する図である。プロセッサは、第３の集合の教師データの入力を、図１６の工程S18_2で生成した単体部位画像IMG_BP及び複数部位画像IMG_PBP、または単体部位特徴画像FIMG_BP及び複数部位特徴画像FIMG_PBP _HBとし、正解値を、図１１のS11,S12で求めた単体部位領域Z1_CV内の関節座標の正解値Z3_CV及び複数部位領域Z2＊_CV内の関節座標の正解値Z3_CVとして、DNN_3の学習を実行する（S19）。プロセッサは、この学習を、前述の確率的勾配降下法またはミニバッチ法によって行う。この学習工程により、プロセッサは、DNN_3のパラメータ（重み値等）W3を最適化する。
【００７６】
［DNN_4の学習］
次に、プロセッサは、最適化されたパラメータW1,W2,W3を設定されたDNN_１,DNN_2, DNN_3の連結ネットワークのDNN_1に、第４の集合の教師データの入力画像IMG_INまたは特徴画像FIMGを入力し、DNN_1, DNN_2, DNN_3の演算を実行し、単数部位領域内及び複数部位領域内の関節座標の候補Z3=C_JT_CRDの集合を推定する（S20）。この関節座標の候補Z3=C_JT_CRDの集合は、DNN_4の学習の教師データの入力値として利用される。
【００７７】
また、工程S20に代えて、図１１の工程S11,S12で求めた、第４の集合の教師データの単数部位領域内及び複数部位領域内の関節座標の候補の正解値Z3＿CVを利用しても良い。
【００７８】
図１８は、DNN_4の学習を説明する図である。プロセッサは、教師データの入力を、図１７の工程S20で求めた関節座標の候補Z3=C_JT_CRDの集合とし、正解値を、図１１の関節座標の正解値Z4_CVとして、DNN_4の学習を実行する（S21）。この学習も、前述の確率的勾配降下法またはミニバッチ法によって行う。この学習工程により、プロセッサは、DNN_4のパラメータ（重み値等）W4を最適化する。
【００７９】
[工程S34の全DNNの学習]
以上で、図１０の工程S33まで終了する。次に、プロセッサは、全DNN_nであるDNN_1、DNN_2、DNN_3-1 - DNN_3-N、DNN_4を繋げた全DNNの学習を実行する（S34）。全DNNの学習は、例えばマルチタスク学習が好ましい。
【００８０】
図１９は、工程S34の全DNNの学習を説明する図である。プロセッサは、工程S14,S17,S19,S20それぞれで最適化した重みパラメータW1,W2,W3,W4をそれぞれのDNN_nの初期値に設定し、教師データの入力を、第５の集合の教師データの入力画像X=IMG_INとし、DNN_1、DNN_2、DNN_3-1 - DNN_3-N、DNN_4及びマスキング層MSK_L1, L2、スケーリング層SC_L1,L2の演算を実行する。その結果、プロセッサは、DNN_1の演算により人体が存在する領域の座標Z1=HB_Rと、DNN_2の演算により単体部位領域の座標Z2=BDP_R及び複数部位領域の座標Z2*=PBDP_Rと、DNN_3の演算により関節候補の座標Z3=C_JT_CRDの集合と、DNN_4の演算により関節の座標Z4=JT_CRDの集合を、それぞれ算出または推定する。
【００８１】
次に、勾配法により各DNN_nの重みパラメータW1,W2,W3,W4を更新する。マルチタスク学習では、以下の演算により新たな重みパラメータWnewを求める。
Wnew = Wold - d * Σi=110  * ∂/∂W｛|Z1-Z1_CV|2 + |Z2-Z2_CV|2 + |Z4-Z4_CV|2｝
ここで、ｄは学習率、iは教師データの番号である。∂/∂W｛|Z1-Z1_CV|2 + |Z2-Z2_CV|2+ |Z4-Z4_CV|2 ｝は勾配である。Σi=110は偏微分∂/∂Wの括弧外にあるが括弧内にあるのと等価である。
【００８２】
上記のマルチタスク学習では、DNN_1, DNN_2, DNN_4それぞれの二乗和を累積して勾配∂/∂Wを算出するので、各DNN_nのパラメータの最適化までの工数を少なくすることができる。また、DNN_3のパラメータは、DNN_3の学習で最適化したパラメータのまま使用する。
【００８３】
一般的な学習では、次の演算により新たな重みパラメータWnewを求める。
Wnew = Wold - d * Σi=110  * ∂/∂W |Z4-Z4_CV|2
この方法では、DNN_1, DNN_2, DNN_3, DNN_4を繋げたDNNの出力Z4が正解値Z4_CVに近づくように重みパラメータが最適化されるので、最適化の精度が余りあがらないまたは最適化に多くの教師データと全DNNの演算を必要とする。
【００８４】
以上のとおり、本実施の形態によれば、動物が写されている画像から動物の関節の位置を検出するDNNを効率よく学習させ、高い精度のDNNを生成することができる。また、学習済みDNNは、動物が写されている画像から動物の関節の位置を高い精度で算出または推定することができる。
【符号の説明】
【００８５】
X=IMG_IN：入力画像
FIMG：特徴画像
Z1=HB_R：人体領域
Z2=BDP_R：部位領域
Z2*=PBDP_R：複数部位領域
C_JT_CRD_1：第1の関節座標候補
C_JT_CRD_2：第２の関節座標候補
Z3=C_JT_CRD：関節座標候補
Z4=JT_CRD：関節座標
DNN_1：第1のディープニューラルネットワーク、第1のDNN
DNN_2：第２のディープニューラルネットワーク、第２のDNN
DNN_3_1, DNN_3_2：第３のディープニューラルネットワーク、第３のDNN
DNN_4：第４のディープニューラルネットワーク、第4のDNN
Ｗ１：第１の重みパラメータ
Ｗ２：第２の重みパラメータ
Ｗ３：第３の重みパラメータ
Ｗ４：第４の重みパラメータ
Z1_CV：第１の正解値
Z2_CV：第２の正解値
Z3_CV：第３の正解値
Z4_CV：第４の正解値
【図１】
2018173108.tif 000005
【図２】
2018173108.tif 000006
【図３】
2018173108.tif 000007
【図４】
2018173108.tif 000008
【図５】
2018173108.tif 000009
【図６】
2018173108.tif 000010
【図７】
2018173108.tif 000011
【図８】
2018173108.tif 000012
【図９】
2018173108.tif 000013
【図１０】
2018173108.tif 000014
【図１１】
2018173108.tif 000015
【図１２】
2018173108.tif 000016
【図１３】
2018173108.tif 000017
【図１４】
2018173108.tif 000018
【図１５】
2018173108.tif 000019
【図１６】
2018173108.tif 000020
【図１７】
2018173108.tif 000021
【図１８】
2018173108.tif 000022
【図１９】
2018173108.tif 000023
【手続補正書】
【提出日】令和1年10月4日(2019.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリと接続されるプロセッサとを有し、
前記プロセッサは、
第１の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第１のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、関節位置推定装置。
【請求項２】
前記プロセッサは、更に、
前記第１のパラメータを設定した第１のＤＮＮにより、前記第２の教師データの入力画像に対する前記動物の部位領域を推定する、請求項１に記載の関節位置推定装置。
【請求項３】
前記プロセッサは、前記第２の教師データの入力である、前記部位領域及び複数部位領域の画像を、前記第２の教師データの入力画像内の部位領域及び複数部位領域で前記第２の教師データの入力画像を切り取って生成する、請求項１に記載の関節位置推定装置。
【請求項４】
前記第１のＤＮＮは、第３のＤＮＮと第４のＤＮＮとを有し、
前記第１のＤＮＮの学習を実行することは、
第３の教師データの入力を前記第１の教師データの入力画像、前記第３の教師データの正解データを前記入力画像内の動物が存在する動物領域として、第３のＤＮＮの学習を実行することと、
第４の教師データの入力を、前記第４の教師データの入力画像内の動物が存在する動物領域の画像とし、前記第４の教師データの正解データを、前記動物の部位領域として、第４のＤＮＮの学習を実行することとを有し、
前記第１のＤＮＮにより前記処理対象の入力画像に対する前記動物の部位領域を推定することは、
前記第３のＤＮＮの学習で求めた第３のパラメータを設定した第３のＤＮＮにより、前記処理対象の入力画像に対する前記動物領域を推定することと、
前記第４のＤＮＮの学習で求めた第４のパラメータを設定した第４のＤＮＮにより、前記推定した動物領域で前記処理対象の入力画像データを切り取った動物領域の画像に対する前記動物の部位領域を推定することを有する、請求項１に記載の関節位置推定装置。
【請求項５】
前記第４の教師データの入力である前記第４の教師データの入力画像内の動物領域の画像は、前記第３のパラメータを設定した前記第３のＤＮＮにより推定した動物領域で前記入力画像を切り取って求められる、請求項４に記載の関節位置推定装置。
【請求項６】
前記プロセッサは、更に、
第５の教師データの入力を前記第１の関節位置と第２の関節位置とし、前記第５の教師データの正解データを前記第１の関節位置と第２の関節位置が含まれる第３の関節位置として、第５のＤＮＮの学習を実行し、
前記第５のＤＮＮの学習で求めた第５のパラメータを設定した第５のＤＮＮにより、前記第２のＤＮＮにより推定した前記第１の関節位置と第２の関節位置に対する前記第３の関節位置を推定する、請求項１に記載の関節位置推定装置。
【請求項７】
前記学習の実行は、
所定数の教師データの入力に対して前記ＤＮＮが推定した出力と前記正解データとの差分の二乗和の総和を算出し、前記総和の勾配に基づいて前記パラメータを更新することを、前記総和が基準値未満になるまで繰り返すことを含む、請求項１に記載の関節位置推定装置。
【請求項８】
前記プロセッサは、更に、
第６の教師データの入力である入力画像に対して前記第１のパラメータを設定した第１のＤＮＮにより前記部位領域を推定し、前記推定した部位領域及び前記複数部位領域に対して前記第２のパラメータを設定した第２のＤＮＮにより前記第１の関節位置及び第２の関節位置を推定し、
前記第１のＤＮＮにより推定した部位領域と前記第１のＤＮＮの正解データとの差分の第１の二乗和と、前記第２のＤＮＮにより推定した第１の関節位置及び第２の関節位置と前記第２のＤＮＮの正解データとの差分の第２の二乗和との総和を算出し、前記総和の勾配に基づいて前記第１のパラメータ及び第２のパラメータを更新することを、前記総和が基準値未満になるまで繰り返す、請求項１に記載の関節位置推定装置。
【請求項９】
第１の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第１のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、処理を有する関節位置推定方法。
【請求項１０】
第１の教師データの入力を入力画像、前記第１の教師データの正解データを前記入力画像内の動物の部位領域として、第１のディープニューラルネットワーク（以下ＤＮＮと称する）の学習を実行し、
第２の教師データの入力を、第２の教師データの入力画像内の部位領域及び前記部位領域を複数結合した複数部位領域の画像とし、前記第２の教師データの正解データを、前記部位領域及び複数部位領域内の関節位置として、第２のＤＮＮの学習を実行し、
前記第１のＤＮＮの学習で求めた第１のパラメータを設定した第１のＤＮＮにより、処理対象の入力画像データに対する前記動物の部位領域を推定し、
前記第２のＤＮＮの学習で求めた第２のパラメータを設定した第２のＤＮＮにより、前記第１のＤＮＮにより推定した部位領域及び前記部位領域を複数結合した複数部位領域それぞれの第１の関節位置及び第２の関節位置とを推定する、処理をコンピュータに実行させる関節位置推定プログラム。
【国際調査報告】
2018173108.tif 000024
2018173108.tif 000025
2018173108.tif 000026
2018173108.tif 000027