(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】画像処理装置、画像処理方法及び画像処理プログラム
(51)【国際特許分類】
G06T 1/00 20060101AFI20240501BHJP
H04N 7/18 20060101ALI20240501BHJP
【FI】
G06T1/00 340B
H04N7/18 K
(21)【出願番号】P 2020101721
(22)【出願日】2020-06-11
【審査請求日】2022-08-24
【前置審査】
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】佐々木 琢
(72)【発明者】
【氏名】三上 啓太
(72)【発明者】
【氏名】外山 将司
(72)【発明者】
【氏名】柴田 哲希
(72)【発明者】
【氏名】松本 鮎美
【審査官】佐田 宏史
(56)【参考文献】
【文献】国際公開第2018/096661(WO,A1)
【文献】特開2013-242825(JP,A)
【文献】国際公開第2019/147413(WO,A1)
【文献】特開2018-169690(JP,A)
【文献】特開2014-178957(JP,A)
【文献】特開2020-009203(JP,A)
【文献】特開2010-108138(JP,A)
【文献】国際公開第2014/207991(WO,A1)
【文献】赤松 茂、外3名,“KL展開によるパタン記述法の顔面像識別への応用の評価”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1991年03月20日,Vol.90, No.491,pp.55-62
【文献】増沢広朗、外2名,“大葉収穫支援ロボットのための深層学習を用いた画像認識”,ロボティクスメカトロニクス講演会2018講演会論文集,日本,一般社団法人日本機械学会,2018年06月01日,pp.1-4
【文献】渡邊 葵、櫻井 彰人,“畳み込みニューラルネットワークを用いた花画像の分類”,第78回(平成28年)全国大会講演論文集(2),日本,一般社団法人情報処理学会,2016年03月10日,pp.197-198
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
H04N 1/387,7/18
(57)【特許請求の範囲】
【請求項1】
監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられる画像を処理する画像処理装置であって、
骨格推定及び/または所定の背景が写る領域をピックアップする方式を用いることにより、画像データから、前記監視カメラで撮影されている背景、または、前記監視カメラで撮影されている背景と同種の背景を有する画像であって、直立状態の被写体が撮影された画像を抽出する抽出部と、
前記抽出部によって抽出された画像の枚数が目的の枚数に達しない場合に、前記解析のために用いられるモデルの学習に使用される画像の背景及び/または被写体を変換する変換部
と、
を有し、
前記変換部は、前記画像の背景を変換する場合、前記画像の背景を、
前記抽出部によって抽出された画像の背景、または、前記
抽出部によって抽出された画像の背景と同種の背景に変換し、前記画像の被写体を変換する場合、
前記被写体の姿勢を直立状態に変換するとともに、前記被写体の性質を、前記監視カメラで撮影される領域において前記被写体が有しやすい性質に変換する
ことを特徴とする画像処理装置。
【請求項2】
前記被写体の性質は、外観的性質であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記外観的性質は
、服装、表情、髪型、または、所持品であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられる画像を処理する画像処理装置画像処理装置が実行する画像処理方法であって、
骨格推定及び/または所定の背景が写る領域をピックアップする方式を用いることにより、画像データから、前記監視カメラで撮影されている背景、または、前記監視カメラで撮影されている背景と同種の背景を有する画像であって、直立状態の被写体が撮影された画像を抽出する抽出工程と、
前記抽出工程によって抽出された画像の枚数が目的の枚数に達しない場合に、前記解析のために用いられるモデルの学習に使用される画像の背景及び/または被写体を変換する変換工程
と、
を含み、
前記変換工程は、前記画像の背景を変換する場合、前記画像の背景を、
前記抽出工程によって抽出された画像の背景、または、前記
抽出工程によって抽出された画像の背景と同種の背景に変換し、前記画像の被写体を変換する場合、
前記被写体の姿勢を直立状態に変換するとともに、前記被写体の性質を、前記監視カメラで撮影される領域において前記被写体が有しやすい性質に変換する
ことを特徴とする画像処理方法。
【請求項5】
骨格推定及び/または所定の背景が写る領域をピックアップする方式を用いることにより、画像データから、監視カメラに撮影された画像の背景と同種の背景画像を有する画像であって、直立状態の被写体が撮影された画像を抽出する抽出ステップと、
前記抽出ステップによって抽出された画像の枚数が目的の枚数に達しない場合に、監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられるモデルの学習に使用される画像の背景及び/または被写体を変換する変換ステップと、
をコンピュータに実行させ
前記変換ステップは、前記画像の背景を変換する場合、前記画像の背景を、
前記抽出ステップによって抽出された画像の背景、または、前記
抽出ステップによって抽出された画像の背景と同種の背景に変換し、前記画像の被写体を変換する場合、
前記被写体の姿勢を直立状態に変換するとともに、前記被写体の性質を、前記監視カメラで撮影される領域において前記被写体が有しやすい性質に変換する画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
従来、画像解析において、解析対象の画像から、オブジェクト(例えば、人物)が写る部分を切り出し、切り出した部分(切出済画像)の特徴量を抽出し、抽出した特徴量に基づき、切り出した部分の解析を行う技術がある。また、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行うことが提案されている。このモデルの学習において、多数の画像を含む公開データセットを学習用データとして用いることが多い(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】比戸将平, 馬場雪乃他,“データサイエンティスト養成読本 機械学習入門編”, 技術評論社, 2015年9月, 15頁
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、公開データセットの多数の画像を用いてモデルの学習を行っても、モデルが所望の画像解析精度を満たすことができない場合があった。
【0005】
本発明は、上記に鑑みてなされたものであって、画像解析の精度向上のために、解析のために用いられる適切な画像を提供することができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられる画像を処理する画像処理装置であって、解析のために用いられる画像の背景及び/または被写体を変換する変換部を有し、変換部は、画像の背景を変換する場合、画像の背景を、監視カメラで撮影されている背景、または、監視カメラで撮影されている背景と同種の背景に変換し、画像の被写体を変換する場合、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換することを特徴とする。
【0007】
また、本発明の画像処理方法は、監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられる画像を処理する画像処理装置が実行する画像処理方法であって、解析のために用いられる画像の背景及び/または被写体を変換する変換工程を含み、変換工程は、画像の背景を変換する場合、画像の背景を、監視カメラで撮影されている背景、または、監視カメラで撮影されている背景と同種の背景に変換し、画像の被写体を変換する場合、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換することを特徴とする。
【0008】
また、本発明の画像処理プログラムは、監視カメラに撮影された画像に所望の被写体が撮像されているか否かの解析のために用いられる画像の背景及び/または被写体を変換する変換ステップをコンピュータに実行させ変換ステップは、画像の背景を変換する場合、画像の背景を、監視カメラで撮影されている背景、または、監視カメラで撮影されている背景と同種の背景に変換し、画像の被写体を変換する場合、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換する。
【発明の効果】
【0009】
本発明によれば、画像解析の精度向上のために、解析のために用いられる適切な画像を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係る解析システムの構成の一例を示すブロック図である。
【
図2】
図2は、解析装置による解析処理の内容を説明する図である。
【
図3】
図3は、画像処理装置の構成の一例を示すブロック図である。
【
図4】
図4は、変換部の処理内容を説明する図である。
【
図5】
図5は、変換部の処理内容を説明する図である。
【
図6】
図6は、学習装置の構成の一例を示すブロック図である。
【
図7】
図7は、解析装置の構成の一例を示すブロック図である。
【
図8】
図8は、実施の形態1に係る画像処理の処理手順を示すフローチャートである。
【
図9】
図9は、実施の形態2の学習装置の概要を説明する図である。
【
図10】
図10は、実施の形態2の学習装置の構成例を示す図である。
【
図11】
図11は、実施の形態2における、サブオブジェクトの座標の自動付与の例を示す図である。
【
図12】
図12は、実施の形態2における、除去済画像の作成方法の例を示す図である。
【
図13】
図13は、実施の形態2のlocal branchがピックアップする領域の例を示す図である。
【
図14】
図14は、実施の形態2における解析装置の構成の一例を示すブロック図である。
【
図15】
図15は、実施の形態2の学習装置の処理手順の例を示す図である。
【
図16】
図16は、実施の形態2の解析装置の処理手順の例を示す図である。
【
図17】
図17は、実施の形態2の学習装置により学習されたディープニューラルネットワークによる分析結果の例を示す図である。
【
図18】
図18は、プログラムが実行されることにより、画像処理装置、学習装置及び解析装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る画像処理装置、画像処理方法及び画像処理プログラムの実施の形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施の形態により限定されるものではない。
【0012】
[実施の形態1]
まず、実施の形態1について説明する。本実施の形態は、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行う解析システムに関する。モデルは、所望の被写体または所望の被写体の候補が撮像された画像における特徴量を抽出し、抽出した特徴量を用いて、画像内の被写体または被写体の候補が属する属性の推定や、被写体または被写体の候補と検出対象との照合を行うモデルである。また、本実施の形態1において、解析対象となる画像は、監視カメラに撮影された画像である。
【0013】
[解析システムの構成]
まず、本実施の形態1における解析システムの構成について説明する。
図1は、実施の形態1における解析システムの構成の一例を示すブロック図である。
【0014】
図1に示すように、実施の形態1に係る解析システム1は、ディープニューラルネットワークによって構成されるモデルを用いて画像解析を行う解析装置30と、解析装置30のモデルの学習を実行する学習装置20とを有する。そして、解析システム1は、学習装置20の前段に、学習対象の画像を処理する画像処理装置10を有する。
【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に、モデルの学習に使用する学習用の画像データ(学習用データ)を提供する。画像処理装置は、学習に使用する画像に対して、所定の画像処理を実行し、画像処理後の画像を学習装置20に出力する。なお、画像処理装置10は、解析装置30に、解析対象となる解析用の画像データ(解析用画像)を提供してもよい。
【0020】
具体的には、画像処理装置10は、学習装置20がモデルの学習に使用する学習用の画像を生成する。画像処理装置10は、公開されている画像データセットの切出済画像を取得し、これらの切出済画像から、所望の属性を有する画像を抽出する。例えば、画像処理装置10は、解析対象の画像を撮像する監視カメラで撮像されている画像の背景、或いは、監視カメラで撮影されている背景と同種の背景を有する画像を抽出する。また、例えば、画像処理装置10は、解析対象の画像を撮像する監視カメラで撮影される領域において被写体が有しやすい性質を有した被写体を含む画像を抽出する。なお、画像データセットは、画像ごとに、オブジェクトの属性及びオブジェクトの識別情報を含むオブジェクト情報が付与されたものである。
【0021】
そして、画像処理装置10は、抽出した画像の枚数が目的の枚数に達しない場合、公開されている画像データセットの切出済画像のうち、所望の属性以外の画像の背景または被写体の性質を変換することで所望の属性を有する画像を生成する。なお、目的の枚数は、例えば、解析を行うモデルの解析精度等に対応して設定される。
【0022】
具体的に、画像処理装置10は、画像の背景を変換する場合、画像の背景を、監視カメラで撮影されている背景、または、監視カメラで撮影されている背景と同種の背景に変換する。画像処理装置10は、画像の被写体を変換する場合、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換する。画像処理装置10は、抽出または変換した画像であって、所望の属性を有する画像を、学習用データとして、学習装置20または解析装置30に出力する。
【0023】
このように、本実施の形態1では、学習装置20の前段の画像処理装置10において、画像データセットの切出済画像から、所望の背景、または、所望の性質を有する被写体を含む画像を、抽出または生成する。このため、本実施の形態1では、学習用データの各画像の背景または被写体の性質を統一して、機械学習時に推定させる要素を減らし、本来推定すべき被写体を適切に学習させて、解析精度の向上を図る。
【0024】
[画像処理装置]
次に、画像処理装置10の構成について説明する。
図3は、画像処理装置10の構成の一例を示すブロック図である。
図3に示すように、画像処理装置10は、入出力部11、記憶部12及び制御部13を有する。
【0025】
入出力部11は、情報の入力を受け付け、また、情報の出力を行う。入出力部11は、例えば、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。入出力部11は、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置(例えば、学習装置20または解析装置30)と制御部13(後述)との間の通信を行う。また、入出力部11は、ユーザによる入力操作に対応して、画像処理装置10に対する各種指示情報の入力を受け付ける、マウスやキーボード等のデバイス装置である。入出力部11は、例えば、液晶ディスプレイなどによって実現され、画像処理装置10によって表示制御された画面が表示出力される。
【0026】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、画像処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、画像データ121、変換用データ122、抽出画像123及び変換済画像124を有する。
【0027】
画像データ121は、例えば、公開された画像のデータセットである。画像データ121は、複数の画像のデータセットであってもよい。
【0028】
変換用データ122は、変換部132(後述)による変換処理において、画像の背景を、所望の背景または所望の背景と同種の背景に変換する際に要するデータであり、所望の背景または所望の背景と同種の背景が写る画像データ等である。そして、変換用データ122は、変換部132における変換処理において、画像の被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換する際に要するデータであり、監視カメラで撮影される領域において被写体が有しやすい性質を有した被写体が写る画像データ等である。
【0029】
抽出画像123は、抽出部131(後述)による抽出処理によって、画像データ121から抽出された画像である。抽出画像123は、所望の属性を有する画像である。例えば、抽出画像123は、監視カメラで撮像されている画像の背景、或いは、監視カメラで撮影されている背景と同種の背景を有する画像である。または、抽出画像123は、監視カメラで撮影される領域において被写体が有しやすい性質を有した被写体を含む画像である。
【0030】
変換済画像124は、変換部132による変換によって生成された画像である。変換済画像は、背景が、監視カメラで撮像されている画像の背景、或いは、監視カメラで撮影されている背景と同種の背景に変換された画像である。または、変換済画像124は、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換された画像である。
【0031】
制御部13は、画像処理装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。制御部13は、抽出部131及び変換部132を有する。
【0032】
抽出部131は、画像データ121から、所望の属性を有する画像を抽出する。抽出部131は、画像処理装置10は、解析対象の画像を撮像する監視カメラで撮像されている画像の背景、或いは、監視カメラで撮影されている背景と同種の背景を有する画像を抽出画像123として抽出する。
【0033】
例えば、画像の背景は、エスカレータ、エレベータ等である。監視カメラがエスカレータまたはエレベータを撮影する場合、被写体の姿勢は、ほとんどの場合、直立状態である。監視カメラが撮像される領域がエスカレータまたはエレベータである場合、抽出部131は、骨格推定や、所定の背景が写る領域をピックアップするアテンション方式などを用いて、背景がエスカレータまたはエレベータであるとともに、直立状態の被写体が撮像された画像を抽出する。
【0034】
そして、被写体の性質は、被写体の外観的性質であり、具体的には、姿勢、服装、表情、髪型、または、所持品である。抽出部131は、画像処理装置10は、解析対象の画像を撮像する監視カメラで撮影される領域において被写体が有しやすい性質を有した被写体を含む画像を抽出する。例えば、監視カメラが式場に設置されている場合、被写体の服装は礼装である。監視カメラが撮像される領域が式場である場合、抽出部131は、礼服を着た被写体が撮像された画像を抽出する。
【0035】
変換部132は、解析のために用いられる画像の背景及び/または被写体を変換する。変換部132は、抽出部131が抽出した抽出画像123の枚数が目的の枚数に達しない場合、画像の背景及び/または被写体を変換した変換済画像124を生成する。
【0036】
変換部132は、画像の背景を変換する場合、画像の背景を、監視カメラで撮影されている背景、または、監視カメラで撮影されている背景と同種の背景に変換する。
図4は、変換部132の処理を説明する図である。
【0037】
例えば、監視カメラがエスカレータを撮影する場合、画像の背景は、エスカレータとなる。そして、この場合、被写体の姿勢は、直立状態である。そこで、
図4に示すように、変換部132は、背景がエスカレータでないが直立状態の被写体H1が写る画像G1を画像データ121から取得する。そして、変換部132は、この画像G1の背景を、エスカレータB1が写る背景に変換した画像G1´を生成する。なお、変換部132は、監視カメラが撮像するエスカレートと同一のエスカレータが写る背景が変換データ中にない場合には、類似するエスカレータの背景を用いて背景の変換を行なってもよい。
【0038】
そして、変換部132は、画像の被写体を変換する場合、被写体の性質を、監視カメラで撮影される領域において被写体が有しやすい性質に変換する。被写体の性質は、被写体の外観的性質であり、具体的には、姿勢、服装、表情、髪型、または、所持品である。
図5は、変換部132の処理を説明する図である。
【0039】
例えば、監視カメラが式場に設置されている場合、被写体の服装は礼装である。そこで、
図5に示すように、変換部132は、平服である被写体H2が写る画像G2を画像データ121から取得する。そして、変換部132は、被写体H2の服装を、平服から礼服に変換した画像G2´を生成する。また、例えば、変換部132は、素顔の被写体が写る画像を画像データ121から取得して、被写体の顔を、素顔から、化粧を施した顔に変換した画像を生成してもよい。
【0040】
変換部132は、画像のオブジェクトの属性及びオブジェクトの識別情報を他の属性或いは識別情報に変換した場合には、変換内容に合わせて、変換済画像124のオブジェクト情報を変更する。画像処理装置10は、抽出画像123及び変換済画像124を学習用データとして学習装置20に出力する。
【0041】
[学習装置]
次に、学習装置20の構成について説明する。
図6は、学習装置20の構成の一例を示すブロック図である。
図6に示すように、学習装置20は、入出力部21、記憶部22及び制御部23を有する。
【0042】
入出力部21は、
図3に示す入出力部11と同様の機能を有し、情報の入出力や他の装置(例えば、画像処理装置10及び解析装置30)との通信を行う。
【0043】
記憶部22は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、学習装置20を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部22は、画像処理装置10が、抽出画像123及び変換済画像124を、学習用データ221として記憶する。この抽出画像123は、画像処理装置10によって、公開データセットの画像から抽出された所望の属性を有する画像である。また、変換済画像124は、背景及び/または被写体の性質を所望の属性に合うように変換された画像である。また、記憶部22は、モデル222を有する。
【0044】
モデル222は、特徴抽出モジュールで画像の特徴量を抽出し、抽出した特徴量を基に画像に所望の被写体が撮像されているか否かを解析モジュールで解析するモデルである。モデル222は、ディープニューラルネットワークで構成される。モデル222は、抽出した特徴量を用いて、画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。モデル222の各種パラメータは、後述する学習部231による学習用データ221を用いた学習によって調整される。
【0045】
制御部23は、
図3に示す制御部13と同様の機能を有し、学習装置20全体を制御する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。制御部23は、学習部231を有する。
【0046】
学習部231は、特徴抽出モジュールにおいて学習用データ221から抽出された特徴量に基づく画像の画像解析を学習する。
【0047】
このように、学習装置20は、画像処理装置10によって、学習対象の画像データ121から予め抽出された、所望の背景または所望の性質を有する被写体を含む抽出画像123、または、画像データ121の画像を所望の背景に変換された変換済画像124及び所望の被写体の性質となるように被写体の性質が変換された変換済画像124を用いて学習を行っている。抽出画像123及び変換済画像124は、各画像の背景または被写体の性質を統一されているため、学習装置20では、機械学習時に推定させる要素が減り、本来推定すべき被写体を適切にモデルに学習させ、モデルの解析精度の向上を向上することができる。
【0048】
[解析装置]
次に、解析装置30の構成について説明する。
図7は、解析装置30の構成の一例を示すブロック図である。
図7に示すように、解析装置30は、入出力部31、記憶部32及び制御部33を有する。
【0049】
入出力部31は、
図3に示す入出力部11と同様の機能を有し、情報の入出力や他の装置(例えば、画像処理装置10及び学習装置20)との通信を行う。
【0050】
記憶部32は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現され、解析装置30を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部32は、解析用画像321、モデル322、及び、画像に写ったオブジェクトの分類結果或いは画像に写ったオブジェクトの属性の推定結果を示す解析結果323を有する。
【0051】
制御部33は、
図3に示す制御部13と同様の機能を有し、解析装置30全体を制御する。制御部33は、各種のプログラムが動作することにより各種の処理部として機能する。制御部33は、解析部331を有する。
【0052】
解析部331は、モデル322を用いて、特徴抽出モジュールにおける特徴量抽出処理と、特徴抽出モジュールが抽出した特徴量を用いて、解析用画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。
【0053】
このように、解析装置30は、解析時に、各画像の背景または被写体の性質を統一された抽出画像123及び変換済画像124を学習して精度を高めたモデル322を用いるため、精度の高い解析を実行することができる。
【0054】
[画像処理の処理手順]
次に、画像処理装置10が実行する画像処理の処理手順について説明する。
図8は、実施の形態1に係る画像処理の処理手順を示すフローチャートである。
【0055】
図8に示すように、画像処理装置10は、画像データ121から、所望の属性を有する画像を抽出する(ステップS11)。画像処理装置10は、抽出した画像が目的枚数に達した場合(ステップS12:Yes)、抽出画像123を学習用データとして学習装置20に出力する(ステップS15)。
【0056】
一方、抽出した画像が目的枚数に達していない場合(ステップS12:No)、画像処理装置10は、画像データから、所望の属性以外の画像を抽出し(ステップS13)、抽出した画像に対し、画像の背景及び/または被写体を変換する変換処理を施す(ステップS14)。
【0057】
そして、画像処理装置10は、抽出した画像及び変換した画像が目的枚数に達した場合(ステップS12:Yes)、抽出画像123及び変換済画像124を学習用データとして学習装置20に出力する(ステップS15)。また、画像処理装置10は、抽出した画像及び変換した画像が目的枚数に達していない場合(ステップS12:No)、抽出した画像及び変換した画像が目的枚数に達するまで、ステップS13,S14の処理を繰り返す。
【0058】
[実施の形態1の効果]
モデル222の学習用画像に、本実施の形態を適用した場合の解析精度と未適用の場合の解析精度を評価した。表1に、その評価結果を示す。Rank-1及びmAPは、いずれも0~100%の値を取り、値が高いほど照合精度が良好であることを示す。
【0059】
【0060】
表1では、画像データ121の画像を全て採用して学習した場合の照合精度と、画像データ121のうち背景がエスカレータのみとした抽出画像123及び変換済画像124とを採用して学習した場合の照合精度とを示す。表1に示すように、画像データ121のうち背景がエスカレータのみとした抽出画像123及び変換済画像124とを採用して学習した方が、画像データ121の画像を全て採用して学習した場合と比して、Rank-1及びmAPのいずれについても最も良好であった。
【0061】
本実施の形態1では、画像処理装置10によって、学習用データとして、画像処理装置10によって、学習対象の画像データ121から予め抽出された、所望の背景または所望の性質を有する被写体を含む抽出画像123、または、画像データ121の画像を所望の背景に変換された変換済画像124及び所望の被写体の性質となるように被写体の性質が変換された変換済画像124を用いて学習を行っている。このように、本実施の形態1では、学習の際に、画像の背景または被写体の性質が統一された抽出画像123及び変換済画像124を用いる。このため、本実施の形態1によれば、機械学習時に推定させる要素が減り、本来推定すべき被写体を適切にモデルに学習させ、モデルの解析精度の向上を向上することができる。
【0062】
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2では、モデルとして、アテンションモデルを用いる場合について説明する。アテンションモデルとは、切出済画像から複数の領域をピックアップし、ピックアップした複数の領域ごとに特徴量を抽出し、抽出した各特徴量を統合して、画像内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行うモデルである。本実施の形態2では、画像処理装置10が処理した抽出画像123及び変換済画像124を用いて、モデルの学習またはモデルを用いた解析を行う。
【0063】
[概要]
まず、
図14を用いて、本実施の形態の学習装置2の概要を説明する。ここでの学習の対象は、画像解析を行うディープニューラルネットワークであるものとする。このディープニューラルネットワークは、解析対象の画像から、オブジェクトの映っている部分を切り出す切出モジュール(
図14において図示省略)と、切り出した部分の特徴量を抽出する特徴量抽出モジュールと、抽出した特徴量に基づき、切り出した部分の解析を行う解析モジュールとを備えるものとする。
【0064】
特徴量抽出モジュールは、画像から特徴量を抽出する複数のモジュールから構成される。このモジュールは、例えば、HA-CNN等で用いられるlocal branchである。以下、特徴量抽出モジュールを構成するモジュールはlocal branchである場合を例に説明する。この特徴量抽出モジュールは、global branchを含んでいてもよい。また、解析モジュールは、画像に映ったオブジェクトの分類を行う分類モジュールと、当該オブジェクトの属性を推定する属性推定モジュールとを備える場合を例に説明する。
【0065】
学習装置は、特徴量抽出モジュールのlocal branchそれぞれに、当該local branchが担当する(ピックアップすべき)サブオブジェクトを割り当てる。このサブオブジェクトは、オブジェクトを構成するオブジェクトである。
【0066】
例えば、オブジェクトが人物である場合、当該オブジェクトのサブオブジェクトは上半身や下半身等である。例えば、学習装置は、
図14の符号401に示すlocal branchが担当するサブオブジェクトとして人物の上半身を割り当て、符号402に示すlocal branchが担当するサブオブジェクトとして人物の下半身を割り当てる。
【0067】
その後、学習装置は、特徴量抽出モジュールのlocal branchそれぞれがピックアップすべき領域の学習を行う。例えば、学習装置は、抽出画像123及び変換済画像124の1枚1枚に対して各local branchがピックアップすべきサブオブジェクトが存在する領域(local branchがピックアップすべき領域)を示した情報を用いて、local branchそれぞれがピックアップすべきサブオブジェクトの領域の学習を行う。
【0068】
例えば、学習装置は、
図14の符号401に示すlocal branchが担当するサブオブジェクトの領域と、当該local branchがピックアップした領域との間に誤差があれば、学習装置は、誤差を低減するよう当該local branchのパラメータ値の調整を行う。また、符号402に示すlocal branchが担当するサブオブジェクトの領域と、当該local branchがピックアップした領域との間に誤差があれば、学習装置は、誤差を低減するよう当該local branchのパラメータ値の調整を行う。このような調整を繰り返すことにより、local branchそれぞれは、自身に割り当てられたサブオブジェクトの領域を正確にピックアップできるようになる。このような調整(学習)を、説明の便宜上、特徴量抽出モジュールの直接的な反省と呼ぶ。また、学習装置は、分析モジュールによる分析精度をより向上させるためには、local branchそれぞれがどの領域をピックアップすればよいのかの学習(間接的な反省)も行う。
【0069】
このように学習装置が、特徴量抽出モジュールの学習にあたり、上記の間接的な反省に加え、直接的な反省も行うことで、上記の間接的な反省のみで学習を行うよりも、学習に必要な画像数やエポック数を大幅に低減することができる。
【0070】
[学習装置]
次に、
図15を用いて、学習装置の構成例を説明する。学習装置220は、入出力部21と、記憶部22と、制御部223とを備える。
【0071】
記憶部22は、入出力部21経由で入力された抽出画像123及び変換済画像124を含む学習用データ221、制御部223による学習により得られたディープニューラルネットワークのモデル2222を記憶する。モデル2222は、例えば、上記のディープニューラルネットワークで用いられる各種モジュール(割当モジュール、特徴量抽出モジュール、分析モジュール)のパラメータ値等を示した情報である。このモデルの情報は、制御部223による学習処理により適宜更新される。
【0072】
上記の抽出画像123及び変換済画像124は、例えば、画像ごとに、当該画像においてサブオブジェクトが存在する領域(つまり、local branchがピックアップすべき領域)の情報を付与したものである。このサブオブジェクトが存在する領域の情報(例えば、座標)は、手動で付与してもよいし、自動で付与してもよい。
【0073】
例えば、学習装置220が特徴量抽出モジュールにおいて、人物の上半身と下半身という2つのサブオブジェクトをピックアップすると定め、画像においてこれらのサブオブジェクトが存在する領域の情報(例えば、座標)を自動で付与する場合を考える。
【0074】
この場合、例えば、人物の全身が映った画像(
図16の符号601参照)と、上半身が映った画像(
図16の符号602参照)と、下半身が映った画像(
図16の符号603参照)とを予め用意しておく。
【0075】
そして、学習装置220は、これらの画像について、人物の全身が映った画像に対しては「画像の上半分が上半身で、画像の下半分が下半身」、上半身が映った画像に対しては「画像の全体が上半身で、下半身は存在せず」、下半身が映った画像に対しては「画像の全体が下半身で、上半身は存在せず」と判断する。その後、学習装置220は、上記の判断結果に基づき、各画像において上半身の存在する領域と下半身の存在する領域とを、例えば、矩形領域の四辺の座標で付与する。そして、学習装置220は、各サブオブジェクトの存在する領域の座標を付与した画像を、部分画像として記憶部12に格納する。なお、学習装置220は、上半身が映った画像と下半身が映った画像とを用意する際、
図17に示すように、全身の映った画像を上下2つに分割することにより用意してもよい。
【0076】
図15の説明に戻る。制御部223は、サブオブジェクト割当部2231と、学習部2232とを備える。
【0077】
サブオブジェクト割当部2231は、特徴量抽出モジュールを構成するlocal branchごとに、当該local branchが担当するサブオブジェクトを割り当てる。つまり、サブオブジェクト割当部2231は、local branchごとに、当該local branchが、オブジェクトを構成するサブオブジェクト群のうち、どのサブオブジェクトをピックアップし、特徴量を抽出するかを割り当てる。ここで特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数、種類は任意の数、種類でよい。
【0078】
例えば、ディープニューラルネットワークが扱うオブジェクトが人物である場合において、特徴量抽出モジュールがピックアップするサブオブジェクトの数を2個としたとき、サブオブジェクト割当部2231は、1本目のlocal branchに人物の上半身を割り当て、2本目のlocal branchに人物の下半身を割り当てる。また、同様に、特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数を2個とした場合、サブオブジェクト割当部2231は、1本目のlocal branchに人物の右半身を割り当て、2本目のlocal branchに人物の左半身を割り当ててもよい。
【0079】
さらに、特徴量抽出モジュールにおいてピックアップするサブオブジェクトの数を3個とした場合、サブオブジェクト割当部2231は、例えば、1本目のlocal branchに人物の顔面を割り当て、2本目のlocal branchに人物の顔面を除く上半身を割り当て、3本目のlocal branchに人物の下半身を割り当てる。
【0080】
学習部2232は、サブオブジェクト割当部2231により各local branchに割り当てられたサブオブジェクトの領域について、前記した間接的反省(第2の学習)に加え、部分画像を用いた直接的反省(第1の学習)を行う。
【0081】
つまり、学習部2232は、画像ごとに当該画像におけるサブオブジェクトの領域を示す情報を用いて、local branchそれぞれが当該local branchに割り当てられたサブオブジェクトの領域を精度よくピックアップできるようlocal branchそれぞれの学習(第1の学習)を行い、また、local branchそれぞれによりピックアップされたサブオブジェクトの特徴量を用いた画像分析の結果を用いて、当該画像分析の分析精度をより向上させるようlocal branchそれぞれの学習(第2の学習)を行う。
【0082】
なお、学習部2232が、各local branchの直接的反省(第1の学習)を行う場合の損失関数は、例えば、以下のようなものが考えられる。
【0083】
例えば、各local branchがピックアップする領域の形状が矩形であり、i本目のlocal branchが実際にピックアップした矩形領域の座標が(x
0,x
1,y
0,y
1)であり(
図18参照)、i本目のlocal branchがピックアップすべき矩形領域の座標が以下のように与えられた場合を考える。
【0084】
【0085】
この場合、学習部2232は、i本目のlocal branchに直接伝播する損失関数として、例えば以下の式(1)を用いる。
【0086】
【0087】
学習部2232は、直接的反省および間接的反省により得られた特徴量抽出モジュールのパラメータ値を用いて、記憶部12内のモデルを更新する。
【0088】
[解析装置]
次に、実施の形態2における解析装置の構成について説明する。
図19は、実施の形態2における解析装置の構成の一例を示すブロック図である。解析装置320は、入出力部31と、記憶部32と、制御部233とを備える。
【0089】
記憶部32は、解析用画像321、学習装置220による学習によってパラメータが最適化されたアテンションモデルであるモデル2322(アテンションモデル)、及び、画像に写ったオブジェクトの分類結果或いは画像に写ったオブジェクトの属性の推定結果を示す解析結果2323を有する。
【0090】
制御部233は、
図8に示す制御部33と同様の機能を有し、解析装置230全体を制御する。制御部233は、各種のプログラムが動作することにより各種の処理部として機能する。制御部233は、サブオブジェクト割当部2331及び解析部2332を有する。
【0091】
サブオブジェクト割当部2331は、解析用画像321から、モデル2322の各モジュールに、対応する領域を割り当てる。ピックアップする領域、及び、ピックアップした領域の各モジュールへの割り当ては、学習装置220における学習によってそれぞれ最適化されている。
【0092】
解析部2332は、モデル2322を用いて、各モジュールにおける領域ごとの特徴量を抽出し、各モジュールが抽出した特徴量を用いて、解析用画像321内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う。
【0093】
[学習処理の処理手順]
図15を用いて、上記の学習装置220の処理手順の例を説明する。まず、学習装置220のサブオブジェクト割当部2231は、学習対象のディープニューラルネットワークの特徴量抽出モジュールにおける各local branchへのサブオブジェクトの割り当てを行う(ステップS201)。その後、学習部2232は、上記の特徴量抽出モジュールの各local branchの学習を行う(ステップS202)。すなわち、学習部2232は、分析モジュールから逆伝搬されてきた誤差を用いた各local branchの間接的反省に加え、記憶部22の学習用データの画像を用いた各local branchの直接的反省を行う。
【0094】
[解析処理の処理手順]
次に、
図16を用いて、上記の解析装置320の処理手順の例を説明する。まず、サブオブジェクト割当部2331は、解析用画像321から、モデル2322の各モジュールに対応する領域に割り当てる(ステップS211)。ピックアップする領域、及び、ピックアップした領域の各モジュールへの割り当ては、学習装置220における学習によってそれぞれ最適化されている。
【0095】
解析部2332は、解析処理として、モデル2322を用いて、各モジュールにおける領域ごとの特徴量を抽出し、各モジュールが抽出した特徴量を用いて、解析用画像321内の被写体が属する属性の推定や被写体と検出対象の被写体との照合を行う(ステップS212)。
【0096】
[実施の形態2の効果]
上記の学習装置220は、特徴量抽出モジュールのlocal branchそれぞれがピックアップすべき領域を所与のものとし、さらにその誤差を損失関数として計上して、直接的な反省も行う。これにより、特徴量抽出モジュールのlocal branchそれぞれは、オブジェクトの映り方が不完全な画像に対しても、当該オブジェクトの狙った部位(サブオブジェクト)を正確にピックアップすることができる。その結果、特徴量抽出モジュールは各サブオブジェクトの特徴量を精度よく抽出できるので、解析モジュールが当該オブジェクトの分析(例えば、分類、属性推定、照合等)を行う際の精度を向上させることができる。
【0097】
例えば、監視カメラで撮影された映像に対し、映像に映った人物の自動解析を行うディープニューラルネットワークの学習に、本実施の形態2の学習装置220による学習を適用すれば、「迷子になった赤い服を着た5歳の女の子を探したい」、または、「この写真の犯人を捜したい」という要求があった場合に、従来は目視で扱うしかなかった「身体の一部しか映っていない画像」に対しても自動解析を行うことができる。
【0098】
監視カメラで撮影された映像に対し、人物自動解析を行うディープニューラルネットワークの学習に、本実施の形態2の学習装置220による学習を適用した場合と、従来技術(HA-CNN)による学習を適用した場合との比較結果を
図17に示す。
【0099】
ここでは、それぞれのディープニューラルネットワークに対し、画像の中から、「ボーダーのズボンの人物」(
図17の左側の「この人物を探せ」に示す画像の人物)に似ている上位5枚の画像を探すよう指示した。
【0100】
この場合、比較例である従来技術(HA-CNN)により学習したディープニューラルネットワークは、本来「ボーダーのズボンの人物」を探すべきところ、上記の上位5枚の画像の中には「ボーダーのTシャツの人物」や「ボーダーのワンピースの人物」が含まれている。これは、比較元の画像(
図22の「この人物を探せ」に示す画像)に、人物の下半身しか映っておらず、ディープニューラルネットワークにおいて画像上の領域と部位の紐づけに失敗したためと考えられる。
【0101】
一方で、本実施の形態2の学習装置220により学習したディープニューラルネットワークは、画像の中から探した上記の上位5枚の画像の中に「ボーダーのズボンの人物」のみが含まれており、「ボーダーのTシャツの人物」や「ボーダーのワンピースの人物」が含まれていない。このことから本実施の形態2の学習装置220により学習したディープニューラルネットワークは、不完全な画像であっても精度よく検索できることが示された。
【0102】
つまり、従来技術では、ディープニューラルネットワークの特徴量抽出モジュールにおいて各local branchがどのサブオブジェクトを担当すべきかを事前に決めていなかった。そのため、各local branchがどのサブオブジェクトを担当すべきかは、後続の分析モジュールからの間接的な反省に頼らざるを得なかった。その結果、各local branchが、不完全な画像でも精度よく特徴量を抽出できるよう学習を積むためは、学習用データを多数用意したり、長時間の学習時間を用意したりする必要があった。
【0103】
一方、本実施の形態2の学習装置220は、特徴量抽出モジュールにおける各local branchがどのサブオブジェクトを担当すべきかを事前に決めておく。これにより、学習装置220は、前記した各local branchの間接的な反省に加え、直接的な反省も行えるようになる。その結果、現実的に確保できる量の学習用データや学習時間により、特徴量抽出モジュールの各local branchが、不完全な画像でも精度よく特徴量を抽出できるよう学習することができる。
【0104】
[実施の形態のシステム構成について]
上記で示した画像処理装置10、学習装置20,220及び解析装置30,230の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、画像処理装置10、学習装置20,220及び解析装置30,230の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0105】
また、画像処理装置10、学習装置20,220及び解析装置30,230においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより解析実行されるプログラムにて実現されてもよい。また、画像処理装置10、学習装置20,220及び解析装置30,230においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0106】
また、実施の形態1において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0107】
[プログラム]
図18は、プログラムが実行されることにより、画像処理装置10、学習装置20,220及び解析装置30,230が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0108】
メモリ1010は、ROM1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0109】
ハードディスクドライブ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)により代替されてもよい。
【0110】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0111】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0112】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0113】
1 解析システム
10 画像処理装置
11,21,31 入出力部
12,22,32 記憶部
13,23,33,223,233 制御部
20,220 学習装置
30,230 解析装置
121 画像データ
122 変換用データ
123 抽出画像
124 変換済画像
131 抽出部
132 変換部
222,322,2222,2322 モデル
231,2232 学習部
321 解析用画像
323,2323 解析結果
331,2332 解析部
2231,2331 サブオブジェクト割当部