(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-24
(45)【発行日】2022-11-01
(54)【発明の名称】検出装置、コンピュータプログラム及び検出方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20221025BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2018187718
(22)【出願日】2018-10-02
【審査請求日】2021-08-02
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】下山 荘介
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2010-003117(JP,A)
【文献】特開2005-117163(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 1/00
H04N 7/18
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
人物の顔を含む
検出対象がマスクされていないマスク無し画像データを取得する取得部と、
マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器と
を備え、
前記取得部で取得したマスク無し画像データを前記識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出
し、
前記ニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成する生成部と、
前記生成部で生成した分布画像データ及び所定の閾値に基づいて検出対象のマスクをするマスク領域である対象領域を特定する特定部と
をさらに備え
る検出装置。
【請求項2】
前記特定部で特定した対象領域に基づいて、前記取得部で取得したマスク無し画像データ対してマスク処理を行うマスク処理部を備える請求項
1に記載の検出装置。
【請求項3】
前記識別器は、
検出対象の輪郭を除いた領域であって前記輪郭内の少なくとも半分以上の領域がマスクされたマスクあり画像データを用いて生成されている請求項1
又は請求項
2に記載の検出装置。
【請求項4】
前記識別器は、
検出対象が単色でマスクされたマスクあり画像データを用いて生成されている請求項1から請求項
3のいずれか一項に記載の検出装置。
【請求項5】
前記検出対象は、顔である請求項1から請求項
4のいずれか一項に記載の検出装置。
【請求項6】
コンピュータに、
人物の顔を含む
検出対象がマスクされていないマスク無し画像データを取得する処理と、
取得したマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する処理と
、
前記ニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成する処理と、
生成した分布画像データ及び所定の閾値に基づいて検出対象のマスクをするマスク領域である対象領域を特定する処理と
を実行させるコンピュータプログラム。
【請求項7】
人物の顔を含む
検出対象がマスクされていないマスク無し画像データを取得し、
取得されたマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出
し、
前記ニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成し、
生成した分布画像データ及び所定の閾値に基づいて検出対象のマスクをするマスク領域である対象領域を特定
する検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検出装置、コンピュータプログラム及び検出方法に関する。
【背景技術】
【0002】
インターネットを利用する各種サービスの普及によって、スマートフォンやカメラなどで撮影した画像がインターネットネット上にアップロードされ、不特定多数の人に公開されている。例えば、SNS(ソーシャル・ネットワーク・サービス)や世界中の風景を見ることができるサービスでは様々な画像を閲覧することができる。しかし、このような画像の中に人物の顔が写っていると、個人情報保護等の観点から望ましくない。
【0003】
特許文献1には、プライバシー保護のため、人物の顔にモザイク処理を行って顔が認識できないように画像処理を行う装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、人物が写った画像に対して顔の位置を特定してマスクする作業は煩雑であり、特に大量の画像をインターネット上にアップロードするような場合に、画像に顔などの対象が写っていると、顔の位置を特定した上で大量のマスク作業が発生する。このため、対象をマスクする作業の簡素化が望まれている。
【0006】
本発明は、斯かる事情に鑑みてなされたものであり、マスク対象を容易に検出することができる検出装置、コンピュータプログラム及び検出方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の実施の形態に係る検出装置は、検出対象がマスクされていないマスク無し画像データを取得する取得部と、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器とを備え、前記取得部で取得したマスク無し画像データを前記識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する。
【0008】
本発明の実施の形態に係る識別器は、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成されている。
【0009】
本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、検出対象がマスクされていないマスク無し画像データを取得する処理と、取得したマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する処理とを実行させる。
【0010】
本発明の実施の形態に係る検出方法は、検出対象がマスクされていないマスク無し画像データを取得し、取得されたマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する。
【発明の効果】
【0011】
本発明によれば、マスク対象を容易に検出することができる。
【図面の簡単な説明】
【0012】
【
図1】本実施の形態の検出装置の構成の一例を示すブロック図である。
【
図3】マスク有り画像のマスクの一例を示す模式図である。
【
図4】学習モデルの構成の一例を示す模式図である。
【
図5】各畳み込み・プーリング層で行う畳み込み処理の一例を示す模式図である。
【
図6】各畳み込み・プーリング層で行うプーリング処理の一例を示す模式図である。
【
図7】最後段の畳み込み層及びグローバル平均プーリング層で行うグローバル平均プーリング処理の一例を示す模式図である。
【
図8】学習モデルに入力画像が入力された場合の一例を示す模式図である。
【
図9】本実施の形態の処理部による分布画像の生成方法の一例を示す模式図である。
【
図10】本実施の形態の検出装置による対象領域の特定及びマスク処理の一例を示す模式図である。
【
図11】学習モードでの検出装置の処理手順の一例を示すフローチャートである。
【
図12】検出モードでの検出装置の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本実施の形態の検出装置50の構成の一例を示すブロック図である。検出装置50は、装置全体を制御する制御部51、取得部52、記憶部53、マスク処理部54、処理部55及び対象領域特定部59を備える。また、処理部55は、識別器としての学習モデル56、学習処理部57及びマップ生成部58を備える。制御部51は、CPU、ROM及びRAMなどで構成することができる。
【0014】
取得部52は、人物の写った画像データを取得することができる。取得部52は、例えば、外部の記憶デバイスに記憶された画像データを読み込む機能、あるいはインターネットなどの通信ネットワークを経由して画像データを受信する機能などを備えることができる。
【0015】
取得部52は、学習モデル56を学習する学習モードにおいて学習データを取得することができるとともに、検出対象を検出する検出モードにおいて入力画像データを取得することができる。取得部52は、取得した学習データ及び入力画像データを記憶部53に記憶することができる。
【0016】
本実施の形態の検出装置50は、学習モード及び検出モードで動作することができる。まず、学習モードについて説明する。
【0017】
図2は学習データの一例を示す模式図である。
図2に示すように、学習データには、検出対象としての人物の顔がマスクされていないマスク無し画像データ(画像)及び顔がマスクされたマスク有り画像データ(画像)が含まれる。なお、取得部52は、マスク無し画像データとともにマスクが無いことを示す教師ラベル(マスク無し)を取得することができ、マスク有り画像データとともにマスクが有ることを示す教師ラベル(マスク有り)を取得することができる。マスク無し画像とマスク有り画像との枚数が、学習モデル56の学習段階に応じて適宜決定すればよい。
【0018】
図2に示すように、マスク無し画像は、人物の顔はマスクされていない。一方、マスク有り画像は、顔の一部がマスクされ、人物を特定することができない。学習モデル56を学習させるために、マスク有り画像を改めて作成することは必ずしも必要ではない。例えば、SNS(ソーシャル・ネットワーク・サービス)や世界中の風景を見ることができるサービスなどにおいて、インターネットネット上にアップロードされ、不特定多数の人に公開されている画像の中で顔がマスクされている画像が利用可能であれば、そのような画像を利用することができる。また、同一の画像を二つ用意して、一方をマスク有りとし他方をマスク無いとする必要もない。すなわち、同じ画像を用いてマスク有とマスク無しとする必要はない。
【0019】
図3はマスク有り画像のマスクの一例を示す模式図である。
図3は人物が写っている画像の顔の付近を拡大したものである。本明細書において、検出対象は、人物の顔を含む。また、対象領域は、例えば、顔全体の領域のうち、マスクをする領域(マスク領域)である。なお、検出対象は、顔に限定されるものではなく、画像が公開される場合に、不特定多数の人に視認されることが好ましくないものであればよい。図中、破線は顔の輪郭、すなわち検出対象の輪郭である。また、輪郭内の模様が付された領域はマスク領域(対象領域)である。
【0020】
すなわち、学習モデル56は、顔の輪郭を除いた領域であって輪郭内の少なくとも半分以上の領域がマスクされたマスクあり画像データを用いて学習することができる。顔を視認することができない程度であって、かつマスク対象の領域をできるだけ少なくすることができるので、検出モードにおいて、学習モデル56による検出精度を高めることができる。
【0021】
また、学習モデル56は、顔が単色(例えば、赤色、灰色など)でマスクされたマスクあり画像データを用いて学習することができる。マスクを単色にすることにより、検出モードにおいて、学習モデル56による検出精度を高めることができる。
【0022】
次に、処理部55について説明する。処理部55は、例えば、CPU(例えば、複数のプロセッサコアを実装したマルチ・プロセッサなど)、GPU(Graphics Processing Units)、DSP(Digital Signal Processors)、FPGA(Field-Programmable Gate Arrays)などのハードウェアを組み合わせることによって構成することができる。また、量子プロセッサを組み合わせることもできる。
【0023】
学習モデル56は、多層のニューラルネットワーク(深層学習)を用いることができ、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)を用いることができるが、他の機械学習を用いてもよい。学習モデル56は、学習処理部57によって学習することにより、顔がマスクされていないマスク無し画像が入力された場合には、マスク無しであることを出力し、また、顔がマスクされたマスク有り画像が入力された場合には、マスク有りであることを出力する。
【0024】
図4は学習モデル56の構成の一例を示す模式図である。
図4に示す学習モデル56は、画像用の畳み込みニューラルネットワークであり、畳み込み・プーリング層561、畳み込み・プーリング層562、畳み込み・プーリング層563、畳み込み層564、グローバル平均プーリング層565、及び出力層566が、この順に接続されている。最後の畳み込み層564は、いわゆるプーリング層を含まず、代わりにグローバル平均プーリング層565が接続されている。なお、畳み込み・プーリング層の数は便宜上のものであり、
図4に示す数に限定されない。また、便宜上、入力層、活性化関数の層は省略している。1段目の畳み込み・プーリング層561には、学習データとして、マスク有り画像及びマスク無し画像が入力される。出力層566は、例えば、2つの出力ノードを有し、マスク有りを示す値及びマスク無しを示す値を出力することができる。学習モデル56の構成は、
図4に示す構成に限定されるものではなく、他の畳み込みニューラルネットワークの構成を用いることができる。
【0025】
学習処理部57は、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして学習モデル56を学習する。すなわち、マスク有り画像データとマスク有りの教師ラベル、及びマスク無し画像データとマスク無しの教師ラベルをセット(ミニバッチ)として学習モデル56に入力して学習モデル56を学習することができる。学習モデル56は、マスク無し画像データだけでなく、マスク有り画像データを用いて学習する弱教師あり学習によって、マスク対象のマスクの有無を検出できるように学習される。
【0026】
図5は各畳み込み・プーリング層で行う畳み込み処理の一例を示す模式図である。畳み込み処理での入出力データは、特徴マップとも称され、畳み込み処理での入力データを入力特徴マップ、畳み込み処理での出力データを出力特徴マップともいう。1段目の畳み込み処理での入力特徴マップは、入力された画像である。畳み込み処理(「畳み込み演算」ともいう)は、畳み込みフィルタ(「フィルタ」ともいう)によるフィルタ演算である。
【0027】
図5に示すように、便宜上、入力特徴マップを8×8ピクセルとする。また、フィルタの大きさを3×3ピクセルとする。畳み込み演算では、入力特徴マップに対して、フィルタのウィンドウを一定の間隔でスライドさせながら、フィルタの要素と入力特徴マップの対応する要素を乗算し、その和を求め、求めた和を出力特徴マップの対応するピクセルに格納する。
図5の例では、入力特徴マップのフィルタF1に対応する領域Sの演算結果が出力特徴マップのピクセルS1に格納される。また、入力特徴マップのフィルタF2に対応する領域Sの演算結果が出力特徴マップのピクセルS2に格納される。同様に、入力特徴マップのフィルタF3に対応する領域Sの演算結果が出力特徴マップのピクセルS3に格納される。フィルタを1ピクセルずつ移動させて同様の演算を行うことにより、出力特徴マップは、6×6ピクセルの大きさとなる。ここで、3つのフィルタF1、F2、F3を用いることにより、3つの出力特徴マップ(チャネル数が3ともいう)が得られる。
【0028】
学習モデル56の学習では、フィルタに関するパラメータとして、例えば、フィルタの要素の値、フィルタの数(
図5の例では、3)、フィルタの大きさ(
図5の例では、3×3)、フィルタの移動幅(「スライド」ともいう、
図5の例では、1ピクセル)、入力特徴マップの周囲(端の領域)を0で埋めるパディングなどを最適化する。畳み込み処理により、画像の空間的な特徴を抽出することができる。
【0029】
図6は各畳み込み・プーリング層で行うプーリング処理の一例を示す模式図である。プーリング処理は、畳み込み処理によって得られた二次元特徴マップの大きさを縮小する処理を行う。具体的には、画像の局所領域を一つの要素に集約する処理を行う。例えば、
図6に示すように、6×6ピクセルの特徴マップ(出力特徴マップ)において、2×2の局所領域(ウィンドウW)を、各要素のうちの最大値である「4」に集約している。なお、ウィンドウWのスライドは、ウィンドウWの大きさに等しく、
図6の例では、2ピクセルずつスライドするので、6×6ピクセルの特徴マップは、3×3ピクセルに縮小される。プーリング層により、画像内で、例えば、特徴部分が多少変形又は変位していても、その変形又は変位による差異を吸収して特徴部分を抽出することができる。
【0030】
図7は最後段の畳み込み層564及びグローバル平均プーリング層565で行うグローバル平均プーリング処理の一例を示す模式図である。便宜上、畳み込み層564の出力特徴マップを、C1、C2、C3、…CNのN(例えば、16、32など)チャネルとし、各チャネルはm×m(例えば、入力画像と同じサイズでもよく、入力画像よりも小さいサイズでもよい)の画素で構成されているとする。なお、チャネル数は、16又は32に限定されるものではない。また、グローバル平均プーリング層565は、N個の1次元配列とする。グローバル平均プーリング処理は、チャネルC1の出力特徴マップのm×mの画素の平均を算出し、算出した平均をC1の平均として、グローバル平均プーリング層565の1番目の配列に入れる。また、グローバル平均プーリング処理は、チャネルC2の出力特徴マップのm×mの画素の平均を算出し、算出した平均をC2の平均として、グローバル平均プーリング層565の2番目の配列に入れる。以下、同様の処理をチャネルCNまで行う。
【0031】
上述のように、グローバル平均プーリング処理は、各出力特徴マップを平均プーリングして出力層566へ伝える。
図4に示すように、グローバル平均プーリング層565のN個の1次元配列は、それぞれ重み付け係数(W1、W2、…、WNで表す)によって重み付けされて出力層566に伝えられる。学習モデル56を学習することにより、最適な重み付け係数(W1、W2、…、WN)が求められる。なお、出力層566は、2つの出力ノードを有し、マスク有りを示す値及びマスク無しを示す値を出力することができるので、重み付け係数(W1、W2、…、WNで表す)は、2つの出力ノードそれぞれについて存在する。
【0032】
図7から分かるように、仮に、学習の結果、重み付け数W1が大きく、他の重み係数が小さいとすると、マスクの有無の検出には、畳み込み層564の各出力特徴マップのうち、チャネルC1の出力特徴マップが最も寄与していると考えることができる。本明細書では、マスクの有無の検出に関係するという意味で、畳み込み層564の出力特徴マップを学習モデル56の識別結果とも称する。
【0033】
次に、本実施の形態の検出装置50の検出モードについて説明する。
【0034】
図8は学習モデル56に入力画像が入力された場合の一例を示す模式図である。検出モードでは、学習モデル56は学習済みであるとする。入力画像は、顔がマスクされていないマスク無し画像である。また、学習モデル56は、学習済みであるので、グローバル平均プーリング層565の各配列と出力層との間の重み付け係数は、例えば、W1、W2、…、WNとして最適化されている。なお、この場合、出力層566は、マスク無しを示す値を出力することができる。また、学習モデル56は、マスク対象がマスクされているか否かを検出することができる。これにより、マスク対象を容易に検出することができる。なお、出力層566は、マスク有りを示す値を出力することもできる。
【0035】
図9は本実施の形態の処理部55による分布画像の生成方法の一例を示す模式図である。マップ生成部58は、生成部としての機能を有し、学習モデル56のニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成する。顕著性は、マスクの有無の検出するための結果であり、畳み込み層564の出力特徴マップである。
【0036】
学習モデル56は学習済みであるので、グローバル平均プーリング層565の各配列と出力層との間の重み付け係数(例えば、W1、W2、…、WN)は最適化されている。すなわち、マスク無し画像が学習モデル56に入力され、学習モデル56は、「マスク無し」という結果を出力することができるように、重み付け係数(例えば、W1、W2、…、WN)は最適化されている。畳み込み層564の各出力特徴マップそれぞれが、「マスク無し」の検出にどの程度寄与しているかが、重み係数(W1、W2、…、WN)によって決定されている。そこで、この重み係数W1、W2、…、WNを、畳み込み層564の各出力特徴マップに投影することにより、画像領域の重要性(すなわち、検出対象の可能性の度合い)を識別することが可能となる。
【0037】
具体的には、
図9に示すように、チャネルC1の出力特徴マップの各画素にチャネルC1に対応する重み付け数W1を乗算し、チャネルC2の出力特徴マップの各画素にチャネルC2に対応する重み付け数W2を乗算し、以降同様にして、チャネルCNの出力特徴マップの各画素にチャネルCNに対応する重み付け数WNを乗算し、重み付け係数が乗算された各出力特徴マップを合計して分布画像を生成する。
【0038】
図9では、便宜上、各チャネルの出力特徴マップ及び分布画像において、画像領域の重要性(検出対象である可能性の度合い)を異なる模様を付して表している。分布画像データによって表示される分布画像は、検出対象の可能性の高さに応じて表示態様(例えば、色又は濃度など)を変えることができる。例えば、検出対象である可能性が高い領域は赤味の色とし、可能性が低い領域は青味の色とすることにより可視化することができる。
【0039】
図10は本実施の形態の検出装置50による対象領域の特定及びマスク処理の一例を示す模式図である。
図10Aは対象領域の特定方法の一例を示し、
図10Bはマスク処理の一例を示す。
図10Aに示すように、対象領域特定部59は、特定部としての機能を有し、マップ生成部58で生成した分布画像及び所定の閾値に基づいて検出対象の対象領域を特定する。例えば、分布画像の各画素の画素値によって検出対象の可能性の度合いを表す場合には、画素値が所定の閾値以上である場合、可能性の度合いが大きいとして、可能性の度合いが高い領域を対象領域として特定することができる。なお、対象領域の形状は、三角形、四角形又は多角形でもよく、円形状や楕円形状などの任意の形状とすることができる。これにより、マスクをする領域を自動的に特定することができる。
【0040】
また、
図10Bに示すように、マスク処理部54は、対象領域特定部59で特定した対象領域に基づいて、取得部52で取得したマスク無し画像データ(入力画像)に対してマスク処理を行う。具体的には、入力画像(マスク無し画像)とマスク処理結果(マスク領域、すなわち塗りつぶした領域)とを重ね合わせる。マスク処理は、対象領域が視認できないように対象領域を塗りつぶす処理であれば、適宜の方法を用いることができる。これにより、マスクされていない画像のマスク対象をマスクすることができる。
【0041】
これにより、人物の顔が写った画像に対して、人物が特定されない程度に顔を塗りつぶす(マスクする)ことができるので、そのような画像を公開する場合でも個人情報の保護を図ることができる。
【0042】
図11は学習モードでの検出装置50の処理手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を制御部51として説明する。制御部51は、マスク有り画像データ及びマスク有りの教師ラベルを学習モデル56に入力し(S11)、マスク無し画像データ及びマスク無しの教師ラベルを学習モデル56に入力し(S12)、学習モデル56の学習を行う(S13)。すなわち、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして学習モデル56に入力し、異なる教師ラベルを含めたセット(ミニバッチ)で学習モデル56を学習させる。
【0043】
制御部51は、学習データの有無を判定し(S14)、学習データがある場合(S14でYES)、ステップS11以降の処理を行う。学習データがない場合(S14でNO)、制御部51は、処理を終了する。
【0044】
図12は検出モードでの検出装置50の処理手順の一例を示すフローチャートである。制御部51は、マスク無し画像データを学習モデル56に入力する(S21)。なお、マスク無し画像データは、マスク無の動画データでもよい。マスク無し画像データは、記憶部53に記憶することができる。制御部51は、畳み込み層564の出力特徴マップを取得する(S22)。制御部51は、取得した各出力特徴マップに出力層566の重み(具体的には、グローバル平均プーリング層565の各配列から出力層566への重み係数W1、W2、…、WN)を付与して分布画像データ(マップデータ)を生成する(S23)。
【0045】
制御部51は、生成した分布画像データ及び所定の閾値を用いて対象領域を特定する(S24)。制御部51は、特定した対象領域に対してマスク処理を行い、入力画像データ(ステップS21で入力したマスク無し画像データ)にマスク処理結果を重ね合わせてマスク有り画像を生成して出力し(S25)、処理を終了する。
【0046】
本実施の形態の制御部51、処理部55、対象領域特定部59及びマスク処理部54は、CPU(プロセッサ)、GPU、RAM(メモリ)などを備えた汎用コンピュータを用いて実現することもできる。すなわち、
図11及び
図12に示すような、各処理の手順を定めたコンピュータプログラムをコンピュータに備えられたRAM(メモリ)にロードし、コンピュータプログラムをCPU(プロセッサ)で実行することにより、コンピュータ上で制御部51、処理部55、対象領域特定部59及びマスク処理部54を実現することができる。コンピュータプログラムは記録媒体に記録され流通されてもよく、あるいは、ネットワークを介して、検出装置50にインストールされてもよい。
【0047】
本実施の形態によれば、人物の顔を塗りつぶしたマスク有り画像を生成するような工程において、顔位置のアノテーション作業なしに自動的に顔をマスクすることができる。
【0048】
本実施の形態に係る検出装置は、検出対象がマスクされていないマスク無し画像データを取得する取得部と、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器とを備え、前記取得部で取得したマスク無し画像データを前記識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する。
【0049】
本実施の形態に係る識別器は、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成されている。
【0050】
本実施の形態に係るコンピュータプログラムは、コンピュータに、検出対象がマスクされていないマスク無し画像データを取得する処理と、取得したマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する処理とを実行させる。
【0051】
本実施の形態に係る検出方法は、検出対象がマスクされていないマスク無し画像データを取得し、取得されたマスク無し画像データを、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成された識別器に入力し、前記識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する。
【0052】
取得部は、検出対象がマスクされていないマスク無し画像データを取得する。
【0053】
識別器は、マスクの有無を示す教師ラベルをそれぞれ付与した検出対象がマスクされたマスク有り画像データと検出対象がマスクされていないマスク無し画像データとを学習データとして生成されている。検出対象は、マスクする対象(マスク対象)のマスクの有無である。識別器は、例えば、マスク有り画像データとマスク有りの教師ラベル、及びマスク無し画像データとマスク無しの教師ラベルをセット(ミニバッチ)として識別器に入力して学習することができる。すなわち、識別器は、マスク無し画像データだけでなく、マスク有り画像データを用いて学習する弱教師あり学習によって、マスク対象のマスクの有無を検出できるように学習される。
【0054】
取得部で取得したマスク無し画像データを識別器に入力し、識別器のニューラルネットワークにより得られた顕著性に基づいて検出対象を検出する。識別器は、弱教師あり学習によって学習済みであるので、マスク対象がマスクされているか否かを検出することができる。これにより、マスク対象を容易に検出することができる。
【0055】
本実施の形態に係る検出装置は、前記ニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成する生成部と、前記生成部で生成した分布画像データ及び所定の閾値に基づいて検出対象の対象領域を特定する特定部とを備える。
【0056】
生成部は、ニューラルネットワークにより得られた顕著性に基づいて検出対象の可能性の度合いの分布を示す分布画像データを生成する。識別器は学習済みであるので、マスク無し画像データが識別器に入力されることにより、識別器のニューラルネットワークは顕著性を出力することができる。顕著性に基づいて、分布画像データによって表示される分布画像は、検出対象の可能性の高さに応じて表示態様(例えば、色又は濃度など)を変えることができる。例えば、検出対象である可能性が高い領域は赤味の色とし、可能性が低い領域は青味の色とすることにより可視化することができる。
【0057】
特定部は、生成部で生成した分布画像データ及び所定の閾値に基づいて検出対象の対象領域を特定する。例えば、画素値によって検出対象の可能性の度合いを表す場合には、画素値が所定の閾値以上である場合、可能性の度合いが大きいとして、可能性の度合いが高い領域を対象領域として特定することができる。なお、対象領域の形状は三角形、四角形又は多角形でもよく、円形状や楕円形状などの任意の形状とすることができる。これにより、マスクをする領域を自動的に特定することができる。
【0058】
本実施の形態に係る検出装置は、前記特定部で特定した対象領域に基づいて、前記取得部で取得したマスク無し画像データ対してマスク処理を行うマスク処理部を備える。
【0059】
マスク処理部は、特定部で特定した対象領域に基づいて、取得部で取得したマスク無し画像データに対してマスク処理を行う。マスク処理は、対象領域が視認できないように対象領域を塗りつぶす処理であれば、適宜の方法を用いることができる。これにより、マスクされていない画像のマスク対象をマスクすることができる。
【0060】
本実施の形態に係る検出装置において、前記識別器は、検出対象の輪郭を除いた領域であって前記輪郭内の少なくとも半分以上の領域がマスクされたマスクあり画像データを用いて生成されている。
【0061】
識別器は、検出対象の輪郭を除いた領域であって輪郭内の少なくとも半分以上の領域がマスクされたマスクあり画像データを用いて生成されている。検出対象を視認することができない程度であって、かつマスク対象の領域をできるだけ少なくすることができるので、検出精度を高めることができる。
【0062】
本実施の形態に係る検出装置において、前記識別器は、検出対象が単色でマスクされたマスクあり画像データを用いて生成されている。
【0063】
識別器は、検出対象が単色でマスクされたマスクあり画像データを用いて生成されている。マスクを単色にすることにより、検出精度を高めることができる。
【0064】
本実施の形態に係る検出装置において、前記検出対象は、顔である。
【0065】
検出対象は顔である。これにより、人物の顔が写った画像に対して、人物が特定されない程度に顔を塗りつぶす(マスクする)ことができるので、そのような画像を公開する場合でも個人情報の保護を図ることができる。
【符号の説明】
【0066】
50 検出装置
51 制御部
52 取得部
53 記憶部
54 マスク処理部
55 処理部
56 学習モデル
561、562、563 畳み込み・プーリング層
564 畳み込み層
565 グローバル平均プーリング層
566 出力層
57 学習処理部
58 マップ生成部
59 対象領域特定部