JP2020091543A - 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム - Google Patents

学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム Download PDF

Info

Publication number
JP2020091543A
JP2020091543A JP2018226721A JP2018226721A JP2020091543A JP 2020091543 A JP2020091543 A JP 2020091543A JP 2018226721 A JP2018226721 A JP 2018226721A JP 2018226721 A JP2018226721 A JP 2018226721A JP 2020091543 A JP2020091543 A JP 2020091543A
Authority
JP
Japan
Prior art keywords
learning
detection result
image
error
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018226721A
Other languages
English (en)
Other versions
JP7296715B2 (ja
Inventor
裕一郎 飯尾
Yuichiro Iio
裕一郎 飯尾
貴之 猿田
Takayuki Saruta
貴之 猿田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018226721A priority Critical patent/JP7296715B2/ja
Priority to US16/693,025 priority patent/US20200175377A1/en
Publication of JP2020091543A publication Critical patent/JP2020091543A/ja
Application granted granted Critical
Publication of JP7296715B2 publication Critical patent/JP7296715B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ニューラルネットワークの学習効率を向上させる。【解決手段】入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークの学習を行う。ニューラルネットワークは、入力画像が入力されると、入力画像の各位置に対する第1の種類の検出結果及び第2の種類の検出結果を出力する。学習のためにニューラルネットワークに入力する学習画像を取得する。学習画像の各位置について第1の種類の検出結果における検出誤差を示す、誤差マップを取得する。学習画像をニューラルネットワークに入力して得られた第1の種類の検出結果及び第2の種類の検出結果と、誤差マップと、を用いてニューラルネットワークの学習を行う。【選択図】図4

Description

本発明は学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラムに関し、特に画像認識技術に関する。
画像又は音声などのデータに対する検出処理が知られている。本明細書では、検出処理の目的のことを認識タスクと呼ぶ。多様な認識タスクが知られており、例えば画像から人間の顔領域を検出するタスク、画像中の物体(被写体)のカテゴリ(猫、車、又は建物など)を判別するタスク、及びシーンのカテゴリ(都市、山間、又は海岸など)を判別するタスク、などがある。このような認識タスクを行うための学習処理についても知られている。例えば、ニューラルネットワーク、とりわけDeep Neural Networks(DNN)は、性能が高いことで近年注目されている。
ニューラルネットワークは、データが入力される入力層、複数の中間層、及び検出結果を出力する出力層から構成されている。学習フェーズにおいては、学習データをニューラルネットワークに入力すると出力層から得られる推定結果と、学習データに対する正しい検出結果を示す教師データと、の差異を示す損失が予め設定された損失関数に従って算出される。そして、誤差逆伝搬法(バックプロパゲーション:BP)などを用いることにより、損失がより小さくなるようにニューラルネットワークの係数の調整などを行うことにより、学習が進行する。例えば、画像中で対象が存在する領域を検出するタスクにおいては、ニューラルネットワークに画像を入力すると、画像の各領域に対するラベル(対象が存在するか否かの推定結果)が得られる。この場合、学習データ(学習画像)に対する教師データとしては、画像の各領域に対するラベル付けされた教師画像が用いられ、各画素における損失の総和である全体の損失を用いて学習を行うことで、検出結果精度を向上させることができる。
非特許文献1はさらに、ニューラルネットワークの最終層に接続された出力層の他に、中間層にも出力層を接続することを開示している。そして、中間層の出力層から得られる推定結果についても、最終層の出力層と同じ教師データを用いて損失を算出することにより、最終層から離れた中間層における学習効率が向上する。また、関連のある複数のタスクについて同時に学習を行うマルチタスク学習の技術も知られている。例えば特許文献1は、入力画像に人が存在するか否かを識別するタスクと、入力画像における人の位置を示す回帰結果を得るタスクと、の学習を同時に行うことで、人の位置の検知精度を向上させる技術を開示している。
一方、検出精度を向上させる手法として、ハードネガティブ学習が知られている。ハードネガティブ学習では、誤検出が発生した学習画像を優先的に用いて再度学習を行うことで、誤検出が抑制される。また、未検出が発生した学習画像を優先的に用いて学習することで、未検出を防止するハードポジティブ学習も知られている。例えば非特許文献2では、学習が行われたニューラルネットワークを用いて対象の検出処理が行われる。そして、誤検出が生じた領域を含む部分画像が、優先的に学習画像として再度の学習で用いられる。
特開2016−6626号公報
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. "Going deeper with convolutions" in CVPR, 2015. Abhinav Shrivastava, Abhinav Gupta, Ross Girshick, "Training Region-Based Object Detectors with Online Hard Example Mining", in CVPR, 2016.
より効率よくニューラルネットワークの学習を行うことが望まれていた。
本発明は、ニューラルネットワークの学習効率を向上させることを目的とする。
入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークの学習を行う学習装置であって、
前記ニューラルネットワークは、前記入力画像が入力されると、前記入力画像の各位置に対する第1の種類の検出結果及び第2の種類の検出結果を出力し、
前記学習装置は、
学習のために前記ニューラルネットワークに入力する学習画像を取得する学習データ取得手段と、
前記学習画像の各位置について前記第1の種類の検出結果における検出誤差を示す、誤差マップを取得する誤差マップ取得手段と、
学習画像を前記ニューラルネットワークに入力して得られた前記第1の種類の検出結果及び前記第2の種類の検出結果と、前記誤差マップと、を用いて前記ニューラルネットワークの学習を行う、学習手段と、
を備えることを特徴とする。
ニューラルネットワークの学習効率を向上させることができる。
一実施形態に係る処理装置の機能構成を示す概略図。 領域検出タスクの一事例を示す模式図。 ニューラルネットワークの学習処理の流れを説明する模式図。 一実施形態に係る学習方法を示すフローチャート。 サブタスク設定方法の一例を示す模式図。 サブタスクの教師画像の生成方法の一例を示す模式図。 誤差マップの精製方法の一例を示す模式図。 一実施形態に係る処理装置の機能構成を示す概略図。 一実施形態に係る学習方法を示すフローチャート。 一実施形態に係る処理装置のハードウェア構成を示す概略図。 サブタスク設定方法の一例を示す模式図。
以下、本発明を実施するための形態について図面を用いて説明する。ただし、本発明の範囲は以下の実施形態に限定されない。
一実施形態に係る学習装置は、入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークの学習を行う。とりわけ、本実施形態に係る学習装置は、学習画像をニューラルネットワークに入力して得られた検出結果と、教師データと、の誤差を学習画像の各位置について示す誤差マップを算出する。この誤差マップは、学習画像の各位置についての、画像検出処理において過検出又は未検出されやすい被写体の存在を示し、さらには画像検出処理の容易度を示すため、学習処理の効率化のために使用可能である。
[実施形態1]
実施形態1においては、誤差マップが、ニューラルネットワークの学習処理において、画像検出処理が困難な領域に対して重み付けを行うために用いられる。非特許文献2では、誤検出が生じた領域を含む部分画像自体がハードネガティブサンプルとして用いられる。すなわち、部分画像のうち判定が正解であった領域についても学習処理において優先的に用いられていた。一方で本実施形態によれば、画像のうち画像検出処理が困難な領域のみを重み付けすることができるため、学習効率をより高くすることができる。
以下、実施形態1に係る学習装置について説明する。本実施形態においては、領域の認識タスクを高精度に行うことができるように、ニューラルネットワーク処理装置が有するニューラルネットワークの学習が行われる。領域の認識タスクは、入力画像中において検出対象が存在する領域を推定するタスクである。例えば、人体を検出対象とする領域の認識タスクを行うDNNは、図2(A)に示す画像200が入力されると、正しく推定できた場合には、図2(B)に示す画像210のように人体が存在する人体領域22を示す情報を出力する。一方で、推定に失敗した場合には、図2(C)に示す画像220のように、人体が存在しない領域23が人体領域と判定されたり(誤検出)、人体が存在する領域24が人体領域と判定されなかったり(未検出)する。本実施形態においては、誤検出や未検出が抑制されるように、領域の認識タスクを行うDNNの学習が効率的に行われる。
はじめに、DNNを用いる領域の認識タスクの実行処理及びDNNの学習処理の典型的な流れについて、図3を参照しながら説明する。DNNは、検出対象の画像が入力されると、画像に対応する領域検出結果を出力する。例えば、検出対象の画像が入力層に入力されると、中間層を経て、出力層から推定結果である推定マップが出力される。DNNの各層は学習パラメータである重み係数を保持している。各層では、例えば畳み込み演算などの、前の層からの入力に対する重みづけ処理が行われ、その結果が次の層へ渡される。このような処理を順次実行することにより、出力層からは推定マップが出力される。
推定マップは、入力画像の各位置に対する検出結果を示す2次元マップである。例えば、推定マップは、検出対象が存在すると推定された領域を提示することができる。DNNは、例えば、検出対象の画像に対応する、検出対象の画像の各位置についてのラベル(画素値)で構成された推定マップを出力することができる。本実施形態においては、この画素値は0以上1以下の値を取ることができる。画素値が1に近いことは、検出対象の画像の対応する位置において、対象が存在する推定確率がより高いことを意味する。一方、画素値が0に近いことは、対象が存在する推定確率がより低いことを意味する。もっとも、推定マップの構成はこのような具体例には限定されない。
このような領域の認識タスクを行うDNNの学習においては、学習画像と教師画像のペアを学習データとして用いることができる。学習画像は任意の画像であり、例えばRGB画像であってもよい。教師画像は、学習画像についての領域検出結果を示すデータであり、事前に例えば手動で作成することができる。本実施形態において、教師画像は学習画像の各位置についてのラベルで構成されている。以下の説明において、教師画像は、検出対象が存在する領域においては、検出対象が存在することを示すラベル(例えば画素値1)を有しており、存在しない領域においては、検出対象が存在しないことを示すラベル(例えば画素値0)を有している。
学習処理においては、まず、学習画像が入力された際のDNNの出力と、教師画像とを比較することにより、出力の誤差が得られる。例えば、図3の処理310のように、学習画像をDNNに入力することにより、学習画像に対応する推定マップが得られる。次に、図3の処理320のように、学習画像に対応する推定マップと教師画像とを比較することで、損失が算出される。この損失は、出力の誤差を示す値である。損失は、予め設定された損失関数を用いて算出することができる。例えば、領域の認識タスクにおける損失関数Eとしては、式(1)に示すクロスエントロピー誤差を採用することができる。もっとも、損失関数はこれに限定されるわけではなく、検出対象に合わせて適宜選択することができる。
E=−ΣΣ(p,q)logy(p,q) ……(1)
式(1)においては、推定マップにおける座標(p,q)の画素値をy(p,q)とする。また、教師画像における座標(p,q)の画素値をt(p,q)とする。
最後に、図3の処理330のように、得られた出力の誤差に基づいて、DNNの各層の重み係数が更新される。例えば、非特許文献1などでも紹介されているように、得られた損失に基づいて、誤差逆伝搬法(バックプロパゲーション:BP)などを用いることにより、重み係数を更新することができる。
これらの、図3に示す処理310〜330を繰り返して、各層の重み係数を逐次更新することにより、損失が徐々に小さくなり、すなわち推定マップが教師画像に近づいていく。このようにして、DNNの学習処理を行うことができる。
以下、図1を参照して、本実施形態に係る学習装置の構成について説明する。処理装置1000は、ニューラルネットワークとしてDNN190を有しており、このDNN190は、入力画像が入力されると、入力画像の各位置に対する検出結果を推定マップとして出力する。DNN190の学習は、特定の対象を検出するように行われ、この特定の対象を検出するタスクのことをメインタスクと呼ぶ。また、ニューラルネットワークから出力される、この特定の対象の検出結果を、第1の種類の検出結果又はメインタスクの推定マップと呼ぶことがある。本実施形態において処理装置1000は、DNN190の学習を行う学習装置としても動作する。以下では、処理装置1000が有するDNN190の学習のための構成について説明する。
処理装置1000は、設定部110及び学習部120を有している。また、処理装置1000は学習データ100を有している。学習データ100は、複数の学習画像と、各学習画像に対応する教師画像と、で構成される画像セットである。教師画像は、学習画像中で、メインタスクの検出対象が存在する領域を示し、以下では第1の教師データ、又はメインタスクの教師画像と呼ぶことがある。
設定部110は、学習のためにニューラルネットワークに入力する学習画像を取得する、学習データ取得を行うことができる。学習画像は、上述のように処理装置1000が学習データ100として有していてもよいし、設定部110が外部から取得してもよい。
設定部110はまた、サブタスクの設定を行う。本実施形態において、メインタスクは、DNN190を用いて推定を行おうとする認識タスクであり、その結果はDNN190の出力層から出力される。一方で本実施形態において、サブタスクとは、メインタスクの検出対象と同様の検出対象を検出するタスクのことである。
サブタスクはメインタスクとは異なるタスクであるが、メインタスクと同一のカテゴリに関する認識タスクであってもよい。メインタスクと同一のカテゴリに関する認識タスクとは、メインタスクの検出対象を対象とした認識タスク、又はメインタスクの検出対象に関連する認識タスクのことを指す。一実施形態において、メインタスクの検出結果及びサブタスクの検出結果は、同種の検出対象に対する異なる情報を示す。例えば、図2の事例では、人体領域の認識タスクがメインタスクにあたる。この場合のサブタスクの具体例としては、人体領域に関連するタスクが挙げられ、具体例としては、人体の中心領域を検出するタスクが挙げられる。また、サブタスクの検出対象は、メインタスクの検出対象(例えば人体)のうち一部(例えば頭、手、又は足)であってもよい。
また、実施形態3のように、サブタスクの検出対象は、メインタスクの検出対象と類似した特徴を有する被写体、又はメインタスクの検出対象を誤認識しやすい領域であってもよい。さらなる例として、メインタスクとサブタスクとの関係は、メインタスクの検出結果からサブタスクの検出結果が生成可能な関係であってもよい。
サブタスクの設定方法は特に限定されない。具体的なサブタスクの種類は、メインタスクに対応して予め定義されていてもよいし、ユーザによって定義されてもよい。本明細書では、ニューラルネットワークから出力されるサブタスクの結果を、第2の種類の検出結果又はサブタスクの推定マップと呼ぶことがある。DNN190は、入力画像が入力されると、入力画像の各位置に対する第2の種類の検出結果を推定マップとして出力することができる。
設定部110は、学習画像について予め用意された、第1の種類の検出結果を示す第1の教師データ(又はメインタスクの教師画像)及び第2の種類の検出結果を示す第2の教師データ(又はサブタスクの教師画像)を取得することができる。上述の通り、処理装置1000は、予め用意されている、学習画像に対応するメインタスクの教師画像を学習データ100として有していてもよい。また、設定部110は、メインタスクの教師画像を外部から取得してもよい。
一方で、サブタスクの検出結果がメインタスクの検出結果から生成可能である場合、設定部110は、第1の教師データ(又はメインタスクの教師画像)を用いて第2の教師データ(又はサブタスクの教師画像)を生成してもよい。すなわち、設定部110は、学習画像に対応するメインタスクの教師画像から、この学習画像に対応するサブタスクの教師画像を生成することができる。サブタスクの教師画像とは、学習画像中でサブタスクの検出対象が存在する領域を示し、第2の教師データと呼ぶことがある。設定部110によるサブタスクの教師画像の生成処理については後述する。一方で、サブタスクの教師画像は予め生成されていてもよく、設定部110が外部から取得してもよい。
さらに、設定部110は、メインタスクに加えてサブタスクを行うようにDNN190を構成することができる。一実施形態において、DNN190は、入力画像が入力される入力層、処理が行われる中間層、第1の種類の検出結果を出力する第1の出力層、及び中間層から分岐して第2の種類の検出結果を出力する第2の出力層を有している。ここで、中間層は複数の畳み込み層を有していてもよく、第2の出力層は、中間層にある複数の畳み込み層の間から分岐していてもよい。また、分岐箇所と第2の出力層との間には、さらなる中間層が存在していてもよい。
例えば、設定部110は、出力層からメインタスクの推定マップを出力するDNN190を、中間層においてネットワークが分岐するように構成することができる。この分岐したネットワークにはさらなる出力層が接続され、このさらなる出力層からサブタスクの推定マップが出力される。サブタスクを行うためのDNN190の構成方法は特に限定されず、例えば設定部110は、予め定義されているネットワークの分岐方法から選択された方法を用いて、DNN190を構成してもよい。一方で、DNN190は、メインタスクに加えてサブタスクを行うように、予め構成されていてもよいし、ユーザによって構成されてもよい。
学習部120は、DNN190の学習処理を行う処理部である。学習部120は、誤差マップ作成部121、重み付け部122、損失算出部123、重み更新部124を備える。
誤差マップ作成部121は、学習画像の各位置について第1の種類の検出結果における検出誤差を示す誤差マップを取得する、誤差マップ取得を行う。例えば、誤差マップ作成部121は、学習画像をニューラルネットワークに入力して得られた第1の種類の検出結果と、第1の教師データと、の誤差に基づいて、誤差マップを生成することができる。このために、誤差マップ作成部121は、学習画像をDNN190に入力し、ニューラルネットワークからの出力としてメインタスクの推定マップを得ることができる。そして、誤差マップ作成部121は、メインタスクの推定マップと、学習画像に対応する教師画像と、の誤差分布を示す誤差マップを生成することができる。このように誤差マップ作成部121は、特定の学習画像に対応する誤差マップを生成することができる。一方で、誤差マップ作成部121が、現在のニューラルネットワークを利用して誤差マップを生成することは必要ではない。実施形態2と同様に、誤差マップ作成部121は、過去のニューラルネットワークを利用して生成された誤差マップを取得してもよい。
本実施形態における誤差マップは、メインタスクについての推定結果と教師画像との誤差分布が可視化されたマップである。また、本実施形態における誤差マップは、第1の種類の検出結果における検出誤差により生じた未検出領域又は過検出領域の位置を示している。一実施形態において、メインタスクについての誤検出又は未検出領域は、マップ上で大きい数値を有する領域として表すことができる。処理の詳細については後述する。
重み付け部122は、第1の種類の検出結果における検出誤差を用いて、第2の種類の検出結果と第2の教師データとの誤差を重み付けする。重み付け部122は、誤差マップ作成部121が学習画像について生成した誤差マップを用いて、この学習画像の各位置についての誤差を重み付けすることができる。また、重み付け部122は、学習画像をニューラルネットワークに入力し、ニューラルネットワークからの出力としてサブタスクの推定マップを得ることができる。処理の詳細については後述する。
損失算出部123及び重み更新部124は、学習画像をニューラルネットワークに入力して得られた第1の種類の検出結果及び第2の種類の検出結果と、誤差マップと、を用いてニューラルネットワークの学習を行う。本実施形態において損失算出部123及び重み更新部124は、第1の種類の検出結果と第1の教師データとの誤差、及び第2の種類の検出結果と第2の教師データとの誤差、に基づいてニューラルネットワークの学習を行う。
例えば、損失算出部123は、メインタスクに関する第1の種類の検出結果と、第1の教師データと、の誤差を評価することができる。すなわち、損失算出部123は、メインタスクの推定マップと、第1の教師画像と、からメインタスクの損失を算出することができる。また、損失算出部123は、サブタスクに関する第2の種類の検出結果と、第2の教師データと、の誤差を評価することができる。すなわち、損失算出部123は、サブタスクの推定マップと、第2の教師画像と、からサブタスクの損失を算出することができる。この際、損失算出部123は、重み付け部122による重み付けに従って、学習画像の各位置について、第2の種類の検出結果と第2の教師データとの誤差を重み付けする。すなわち、損失算出部123は、学習画像の各位置についてのサブタスクの損失を重み付けして、サブタスクについての損失を算出する。具体的な処理例については後述する。
重み更新部124は、損失算出部123が算出した損失に従って、DNN190の層の重みを更新する。重み更新部124は、ニューラルネットワークの学習のために用いられる一般的な手法を用いて、各層の重み係数を更新することができる。例えば、重み更新部124は、上述したように誤差逆伝播法を用いて重みの更新を行うことができる。
図1等に示される処理部のそれぞれは、コンピュータにより実現することができる。図10は、処理装置1000として使用可能なコンピュータの基本構成を示す図である。図10においてプロセッサ1010は、例えばCPUであり、コンピュータ全体の動作をコントロールする。メモリ1020は、例えばRAMであり、プログラム及びデータ等を一時的に記憶する。コンピュータが読み取り可能な記憶媒体1030は、例えばハードディスク又はCD−ROM等であり、プログラム及びデータ等を長期的に記憶する。本実施形態においては、記憶媒体1030が格納している、各部の機能を実現するプログラムが、メモリ1020へと読み出される。そして、プロセッサ1010が、メモリ1020上のプログラムに従って動作することにより、各部の機能が実現される。一方で、図1等に示される処理部のうち1以上が、専用のハードウェアによって実現されてもよい。
また、DNN190のようなニューラルネットワークは、重み係数に従って順次演算を行うプログラムとして実現することができる。また、重み係数に従って順次演算を行うように構成されたプロセッサ等の処理部により、DNN190を実現することもできる。
図10において、入力インタフェース1040は外部の装置から情報を取得するためのインタフェースである。また、出力インタフェース1050は外部の装置へと情報を出力するためのインタフェースである。バス1060は、上述の各部を接続し、データのやりとりを可能とする。
以下では、図4に示すフローチャートを用いて、本実施形態におけるニューラルネットワーク処理装置の処理の流れについて詳細に説明する。
ステップS401で設定部110は、上記の通り、サブタスクを設定し、メインタスクとサブタスクとを同時に推定するようにDNN190を構成する。図5(A)は、メインタスクとして人体領域検出を行い、サブタスクとして人体の中心領域を検出する場合に用いられる、DNN190の一例を示す。本実施形態では、図5(A)に示すように、サブタスクの結果を出力する出力層が、最終層ではなく中間層から分岐している。
もっとも、ニューラルネットワークの構成例は、図5(A)に示すように、サブタスクの結果が中間層から得られる構成に限定されない。例えば、メインタスクの結果を出力する出力層と、サブタスクの結果を出力する出力層とが、いずれも最終層から得られる、マルチタスクニューラルネットワークを採用することもできる。例えば図5(B)は、メインタスクとして顔の中心領域を検出するタスク及び顔のサイズを推定するタスクを行うニューラルネットワークに対して、最終層において顔領域の検出を行うタスクがサブタスクとして設定された例を示す。
本実施形態におけるサブタスクは、メインタスクと同一のカテゴリに関する認識タスクである。このため、サブタスクの推定精度を上げるようにニューラルネットワークの学習を行うことで、検出対象の特徴を抽出しやすいようにニューラルネットワークの学習が進行する。このため、メインタスクの推定精度も上げることができる。特に、図5(A)のようにサブタスクの結果が中間層から得られる場合、サブタスクに基づく学習を中間層(入力層により近い、すなわち浅い層)から行うことができる。このため、ニューラルネットワークの浅い層における、メインタスクにおける推定のために有用な特徴を抽出するための学習を、効率よく行うことができる。
上述のとおり設定部110は、サブタスクを設定する際に、メインタスクの教師データからサブタスクの教師データを自動的に作成することができる。図5(A)に示すDNNを用いる場合、設定部110は、メインタスクの教師画像である人体領域を示す画像から、サブタスクの教師画像である人体中心領域を示す画像を作成することができる。
具体的な手法は特に限定されないが、図6に一例が示されている。まず設定部110は、図6(A)に示す人体領域の認識タスクの教師画像610から、人体領域を判定する。例えば、教師画像610において、隣接する画素のうちいずれかの画素値が1である画素の集合を探索することにより、人体領域を検出することができる。教師画像610には人体領域として領域61のみが含まれるが、教師画像中には複数の人体領域が存在していてもよい。
次に、設定部110は、中間処理結果を示す図6(B)に示されるように、検出された人体領域ごとに、人体領域を包含する矩形領域62を判定する。さらに、設定部110は、中間処理結果を示す図6(C)に示すように、判定された矩形領域63の中心位置を算出する。人体中心領域は、こうして算出された中心位置の画素により表すことができる。設定部110は、それぞれの人体領域について中心位置を算出し、算出されたそれぞれの中心位置を表す画像640を、人体の中心領域を検出するタスクの教師画像として生成する。
同様に、図5(B)に示すDNNを用いる場合、設定部110は、メインタスクの教師画像である顔の中心領域を示す教師画像と、顔のサイズを示す教師画像とを用いて、顔の領域を示すサブタスクの教師画像を生成することができる。例えば、設定部110は、顔の中心領域を示す教師画像(頭部位置教師画像)と、顔のサイズを示す教師画像(頭部サイズ教師画像)とを用いて、顔領域を円形領域として示す教師画像(頭部領域教師画像)を生成することができる。このように生成された教師画像を用いることにより、サブタスクの誤差評価及び学習を行うことができる。
ステップS402で誤差マップ作成部121は、学習画像をDNN190に入力することで、メインタスクの推定マップを得る。さらに、誤差マップ作成部121は、メインタスクの推定マップと、教師画像とを用いて、メインタスクの誤差マップを生成する。
図7を参照して、誤差マップの生成方法の例について説明する。ここでは、図7(A)の入力画像700に対する人物領域検出をメインタスクとして行う場合について説明する。図7(B)は、この場合におけるメインタスクの教師画像710を示す。教師画像710においては、領域71及び領域72が人体領域としてラベル付けされている(すなわち、教師画像のこれらの領域は画素値として1を有している)。また、それ以外の領域は、非人体領域としてラベル付けされている(すなわち、教師画像のこれらの領域は画素値として0を有している)。また、図7(C)は、入力画像700をDNN190に入力して得られた、メインタスクの推定結果を表す推定マップ720である。この場合の誤差マップの例が、図7(D)に示す誤差マップ730である。
領域73に示されるように、推定マップ720では、領域71のうち下半身は検出されているが、上半身は未検出となっている。このため、誤差マップ730においては、領域71のうち上半身が未検出領域76として示されている。同様に、推定マップ720では人体領域75が検出されており、誤差マップ730には、領域72のうち頭部以外の領域が誤検出領域78として示されている(なお、領域72のうちの未検出領域については図7(C)では省略されている)。さらに推定マップ720は、領域74に人体が存在することを示しているが、入力画像700においてこの領域には人体が存在しないため、誤差マップ730においてこの領域は誤検出領域77として示されている。
誤差マップ作成部121は、作成した誤差マップ730を、学習処理の中間結果としてユーザに提示してもよい。例えば誤差マップ作成部121は、学習中に、入力画像700と誤差マップ730とを、併せて表示部(不図示)に表示させることができる。このような表示によれば、ユーザは学習の進行具合、及び誤検出又は未検出領域の出現傾向を確認することができる。さらには、提示された誤差マップ730を確認することで、ユーザはDNN190の学習率、又は重み付け部122による重み付けの大きさなどの、ハイパーパラメータ(ユーザが予め設定することができる学習パラメータ)をユーザは修正することができる。
誤差マップ作成部121による具体的な誤差マップの生成例を説明する。本実施形態において推定マップは実数分布として出力される。このため、誤差マップ作成部121は、教師画像に示される人体領域のうち、推定マップにおいて所定の閾値(例えば0.5)未満の画素値を有する領域を、未検出領域として誤差マップに記録することができる。同様に、誤差マップ作成部121は、教師画像に示される非人体領域のうち、所定の閾値以上の画素値を有する領域を、誤検出領域として誤差マップに記録することができる。
誤差マップには、未検出領域及び誤検出領域が、それぞれ区別できるように記録されてもよい。例えば誤差マップは、教師画像と同サイズの2チャネルのマップであってもよい。ここで、チャネル1においては、未検出領域の画素値を1に、それ以外の領域の画素値を0に、それぞれ設定することができる。また、チャネル2においては、誤検出領域の画素値を1に、それ以外の領域の画素値を0に、それぞれ設定することができる。
誤差マップ作成部121は、以上の処理により、学習画像がDNN190に入力され、推定マップが出力されるたびに、誤差マップを生成することができる。このような処理により、学習画像のそれぞれに対応する誤差マップが得られる。ただし、誤差マップの具体的な作成手法は上述の方法に限られない。また、提示された誤差マップを確認したユーザが、随時誤差マップの作成方式を修正してもよい。また、誤差マップの種類も上記のものに限定されない。例えば、誤差マップが、各位置において誤検出又は過検出が生じている可能性を、0以上1以下の値で示していてもよい。
ステップS403で重み付け部122は、学習画像をDNN190に入力することで、サブタスクの推定マップを得る。さらに、重み付け部122は、ステップS402で作成されたメインタスクの誤差マップを用いて、学習画像の各位置についてのサブタスクの損失を重み付けする。
本実施形態において重み付け部122は、学習画像の各位置に対応する、サブタスクの推定マップの画素ごとに、メインタスクの誤差マップに基づいて重みを決定する。重み付け部122は、サブタスクの推定マップの画素に対応する、メインタスクの誤差マップの画素の情報を参照して、重みを決定することができる。
例えば、重み付け部122は、サブタスクの推定マップの着目画素がメインタスクの未検出領域にある場合に、着目画素の重みをαに設定することができる。また、重み付け部122は、サブタスクの推定マップの着目画素がメインタスクの未検出領域にあり、かつ着目画素にサブタスクの検出対象が存在する場合に、着目画素の重みをαに設定してもよい。ここで、サブタスクの推定マップの着目画素がメインタスクの未検出領域にあるかどうかは、メインタスクの誤差マップを参照することにより判定することができる。また、サブタスクの推定マップの着目画素にサブタスクの検出対象が存在するかどうかは、サブタスクの教師画像を参照することにより判定することができる。さらに、重み付け部122は、サブタスクの推定マップの着目画素がメインタスクの過検出領域にある場合に、着目画素の重みをβに設定することができる。また、重み付け部122は、サブタスクの推定マップの着目画素がメインタスクの過検出領域にあり、かつ着目画素にサブタスクの検出対象が存在しない場合に、着目画素の重みをβに設定してもよい。また、着目画素が上記の条件に合わない場合、重み付け部122は、着目画素の重みを1に設定してもよい。これらの値α,βは1以上の任意の実数値であり、ユーザが予め又は処理中に設定することができる。
ステップS404で損失算出部123は、メインタスクの推定マップと、メインタスクの教師画像と、に基づいてメインタスクの損失を算出する。メインタスクの損失の算出は、例えば、上述の式(1)に従って行うことができる。また、損失算出部123は、サブタスクの推定マップと、サブタスクの教師画像と、に基づいて、ステップS403における重み付けに従ってサブタスクの損失を算出する。例えば、損失算出部123は、画素ごとに損失を算出し、ステップS403で設定された重みを用いて画素ごとの損失を重み付け加算することにより、サブタスクの損失を算出することができる。一例として、損失算出部123は、式(2)に従ってサブタスクの損失を算出することができる。式(2)において、w(p,q)は、サブタスクの推定マップの座標(p,q)の重みを表す。
E=−ΣΣ(p,q)(p,q)logy(p,q) ……(2)
このような処理によって、メインタスクで誤検出又は未検出が発生した領域において、サブタスクの検出誤差が生じている場合に、サブタスクの損失が大きくなるように、サブタスクの損失が算出される。なお、メインタスクとサブタスクとの間で、損失を算出するための損失関数が同じである必要はなく、損失関数はタスクの内容に応じて適宜設定できる。
ステップS405で重み更新部124は、ステップS404で算出された損失に基づいて、上述のようにDNN190の各層の重み係数を更新する。例えば重み更新部124は、メインタスクの損失及びサブタスクの損失に基づいて算出された全体の損失を用いて、誤差逆伝搬法に従ってDNN190の重み係数を更新することができる。
ステップS406で重み更新部124は、所定の学習終了条件が満たされているかどうかを判定する。終了条件が満たされていない場合、処理はステップS402に戻り、その後ステップS402〜S405の処理が終了条件が満たされるまで繰り返される。処理を繰り返す場合、ステップS402〜405の処理は新しい学習画像を用いて行われてもよいし、以前に用いられた学習画像を再度使用して行われてもよい。終了条件が満たされている場合、DNN190の学習処理は終了し、処理はステップS407に進む。
終了条件は特に限定されず、ユーザが予め設定してもよい。例えば、ステップS402〜S405の学習処理が所定回数行われた場合に、学習処理を終了することができる。また、DNN190の検出精度が所定の閾値を超えた場合に、学習処理を終了してもよい。この検出精度は、例えば、予め用意された学習画像と教師画像のセットで構成されるテストセットに対する検出処理を行うことにより、判定することができる。
ステップS407で重み更新部124は、学習が行われた後のDNN190を学習済モデルとして保存する。例えば重み更新部124は、DNN190の各層の重み係数を保存することにより、学習済モデルを保存することができる。
一実施形態によれば、処理装置1000により、入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークが得られる。このニューラルネットワークは、入力画像が入力される入力層、処理が行われる中間層、及び検出結果(又はメインタスクの結果)を出力する出力層を有している。そして、このニューラルネットワークは、検出結果から生成可能である別の検出結果(又はサブタスクの結果)が中間層から得られるように学習されている。
処理装置1000は、例えば、学習が行われた後のDNN190に未知画像を入力することで、未知画像に対するメインタスクの推定結果を得ることができる。すなわち、一実施形態において、処理装置1000は、上記のように学習が行われたニューラルネットワークを有している。そして、処理装置1000は、入力画像をニューラルネットワークに入力することにより、入力画像の各位置に対する検出結果を示す推定マップを生成し、この推定マップを出力することができる。一方で、学習済モデルを取得した別個の処理装置が、同様に未知画像に対するメインタスクの推定結果を生成して出力してもよい。
なお、こうして得られた学習済モデルは、サブタスクの推定結果を出力してもよいし、出力しなくてもよい。また、学習済モデルがサブタスクの推定結果を出力するか否かを、学習済モデルを保存する際にユーザが選択可能であってもよい。重み更新部124は、このようなユーザに選択に従って、サブタスクの推定結果を出力するように、又は出力しないように、学習済モデルを構成することができる。
本実施形態の構成によれば、検出対象が存在する領域を検出するニューラルネットワークの学習において、検出を誤りやすい領域に対して重みづけを行いながら検出誤差が評価され、評価結果に基づいてニューラルネットワークの学習が行われる。すなわち、メインタスクで誤検出又は未検出が発生した領域におけるサブタスクの検出誤差が大きく評価される。このような損失評価に基づいてDNN190の学習を行うことにより、このような領域におけるサブタスクの検出誤差が優先的に抑制されるように、効率的な学習が行われる。そして、本実施形態におけるサブタスクは、メインタスクと同一のカテゴリに関する認識タスクである。したがって、サブタスクの推定精度を上げるようにニューラルネットワークの学習を行うことで、メインタスクの検出対象の特徴を抽出しやすいようにニューラルネットワークの学習を行うことができる。このように、本実施形態の構成によれば、メインタスクにおける誤検出又は未検出の発生が抑制されるように、効率よく学習を行うことができる。
なお、本実施形態ではメインタスクの誤差マップに基づいてサブタスクの損失の重み付けが行われたが、代わりにサブタスクの誤差マップに基づいてメインタスクの損失の重み付けを行ってもよい。誤差マップ作成部121は、サブタスクについてメインタスクと同様に誤差マップを作成することができる。この場合でも、メインタスクと同一のカテゴリに関する認識タスクであるサブタスクにおいて誤検出又は未検出が生じやすい領域について重点的に、メインタスクにおける検出誤差が抑制される。したがって、このような構成によっても、メインタスクの推定精度が上がるように効率よく学習を行うことができる。
さらには、メインタスクの誤差マップに基づいてメインタスクの損失の重み付けを行ってもよいし、サブタスクの誤差マップに基づいてサブタスクの損失の重み付けを行ってもよい。例えば重み付け部122は、学習画像の各位置に対応する、メインタスクの推定マップの画素ごとに、メインタスクの誤差マップに基づいてメインタスクの損失の重みを決定してもよい。また重み付け部122は、サブタスクの推定マップの画素ごとに、サブタスクの誤差マップに基づいてサブタスクの損失の重みを決定してもよい。このように決定された重みは、ステップS404において損失算出部123が同様に用いることができる。このような構成は、メインタスクの誤差マップに基づいてサブタスクの損失の重み付けを行う構成や、サブタスクの誤差マップに基づいてメインタスクの損失の重み付けを行う構成と、組み合わせて用いられてもよいし、これらの構成の代わりに用いられてもよい。このような構成においては、特に、学習画像に対応する複数の誤差分布が累積された、実施形態2で説明する誤差マップを用いることができる。この場合、学習の初期に検出された誤りが発生しやすい領域への重み付けを、その後の学習においても継続的に行えるため、効率的な学習を実現できる。とりわけ、メインタスクの誤差マップに基づいてメインタスクの損失の重みを決定する構成においては、ニューラルネットワークがサブタスクを行うことは必須ではない。
また、一実施形態においては、誤差マップを用いたタスクの損失の重み付けを省略してもよい。上述の通り、サブタスクはメインタスクと同一のカテゴリに関する認識タスクであるため、サブタスクの推定精度を上げるようにニューラルネットワークの学習を行うことで、メインタスクの推定精度も上げることができる。特に、サブタスクの結果が中間層から得られる構成においては、サブタスクに基づく学習を中間層から行うことができる。このため、ニューラルネットワークの浅い層における、メインタスクにおける推定のために有用な特徴を抽出するための学習を、効率よく行うことができる。また、サブタスクとしてメインタスクよりも容易なタスク(例えば検出により得られる情報量が少ないタスク)を用いる場合、学習が容易なためにニューラルネットワークの浅い層における学習がより効率に進行する。したがって、このような構成によっても、メインタスクの推定精度が上がるように効率よく学習を行うことができる。
[実施形態2]
図8は、実施形態2に係る処理装置8000の構成を示す。本実施形態は、誤差マップ作成部121が学習部120と独立している点で、実施形態1とは異なる。また、本実施形態に係る処理装置8000は、プレモデル810を備えている。その他の構成は、実施形態1と同様であり、以下では異なる点について説明する。
プレモデル810は、処理装置8000におけるメインタスクと同じ認識タスクを行うDNNである。プレモデル810は、未学習であり、各層の重み係数が初期状態であるDNN190であってもよいし、学習データ100を用いた学習処理が一定回数実行された後のDNN190であってもよい。
図9に示すフローチャートを参照して、実施形態2における処理の流れを説明する。ステップS901は、実施形態1のステップS401と同様に行われる。
ステップS902で誤差マップ作成部121は、メインタスクの誤差マップを作成する。本実施形態において誤差マップ作成部121は、学習画像を学習前のニューラルネットワークに入力して得られた第1の種類の検出結果と、第1の教師データと、の誤差に基づいて誤差マップを生成する。例えば、誤差マップ作成部121は、全ての学習画像のそれぞれについて、学習画像をプレモデル810に入力することにより、メインタスクの推定マップを生成する。そして、得られた推定マップと教師画像とを用いて、各学習画像に対応するメインタスクの誤差マップを作成する。このように、学習前のニューラルネットワークとして、プレモデル810を用いることができる。一方で、学習前のニューラルネットワークとして、学習中のニューラルネットワークを用いてもよい。誤差マップの作成は実施形態1におけるステップS402と同様に行うことができ、説明は省略する。
ステップS902の処理は、実施形態1とは異なり、DNN190の学習とは独立に行うことができる。実施形態1においては、DNN190の学習中に、特定の学習画像に対応する誤差マップは逐次更新されていた。一方、本実施形態においては、DNN190の学習中の少なくとも所定期間(例えば、後述するステップS902〜S907の1回のループ)において、特定の学習画像に対応する誤差マップの値は固定される。
ステップS903〜S905の処理は、実施形態1のステップS403〜S405と同様に行うことができる。なお、ステップS403において重み付け部122は、ステップS902で作成された誤差マップのうち、学習画像に対応する誤差マップを用いて、この学習画像の各位置についてのサブタスクの損失を重み付けする。そして、ステップS404〜S405において損失算出部123及び重み更新部124は、学習後のニューラルネットワークのさらなる学習を行うことができる。ここで、学習後のニューラルネットワークは、学習中である現在のニューラルネットワークであり、推定マップを生成するために用いられたプレモデル810のような学習前のニューラルネットワークと比較して、重み係数が更新されている。損失算出部123及び重み更新部124は、学習画像を学習後のニューラルネットワークに入力して得られた第1の種類の検出結果及び第2の種類の検出結果と、誤差マップと、を用いて学習を行うことができる。
ステップS906で重み更新部124は、所定の学習終了条件が満たされているかどうかを判定する。終了条件が満たされていない場合、処理はステップS903に戻り、その後ステップS903〜S905の処理が終了条件が満たされるまで繰り返される。ステップS902〜905の処理は新しい学習画像を用いて行われてもよいし、以前に用いられた学習画像を再度使用して行われてもよい。終了条件が満たされている場合、処理はステップS907に進む。終了条件は特に限定されず、ユーザが予め設定してもよい。例えば、ステップS903〜S905の処理ループが所定回数実行された場合に、学習処理を終了することができる。ステップS907において重み更新部124は、学習が行われた後のDNN190を学習済モデルとして保存する。
ステップS908で重み更新部124は、所定の処理終了条件が満たされているかどうかを判定する。終了条件が満たされていない場合、処理はステップS902に戻り、その後ステップS902〜S907の処理が終了条件が満たされるまで繰り返される。ステップS902〜907の処理は、以前に用いられた学習画像を再度使用して行ってもよいが、この場合、ステップS903以降ではステップS902で作成される新たな誤差マップを使用することができる。終了条件が満たされている場合、図9の処理は終了する。終了条件は特に限定されず、ユーザが予め設定してもよい。例えば、ステップS902〜S907の処理ループが所定回数実行された場合に、学習処理を終了することができる。また、DNN190の検出精度が所定の閾値を超えた場合に、学習処理を終了してもよい。
2回目以降のステップS902〜S907の処理ループにおけるステップS902で誤差マップ作成部121は、プレモデル810の代わりにステップS907で保存された学習済モデルを用いて、推定マップを生成することができる。このような処理によれば、最新の学習における誤差分布情報を反映したメインタスクの誤差マップを作成することができる。
一方で、ステップS902において誤差マップ作成部121は、学習画像を学習前のニューラルネットワークに入力して得られた第1の種類の検出結果と、第1の教師データと、の誤差を用いることができる。この場合、誤差マップ作成部121は、さらに学習画像を学習後のニューラルネットワークに入力して得られた第1の種類の検出結果と、第1の教師データと、の誤差に基づいて、さらなる学習に用いられる誤差マップを生成することができる。例えば、誤差マップ作成部121は、過去に作成された誤差マップを参照して、新たな誤差マップを生成してもよい。
具体例として、誤差マップ作成部121は、ステップS902〜S907の処理ループにおいて、誤差マップを新しく作成する代わりに、過去に作成した誤差マップを、最新の誤差分布情報が累積されるように更新してもよい。例えば、誤差マップ作成部121は、新たな誤検出又は未検出領域の画素値が1となり、その他の領域については画素値が維持されるように、前回以前のループで作成されたメインタスクの誤差マップを更新することができる。具体的な更新方法は特に限定されず、ユーザが定めることができる。例えば誤差マップ作成部121は、最新の5つの誤差マップの情報を累積することができる。具体例として誤差マップ作成部121は、最新の5つの推定マップのうち少なくとも1つで誤検出又は未検出が生じた領域を示す誤差マップを生成してもよい。また、誤差マップ作成部121は、プレモデル810を用いて作成された誤差マップを1回目のループでのみ用い、それ以降は学習済モデルを用いて作成された誤差マップを累積して、累積により得られた誤差マップを用いることができる。
実施形態1では、学習に用いる学習画像について誤差マップが作成され、誤りが発生しやすい領域における損失に重みづけがなされた。一方で実施形態2においては、学習を継続しながら誤りやすい領域への重みづけをより適切に行うことができる。より具体的には、学習の初期に検出された誤りが発生しやすい領域への重み付けを、その後の学習においても継続的に行うことで、誤検出又は未検出が抑制されるようにより効率的な学習を行うことができる。
[実施形態3]
実施形態1,2においては、メインタスクの誤差マップを利用して、誤りが発生しやすい領域における損失に重みづけすることで、このような領域における誤りを効率的に抑制するように学習が行われた。一方で、あるタスクにおける誤検出領域は、検出対象に類似した物体が存在する領域であることが多い。すなわち、未検出領域は検出対象が存在する領域であるし、過検出領域は検出対象に類似する物体が存在するために過検出が生じた可能性が高い。より詳細には、頭部領域を検出するタスクにおいては、タイヤ又はボールのような丸い物体や、手又は胴体のように頭部と同じ人体の一部である領域が、頭部領域と誤検出されやすい。また、未検出領域においては、検出対象が検出しづらい特定の状態で存在している可能性が高い。例えば、頭が後ろを向いている状態、及び頭部領域の一部が遮蔽されている状態では、頭部領域の未検出が生じやすい。このように、誤りが発生する場合には、被写体が特定の特性を有している可能性が高い。したがって、このような、検出対象に類似する物体や、被写体が有する特定の特性を判別しやすいように、ニューラルネットワークの学習を行うことにより、メインタスクについての検出精度も向上することが期待される。
実施形態3では、第2の種類の検出結果(又はサブタスクの結果)が、第1の種類の検出結果(又はメインタスクの結果)についての検出誤差を示すように、サブタスクが構成される。そして、損失算出部123は、第2の教師データ(又はサブタスクの教師データ)として、メインタスクの誤差マップを用いる。具体例としては、メインタスクにおいて誤りが発生しやすい領域を検出するタスクが、サブタスクとして用いられ、サブタスクの誤りが少なくなるようにニューラルネットワークの学習が行われる。このような構成によれば、検出対象に類似する物体や、被写体が有する特定の特性を、特徴として抽出しやすいようにニューラルネットワークの学習が行われる。したがって、メインタスクにおける誤検出又は未検出が抑制されるように効率的に学習を行うことができる。
実施形態3に係る処理装置は、重み付け部122を有さないことを除き、実施形態2に係る処理装置8000と同様である。また、実施形態3に係る処理は、図9と同様に行うことができる。以下では、実施形態2とは異なる構成及び処理について説明する。なお、重み付け部122を有さない、実施形態1に係る処理装置1000を、同様に用いることもできる。
本実施形態において、サブタスクとしては、メインタスクで誤りやすい領域の認識タスクが用いられる。また、サブタスクの教師画像としては、誤差マップ作成部121が作成した誤差マップを利用することができる。本実施形態では、プレモデル810(又は保存した学習済モデル)に対して学習画像を入力した際に、実際に誤った領域を検出するタスクをサブタスクとして用いることができる。この場合、学習画像をプレモデル810(又は保存した学習済モデル)に対して入力した際に得られる推定マップに基づいて、誤差マップ作成部121が作成した誤差マップを、教師画像として用いることができる。
図11は、本実施形態において設定されるDNN190の一例を示す。学習データとしては、学習画像1101と、予め用意されたメインタスクの教師画像1102と、誤差マップ作成部121が作成したメインタスクの誤差マップ1103と、が対応付けて記憶されている。本実施形態では、ある学習画像1101に対するメインタスクの教師データとして教師画像1102が、サブタスクの教師データとして誤差マップ1103が、それぞれ設定される。
以下、本実施形態における処理について図9を参照して説明する。ステップS901において設定部110は、上記の通りサブタスクを設定する。本実施形態の場合、サブタスクの教師画像は、ステップS902において誤差マップ作成部121が作成する。ステップS902の処理は、実施形態2と同様に行うことができる。
本実施形態においては、メインタスクの誤差マップが、サブタスクの損失の重み付けのために用いられるのではなく、サブタスクの教師画像として用いられるため、ステップS903は省略することができる。ステップS905〜S908の処理は、実施形態2と同様に行うことができる。
一方で、メインタスクの損失に対してメインタスクの誤差マップを用いて重み付けを行ってもよい。また、ステップS901において設定部110が、メインタスクの誤差分布を推定するサブタスクとは異なるさらなるサブタスクを設定してもよい。この場合、さらなるサブタスクの損失に対して、実施形態2と同様に、メインタスクの誤差マップを用いて重みづけを行ってもよい。この場合は、それぞれのタスクに対してステップS903に相当する処理が行われる。
本実施形態では、メインタスクの検出対象を検出するための学習と並行して、メインタスクの検出対象と類似している領域の学習が行われる。これらの学習を行うことで、メインタスクにおける誤検出又は未検出が抑制されるように、ニューラルネットワークの学習を行うことができる。
100:学習データ、110:設定部、120:学習部、121:誤差マップ作成部、122:重み付け部、123:損失算出部、124:重み更新部

Claims (16)

  1. 入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークの学習を行う学習装置であって、
    前記ニューラルネットワークは、前記入力画像が入力されると、前記入力画像の各位置に対する第1の種類の検出結果及び第2の種類の検出結果を出力し、
    前記学習装置は、
    学習のために前記ニューラルネットワークに入力する学習画像を取得する学習データ取得手段と、
    前記学習画像の各位置について前記第1の種類の検出結果における検出誤差を示す、誤差マップを取得する誤差マップ取得手段と、
    学習画像を前記ニューラルネットワークに入力して得られた前記第1の種類の検出結果及び前記第2の種類の検出結果と、前記誤差マップと、を用いて前記ニューラルネットワークの学習を行う、学習手段と、
    を備えることを特徴とする学習装置。
  2. 前記第2の種類の検出結果は、前記第1の種類の検出結果から生成可能であることを特徴とする、請求項1に記載の学習装置。
  3. 前記誤差マップは、前記第1の種類の検出結果における検出誤差により生じた未検出領域又は過検出領域の位置を示すことを特徴とする、請求項1又は2に記載の学習装置。
  4. 前記ニューラルネットワークは、前記入力画像が入力される入力層、処理が行われる中間層、前記第1の種類の検出結果を出力する第1の出力層、及び前記中間層から分岐して前記第2の種類の検出結果を出力する第2の出力層を備えることを特徴とする、請求項1から3のいずれか1項に記載の学習装置。
  5. 前記学習データ取得手段は、前記学習画像について予め用意された前記第1の種類の検出結果を示す第1の教師データをさらに取得し、
    前記誤差マップ取得手段は、前記学習画像を前記ニューラルネットワークに入力して得られた前記第1の種類の検出結果と、前記第1の教師データと、の誤差に基づいて前記誤差マップを生成する
    ことを特徴とする、請求項1から4のいずれか1項に記載の学習装置。
  6. 前記誤差マップ取得手段は、前記学習画像を学習前のニューラルネットワークに入力して得られた前記第1の種類の検出結果と、前記第1の教師データと、の誤差に基づいて前記誤差マップを生成し、
    前記学習手段は、前記学習画像を学習後のニューラルネットワークに入力して得られた前記第1の種類の検出結果及び前記第2の種類の検出結果と、前記誤差マップと、を用いて前記ニューラルネットワークのさらなる学習を行う
    ことを特徴とする、請求項5に記載の学習装置。
  7. 前記誤差マップ取得手段は、
    前記学習画像を学習前のニューラルネットワークに入力して得られた前記第1の種類の検出結果と、前記第1の教師データと、の誤差、及び、
    前記学習画像を学習後のニューラルネットワークに入力して得られた前記第1の種類の検出結果と、前記第1の教師データと、の誤差、
    に基づいて、さらなる学習に用いられる前記誤差マップを生成することを特徴とする、請求項5又は6に記載の学習装置。
  8. 前記学習データ取得手段は、前記学習画像について予め用意された、前記第1の種類の検出結果を示す第1の教師データ及び前記第2の種類の検出結果を示す第2の教師データを取得し、
    前記学習手段は、前記第1の種類の検出結果と前記第1の教師データとの誤差、及び前記第2の種類の検出結果と前記第2の教師データとの誤差、に基づいて前記ニューラルネットワークの学習を行う
    ことを特徴とする、請求項1から7のいずれか1項に記載の学習装置。
  9. 前記学習手段は、前記学習画像の各位置について、前記第1の種類の検出結果における検出誤差を用いて、前記第2の種類の検出結果と前記第2の教師データとの誤差を重み付けすることを特徴とする、請求項8に記載の学習装置。
  10. 前記第1の種類の検出結果及び前記第2の種類の検出結果は、同種の検出対象に対する異なる情報を示すことを特徴とする、請求項8又は9に記載の学習装置。
  11. 前記学習データ取得手段は、前記第1の教師データを用いて前記第2の教師データを生成することを特徴とする、請求項8から10のいずれか1項に記載の学習装置。
  12. 前記第2の種類の検出結果は、前記第1の種類の検出結果についての検出誤差を示し、
    前記学習手段は、前記第2の教師データとして前記誤差マップを用いる
    ことを特徴とする、請求項8に記載の学習装置。
  13. 入力画像の各位置に対する検出結果を推定マップとして出力する処理装置であって、
    請求項1から12のいずれか1項に記載の学習装置により学習が行われたニューラルネットワークを有し、入力画像を前記ニューラルネットワークに入力することにより前記推定マップを生成する生成手段を備えることを特徴とする処理装置。
  14. 入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークであって、前記入力画像が入力される入力層、処理が行われる中間層、及び前記検出結果を出力する出力層を有し、前記検出結果から生成可能である別の検出結果が前記中間層から得られるように学習されていることを特徴とする、ニューラルネットワーク。
  15. 入力画像の各位置に対する検出結果を推定マップとして出力するニューラルネットワークの学習を行う学習装置が行う学習方法であって、
    前記ニューラルネットワークは、前記入力画像が入力されると、前記入力画像の各位置に対する第1の種類の検出結果及び第2の種類の検出結果を出力し、
    前記学習方法は、
    学習のために前記ニューラルネットワークに入力する学習画像を取得する工程と、
    前記学習画像の各位置について前記第1の種類の検出結果における検出誤差を示す、誤差マップを取得す工程と、
    学習画像を前記ニューラルネットワークに入力して得られた前記第1の種類の検出結果及び前記第2の種類の検出結果と、前記誤差マップと、を用いて前記ニューラルネットワークの学習を行う工程と、
    を有することを特徴とする学習方法。
  16. コンピュータを、請求項1乃至12の何れか1項に記載の学習装置の各手段として機能させるためのプログラム。
JP2018226721A 2018-12-03 2018-12-03 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム Active JP7296715B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018226721A JP7296715B2 (ja) 2018-12-03 2018-12-03 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム
US16/693,025 US20200175377A1 (en) 2018-12-03 2019-11-22 Training apparatus, processing apparatus, neural network, training method, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018226721A JP7296715B2 (ja) 2018-12-03 2018-12-03 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020091543A true JP2020091543A (ja) 2020-06-11
JP7296715B2 JP7296715B2 (ja) 2023-06-23

Family

ID=70848692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018226721A Active JP7296715B2 (ja) 2018-12-03 2018-12-03 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム

Country Status (2)

Country Link
US (1) US20200175377A1 (ja)
JP (1) JP7296715B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159183A (zh) * 2021-04-23 2021-07-23 中国科学院合肥物质科学研究院 基于局部密集区域密度特征检测的微小害虫图像识别方法
JP2022024118A (ja) * 2020-12-24 2022-02-08 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 感知データ検出方法及び装置
WO2022209500A1 (ja) * 2021-03-30 2022-10-06 富士フイルム株式会社 機械学習モデル作成支援装置、機械学習モデル作成支援装置の作動方法、機械学習モデル作成支援装置の作動プログラム
WO2023084900A1 (ja) 2021-11-10 2023-05-19 富士フイルム株式会社 学習方法、学習装置、学習プログラム、及び画像処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11314609B2 (en) * 2019-10-24 2022-04-26 EMC IP Holding Company LLC Diagnosing and remediating errors using visual error signatures
CN112016603B (zh) * 2020-08-18 2021-04-30 上海松鼠课堂人工智能科技有限公司 基于图神经网络的错因分析方法
CN112668544B (zh) * 2021-01-13 2022-03-22 昆明理工大学 一种基于难样本混淆增强特征鲁棒性的行人重识别方法
CN113570592B (zh) * 2021-08-05 2022-09-20 印迹信息科技(北京)有限公司 肠胃病检测和模型训练方法、装置、设备及介质
CN113869246B (zh) * 2021-09-30 2022-04-01 安徽大学 基于改进CenterNet技术的小麦条锈病菌夏孢子显微图像检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10013613B2 (en) * 2016-03-23 2018-07-03 International Business Machines Corporation Identifying objects in an image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KUN NIE ET AL.: "Semantic Labeling based Vehicle Detection in Aerial Imagery", 2018 IEEE WINTER CONFERENCE ON APPLICATIONS OF COMPUTER VISION (WACV), JPN6022054148, 12 March 2018 (2018-03-12), pages 626 - 634, XP033337679, ISSN: 0004950813, DOI: 10.1109/WACV.2018.00074 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022024118A (ja) * 2020-12-24 2022-02-08 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 感知データ検出方法及び装置
US11869247B2 (en) 2020-12-24 2024-01-09 Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. Perception data detection method and apparatus
WO2022209500A1 (ja) * 2021-03-30 2022-10-06 富士フイルム株式会社 機械学習モデル作成支援装置、機械学習モデル作成支援装置の作動方法、機械学習モデル作成支援装置の作動プログラム
CN113159183A (zh) * 2021-04-23 2021-07-23 中国科学院合肥物质科学研究院 基于局部密集区域密度特征检测的微小害虫图像识别方法
CN113159183B (zh) * 2021-04-23 2022-08-30 中国科学院合肥物质科学研究院 基于局部密集区域密度特征检测的微小害虫图像识别方法
WO2023084900A1 (ja) 2021-11-10 2023-05-19 富士フイルム株式会社 学習方法、学習装置、学習プログラム、及び画像処理装置

Also Published As

Publication number Publication date
JP7296715B2 (ja) 2023-06-23
US20200175377A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
JP7296715B2 (ja) 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム
CN109145781B (zh) 用于处理图像的方法和装置
CN109376267B (zh) 用于生成模型的方法和装置
JP6954003B2 (ja) データベースのための畳み込みニューラルネットワークモデルの決定装置及び決定方法
KR20070117472A (ko) 정보처리장치 및 정보처리방법과 컴퓨터 프로그램
US20200372298A1 (en) Model reselection for accommodating unsatisfactory training data
CN111612756B (zh) 冠状动脉特异性钙化检测方法及装置
CN112668608B (zh) 一种图像识别方法、装置、电子设备及存储介质
JP7040634B2 (ja) 群集推定手法の統合及び自動切り替えのための方法、システム及びプログラム
TW201812339A (zh) 震央距離推定裝置、震央距離推定方法及電腦可讀取之記錄媒體
CN115082740B (zh) 目标检测模型训练方法、目标检测方法、装置、电子设备
JP6950504B2 (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
CN112686317A (zh) 神经网络训练方法、装置、电子设备及存储介质
CN110489602B (zh) 知识点能力值预估方法、系统、设备及介质
CN113743572A (zh) 一种基于Fuzz的人工神经网络测试方法
JP6241790B2 (ja) 生成モデル作成装置、推定装置、それらの方法およびプログラム
CN108665455B (zh) 图像显著性预测结果的评价方法和装置
CN111626098A (zh) 模型的参数值更新方法、装置、设备及介质
US20200034739A1 (en) Method and device for estimating user's physical condition
CN114067442B (zh) 洗手动作检测方法、模型训练方法、装置及电子设备
CN115937991A (zh) 人体摔倒识别方法、装置、计算机设备及存储介质
CN115862119A (zh) 基于注意力机制的人脸年龄估计方法及装置
KR102413588B1 (ko) 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램
JP6962450B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR20190033884A (ko) Sns의 사용자 정보를 이용한 딥러닝 기반의 관심지점 예측 방법

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230613

R151 Written notification of patent or utility model registration

Ref document number: 7296715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151