(57)【要約】【課題】画像におけるプライバシー保護を実現する。【解決手段】画像処理装置は、画像に含まれる物体を検出する物体検出手段と、物体検出手段による物体の検出を妨害するために画像に重畳されることになるマスク画像を生成する生成手段と、画像に対してマスク画像を重畳した合成画像を生成する合成手段と、を有する。生成手段は、画像において物体が存在する第１の領域におけるマスク強度が画像において物体が存在しない第２の領域のマスク強度よりも高くなるようにマスク画像を生成する。【選択図】図２
2020061081.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれる物体を検出する物体検出手段と、
前記物体検出手段による物体の検出を妨害するために前記画像に重畳されることになるマスク画像を生成する生成手段と、
前記画像に対して前記マスク画像を重畳した合成画像を生成する合成手段と、
を有し、
前記生成手段は、前記画像において物体が存在する第１の領域におけるマスク強度が該画像において物体が存在しない第２の領域のマスク強度よりも高くなるように前記マスク画像を生成する
ことを特徴とする画像処理装置。
【請求項２】
前記物体検出手段による前記画像に対する物体の検出結果に基づいて前記第１の領域を指定する領域指定手段を更に有する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の領域の指定をユーザから受け付ける領域指定手段を更に有する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記生成手段は、所定の条件を満たすまで前記第１の領域におけるマスク強度の修正を繰り返し実行する
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記所定の条件は、
前記物体検出手段による前記合成画像に対する物体の検出個数が所定個数を下回ることと、
前記マスク強度の修正の繰り返し回数が所定の回数を上回ることと、
前記マスク強度の修正の時間が所定の上限時間を上回ることと、
の少なくとも１つである
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記生成手段は、更に、前記第１の領域と前記第２の領域との境界領域におけるマスク強度の不連続性を低減するように該境界領域におけるマスク強度を修正する
ことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記物体検出手段における１以上の物体検出アルゴリズムを選択する選択手段を更に有する
ことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
検出の対象となる物体の種別を受け付ける種別受付手段と、
複数の物体検出アルゴリズムの中から前記種別受付手段で受け付けた種別の物体を検出可能な１以上の物体検出アルゴリズムを抽出する抽出手段と、
を更に有する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
物体検出部による物体の検出個数が低減された画像を生成する画像処理方法であって、
対象画像に重畳されることになるマスク画像を生成する生成工程と、
前記対象画像に対して前記マスク画像を重畳した合成画像を生成する合成工程と、
を含み、
前記生成工程では、前記対象画像において物体が存在する第１の領域におけるマスク強度が該対象画像において物体が存在しない第２の領域のマスク強度よりも高くなるように前記マスク画像を生成する
ことを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関するものである。
【背景技術】
【０００２】
近年、プログラムによる自動的な画像理解が発展している。例えば、非特許文献１には、画像中から物体を検出しかかる物体の名称と画像中の領域を示す技術が、非特許文献２には、画像からその画像に相応しいキャプションを生成する技術が、開示されている。このような画像理解技術の発展に伴い、アップロードした画像から画像のもつ情報が自動抽出され、第三者に意図せぬ形で利用される懸念がある。プライバシー保護技術として、特許文献１には、画像中の特定領域を人間にとって認識困難な状態にする技術が開示されている。しかしながら、ＳＮＳにおける画像など、閲覧されることが望まれている画像に対してこのような技術を適用するのは適切ではない。
【０００３】
ところで、非特許文献１，２は、ともにディープニューラルネットワーク（ＤＮＮ）を利用した画像理解の技術である。そこで、近年、画像理解において誤った判定を起こさせるよう意図的に入力画像を修正する技術が発表されており、敵対的機械学習（adversarial machine learning）という分野をなしている。非特許文献３には、画像検出ニューラルネットにより検出された物体の識別ラベルを異なるラベルとなるよう、画像に僅かな修正パターンを加える技術が開示されている。当該技術により画像に加えられる修正パターンは人間が気づかないレベルの僅かなものであるため、人間による閲覧に対しては影響が少ない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１９６１０７号公報
【非特許文献】
【０００５】
【非特許文献１】Shaoqing Ren, Kaiming He, Ross B. Girshick, Jian Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks", NIPS 2015: 91-99
【非特許文献２】Vinyals, Oriol, Toshev, Alexander, Bengio, Samy and Erhan, Dumitru, "Show and Tell: A Neural Image Caption Generator", arxiv:1411.4555, 2014
【非特許文献３】Xie, C., et.al., "Adversarial examples for semantic segmentation and object detection", IEEE International Conference on Computer Vision, ICCV 2017. pp. 1378-1387, 2017
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献３に記載の技術は検出された物体のラベルを異なるラベルに変換するのみであり、物体検出（物体が存在することの検出）を防ぐことはできない。つまり、プログラムによる物体検出について防ぐことはできないという課題がある。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、画像におけるプライバシー保護を好適に実現可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、画像処理装置は、
画像に含まれる物体を検出する物体検出手段と、
前記物体検出手段による物体の検出を妨害するために前記画像に重畳されることになるマスク画像を生成する生成手段と、
前記画像に対して前記マスク画像を重畳した合成画像を生成する合成手段と、
を有し、
前記生成手段は、前記画像において物体が存在する第１の領域におけるマスク強度が該画像において物体が存在しない第２の領域のマスク強度よりも高くなるように前記マスク画像を生成する。
【発明の効果】
【０００９】
本発明によれば、画像におけるプライバシー保護を好適に実現可能とする技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図２】第１実施形態に係る画像処理装置の機能構成を示す図である。
【図３】第１実施形態に係る画像処理装置における処理を説明するフローチャートである。
【図４】マスク画像の算出処理を説明する図である。
【図５】修正設定データの構成を示す図である。
【図６】表示部に表示されるＵＩの例を示す図である。
【図７】修正設定データを表示・設定するＵＩの例を示す図である。
【図８】選択領域を示すターゲットマスクの例を示す図である。
【図９】検出修正処理の対象領域を設定するＵＩの例を示す図である。
【図１０】利用可能な検出器を表示・選択するＵＩの例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１２】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、画像に対して、物体検出を妨害するためのマスク画像である修正パターンを重畳する画像処理装置を例に挙げて以下に説明する。
【００１３】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置のハードウェア構成を示す図である。なお、図１に示す構成は、画像処理装置１００に適用可能なコンピュータ装置の構成の一例に過ぎない。
【００１４】
ＣＰＵ１０１は、ＲＡＭ１０２やＨＤＤ１０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ１０１は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置１００が行うものとして上述した各処理を実行若しくは制御する。また、ＣＰＵ１０１は、その処理の一部をバス１０４に接続された不図示のＧＰＵ（Graphics Processing Unit）に担わせてもよい。ＲＡＭ１０２は、ＨＤＤ１０３からロードされたコンピュータプログラムやデータを格納するためのエリアとして利用される。更にＲＡＭ１０２は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアとして利用される。このようにＲＡＭ１０２は、各種のエリアを適宜提供することができる。
【００１５】
ＨＤＤ１０３は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ＨＤＤ１０３には、ＯＳ（オペレーティングシステム）、コンピュータプログラム、データが保存されている。コンピュータプログラムには、後述する各処理を実現するため各種制御プログラムが含まれる。また、データには、処理対象となる画像や動画像のデータが含まれる。ＨＤＤ１０３に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０２にロードされ、ＣＰＵ１０１による実行対象や処理対象となる。なお、ＨＤＤ１０３として、ＳＳＤ，フラッシュメモリ、ＵＳＢメモリなどのメモリ装置を利用してもよい。さらには、入出力インターフェース１０５を介して接続されたネットワーク１０８上に存在する不図示の外部記憶装置を仮想的にＨＤＤ１０３としてもよい。
【００１６】
ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、インターフェース１０５、は何れもバス１０４に接続されている。インターフェース１０５には入力装置１０６、出力装置１０７、ネットワーク１０８、及びバス１０４が接続されている。
【００１７】
入力装置１０６は、画像処理装置１００に対し、設定の変更や処理の開始をユーザから各種の様式で受け付けるための装置である。例えば、キーボード、マウス、タッチパネル、マイク、カメラ、ジャイロセンサーなどにより構成される。出力装置１０７は、画像処理装置１００による処理結果を画像や文字などでもって表示、投影、印刷するための装置である。例えば、ディスプレイ、プロジェクタなどの表示部、及びその表示制御装置、或いはプリンタおよびその印刷制御装置などにより構成される。なお入力装置１０６及び出力装置１０７は、タブレット端末やスマートフォンのように、タッチパネルディスプレイ等を用いることにより一体化したものであってもよい。ネットワーク１０８は、外部装置と通信により接続するためのものである。例えば、ＣＰＵ１０１の命令に応じて、外部装置はネットワーク１０８を介して画像処理装置１００に情報記憶機能、演算機能、入出力機能などＳａａＳ（Software as a Service）等の形態により提供することが出来る。
【００１８】
図２は、第１実施形態に係る画像処理装置の機能構成を示す図である。画像処理装置１００は、画像取得部２０１、修正設定取得部２０２、初期化部２０３、物体検出部２０４、検出修正処理部２０５を含む。
【００１９】
画像取得部２０１は、修正パターンを重畳する対象となる対象画像を入力する機能部である。修正設定取得部２０２は、修正パターンを導出するにあたっての条件である修正設定データを入力する機能部である。初期化部２０３は、初期状態の修正パターンを生成する機能部である。物体検出部２０４は、画像又は修正パターンが重畳された画像に対して物体検出処理を行う機能部である。検出修正処理部２０５は、修正パターンを更新するための機能部である。これらの各機能部の詳細については、図３を参照して後述する。
【００２０】
なお、上述の各機能部は、ＣＰＵ１０１がＨＤＤ１０３内に格納された制御プログラムを読み込み実行することで実現され得る。ただし、１以上の機能部を、ＡＳＩＣなどのハードウェアにより実現するよう構成してもよい。
【００２１】
＜装置の動作＞
図３は、第１実施形態に係る画像処理装置における処理を説明するフローチャートである。
【００２２】
ステップＳ３０１では、画像取得部２０１は、ＨＤＤ１０３、ＲＡＭ１０２、入力装置１０６、或いはネットワーク１０８から画像データを取得する。この画像データを以降、画像Ｉと表記する。
【００２３】
ステップＳ３０２では、修正設定取得部２０２は、ＨＤＤ１０３、ＲＡＭ１０２、入力装置１０６、或いはネットワーク１０８から修正設定データを取得する。修正設定データは、修正パターンを導出するにあたっての条件である複数のデータを含む。そして、修正設定取得部２０２は、取得した修正設定データを、物体検出部２０４、検出修正処理部２０５へ供給する。
【００２４】
図５は、修正設定データの構成を示す図である。修正設定データは、大まかに、物体検出部２０４における物体検出器を規定するデータである物体検出器データと、検出修正の様式を定める修正パラメータとを含む。
【００２５】
物体検出器データは、画像Ｉ及び物体検出器のパラメータＷを引数とする式（１）の関数ｆと、関数ｆの画像Ｉに関する微分∂ｆ／∂Ｉを定義可能なデータである。関数ｆで表される物体検出器は、パラメータＷに基づいて、画像Ｉから物体の存在する領域と、その物体が複数定義されたクラス（物体の種別）の各々である信頼度と、を算出する。
【００２６】
例えば、物体の存在する領域を矩形で定義し、矩形の左上の座標値（Ｘ０，Ｙ０）及び右下の座標値（Ｘ１，Ｙ１）で定義する。信頼度は、物体がクラス１〜Ｃまでの各々である確からしさをＰ１〜ＰＣとして定義する。なお物体検出器は、Ｃ種類のクラスを検出できるとする。Ｐ１〜ＰＣの総和を「１」となるよう正規化しておけば、クラス１が「人」である場合には、Ｐ１＝０．８は、検出された物体が人である信頼度が確率で言えば８０％程度であるというように解釈できる。
【００２７】
物体検出器は複数の物体を検出するため、上述したＸ０やＰ１に添え字をつける。例えばＰ３２は２番目に検出された物体がクラス３である信頼度を表し、Ｘ０１は１番目に検出された物体の領域を示す矩形の左上のＸ座標を表す。以上の表記を用いると、物体検出器の関数ｆは式（１）のように表すことが出来る。
【００２８】
【数１】
2020061081.tif 000003
【００２９】
物体検出器は、画像Ｉに対して物体検出を行った結果を、式（１）の右辺のような、領域およびクラス信頼度の形式で出力する。式（１）のような関数ｆ及びその微分∂ｆ／∂Ｉに相当する関数を定義可能なデータとして、ニューラルネットのモデルデータが好適である。そのようなモデルデータとしてＦａｓｔｅｒＲ−ＣＮＮ，ＳＳＤ（Single Shot MultiBox Detector）などが挙げられる。
【００３０】
修正パラメータとは、図５に示すように、検出閾値、修正対象クラス、許容修正強度、演算上限などを含むパラメータ群である。検出閾値は、検出器が式（１）の信頼度Ｐがその値以上となった場合に物体が検出されたとする閾値である。修正対象クラスは、検出を防ぎたい物体のクラスＩＤであり、複数であっても良い。許容修正強度及び演算上限は、修正パターンの目標レベル（マスク強度）を規定するデータであり、詳細については後述する。
【００３１】
ステップＳ３０３では、初期化部２０３は、各画素の画素値を「０」で初期化した修正パターンδを生成する。修正パターンδは画像Ｉと同じサイズ、同じチャネル数の画像データである。なお、修正パターンδの画素値は、後述のＳ３０７における調整によりマイナス値を取り得る。初期化部２０３は、画像取得部２０１から画像Ｉを取得し、修正パターンδと画像Ｉとを物体検出部２０４に出力する。
【００３２】
ステップＳ３０４では、物体検出部２０４は、物体検出を行う。まず、修正設定取得部２０２から修正設定データを取得する。そして初期化部２０３から取得した画像Ｉに修正パターンδを加算（重畳）した合成画像である画像Ｉ’について物体検出を行う。画像中の位置をｘ，ｙ、チャネルをｃと表記すると画像Ｉ’は式（２）のように表すことが出来る。
【００３３】
【数２】
2020061081.tif 000004
【００３４】
物体検出部２０４は、式（１）に従いｆ（Ｉ’；Ｗ）の右辺を算出する。そして修正対象クラスｋについて、検出閾値以上である信頼度Ｐｋを有する式（１）の列の数をカウントし、検出された物体の数を得る。
【００３５】
ステップＳ３０５では、物体検出部２０４は、所定の終了条件を満たすか否かを判定し、処理を終了させるか否かを判断する。所定の終了条件は、例えば、特性値が閾値を超過する（上回る／下回る）であることである。ここで、特性値とは、「検出器により検出された物体の検出個数」や「演算上限」である。演算上限とは、「修正処理の計算に要した時間」や、「Ｓ３０４〜Ｓ３０７の処理の繰り返し回数」であり得る。例えば、最終的に検出される物体の所定個数を「０」にしたいのであれば検出数を特性値として閾値を「１」に設定する。なお、終了する条件は、複数の特性値の組み合わせにより規定しても良い。
【００３６】
Ｓ３０５で終了すると判定がなされた場合は、式（２）のＩ’（すなわち修正パターンが加算された画像データ）を出力する。出力先はインターフェース１０５を介してネットワーク１０８上の不図示の記憶装置でも良いし、ＨＤＤ１０３でも良い。Ｓ３０５で終了すると判定がなされなかった場合は、Ｓ３０６へ処理を移行する。
【００３７】
修正パターンδの初期値は「０」であるから、Ｓ３０４の最初の実行（１回目のループ）ではＩ’＝Ｉである。すなわち、画像取得部２０１で取得した画像Ｉに対して検出処理が行われることになる。検出処理で検出される物体が画像Ｉ中に存在する場合、必然的にステップＳ３０６へ移行することになる。
【００３８】
ステップＳ３０６では、検出修正処理部２０５は、修正パターンを更新する。まず、修正設定取得部２０２から修正設定データを取得する。そして物体検出部２０４から画像Ｉと修正パターンδを取得し、修正パターンδを更新する。具体的には、物体検出器の物体検出能力を式（３）により定義して、これを低下させるように修正パターンを更新する。
【数３】
2020061081.tif 000005
【００３９】
式（３）は修正処理がなされた画像Ｉ＋δについて物体検出した場合の、すべての検出修正対象クラス、全ての検出箇所に関する信頼度の総和を示している。そのため、式（３）の数値が低いほど、物体が検出される可能性が低くなる。そこで、式（３）のロス関数を低下させるために、式（３）をδで微分して、その微分と逆方向にδを更新する。具体的には式（４）で表すようにδを更新する。
【００４０】
【数４】
2020061081.tif 000006
【００４１】
なおＳｉｇｎ（）は符号関数であり，引数が正の場合は「＋１」，負の場合は「−１」を戻り値として返す関数である。符号関数を導入する理由は、デジタル画像の画素値は多くの場合、８ビット整数値（０〜２５５）をとるため、その修正量δも整数である必要があるためである。なお、画像が浮動小数で定義されている場合などは、符号関数は不要である。なお式（４）の微分は、関数ｆと、関数ｆの画像Ｉに関する微分∂ｆ／∂Ｉを用いて、バックプロパゲーションによりを計算することが好適である。
【００４２】
ステップＳ３０７では、検出修正処理部２０５は、修正パターンの強度を調整する。このステップでは、修正パターンが人間の閲覧に影響が出ない程度に、修正パターンの画素値を所定の範囲に抑える処理を施す。具体的には式（４）で更新したδを式（５）の如く修正する。
【００４３】
【数５】
2020061081.tif 000007
【００４４】
式（５）のＶ（ｘ，ｙ）は修正パターンの許容範囲を示し、画像中の位置ｘ，ｙに依存して値を変えるように設定する。すなわち、位置に依存して修正パターンにおける修正強度を抑制する。具体的には、Ｓ３０４の画像検出処理で物体が検出されなかった画像領域では修正パターンを更新する必要がないため、Ｖ（ｘ，ｙ）を小さく設定する。一方、物体が検出された領域ではＶ（ｘ，ｙ）を、修正設定取得部２０２で得た許容修正強度まで大きく設定する。
【００４５】
修正パターンの許容範囲Ｖ（ｘ，ｙ）は、許容修正強度をＶｍａｘと表記すると式（６）で算出できる。式（６）の関数Ｍ（ｘ，ｙ）は物体検出された領域では「１」，非検出の領域では「０」となるよう設定するマスク関数である。
【００４６】
【数６】
2020061081.tif 000008
【００４７】
なお、許容範囲Ｖ（ｘ，ｙ）の算出方法は式（６）に限定されるものではない。人間の閲覧に影響が出にくくするため、次の手法で算出してもよい。
【００４８】
図４は、マスク画像の算出処理を説明する図である。図４（ａ）に示すように領域４０１、４０２で物体が検出されたとする。このとき、更新後の修正パターンを図４（ｂ）のようすると、これらのパターン間の境界が画像Ｉ’において目立つ可能性がある。そのため、境界が目立たないようなマスク画像を算出することが画像Ｉ’における画質劣化を抑えるうえでより望ましい。
【００４９】
図４（ｃ）は図４（ａ）中の軸６０３に沿ってマスク関数の値をプロットしたグラフである。図４（ｃ）では、境界において「０」から「１」に急激に値が変化しているため、境界が目立つことになる。一方、図４（ｄ）のように値が緩やかに変化するようにマスク関数を設定すれば境界が目立たないようにできる。そのため、図４（ｄ）のようにマスク関数を設定した後、式（６）により許容範囲Ｖ（ｘ，ｙ）を求めても良い。なお、なお、境界領域における修正パターンの強度（マスク強度）の変化は図４（ｄ）に示すものに限定されず、不連続性が低減されるような任意のものが利用可能である。
【００５０】
Ｓ３０７が終了すると、Ｓ３０４に処理が移行し、更新された修正パターンδを加算した画像Ｉに対して、物体検出部２０４により再び物体検出処理がなされる。再び物体が検出された場合は検出された物体の領域に基づいて修正パターンが更新される。Ｓ３０４〜Ｓ３０７の繰り返しにより、最終的に検出された物体の数が「０」になるか、Ｓ３０５で述べた所定の終了条件を満たせば、画像Ｉ’を出力し、処理を終了する。上述したように、画像Ｉ’は、画像Ｉに対して、１回以上の更新により最終的に導出された修正パターンδを重畳した画像である。
【００５１】
以上説明したとおり第１実施形態によれば、画像Ｉに対して修正パターンδを重畳した画像Ｉ’を生成する。特に、画像Ｉ内の物体が検出された領域に対してより強い修正を行うようような修正パターンδを導出する。これにより、第三者（ｂｏｔなど）による画像解析によるプライバシー侵害を好適に低減可能な画像Ｉ’を生成することが可能となる。また、物体が存在する画像領域は一般的に画像周波数が高いため、当該画像領域に対してはより強い修正が行われた場合であっても人間による閲覧においては影響が少ないという利点がある。
【００５２】
（第２実施形態）
第２実施形態では、第１実施形態で説明した画像処理装置におけるユーザビリティを向上させるためのユーザーインターフェース（ＵＩ）について説明する。特に、表示制御によりインタラクティブな操作を可能とするグラフィカルユーザインタフェース（ＧＵＩ）について説明する。
【００５３】
装置構成（図１、図２）や動作（図３）は第１実施形態と同様である。ただし、修正設定取得部２０２は、出力装置１０７であるディスプレイ、タッチパネルなどの表示部における表示の制御を行い、物体検出器データ及び修正パラメータを設定・取得するよう構成されている。
【００５４】
図６は、表示部に表示されるＧＵＩの例を示す図である。図６では、画像データの表示に対して修正設定ウィンドウ６００が重畳して表示している状態を示している。なお、このとき修正設定ウィンドウ６００を透過表示としてもよい。図６に示すように、検出修正処理を施す対象である画像と、修正設定ウィンドウと、を同時に表示することが好適である。以下に述べるように、同時表示により、修正設定を更新した際の影響を各種の方法で画像に反映し、視覚的に確認することができる。なお、ここでは重畳表示としているが、並列表示としてもよい。また、修正設定ウィンドウ７００の設定を音声コントロールにより確認・更新できるようにして、画像を見ながら音声入力により設定を変更しても良い。
【００５５】
図７は、修正設定データを表示・設定するＵＩの例を示す図である。修正設定ウィンドウ７００は、図６では矩形として略記している修正設定ウィンドウ６００に対応している。以下では、修正設定取得部２０２が図７に示す修正設定ウィンドウを表示制御して、物体検出器データ及び修正パラメータを設定・取得する方法について述べる。
【００５６】
修正設定取得部２０２は、予め設定されたデータをＨＤＤ１０３やネットワーク１０８上の不図示の記憶装置から読み出しても良い。また、図７に示す修正設定ウィンドウのＵＩを用いて設定・取得しても良い。或いは、一部は予め設定されたデータを読み出し、その他のデータはユーザーインターフェースを用いて設定・取得しても良い。その際は、すでに取得されたデータはユーザーインターフェースの対応する設定領域でデフォルト値として表示することが好適である。
【００５７】
修正設定取得部２０２は、図５に示される各々のデータを、図７のユーザーインターフェースを用いて設定・取得する。具体的には、物体検出データは設定入力領域７０１、検出閾値は設定入力領域７０７、修正対象クラスは設定入力領域７０５、許容修正強度は設定入力領域７０８、演算上限は設定入力領域７０９で設定を受け付け取得する。以下では、図７の各要素について更に詳細に説明する。
【００５８】
設定入力領域７０１には、複数の物体検出器（物体検出アルゴリズム）の識別名がラジオボタンと共に表示されている。ユーザーはラジオボタンを指定することにより対応する物体検出器を選択可能である。物体検出器が選択されると、選択された物体検出器を具体的或いは象徴的に表した画像が表示領域７０４に表示される。これにより、選択した検出器の特徴を視覚的に理解することができる。例えば、物体検出器がニューラルネットワークである場合は計算グラフを図示するなどネットワークアーキテクチャを具体的に提示しても良い。なお物体検出器の数が多くて一度にすべてを表示できない場合はドロップダウンリストで表示しても良い。
【００５９】
また、物体検出器が選択された場合、当該物体検出器により画像に対して物体検出を実行し、検出結果に基づいて図６の画像を修正表示することが好適である。例えば図６に示されるように、検出された各物体を囲う破線の枠を表示し、枠の付近に信頼度と物体クラスＩＤを表示することが好適である。また、物体検出器の選択に同期して、設定入力領域７０５に表示する当該物体検出器で検出可能な修正対象クラスを更新してもよい。
【００６０】
なお、最新の物体検出器データを保存・提供するサーバーをネットワーク１０８上に設け、修正設定取得部２０２は当該サーバーから修正設定データを取得するよう構成してもよい。すなわち、設定入力領域７０１を表示する際、ネットワーク１０８を介してサーバーにアクセスし、設定入力領域７０１に表示されるべき物体検出器の更新の有無を確認する。そして、新しく利用可能な物体検出器があれば通知７０２を表示する。新しい物体検出器が利用可能であれば、ボタン７０３を押下可能にし、押下されると設定入力領域７０１に新しい物体検出器の識別名を追加表示する。さらに当該新しい物体検出器に対応する物体検出器データをサーバーからＨＤＤ１０３にダウンロードする。また、ディスク容量の都合等で、利用可能な全ての物体検出器データをＨＤＤ１０３に保存することが出来ない場合は、必要な物体検出器データのみを選択的に取得するよう構成してもよい。
【００６１】
図１０は、利用可能な検出器を表示・選択するＵＩの例を示す図である。ユーザーがウィンドウ１０００の入力エリア１００１に物体の識別名（物体の種別）を入力すると、画像処理装置１００はサーバーと通信を行う。そして、当該物体を検出可能な物体検出器のリストが表示選択エリア１００２に選択可能な形式で表示される。ユーザーが更新ボタン１００３を押下することにより、選択された物体検出器データがサーバーからダウンロードされる。かかる動作により、画像処理装置１００は、必要な物体検出器を見分け、そのデータを取得することができる。なお、不要なダウンロードを低減するため、すでにＨＤＤ１０３に保存されている物体検出器については選択不可能な形式で表示するよう構成してもよい。
【００６２】
設定入力領域７０５では、検出修正の対象となるクラスの選択を受け付ける種別受付をする。図７では、ユーザは、チェックボックスによるクラスＩＤの指定によりクラスを選択する。クラスが選択された場合、現在検出修正の対象となっている物体が視覚的に分かるように図６の画像を修正表示することが好適である。例えば、検出修正の対象であるクラスの物体を囲う枠を実線で表示する。
【００６３】
設定入力領域７０７では、物体検出器が物体検出したとみなす信頼度の検出閾値をスライダーバーを動かすことにより設定する。この信頼度はＳ３０５における検出閾値そのものである。検出閾値が更新された場合、現在の画像において検出閾値以上の信頼度を有する物体が存在することを視覚的に分かるように図６の画像を修正表示することが好適である。例えば、検出閾値以上の信頼度を有する物体の物体クラスＩＤ及び信頼度を赤文字や太字で強調表示するとよい。図６では、検出閾値として８０％が設定され、左下側の３つの物体（３人の人間）が検出閾値以上であることがわかるよう強調表示されている。もちろん、物体を囲う枠を点滅させたり、その他の方法で強調を表現したりしても良い。
【００６４】
設定入力領域７０８では、許容修正強度をスライダーバーを動かすことにより設定する。許容修正強度とは、検出修正処理を施す画像の最大画素値に対する修正パターンの画素値の許容割合である。図７のようにパーセントで指定しても良いし、修正パターンの画素値の取り得る範囲を直接指定する方法でも良い。
【００６５】
設定入力領域７０９では、図３に示したＳ３０４〜Ｓ３０７の修正処理のループにかかる処理の演算上限時間を設定する。なお、最大ループ回数を設定するよう構成してもよい。或いは演算に要するコストを金額に換算して表示しても良い。その際は、時間当たりのコストを別途設定しておくとよい。
【００６６】
修正設定ウィンドウ７００を介して図５の修正設定データが設定された後、図６に示す検出修正処理スタートのボタン６０１の押下により図３に示す処理が開始されることになる。特にＳ３０２の修正設定データの取得では、修正設定ウィンドウ７００を介して設定された値が読み出される。修正検出処理が終了すると、修正パターンが加えられた検出修正処理済の画像に更新される。さらに、更新された画像に対する検出枠や信頼度などの物体検出結果も併せて表示する事が好適である。更に、計算能力に余裕がある場合などは、設定値の変更をリアルタイムに検出修正処理に反映させ、画像を更新してもよい。
【００６７】
以上説明したとおり第２実施形態によれば、インタラクティブな操作を可能とするＵＩを設けることにより、画像修正のユーザビリティを向上させることができる。
【００６８】
（第３実施形態）
第３実施形態では、第２実施形態の図６及び図７で示したＵＩをスマートフォン等のモバイルデバイス向けに修正したＵＩについて説明する。
【００６９】
図９は、検出修正処理の対象領域を設定するＵＩの例を示す図である。表示領域９０２には、検出修正処理の対象となる画像が表示される。表示領域９００には、検出修正のための設定ボタンが配置される。それぞれの設定ボタンには所定の処理がプリセットされており、ユーザーは、１回タップするだけでユーザーは検出修正設定を済ませることができる。表示領域９００に表示するボタン（アイコン）には、それぞれのボタンを押下した際の結果の画像を象徴的或いは具体的に表示することが好適である。例えば、図９の表示領域９００には、修正パターンの強度を４段階（open,light,mid,high）の中から指定する４つのアイコンを例示的に示している。また、検出されている物体を含む領域で検出修正処理を行った画像をプレビュー画像としてボタンに表示するよう構成してもよい。
【００７０】
更に、現在選択されているプリセット設定でどの程度検出を防ぐことができるかを表示領域９０１で通知することが好適である。表示される数値としては、「検出修正処理あり」での検出数を「検出修正処理無し」での検出数で割った割合を表示することが好適である。もちろん、現在選択されているプリセット設定で検出される物体を枠で囲う表示などを併せて行ってもよい。
【００７１】
以上説明したとおり第３実施形態によれば、特にスマートフォン等のモバイルデバイスで画像修正を行う際のユーザビリティを向上させることが可能となる。
【００７２】
（第４実施形態）
上述の実施形態では修正設定取得部２０２で取得した検出修正対象クラスの全てを対象として物体検出修正処理を施す形態について説明した。例えば、第２実施形態では修正対象クラスの設定入力領域７０５において「人間」と指定すると画像中の「人間」の領域の全てを対象として修正処理を行った。第４実施形態では、画像中の選択された領域に対してのみ修正処理を行う形態について説明する。
【００７３】
第４実施形態における画像処理装置は、修正設定取得部２０２の挙動と図３（Ｓ３０２，Ｓ３０４，Ｓ３０６）における処理が第１実施形態と異なる。特別な記述がない場合、他の処理は第１実施形態と同じである。
【００７４】
ステップＳ３０２では、修正設定取得部２０２は、修正設定データに加えて、修正対象領域データを取得する。修正対象領域データは、修正パターンを加算する対象となる画像中の部分領域を示すデータである。例えば、修正設定取得部２０２は、図７に示す修正設定ウィンドウ７００におけるボタン７０６の押下に伴い、図６のＧＵＩを表示する。このとき、ＵＩ部品（修正設定ウィンドウ６００，ボタン６０１など）を非表示にして、画像の全面が表示されるようにするとよい。そして、検出枠を選択可能な様態で表示し、ユーザー操作（マウスクリックやタップ）により修正対象となる１以上の物体の検出枠の選択を受け付ける。
【００７５】
図８は、選択領域を示すターゲットマスクの例を示す図である。例えば図６において中央下側の２つの検出枠（２人の人間の領域）が選択された場合の検出対象領域データは、図８（ａ）のようになる。図８（ａ）において、白色で示す領域は選択された検出枠の内部領域に相当し、検出修正処理の対象となる領域である。修正対象領域データは、画像中の位置ｘ，ｙに関するターゲットマスク関数Ｔ（ｘ，ｙ）としてＲＡＭ１０２に保持すれば良い。Ｔ（ｘ，ｙ）の値は、修正対象の領域で「１」，それ以外の領域で「０」となるように設定される。
【００７６】
もちろん、表示されている画像に対する領域描画操作により検出修正処理の対象となる領域の指定を受け付けてもよい。例えば、マウスやタップにより所望の領域（例えば２人の人間を含む領域）を囲む操作を受け付ける。図８（ｂ）は、囲む方法により領域指定された検出対象領域データの例を示す図である。図８（ｂ）も、中央の２人の人間を含む領域が修正対象領域として指定されている。
【００７７】
ステップＳ３０４では、物体検出部２０４は、画像Ｉに修正パターンδを加えて画像Ｉ’を算出する。そして、画像Ｉ’に対してターゲットマスク関数を乗算して得られる画像Ｉ”に対して検出器により物体検出を行う。画像中の位置をｘ，ｙ、チャネルをｃと表記すると、検出器が処理する画像Ｉ”は式（７）のように表すことが出来る。式（７）では検出対象領域ではない領域は画素値が「０」となる。画像Ｉ”に対する検出処理自体は第１実施形態と同様である。
【００７８】
【数７】
2020061081.tif 000009
【００７９】
ステップＳ３０６では、検出修正処理部２０５は、検出修正の対象となる領域で、修正パターンを更新する。修正パターン最適化のために使用するロス関数は、第１実施形態の式（３）で定義されるロス関数を、修正対象領域に限定した式（８）で定義される。
【００８０】
【数８】
2020061081.tif 000010
【００８１】
さらに修正パターンの更新にかかる第１実施形態の式（４）は式（９）によって代替する。
【００８２】
【数９】
2020061081.tif 000011
【００８３】
式（９）により修正パターンの更新は修正対象領域でのみでなされることになる。
【００８４】
Ｓ３０７の処理が終了するとＳ３０４に処理が移行し、入力画像Ｉと更新された修正パターンδを加算した画像にターゲットマスク関数Ｔを乗算した画像に対して、再び物体検出処理がなされる。なおも物体が検出された場合は、検出された物体の領域に基づいて修正パターンが更新される。最終的に、検出された物体の数が「０」になるか、第１実施形態のＳ３０５で述べた所定の終了条件を満たすことになった場合、処理が完了し画像が出力される。
【００８５】
なお、上述の説明ではターゲットマスクＴ（ｘ，ｙ）を「０」か「１」のどちらかをとる関数として扱ったが、「０」〜「１」の小数としてファジーな修正対象領域を設定してもよい。なお、修正パターンは整数値であるため式（９）を以下の式（１０）によって代替する。
【００８６】
【数１０】
2020061081.tif 000012
【００８７】
以上説明したとおり第４実施形態によれば、検出を防ぐ物体／領域を個別に設定して画像を修正することができる。
【００８８】
（第５実施形態）
第５実施形態では、２つ以上の物体検出器に対する物体検出修正処理を行う形態について説明する。第５実施形態における画像処理装置は、修正設定取得部２０２の挙動と図３（Ｓ３０２，Ｓ３０４，Ｓ３０６）における処理が第１実施形態と異なる。特別な記述がない場合、他の処理は第１実施形態と同じである。
【００８９】
ステップＳ３０２では、修正設定取得部２０２は、修正設定ウィンドウ７００を介して修正設定データを取得する。このとき、第２実施形態では設定入力領域７０１においてラジオボタンにより１つの物体検出器の選択を受け付けたが、第５実施形態では複数の物体検出器を選択できるようにチェックボックスによる選択を受け付けるよう構成するとよい。また、表示領域７０４には、選択された複数の検出器を象徴的に表したピクチャを表示する。設定入力領域７０５には、各々の検出器が対象とするクラスＩＤをすべて表示する。なお、どのクラスＩＤがどの検出器により検出対象となされているか分かりやすいように表示するとよい。例えば、設定入力領域７０１に表示される物体検出器の識別名と、設定入力領域７０５のクラスＩＤの文字色を同一とするとよい。
【００９０】
ステップＳ３０４では、物体検出部２０４は、選択された複数の物体検出器により物体検出を行う。以降、一例として２つの物体検出器（以下では検出器Ａ，Ｂとする）に対する処理を述べるが、３つ以上の物体検出器に対して同様に適用可能である。
【００９１】
物体検出器Ａ，Ｂはそれぞれ式（１１）のｆＡ，ｆＢで定義する。式（１１）の意味は式（１）と同様である。
【００９２】
【数１１】
2020061081.tif 000013
【００９３】
ここで検出器ＡとＢで検出対象が異なると、式（１１）のＰＡがＰＢと異なる物体に対する検出信頼度を表す場合がある。例えば、検出器Ａが｛人間、犬｝を検出対象とし、検出器Ｂが｛人間、猫｝を対象とする場合、ＰＡ２は犬の検出信頼度を表すのに対してＰＢ２は猫の検出信頼度を表すことになる。そこで、仮想的に検出器Ａ，Ｂともに｛１：人間、２：犬、３：猫｝が検出できるものとして、クラスラベルを統一する。そして、検出器Ａに関してはＰＡ３は常に「０」，検出器Ｂに関してはＰＢ２は常に「０」としておく。このようにすることでロス関数のクラスラベルの混同、ひいては、別種の物体を混同して検出修正処理を施してしまう過誤を防ぐことができる。
【００９４】
ステップＳ３０６では、検出修正処理部２０５は、修正パターンを更新する。修正パターン最適化のために定義するロス関数は第１実施形態の式（２）で定義されるロス関数を、複数の検出器に拡張した式（１２）で定義する。
【００９５】
【数１２】
2020061081.tif 000014
【００９６】
ここでｄは検出器の番号であり、Ｐｄｋはｄ番目の検出器のクラスｋに関する検出信頼度である。上述のようにクラスラベルを統一してあるため、クラスを混同することなくロス関数を定義することができる。なお、式（１３）のようにロス関数に重み関数Ｗ（ｎ，ｄ）を導入することで、特定の検出器、特定のクラスについて修正の強さを調整できるようにしても良い。その際は、対応する設定項目を修正設定ウィンドウ７００に表示して重み関数を設定・取得する事が好適である。
【００９７】
【数１３】
2020061081.tif 000015
【００９８】
以上説明したとおり第５実施形態によれば、複数の物体検出器による物体検出を防止可能とするよう画像を修正することができる。
【００９９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１００】
２０１  画像取得部；  ２０２  修正設定取得部；  ２０３  初期化部；  ２０４  物体検出部；  ２０５  検出修正処理部
【図１】
2020061081.tif 000016
【図２】
2020061081.tif 000017
【図３】
2020061081.tif 000018
【図４】
2020061081.tif 000019
【図５】
2020061081.tif 000020
【図６】
2020061081.tif 000021
【図７】
2020061081.tif 000022
【図８】
2020061081.tif 000023
【図９】
2020061081.tif 000024
【図１０】
2020061081.tif 000025