(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-23
(45)【発行日】2023-10-31
(54)【発明の名称】画像処理装置、画像処理方法及び画像処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231024BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2020101722
(22)【出願日】2020-06-11
【審査請求日】2022-08-24
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】佐々木 琢
(72)【発明者】
【氏名】三上 啓太
(72)【発明者】
【氏名】外山 将司
(72)【発明者】
【氏名】柴田 哲希
(72)【発明者】
【氏名】松本 鮎美
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2002-083306(JP,A)
【文献】特開2009-048234(JP,A)
【文献】高橋 一哉、外3名,“広域多地点画像監視技術の実用化へ向けての取り組み”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2006年01月12日,Vol.105, No.535,pp.67-74
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、
前記画像から、前記所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する取得部と、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する除去部と、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる処理部と、
を有
し、
前記処理部は、
画像の特徴量を抽出し、抽出した特徴量を基に前記画像に前記所望の被写体が撮像されているか否かを判定する、ニューラルネットワークで構成されたモデルの学習を実行する学習部、
を有し、
前記除去部は、処理対象の前記矩形画像に対し、短辺の長さが異なる前記矩形領域をそれぞれ除去した場合の各除去済画像に対する前記学習部の学習結果を基に、前記処理対象の矩形画像から除去する矩形領域の大きさを決定することを特徴とする画像処理装置。
【請求項2】
所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、
前記画像から、前記所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する取得部と、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する除去部と、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる処理部と、
を有し、
前記除去部は、前記矩形画像に対する骨格推定結果を基に、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を求め、該矩形領域を前記矩形画像から除去することを特徴とする画像処理装置。
【請求項3】
前記除去部は、長辺が、前記矩形画像の長辺と同じ長さであり、短辺が、前記矩形画像の短辺よりも短い長さである矩形領域を、前記矩形画像から除去することを特徴とする請求項1
または2に記載の画像処理装置。
【請求項4】
前記除去部は、前記矩形画像の短辺の両端側から、同じ長さの短辺を有する2つの矩形領域を除去する請求項
3に記載の画像処理装置。
【請求項5】
前記2つの矩形領域の短辺は、前記矩形画像の短辺の10%の長さであることを特徴とする請求項
4に記載の画像処理装置。
【請求項6】
所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、
前記画像から、前記所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する
取得工程と、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する
除去工程と、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる
処理工程と、
を含
み、
前記処理工程は、
画像の特徴量を抽出し、抽出した特徴量を基に前記画像に前記所望の被写体が撮像されているか否かを判定する、ニューラルネットワークで構成されたモデルの学習を実行する学習工程、
を含み、
前記除去工程は、処理対象の前記矩形画像に対し、短辺の長さが異なる前記矩形領域をそれぞれ除去した場合の各除去済画像に対する前記学習工程の学習結果を基に、前記処理対象の矩形画像から除去する矩形領域の大きさを決定することを特徴とする画像処理方法。
【請求項7】
所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、
前記画像から、前記所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する取得工程と、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する除去工程と、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる処理工程と、
を含み、
前記除去工程は、前記矩形画像に対する骨格推定結果を基に、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を求め、該矩形領域を前記矩形画像から除去することを特徴とする画像処理方法。
【請求項8】
画像から、所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する
取得ステップと、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する
除去ステップと、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる
処理ステップと、
をコンピュータに実行させ
、
前記処理ステップは、
画像の特徴量を抽出し、抽出した特徴量を基に前記画像に前記所望の被写体が撮像されているか否かを判定する、ニューラルネットワークで構成されたモデルの学習を実行する学習ステップ、
を含み、
前記除去ステップは、処理対象の前記矩形画像に対し、短辺の長さが異なる前記矩形領域をそれぞれ除去した場合の各除去済画像に対する前記学習ステップの学習結果を基に、前記処理対象の矩形画像から除去する矩形領域の大きさを決定するための画像処理プログラム。
【請求項9】
画像から、所望の被写体または前記所望の被写体の候補が撮像された領域を含む矩形画像を取得する取得ステップと、
前記矩形画像から、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する除去ステップと、
前記所望の被写体が前記画像に撮像されているかを判定するために前記除去済画像を用いる処理ステップと、
をコンピュータに実行させ、
前記除去ステップは、前記矩形画像に対する骨格推定結果を基に、前記所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を求め、該矩形領域を前記矩形画像から除去するための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
従来、画像解析において、推定対象の画像から、オブジェクト(例えば、人物)が写る部分を切り出し、切り出した部分の特徴量を抽出し、抽出した特徴量に基づき、切り出した部分の推論を行う技術がある(非特許文献1参照)。また、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行うことが提案されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Artsiom Ablavatski, Shijian Lu et al., “Enriched Deep Recurrent Visual Attention Model for Multiple Object Recognition”, arXiv:1706.03581v1,cs.CV,Jun 2017.
【発明の概要】
【発明が解決しようとする課題】
【0004】
モデルの学習において、公開データセットを学習用データとして用いることが多い。しかしながら、公開データセットの多数の画像を用いてモデルの学習を行っても、モデルが所望の画像解析精度を満たすことができない場合があった。
【0005】
本発明は、上記に鑑みてなされたものであって、画像解析の精度向上のために、推論のために用いられる適切な画像を提供することができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、画像から、所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を取得する取得部と、矩形画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する除去部と、所望の被写体が画像に撮像されているかを判定するために除去済画像を用いる処理部と、を有することを特徴とする。
【0007】
また、本発明の画像処理方法は、所望の被写体が撮像されているか否かの判定のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、画像から、所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を取得する工程と、矩形画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力する工程と、所望の被写体が画像に撮像されているかを判定するために除去済画像を用いる工程と、を含んだことを特徴とする。
【0008】
また、本発明の画像処理プログラムは、画像から、所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を取得するステップと、矩形画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として出力するステップと、所望の被写体が画像に撮像されているかを判定するために除去済画像を用いるステップと、をコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、画像解析の精度向上のために、推論のために用いられる適切な画像を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係る推論システムの構成の一例を示すブロック図である。
【
図2】
図2は、推論装置による推論処理の内容を説明する図である。
【
図3】
図3は、前処理装置の構成の一例を示すブロック図である。
【
図4】
図4は、除去部の処理内容を説明する図である。
【
図5】
図5は、除去部の処理内容を説明する図である。
【
図6】
図6は、除去部の処理内容を説明する図である。
【
図7】
図7は、学習装置の構成の一例を示すブロック図である。
【
図8】
図8は、推論装置の構成の一例を示すブロック図である。
【
図9】
図9は、学習処理の処理手順を示すフローチャートである。
【
図11】
図11は、推論処理の処理手順を示すフローチャートである。
【
図12】
図12は、
図9に示す画像処理の他の処理手順を示すフローチャートである。
【
図13】
図13は、
図9に示す画像処理の他の処理手順を示すフローチャートである。
【
図14】
図14は、実施の形態2の学習装置の概要を説明する図である。
【
図15】
図15は、実施の形態2の学習装置の構成例を示す図である。
【
図16】
図16は、実施の形態2における、サブオブジェクトの座標の自動付与の例を示す図である。
【
図17】
図17は、実施の形態2における、除去済画像の作成方法の例を示す図である。
【
図18】
図18は、実施の形態2のlocal branchがピックアップする領域の例を示す図である。
【
図19】
図19は、実施の形態2における推論装置の構成の一例を示すブロック図である。
【
図20】
図20は、実施の形態2の学習装置の処理手順の例を示す図である。
【
図21】
図21は、実施の形態2の推論装置の処理手順の例を示す図である。
【
図22】
図22は、実施の形態2の学習装置により学習されたディープニューラルネットワークによる分析結果の例を示す図である。
【
図23】
図23は、プログラムが実行されることにより、前処理装置、学習装置及び推論装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る画像処理装置、画像処理方法及び画像処理プログラムの実施の形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施の形態により限定されるものではない。
【0012】
[実施の形態1]
まず、実施の形態1について説明する。本実施の形態は、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行う推論システムに関する。モデルは、所望の被写体または所望の被写体の候補が撮像された画像における特徴量を抽出し、抽出した特徴量を用いて、画像内の被写体または被写体の候補が属する属性の推定や、被写体または被写体の候補と検出対象との照合を行うモデルである。
【0013】
[推論システムの構成]
まず、本実施の形態1における推論システムの構成について説明する。
図1は、実施の形態1における推論システムの構成の一例を示すブロック図である。
【0014】
図1に示すように、実施の形態1に係る推論システム1は、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行う推論装置30と、推論装置30のモデルの学習を実行する学習装置20とを有する。そして、推論システム1は、学習装置20及び推論装置30の前段に、学習対象或いは推定対象の画像を処理する前処理装置10(画像処理装置)を有する。なお、推論は、推定、判定及び解析であってもよい。また、本実施の形態1では、機械学習を用いて画像に撮像されている被写体の判定を行う例について説明するが、ルールベースの判定処理など、機械学習以外の方法を用いてもよい。
【0015】
図2は、推論装置30による推論処理の内容を説明する図である。推論装置30が用いるモデルは、推定対象の画像xの特徴量(特徴量ベクトル)を抽出する特徴抽出モジュールと、特徴抽出モジュールが抽出した特徴量を用いて、切出済画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う推論モジュールとを有する。
【0016】
具体的には、推論装置30では、モデルにおける特徴抽出モジュールが特徴量を抽出する特徴量抽出ステップを行う(
図2のステップS1)。続いて、モデルは、特徴抽出モジュールが抽出した特徴量を用いて、画像内のオブジェクトが属する属性を推定する属性推定ステップ(
図2のステップS2)またはオブジェクトと検出対象のオブジェクトとを照合する照合ステップ(
図2のステップS3)を行い、推論結果を出力する。属性は、人物の性別、年代の他、骨格や歩容も含む。また、属性は、人間のみに限らず、人間以外の動物の種別等であってもよく、また、車両、ロボット等の物体であってもよい。
【0017】
図2の例では、モデルは、入力された画像xの人物の属性を「男性」であると推定する。また、モデルは、入力された画像xの人物と検出対象の人物とを照合し、画像xの人物と検出対象の人物とは「他人」であると推論する。
【0018】
学習装置20は、学習用の画像データを用いてモデルの学習を行う。学習装置20は、画像の特徴量を抽出し、抽出した特徴量を基に画像に所望の被写体が撮像されているか否かを推論する、ディープニューラルネットワークで構成されたモデルの学習を実行する。
【0019】
そして、前処理装置10は、所望の被写体が撮像されているか否かの推論のために用いられる画像を処理する。前処理装置10は、学習装置20に、モデルの学習に使用する学習用の画像データ(学習用データ)を提供する。また、前処理装置10は、推論装置30に、推定対象となる推論用の画像データ(推論用データ)を提供する。前処理装置10は、学習に使用する画像または推定対象の画像に対して、所定の画像処理を実行し、画像処理後の画像を学習装置20または推論装置30に出力する。
【0020】
具体的には、前処理装置10は、処理対象の画像から所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を切り出し、切出した矩形画像を切出済画像として取得する。前処理装置10は、切出済画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去し、除去済画像として、学習装置20または推論装置30に出力する。
【0021】
前処理装置10は、公開されている画像データセットの画像を処理して、学習用データとして学習装置20に出力する。なお、画像データセットは、画像ごとに、オブジェクトの属性及びオブジェクトの識別情報を含むオブジェクト情報が付与されたものである。または、前処理装置10は、推定対象の画像を処理して、推論用データとして推論装置30に出力する。
【0022】
このように、本実施の形態1では、学習装置20または推論装置30の前段の前処理装置10において、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう切出済画像から除去する。これによって、本実施の形態1では、学習用データまたは推論用データの背景の混入割合を低減して、良質な特徴量の抽出を可能とし、推論精度の向上を実現できる。
【0023】
[画像処理装置]
次に、前処理装置10の構成について説明する。
図3は、前処理装置10の構成の一例を示すブロック図である。
図3に示すように、前処理装置10は、入出力部11、記憶部12及び制御部13を有する。
【0024】
入出力部11は、情報の入力を受け付け、また、情報の出力を行う。入出力部11は、例えば、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。入出力部11は、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置(例えば、学習装置20または推論装置30)と制御部13(後述)との間の通信を行う。また、入出力部11は、ユーザによる入力操作に対応して、前処理装置10に対する各種指示情報の入力を受け付ける、マウスやキーボード等のデバイス装置である。入出力部11は、例えば、液晶ディスプレイなどによって実現され、前処理装置10によって表示制御された画面が表示出力される。
【0025】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、前処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、画像データ121及び除去済画像122を有する。
【0026】
画像データ121は、例えば、公開された画像のデータセットである。または、画像データ121は、推定対象の画像データである。
【0027】
除去済画像122は、制御部13(後述)による画像処理によって、切出済画像(後述)から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域が、除去後の画像の形状が矩形になるよう、除去された画像である。
【0028】
制御部13は、前処理装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。制御部13は、取得部131及び除去部132を有する。
【0029】
取得部131は、画像から、所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を切り出して、切出済画像として取得する。
【0030】
除去部132は、取得部131が取得した切出済画像に対して、さらに画像処理を行う。具体的には、除去部132は、切出済画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去する。除去部132によって除去された画像を、除去済画像とする。例えば、除去部132は、長辺が、切出済画像の長辺と同じ長さであり、短辺が、切出済画像の短辺よりも短い長さである矩形領域を、切出済画像から除去する。除去部132は、切出済画像の短辺の両端側から、同じ長さの短辺を有する2つの矩形領域を除去する。
【0031】
[除去部]
次に、
図3に示す除去部132の処理について説明する。
図4~
図6は、除去部132の処理内容を説明する図である。
【0032】
例えば、
図4に示す切出済画像G1には、左右方向に手を伸ばした人物(被写体)が写る。この場合、領域R1,R2は、立っている人物の左右の手が写るのみであるため、被写体の頭部、胴部、足部が写る中央の領域よりも、被写体よりも背景が占める割合が多い。そこで、除去部132は、被写体よりも背景の割合が多い領域R1,R2を切出済画像G1より除去し、背景よりも被写体が大きく占める矩形の画像G1´を生成する。この画像G1´には、背景の混入割合が少なく、画像領域に人物の頭部、胴部、足部といった要部が占める割合が高い。
【0033】
実際の公開された画像のデータセットは、歩行する人を撮影した画像が多い。歩行する比とは、歩行する人は通常動作として手を振りながら歩くため、画像の左右方向では、人の手よりも背景の割合の方が多い。そして、画像の上下方向には、人の手などが飛び出ること等は少ないため、画像の上下方向には、そもそも背景が混入しにくい。
【0034】
また、
図5に示すように、人物の画像は縦長であることが一般的であるため、背景の短辺が左右または上下で同じであるとしても、矩形の長辺に応じて背景の面積が大きく異なる。具体的には、人物の画像が縦長であるため、左右の領域Rc,Rdは、上下の領域Ra,Rbと比して、背景が占める部分が大きく、抽出できる特徴量の質が劣化してしまう。このため、左右方向の背景の割合が多い矩形領域を除去することによって、背景の混入割合を大幅に少なくすることができ、左右方向の背景の割合が多い矩形領域を除去した除去済画像122からは、良質な特徴量が抽出できるものと考えられる。
【0035】
ここで、除去条件について説明する。実施の形態1では、切出済画像の短辺の両端側から同じ長さの短辺を有する2つの矩形領域を除去する。除去する2つの矩形領域は、同じ長さの短辺を有する矩形領域である。
【0036】
例えば、除去部132は、
図5に示す切出済画像G2に対しては、切出済画像G2の短辺の中央の領域を残すように、同じ長さの短辺aL,bL(0<a<0.5、0<b<0.5、a=b)を有する2つの矩形領域R21,R22を切出済画像G2の左右端からそれぞれ除去し、画像G2´を生成する。同様に、除去部132は、
図5に示す切出済画像G3,G4に対しては、切出済画像G3,G4の短辺の中央の領域を残すように、同じ長さの短辺を有する2つの矩形領域R31,R32,R41,R42を除去し、画像G3´,G4´を生成する。例えば、a,bの値は、0.1である。このa,bの値「0.1」は、後述する評価実験の結果より設定された値である。
【0037】
また、切出済画像の左右から除去する領域の割合を変えてもよい。具体的には、除去部132は、切出済画像G2から、短辺の一方の端部(
図5では左端)から、短辺aLの矩形領域R21を除去し、短辺の他方の端部(
図5では右端)から、短辺bL(a≠b)の矩形領域R22を除去する。
【0038】
[学習装置]
次に、学習装置20の構成について説明する。
図7は、学習装置20の構成の一例を示すブロック図である。
図7に示すように、学習装置20は、入出力部21、記憶部22及び制御部23を有する。
【0039】
入出力部21は、
図3に示す入出力部11と同様の機能を有し、情報の入出力や他の装置(例えば、前処理装置10及び推論装置30)との通信を行う。
【0040】
記憶部22は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、学習装置20を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部22は、前処理装置10が、学習用の切出済画像に対して、該切出済画像の両端の矩形領域の除去を行った除去済画像122を、学習用データ221として記憶する。この場合、除去済画像122は、前処理装置10によって、公開データセットの画像から、被写体の候補の割合よりも背景の割合が多い矩形領域が除去された画像である。各除去済画像には、オブジェクトの属性及びオブジェクトの識別情報を含むオブジェクト情報が付与される。また、記憶部22は、モデル222を有する。
【0041】
モデル222は、特徴抽出モジュールで画像の特徴量を抽出し、抽出した特徴量を基に画像に所望の被写体が撮像されているか否かを推論モジュールで推論するモデルである。モデル222は、ディープニューラルネットワークで構成される。モデル222は、抽出した特徴量を用いて、画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。モデル222の各種パラメータは、後述する学習部232による除去済画像122を用いた学習によって調整される。
【0042】
制御部23は、
図3に示す制御部13と同様の機能を有し、学習装置20全体を制御する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。制御部23は、学習部232を有する。
【0043】
学習部232は、特徴抽出モジュールにおいて除去済画像122から抽出された特徴量に基づく除去済画像の画像解析を学習する。
【0044】
このように、学習装置20は、前処理装置10によって、学習対象の画像から、予め被写体よりも背景の割合が多い矩形領域が除去された除去済画像122を用いて学習を行っている。除去済画像122は、背景の混入割合が少なく、画像領域に人物の頭部、胴部、足部といった要部が占める割合が高いため、学習装置20は、除去済画像122から良質な特徴量を抽出でき、モデルの推論精度を向上することができる。
【0045】
[推論装置]
次に、推論装置30の構成について説明する。
図8は、推論装置30の構成の一例を示すブロック図である。
図8に示すように、推論装置30は、入出力部31、記憶部32及び制御部33を有する。
【0046】
入出力部31は、
図3に示す入出力部11と同様の機能を有し、情報の入出力や他の装置(例えば、前処理装置10及び学習装置20)との通信を行う。
【0047】
記憶部32は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、推論装置30を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部32は、前処理装置10が、推定対象の画像に対して、該画像の両端の矩形領域の除去を行った除去済画像122を、処理用データ321として記憶する。また、記憶部22は、学習装置20による学習によってパラメータが最適化されたモデル322、及び、画像に写ったオブジェクトの分類結果或いは画像に写ったオブジェクトの属性の推定結果を示す推論結果323を有する。
【0048】
制御部33は、
図3に示す制御部13と同様の機能を有し、推論装置30全体を制御する。制御部33は、各種のプログラムが動作することにより各種の処理部として機能する。制御部33は、推論部331を有する。
【0049】
推論部331は、モデル322を用いて、特徴抽出モジュールにおける特徴量抽出処理と、特徴抽出モジュールが抽出した特徴量を用いて、推論用画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。
【0050】
このように、推論装置30は、前処理装置10によって、推定対象の画像から、予め被写体よりも背景の割合が多い矩形領域が除去された除去済画像122を用いて推論を行っている。除去済画像122は、背景の混入割合が少なく、画像領域に人物の頭部、胴部、足部といった要部が占める割合が高いため、推論装置30は、除去済画像122から良質な特徴量を抽出でき、精度の高い推論を実行することができる。
【0051】
[学習処理の処理手順]
次に、推論システム1におけるモデルに対する学習処理の処理手順について説明する。
図9は、学習処理の処理手順を示すフローチャートである。
【0052】
図9に示すように、前処理装置10は、学習用データとして、公開されたデータセットの画像から除去済画像122を生成する画像処理を行う(ステップS11)。学習装置20は、前処理装置10が生成した除去済画像122を用いて、モデル222の学習を行う学習処理を実行する(ステップS12)。学習装置20は、学習が終了したモデル222を推論装置30に出力する。
【0053】
[画像処理の処理手順]
次に、
図9に示す画像処理(ステップS11)の処理手順について説明する。
図10は、
図9に示す画像処理の処理手順を示すフローチャートである。
【0054】
図10に示すように、前処理装置10は、処理対象の画像を取得する(ステップS21)。この場合、前処理装置10は、公開されたデータセットの画像を取得する。そして、前処理装置10では、取得部131が、画像から、所望の被写体または所望の被写体の候補が撮像された領域を含む矩形画像を切り出して、切出済画像として取得する(ステップS22)。
【0055】
続いて、除去部132は、切出済画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去する。具体的には、除去部132は、切出済画像の左右端の領域であって、長辺が、切出済画像の長辺と同じ長さであり、短辺が、切出済画像の短辺よりも短い長さである2つの矩形領域を、切出済画像から除去する(ステップS23)。
【0056】
そして、処理対象の画像ある場合(ステップS24:Yes)、前処理装置10は、ステップS21に戻り、次の処理対象の画像に対する処理を継続する。これに対し、処理対象の画像がない場合(ステップS24:No)、前処理装置10は、除去済画像122を出力する(ステップS25)。この例では、前処理装置10は、除去済画像122を学習用データとして学習装置20に出力する。
【0057】
[推論処理の処理手順]
次に、推論システム1における推定対象の画像に対する推論処理の処理手順について説明する。
図11は、推論処理の処理手順を示すフローチャートである。
【0058】
図11に示すように、前処理装置10は、推論用データとして、推定対象の画像から除去済画像122を生成する画像処理を行う(ステップS31)。ステップS31の画像処理は、
図9の処理手順と同様の処理手順を行う。なお、ステップS31の画像処理は、処理対象が、推定対象の画像であり、処理後の除去済画像122を推論用データとして推論装置30に出力する。そして、推論装置30は、前処理装置10が生成した除去済画像122に対し、モデル322を用いて画像解析を行う推論処理を実行する(ステップS32)。
【0059】
[実施の形態の効果]
モデル222の学習用画像に、本実施の形態を適用した場合の推論精度と未適用の場合の推論精度を評価した。表1に、その評価結果を示す。Rank-1及びmAPは、いずれも0~100%の値を取り、値が高いほど照合精度が良好であることを示す。
【0060】
【0061】
表1の実験番号1~6では、除去処理対象の画像として、被写体に加え、エスカレータ背景のみの画像を使用する。また、表1のaは、切出済画像の短辺の長さLに対する、切出済画像の左端から除去する矩形画像の短辺の長さの割合を示す。表2のbは、切出済画像の短辺の長さLに対する、切出済画像の右端から除去する矩形画像の短辺の長さの割合を示す。なお、除去する矩形画像の長辺は、切出済画像の長辺と同じ長さである。表1の実験番号6は、a=b=0であるため、切出済画像からの矩形画像の除去を実行しなかった画像を学習用データとして用いた場合の照合精度を示す。また、表1の実験番号5は、a=b=0.1、すなわち、短辺が、0.1Lである2つの矩形画像を切出済画像の左右端から除去した除去済画像を学習データとして用いた場合の照合精度を示す。
【0062】
表1に示すように、実験番号1~6のうち、実験番号5の結果が、Rank-1及びmAPのいずれについても最も良好であった。
【0063】
本実施の形態1では、前処理装置10が、学習用データまたは推論用データとして、切出済画像から、所望の被写体または所望の被写体の候補の割合よりも背景の割合が多い矩形領域を、除去後の画像の形状が矩形になるよう除去する。そして、本実施の形態1では、予め被写体よりも背景の割合が多い矩形領域が除去された除去済画像122を用いて学習または推論を行っている。
【0064】
この除去済画像122は、背景の混入割合が少なく、画像領域に人物の頭部、胴部、足部といった要部が占める割合が高い。このため、学習装置20及び推論装置30は、除去済画像122から良質な特徴量を抽出でき、精度の高い推論を実行することができる。このように、本実施の形態1に係る前処理装置10は、画像解析の精度向上のために、推論のために用いられる適切な画像を提供することができる。
【0065】
[実施の形態1の変形例1]
また、前処理装置10は、処理対象の切出済画像に対し、短辺の長さが異なる矩形領域をそれぞれ除去した場合の各除去済画像に対する、学習装置20の学習部231の学習結果を基に、処理対象の切出済画像から除去する矩形領域の大きさを決定してもよい。
【0066】
例えば、除去部132は、表1の実験番号1~6の除去条件にしたがって、処理対象の切出済画像の左右端から2つの矩形画像を除去した6枚の除去済画像を生成する。そして、学習装置20は、それらの除去済画像のそれぞれについて画像解析の学習を行う。除去部132は、学習装置20の学習において正解に最も近い結果を出した除去済画像の除去条件を、切出済画像に対する除去条件として設定する。
【0067】
図12は、
図9に示す画像処理の他の処理手順を示すフローチャートである。
図12に示すステップS41,S42は、
図10に示すステップS21,S22と同じ処理である。除去部132は、除去条件(例えば、表1の実験番号1~6のいずれか一つの除去条件)を取得し(ステップS43)、除去条件にしたがって切出済画像の左右端から2つの矩形画像を除去する(ステップS44)。
【0068】
除去部132は、全除去条件で切出済画像を処理するまで、ステップS43,S44の処理を繰り返す。そして、全除去条件で切出済画像を処理した場合(ステップS45:Yes)、除去済画像を学習装置20に出力する(ステップS46)。そして、前処理装置10は、学習装置20による学習結果を取得し(ステップS47)、正解に最も近い結果を出した除去済画像の除去条件を、切出済画像に対する除去条件として設定する(ステップS48)。そして、前処理装置10は、処理対象の画像に対し、ステップS48において設定した除去条件にしたがって除去を行った除去済画像を学習装置20または推論装置30に出力する(ステップS49)。
【0069】
このように、前処理装置10は、異なる条件で除去を行った各除去済画像に対する、学習装置20の学習部231の学習結果を基に、処理対象の切出済画像から除去する矩形領域の大きさを動的に決定してもよい。
【0070】
[実施の形態1の変形例2]
また、前処理装置10は、骨格推定の結果を基に、処理対象の切出済画像から除去する矩形領域の大きさを動的に決定してもよい。具体的には、前処理装置10は、処理対象の切出済画像に対して、骨格推定を行い、手の位置を求める。そして、前処理装置10は、切出済画像の左右端から、手を含む矩形領域を除去する。
【0071】
図13は、
図9に示す画像処理の他の処理手順を示すフローチャートである。
図13に示すステップS51,S52は、
図10に示すステップS21,S22と同じ処理である。除去部132は、処理対象の切出済画像に対し、骨格推定処理を行う(ステップS53)。そして、除去部132は、骨格推定結果を基に、除去条件を設定し(ステップS54)、この除去条件にしたがって切出済画像の左右端から2つの矩形画像を除去する(ステップS55)。
図13に示すステップS56,S57は、
図10に示すステップS24,S25と同じ処理である。
【0072】
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2では、モデルとして、アテンションモデルを用いる場合について説明する。アテンションモデルとは、切出済画像から複数の領域をピックアップし、ピックアップした複数の領域ごとに特徴量を抽出し、抽出した各特徴量を統合して、画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行うモデルである。本実施の形態2では、前処理装置10が処理した除去済画像を用いて、モデルの学習またはモデルを用いた推論を行う。
【0073】
[概要]
まず、
図14を用いて、本実施の形態2の学習装置の概要を説明する。ここでの学習の対象は、画像解析を行うディープニューラルネットワークであるものとする。このディープニューラルネットワークは、解析対象の画像から、オブジェクトの映っている部分を切り出す切出モジュール(
図14において図示省略)と、切り出した部分の特徴量を抽出する特徴量抽出モジュールと、抽出した特徴量に基づき、切り出した部分の解析を行う解析モジュールとを備えるものとする。
【0074】
特徴量抽出モジュールは、画像から特徴量を抽出する複数のモジュールから構成される。このモジュールは、例えば、HA-CNN等で用いられるlocal branchである。以下、特徴量抽出モジュールを構成するモジュールはlocal branchである場合を例に説明する。この特徴量抽出モジュールは、global branchを含んでいてもよい。また、解析モジュールは、画像に映ったオブジェクトの分類を行う分類モジュールと、当該オブジェクトの属性を推定する属性推定モジュールとを備える場合を例に説明する。
【0075】
学習装置は、特徴量抽出モジュールのlocal branchそれぞれに、当該local branchが担当する(ピックアップすべき)サブオブジェクトを割り当てる。このサブオブジェクトは、オブジェクトを構成するオブジェクトである。
【0076】
例えば、オブジェクトが人物である場合、当該オブジェクトのサブオブジェクトは上半身や下半身等である。例えば、学習装置は、
図14の符号401に示すlocal branchが担当するサブオブジェクトとして人物の上半身を割り当て、符号402に示すlocal branchが担当するサブオブジェクトとして人物の下半身を割り当てる。
【0077】
その後、学習装置は、特徴量抽出モジュールのlocal branchそれぞれがピックアップすべき領域の学習を行う。例えば、学習装置は、画像の1枚1枚に対して各local branchがピックアップすべきサブオブジェクトが存在する領域(local branchがピックアップすべき領域)を示した情報を用いて、local branchそれぞれがピックアップすべきサブオブジェクトの領域の学習を行う。
【0078】
例えば、学習装置は、
図14の符号401に示すlocal branchが担当するサブオブジェクトの領域と、当該local branchがピックアップした領域との間に誤差があれば、学習装置は、誤差を低減するよう当該local branchのパラメータ値の調整を行う。また、符号402に示すlocal branchが担当するサブオブジェクトの領域と、当該local branchがピックアップした領域との間に誤差があれば、学習装置は、誤差を低減するよう当該local branchのパラメータ値の調整を行う。このような調整を繰り返すことにより、local branchそれぞれは、自身に割り当てられたサブオブジェクトの領域を正確にピックアップできるようになる。このような調整(学習)を、説明の便宜上、特徴量抽出モジュールの直接的な反省と呼ぶ。また、学習装置は、分析モジュールによる分析精度をより向上させるためには、local branchそれぞれがどの領域をピックアップすればよいのかの学習(間接的な反省)も行う。
【0079】
このように学習装置が、特徴量抽出モジュールの学習にあたり、上記の間接的な反省に加え、直接的な反省も行うことで、上記の間接的な反省のみで学習を行うよりも、学習に必要な画像数やエポック数を大幅に低減することができる。
【0080】
[学習装置]
次に、
図15を用いて、学習装置の構成例を説明する。学習装置220は、入出力部21と、記憶部22と、制御部223とを備える。
【0081】
記憶部22は、入出力部21経由で入力された除去済画像122を含む学習用データ221、制御部223による学習により得られたディープニューラルネットワークのモデル2222を記憶する。モデル2222は、例えば、上記のディープニューラルネットワークで用いられる各種モジュール(割当モジュール、特徴量抽出モジュール、分析モジュール)のパラメータ値等を示した情報である。このモデルの情報は、制御部223による学習処理により適宜更新される。
【0082】
上記の除去済画像は、例えば、画像ごとに、当該画像においてサブオブジェクトが存在する領域(つまり、local branchがピックアップすべき領域)の情報を付与したものである。このサブオブジェクトが存在する領域の情報(例えば、座標)は、手動で付与してもよいし、自動で付与してもよい。
【0083】
例えば、学習装置220が特徴量抽出モジュールにおいて、人物の上半身と下半身という2つのサブオブジェクトをピックアップすると定め、画像においてこれらのサブオブジェクトが存在する領域の情報(例えば、座標)を自動で付与する場合を考える。
【0084】
この場合、例えば、人物の全身が映った画像(
図16の符号601参照)と、上半身が映った画像(
図16の符号602参照)と、下半身が映った画像(
図16の符号603参照)とを予め用意しておく。
【0085】
そして、学習装置220は、これらの画像について、人物の全身が映った画像に対しては「画像の上半分が上半身で、画像の下半分が下半身」、上半身が映った画像に対しては「画像の全体が上半身で、下半身は存在せず」、下半身が映った画像に対しては「画像の全体が下半身で、上半身は存在せず」と判断する。その後、学習装置220は、上記の判断結果に基づき、各画像において上半身の存在する領域と下半身の存在する領域とを、例えば、矩形領域の四辺の座標で付与する。そして、学習装置220は、各サブオブジェクトの存在する領域の座標を付与した画像を、部分画像として記憶部12に格納する。なお、学習装置220は、上半身が映った画像と下半身が映った画像とを用意する際、
図17に示すように、全身の映った画像を上下2つに分割することにより用意してもよい。
【0086】
図15の説明に戻る。制御部223は、サブオブジェクト割当部2231と、学習部2232とを備える。
【0087】
サブオブジェクト割当部2231は、特徴量抽出モジュールを構成するlocal branchごとに、当該local branchが担当するサブオブジェクトを割り当てる。つまり、サブオブジェクト割当部2231は、local branchごとに、当該local branchが、オブジェクトを構成するサブオブジェクト群のうち、どのサブオブジェクトをピックアップし、特徴量を抽出するかを割り当てる。ここで特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数、種類は任意の数、種類でよい。
【0088】
例えば、ディープニューラルネットワークが扱うオブジェクトが人物である場合において、特徴量抽出モジュールがピックアップするサブオブジェクトの数を2個としたとき、サブオブジェクト割当部2231は、1本目のlocal branchに人物の上半身を割り当て、2本目のlocal branchに人物の下半身を割り当てる。また、同様に、特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数を2個とした場合、サブオブジェクト割当部2231は、1本目のlocal branchに人物の右半身を割り当て、2本目のlocal branchに人物の左半身を割り当ててもよい。
【0089】
さらに、特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数を3個とした場合、サブオブジェクト割当部2231は、例えば、1本目のlocal branchに人物の顔面を割り当て、2本目のlocal branchに人物の顔面を除く上半身を割り当て、3本目のlocal branchに人物の下半身を割り当てる。
【0090】
学習部2232は、サブオブジェクト割当部2231により各local branchに割り当てられたサブオブジェクトの領域について、前記した間接的反省(第2の学習)に加え、部分画像を用いた直接的反省(第1の学習)を行う。
【0091】
つまり、学習部2232は、画像ごとに当該画像におけるサブオブジェクトの領域を示す情報を用いて、local branchそれぞれが当該local branchに割り当てられたサブオブジェクトの領域を精度よくピックアップできるようlocal branchそれぞれの学習(第1の学習)を行い、また、local branchそれぞれによりピックアップされたサブオブジェクトの特徴量を用いた画像分析の結果を用いて、当該画像分析の分析精度をより向上させるようlocal branchそれぞれの学習(第2の学習)を行う。
【0092】
なお、学習部2232が、各local branchの直接的反省(第1の学習)を行う場合の損失関数は、例えば、以下のようなものが考えられる。
【0093】
例えば、各local branchがピックアップする領域の形状が矩形であり、i本目のlocal branchが実際にピックアップした矩形領域の座標が(x
0,x
1,y
0,y
1)であり(
図18参照)、i本目のlocal branchがピックアップすべき矩形領域の座標が以下のように与えられた場合を考える。
【0094】
【0095】
この場合、学習部2232は、i本目のlocal branchに直接伝播する損失関数として、例えば以下の式(1)を用いる。
【0096】
【0097】
学習部2232は、直接的反省および間接的反省により得られた特徴量抽出モジュールのパラメータ値を用いて、記憶部12内のモデルを更新する。
【0098】
[推論装置]
次に、実施の形態2における推論装置の構成について説明する。
図19は、実施の形態2における推論装置の構成の一例を示すブロック図である。推論装置320は、入出力部31と、記憶部32と、制御部233とを備える。
【0099】
記憶部32は、処理用データ321、学習装置220による学習によってパラメータが最適化されたアテンションモデルであるモデル2322(アテンションモデル)、及び、画像に写ったオブジェクトの分類結果或いは画像に写ったオブジェクトの属性の推定結果を示す推論結果2323を有する。
【0100】
制御部233は、
図8に示す制御部33と同様の機能を有し、推論装置230全体を制御する。制御部233は、各種のプログラムが動作することにより各種の処理部として機能する。制御部233は、サブオブジェクト割当部2331及び推論部2332を有する。
【0101】
サブオブジェクト割当部2331は、処理用データ321である除去済画像122から、モデル2322の各モジュールに、対応する領域を割り当てる。ピックアップする領域、及び、ピックアップした領域の各モジュールへの割り当ては、学習装置220における学習によってそれぞれ最適化されている。
【0102】
推論部2332は、モデル2322を用いて、各モジュールにおける領域ごとの特徴量を抽出し、各モジュールが抽出した特徴量を用いて、除去済画像122内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。
【0103】
[学習処理の処理手順]
図20を用いて、上記の学習装置220の処理手順の例を説明する。まず、学習装置220のサブオブジェクト割当部2231は、学習対象のディープニューラルネットワークの特徴量抽出モジュールにおける各local branchへのサブオブジェクトの割り当てを行う(ステップS201)。その後、学習部2232は、上記の特徴量抽出モジュールの各local branchの学習を行う(ステップS202)。すなわち、学習部2232は、分析モジュールから逆伝搬されてきた誤差を用いた各local branchの間接的反省に加え、記憶部22の除去済画像を用いた各local branchの直接的反省を行う。
【0104】
[推論処理の処理手順]
次に、
図21を用いて、上記の推論装置320の処理手順の例を説明する。まず、サブオブジェクト割当部2331は、処理用データ321である除去済画像122から、モデル2322の各モジュールに対応する領域に割り当てる(ステップS211)。ピックアップする領域、及び、ピックアップした領域の各モジュールへの割り当ては、学習装置220における学習によってそれぞれ最適化されている。
【0105】
推論部2332は、推論処理として、モデル2322を用いて、各モジュールにおける領域ごとの特徴量を抽出し、各モジュールが抽出した特徴量を用いて、除去済画像122内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う(ステップS212)
【0106】
[実施の形態2の効果]
上記の学習装置220は、特徴量抽出モジュールのlocal branchそれぞれがピックアップすべき領域を所与のものとし、さらにその誤差を損失関数として計上して、直接的な反省も行う。これにより、特徴量抽出モジュールのlocal branchそれぞれは、オブジェクトの映り方が不完全な画像に対しても、当該オブジェクトの狙った部位(サブオブジェクト)を正確にピックアップすることができる。その結果、特徴量抽出モジュールは各サブオブジェクトの特徴量を精度よく抽出できるので、解析モジュールが当該オブジェクトの分析(例えば、分類、属性推定、照合等)を行う際の精度を向上させることができる。
【0107】
例えば、監視カメラで撮影された映像に対し、映像に映った人物の自動推論を行うディープニューラルネットワークの学習に、本実施の形態2の学習装置220による学習を適用すれば、「迷子になった赤い服を着た5歳の女の子を探したい」、または、「この写真の犯人を捜したい」という要求があった場合に、従来は目視で扱うしかなかった「身体の一部しか映っていない画像」に対しても自動推論を行うことができる。
【0108】
監視カメラで撮影された映像に対し、人物自動推論を行うディープニューラルネットワークの学習に、本実施の形態2の学習装置220による学習を適用した場合と、従来技術(HA-CNN)による学習を適用した場合との比較結果を
図22に示す。
【0109】
ここでは、それぞれのディープニューラルネットワークに対し、画像の中から、「ボーダーのズボンの人物」(
図22の左側の「この人物を探せ」に示す画像の人物)に似ている上位5枚の画像を探すよう指示した。
【0110】
この場合、比較例である従来技術(HA-CNN)により学習したディープニューラルネットワークは、本来「ボーダーのズボンの人物」を探すべきところ、上記の上位5枚の画像の中には「ボーダーのTシャツの人物」や「ボーダーのワンピースの人物」が含まれている。これは、比較元の画像(
図22の「この人物を探せ」に示す画像)に、人物の下半身しか映っておらず、ディープニューラルネットワークにおいて画像上の領域と部位の紐づけに失敗したためと考えられる。
【0111】
一方で、本実施の形態2の学習装置220により学習したディープニューラルネットワークは、画像の中から探した上記の上位5枚の画像の中に「ボーダーのズボンの人物」のみが含まれており、「ボーダーのTシャツの人物」や「ボーダーのワンピースの人物」が含まれていない。このことから本実施の形態2の学習装置220により学習したディープニューラルネットワークは、不完全な画像であっても精度よく検索できることが示された。
【0112】
つまり、従来技術では、ディープニューラルネットワークの特徴量抽出モジュールにおいて各local branchがどのサブオブジェクトを担当すべきかを事前に決めていなかった。そのため、各local branchがどのサブオブジェクトを担当すべきかは、後続の分析モジュールからの間接的な反省に頼らざるを得なかった。その結果、各local branchが、不完全な画像でも精度よく特徴量を抽出できるよう学習を積むためは、学習用データを多数用意したり、長時間の学習時間を用意したりする必要があった。
【0113】
一方、本実施の形態2の学習装置220は、特徴量抽出モジュールにおける各local branchがどのサブオブジェクトを担当すべきかを事前に決めておく。これにより、学習装置220は、前記した各local branchの間接的な反省に加え、直接的な反省も行えるようになる。その結果、現実的に確保できる量の学習用データや学習時間により、特徴量抽出モジュールの各local branchが、不完全な画像でも精度よく特徴量を抽出できるよう学習することができる。
【0114】
[実施の形態のシステム構成について]
上記で示した前処理装置10、学習装置20,220及び推論装置30,230の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、前処理装置10、学習装置20,220及び推論装置30,230の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0115】
また、前処理装置10、学習装置20,220及び推論装置30,230においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより推論実行されるプログラムにて実現されてもよい。また、前処理装置10、学習装置20,220及び推論装置30,230においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0116】
また、実施の形態1において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0117】
[プログラム]
図23は、プログラムが実行されることにより、前処理装置10、学習装置20,220及び推論装置30,230が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0118】
メモリ1010は、ROM1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0119】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、前処理装置10、学習装置20,220及び推論装置30,230の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、前処理装置10、学習装置20,220及び推論装置30,230における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0120】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0121】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0122】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例および運用技術等はすべて本発明の範疇に含まれる。
【符号の説明】
【0123】
1 推論システム
10 画像処理装置
11,21,31 入出力部
12,22,32 記憶部
13,23,33,223,233 制御部
20,220 学習装置
30,230 推論装置
121 画像データ
122 除去済画像
131 取得部
132 除去部
222,322,2222,2322 モデル
231,2232 学習部
321 処理用データ
323,2323 推論結果
331,2332 推論部
2231,2331 サブオブジェクト割当部