IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

<>
  • 特許-学習方法、装置及びプログラム 図1
  • 特許-学習方法、装置及びプログラム 図2
  • 特許-学習方法、装置及びプログラム 図3
  • 特許-学習方法、装置及びプログラム 図4
  • 特許-学習方法、装置及びプログラム 図5
  • 特許-学習方法、装置及びプログラム 図6
  • 特許-学習方法、装置及びプログラム 図7
  • 特許-学習方法、装置及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-15
(45)【発行日】2023-05-23
(54)【発明の名称】学習方法、装置及びプログラム
(51)【国際特許分類】
   H04N 5/262 20060101AFI20230516BHJP
   H04N 7/18 20060101ALI20230516BHJP
   G06T 1/40 20060101ALI20230516BHJP
   G06T 1/00 20060101ALI20230516BHJP
【FI】
H04N5/262
H04N7/18 K
G06T1/40
G06T1/00 340B
【請求項の数】 17
(21)【出願番号】P 2020052650
(22)【出願日】2020-03-24
(65)【公開番号】P2021152725
(43)【公開日】2021-09-30
【審査請求日】2022-02-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】明堂 絵美
(72)【発明者】
【氏名】田坂 和之
(72)【発明者】
【氏名】酒澤 茂之
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開平02-199596(JP,A)
【文献】特開平05-083571(JP,A)
【文献】特開2013-238953(JP,A)
【文献】Tao Li et al.,"AnonymousNet: Natural Face De-Identification With Measurable Privacy",2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW),米国,IEEE,2019年06月16日,pp.56-65
【文献】Juan Song et al.,"Learning Structural Similarity with Evolutionary-GAN: A New Face De-identification Method",2019 6th International Conference on Behavioral, Economic and Socio-Cultural Computing (BESC),米国,IEEE,2019年10月28日,pp.1-6
【文献】Taehoon Kim et al.,"Latent-Space-Level Image Anonymization With Adversarial Protector Networks",IEEE Access,米国,IEEE,2019年06月24日,Vol.7,pp.84992-84999
【文献】Bo-Wei Tseng et al.,"Compressive Privacy Generative Adversarial Network",IEEE Transactions on Information Forensics and Security,米国,IEEE,2010年01月20日,Vol.15,pp.2499-2513
【文献】Sicong Liu et al.,"Better accuracy with quantified privacy: representations learned via reconstructive adversarial network",arXiv,米国,Cornell University,2019年01月25日,pp.1-12,https://arxiv.org/abs/1901.08730
【文献】Tae-hoon Kim et al.,"Training with the Invisibles: Obfuscating Images to Share Safely for Learning Visual Recognition Models",arXiv,米国,Cornell University,2019年01月01日,pp.1-12,https://arxiv.org/abs/1901.00098
【文献】山本 呼人、外2名,”姿勢推定可能な画像フィルタによるプライバシー保護”,情報処理学会研究報告,日本,情報処理学会,2020年02月20日,Vol.2020-AVM-108, No.3,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/387,5/262,7/18
G06T 1/00,1/40,3/00,7/00-7/90
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワーク構造による画像変換処理のパラメータを学習する学習方法であって、
訓練用画像を前記画像変換処理で変換したプライバシー保護画像の平坦性によって算出される第1誤差と、
前記プライバシー保護画像に対して、所定タスクの認識処理を行うタスク処理で認識した結果に対する第2誤差と、を用いて前記画像変換処理のパラメータを学習することを特徴とするコンピュータによって実行される学習方法。
【請求項2】
前記画像変換処理を行うニューラルネットワーク構造の出力層には、活性化関数として、離散値で画素値を出力するための階段関数が設定されていることを特徴とする請求項1に記載のコンピュータによって実行される学習方法。
【請求項3】
前記階段関数は誤差の順伝播のために設定されており、誤差の逆伝搬の際には、当該階段関数に代えて当該階段関数の増加挙動を模した傾きが0以外となる直線関数が利用されることを特徴とする請求項2に記載のコンピュータによって実行される学習方法。
【請求項4】
前記第1誤差は、前記プライバシー保護画像と前記訓練用画像との相違が大きいほど小さい値として算出されることを特徴とする請求項1ないし3のいずれかに記載のコンピュータによって実行される学習方法。
【請求項5】
前記第1誤差は、当該階段関数の出力する離散値を入力として誤差の値を出力する誤差関数の値の、前記プライバシー保護画像の各画素における和として算出され、
前記誤差関数においては、複数の入力値のうち一部の値について、その他の値よりも小さな誤差出力値が設定されていることを特徴とする請求項2または3に記載のコンピュータによって実行される学習方法。
【請求項6】
前記一部の値は、複数の入力値のうちの最小値及び最大値を含むことを特徴とする請求項5に記載のコンピュータによって実行される学習方法。
【請求項7】
前記第1誤差は、前記プライバシー保護画像の各画素値に対して誤差の値を出力する誤差関数の値の、前記プライバシー保護画像の各画素における和として算出され、
前記誤差関数においては、入力値のうち一部の範囲の値について、その他の範囲の値よりも小さな誤差出力値が設定されていることを特徴とする請求項1ないし6のいずれかに記載のコンピュータによって実行される学習方法。
【請求項8】
前記一部の範囲は、入力値のうちの最小値を含む範囲と最大値を含む範囲とを含むことを特徴とする請求項7に記載のコンピュータによって実行される学習方法。
【請求項9】
前記第1誤差は、前記プライバシー保護画像の各画素値に対して誤差の値を出力する誤差関数の値の、前記プライバシー保護画像の各画素における和として算出され、
前記誤差関数は、前記プライバシー保護画像の各画素について、当該画素の周辺領域の画素値のばらつきを出力するものとして設定されていることを特徴とする請求項1ないし8のいずれかに記載のコンピュータによって実行される学習方法。
【請求項10】
前記第1誤差は、前記プライバシー保護画像と、前記訓練用画像より生成される低品質画像と、の相違が小さいほど小さい値として算出されることを特徴とする請求項1ないし9のいずれかに記載のコンピュータによって実行される学習方法。
【請求項11】
前記低品質画像は、前記訓練用画像を減色した画像として生成されることを特徴とする請求項10に記載のコンピュータによって実行される学習方法。
【請求項12】
訓練用画像を用いて前記第1誤差を最小化するように前記画像変換処理のパラメータを更新することと、訓練用画像を用いて前記第2誤差を最小化するように前記画像変換処理のパラメータを更新することと、を交互に実行すること繰り返すことを含むことを特徴とする、請求項1ないし11のいずれかに記載のコンピュータによって実行される学習方法。
【請求項13】
前記交互に実行することを繰り返す途中において、前記第1誤差の算出手法が変更されることを特徴とする請求項12に記載のコンピュータによって実行される学習方法。
【請求項14】
前記画像変換処理を行うニューラルネットワーク構造の出力層には、活性化関数として、離散値で画素値を出力するための階段関数が設定されており、
前記変更される第1誤差の算出手法は、
当該階段関数の出力する離散値を入力として誤差の値を出力する誤差関数の値の、前記プライバシー保護画像の各画素における和として算出される第1手法であって、
前記誤差関数においては、複数の入力値のうち一部の値について、その他の値よりも小さな誤差出力値が設定されている第1手法と、
前記プライバシー保護画像と前記訓練用画像との相違が大きいほど小さい値として算出される第2手法と、を含むことを特徴とする請求項13に記載のコンピュータによって実行される学習方法。
【請求項15】
前記階段関数が出力しうる離散値の個数である階調数は、2以上64以下の値に設定されていることを特徴とする請求項2,3,5または6に記載のコンピュータによって実行される学習方法。
【請求項16】
ニューラルネットワーク構造による画像変換処理のパラメータを学習する学習装置であって、
訓練用画像を前記画像変換処理で変換したプライバシー保護画像の平坦性によって算出される第1誤差と、
前記プライバシー保護画像に対して、所定タスクの認識処理を行うタスク処理で認識した結果に対する第2誤差と、を用いて前記画像変換処理のパラメータを学習することを特徴とする学習装置。
【請求項17】
請求項1ないし15のいずれかに記載の学習方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タスク精度を確保しつつ画像のプライバシー保護を行うことのできる画像変換処理を学習する学習方法、装置及びプログラムに関する。
【背景技術】
【0002】
ユーザのプライバシー情報が含まれうる画像/音声データを、クラウドに送信し、ニューラルネット等の機械学習を用いて解析するケースにおいて、ユーザへのプライバシー侵害が発生することを防止する必要がある。例えば、音声データに関して、クラウドに送られたスマートスピーカの内容を、仮にサービス提供者側が視聴したとすると、機械学習の精度向上等の技術的な目的の下での視聴であったとしても、結果としてプライバシーの侵害が発生しうる。
【0003】
なお、このようなスマートスピーカでは、一般的に通信路の盗聴からは、データの暗号化によりユーザのプライバシーを守っている。しかし、クラウド側では暗号化されたデータを復号するため、上記のような状況が発生しうることとなる。
【0004】
以下のURLのニュースリリース記事「暗号化したままディープラーニングの標準的な学習処理ができる秘密計算技術を世界で初めて実現」において開示されているように、クラウド側で暗号化したまま再学習やファインチューニング等の処理を行う手法もある。
https://www.ntt.co.jp/news2019/1909/190902a.html
【0005】
ここでの課題の一つ目は、サービス提供者の知覚による画像や音声データの確認ができないことである。実際に、問題の原因追究や機械学習の誤り等、人の知覚で行いたい作業もある。例えば、ポイズニングデータの目視排除等やユーザのクレーム対応等をサービス提供者側が行いたい場合があるが、そのような確認も難しくなると考えられる。二つ目の課題は、暗号化はしていても生データが含まれるため、ユーザにとっては、攻撃や運用ミスなどで生データが漏洩してしまうのではないかという不安を持ちやすいことである。
【0006】
一方、画像データに関しては、プライバシーと考えられるセンシティブな情報にぼかしや置き換え等の画像処理を行い、プライバシーを保護する手法が従来から行われている。ユーザにとっては、生データを提供しない安心感はあるものの、サービス提供者側の画像解析タスクの精度は非常に低下しやすい。
【0007】
近年では、ニューラルネット等の機械学習によるタスクの解析精度を可能な限り低下させずに、プライバシー画像を生成する試みもある。このような手法は、タスクの精度をある程度保ったまま、クラウド管理者やサービス提供者が画像を知覚で判断することができ、かつ、ユーザのプライバシーも守ることができる。ユーザも原画を送信しなくてよいので、サービス利用への心理的障壁を低下させる効果があると考えられる。
【0008】
例えば、特許文献1の手法では、顔器官や顔向きを推定し、アバターで顔を置き換えることで、プライバシーを守り、且つ、運転に関する行動認識精度も保つことができる。同様に、非特許文献1の手法では、顔領域をGAN(敵対的生成ネットワーク)で本人とは異なる顔で作りかえることでプライバシーを守り、且つ、行動認識の精度も保つことができる。
【0009】
これら特許文献1や非特許文献1の手法は、顔等の画像の一部のプライバシー領域を置き換える方法であり、画像全体のプライバシーについては考慮されていない。例えば、着ている服や肌質、部屋の様子等、サービスに不要なものが消されておらず、全体のリアリティーを消したいといった要望には対応できない。
【0010】
全体のリアリティーを消す/低減することが可能な手法として、非特許文献2の手法では、動画からの行動認識を低解像画像から行う。低解像なので画像ファイルサイズを軽減できるといった利点は存在する。しかし、単なる低解像動画から簡単な行動認識以外のタスクを行うのは難しく、適用可能なタスクが限定されてしまう。
【0011】
一方、非特許文献3では、ランダムノイズを大量に挿入したターゲット画像に近づくように、敵対的学習の枠組みを用いて原画像全体を変換するモデルを学習し生成している。敵対的学習の枠組みを用いることでタスクの精度を保ちつつ、ランダムノイズの入ったターゲット画像に近い画像変換モデルを学習できる。タスクとは例えば、画像認識、顔器官の認識等がある。
【0012】
同手法では、変換した画像全体からタスクの解析に不要な要素が隠されやすく、全体のリアリティーを消したいといったプライバシーに対する要望に対応しやすい。一方で、同手法ではタスクの精度の劣化も低く抑えることができる。
【先行技術文献】
【特許文献】
【0013】
【文献】特表2018-528536号公報
【非特許文献】
【0014】
【文献】Ren, Zhongzheng, Yong Jae Lee, and Michael S. Ryoo. "Learning to anonymize faces for privacy preserving action detection." Proceedings of the European Conference on Computer Vision (ECCV). 2018.
【文献】Ryoo, Michael S., et al. "Privacy-preserving human activity recognition from extreme low resolution." Thirty-First AAAI Conference on Artificial Intelligence. 2017.
【文献】Kim, Tae-hoon, et al. "Training with the Invisibles: Obfuscating Images to Share Safely for Learning Visual Recognition Models." arXiv preprint arXiv:1901.00098 (2019).
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかしながら、上記のように種々の要求に対処しうる非特許文献3の手法においても、次のような課題が存在した。すなわち、非特許文献3の手法ではランダムノイズ化した変換画像により、タスク精度を確保しつつプライバシー保護を実現している。ランダムノイズ化した変換画像は、原画の局所的な特徴としてのテクスチャ等が難読化された状態となっており、テクスチャ等に関するプライバシー保護しやすいものの、原画全体での広域的な特徴としてのグラデーションは十分に難読化された状態とはなっておらず、画像全体的なプライバシー保護が不十分であった。
【0016】
上記従来技術の課題に鑑み、本発明は、タスク精度を確保しつつ画像全体的なプライバシー保護を行うことのできる画像変換処理を学習する学習方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
上記目的を達成するため、本発明は、ニューラルネットワーク構造による画像変換処理のパラメータを学習する学習方法であって、訓練用画像を前記画像変換処理で変換したプライバシー保護画像の平坦性によって算出される第1誤差と、前記前記プライバシー保護画像に対して、所定タスクの認識処理を行うタスク処理で認識した結果に対する第2誤差と、を用いて前記画像変換処理のパラメータを学習することを第1の特徴とする。また、前記画像変換処理を行うニューラルネットワーク構造の出力層には、活性化関数として、離散値で画素値を出力するための階段関数が設定されており、前記第1誤差は、前記プライバシー保護画像と前記訓練用画像との相違が大きいほど小さい値として算出されることを第2の特徴とする。また、ニューラルネットワーク構造による画像変換処理のパラメータを学習する学習方法であって、訓練用画像を前記画像変換処理で変換したプライバシー保護画像に対して、所定タスクの認識処理を行うタスク処理で認識した結果に対する第2誤差を用いて前記画像変換処理のパラメータを学習することを第3の特徴とする。また、当該学習方法に対応する学習装置であることを特徴とする。また、当該学習方法をコンピュータに実行させるプログラムであることを特徴とする。
【発明の効果】
【0018】
本発明の第1の特徴によれば、第1誤差で平坦性を考慮し、第2誤差でタスク精度を考慮して学習することにより、タスク精度を確保しつつ、平坦化によってグラデーションを低減することで、画像全体に対してプライバシー保護を行うことのできる画像変換処理を学習することができる。第2の特徴によればさらに、量子化を考慮した学習を同時に用いることで平坦性をさらに担保させることができる。第3の特徴によれば、プライバシー保護画像への画像変換処理の学習を、タスク精度を考慮して行うようにすることで、タスク精度を確保しつつ画像全体に対してプライバシー保護を行うことのできる画像変換処理を学習することができる。
【図面の簡単な説明】
【0019】
図1】一実施形態に係るタスク実行装置の機能ブロック図である。
図2】画像変換部による処理例を示す図である。
図3】画像変換部のパラメータを学習するための学習装置の機能ブロック図である。
図4】一実施形態に係る学習装置による学習のフローチャートである。
図5】順伝播時の垂直ステップの階段関数と、これをなだらかにして一定勾配を有するようにした逆伝播時の傾斜ステップ状の階段関数との例を示す図である。
図6】誤差関数の種々の例を示す図である。
図7】量子化を考慮した学習を用いない場合の誤差関数の種々の例を示す図である。
図8】一般的なコンピュータ装置におけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0020】
図1は、一実施形態に係るタスク実行装置の機能ブロック図である。タスク実行装置10は、画像変換部11及びタスク部12を備える。画像変換部11は、画像の難読化器の役割を有し、変換対象となる画像(ユーザが提供する、プライバシー保護の対象となる画像)を変換して、画像全体に関するプライバシー保護が実現されたプライバシー保護画像を出力する。タスク部12は、当該プライバシー保護画像に対して所定の認識タスク(例えば姿勢推定や画像認識)を実施して結果(例えば姿勢推定結果や画像認識結果)を出力する。
【0021】
ここで、画像変換部11を、プライバシー保護対象となる画像を取得するユーザ側に配置し、プライバシー保護画像を用いたタスク実行を行うクラウド側にタスク部12を配置してよい。すなわち、画像変換部11とタスク部12とはネットワーク経由で通信して、プライバシー保護画像を画像変換部11からタスク部12へと送信するようにしてよい。あるいは、画像変換部11及びタスク部12の両方をクラウド側に配置し、プライバシー保護対象となる画像(原画像)を暗号化してクラウド側に送信したうえで画像変換部11で変換した後、この原画像を削除することで、クラウド側に保存しないようにしてもよい。このようにして、プライバシー保護を実現しつつ、タスク実施が可能となる。
【0022】
図2は、画像変換部11による処理例を示す図であり、例EX1は画像変換部11からの出力としてのプライバシー保護された画像(原画像より得られるプライバシー保護画像)の例である。原画像(不図示)において人物がポーズを取っている状態(サッカーの練習中の状態)が撮影され、この原画像ではグラデーションがそのまま撮影された状態となっているのに対し、これを変換した例EX1のプライバシー保護画像においては、原画像のR,G,Bそれぞれの輝度値が0(最低輝度値)や1(最高輝度値)に偏り、平坦化されることで難読化され、画像の全体的な観点からのプライバシー保護が実現されている様子を見て取ることができる。なお、図2にさらに示される例EX2は対比例であり、輝度値の偏りが少なくEX1より平坦化されていないが、プライバシー保護は実現できている。結果R1及びR2はそれぞれ例EX1及びその対比例EX2からのタスク実施の結果例であるが、これらに関しては後述する。
【0023】
タスク実行装置10の画像変換部11は、所定構造の畳込ニューラルネットワークや多層パーセプトロン(以下、「畳込ニューラルネットワーク等」と呼ぶ)で構成されるものであり、そのパラメータ(畳込カーネルの重み等)を予め学習して求めておくことにより、原画像を変換してプライバシー保護画像を出力することが可能となる。タスク実行装置10のタスク部12も、画像に対して所定のタスク(物体認識や姿勢推定など)を実行する所定構造の畳込ニューラルネットワーク等で構成されるものであり、そのパラメータを予め学習して求めておくことにより、画像に対してタスク実施して結果を出力することが可能となる。タスク部12に関しては、タスク内容に応じた任意の既存の学習済みのニューラルネットワーク等を用いるようにしてよいが、この際、既存データセットで学習済みのパラメータを用いてもよいし、画像変換部11の出力するプライバシー保護画像に対するタスク実行精度を向上させるべく、再学習(ファインチューニング)を行ったパラメータを用いるようにしてもよい。
【0024】
図3は、画像変換部11のパラメータを学習するための学習装置の機能ブロック図である。学習装置20は、画像変換部11、タスク部12、第1更新部21及び第2更新部22を備える。学習装置20が実行する学習により、学習装置20に備わる画像変換部11のパラメータが逐次的に更新され、学習が完了した時点のパラメータで構成される画像変換部11が、タスク実行装置10に備わる画像変換部11として利用可能となる。ファインチューニングを行う場合は同様に、学習装置20に備わるタスク部12のパラメータも逐次的に更新され、学習完了時点のパラメータで構成されるタスク部12が、タスク実行装置10に備わるタスク部12として利用可能となる。
【0025】
図4は、一実施形態に係る学習装置20による学習のフローチャートである。図4の実施形態によれば敵対的学習の枠組みを利用することで、図2に例示したように画像変換部11による変換でプライバシー保護に優れており、且つ、タスク部12によるタスク実行精度も確保された画像が得られるように、画像変換部11のパラメータを学習して得ることができる。この際、ファインチューニングによりタスク部12のパラメータを学習することも可能である。以下、図4の各ステップを説明する。
【0026】
図4のフローを開始するにあたり、学習対象となる画像変換部11のパラメータには初期値をランダム値等として設定しておく。タスク部12に対してファインチューニングを行う場合には、既存モデルで学習済みのパラメータを、タスク部12のパラメータの初期値として設定しておく。(ファインチューニングを行わない場合には、タスク部12のパラメータはこの初期値のままで固定しておけばよい。)
【0027】
図4のフローが開始されるとステップS11では、プライバシー保護接続の構成の学習装置20において画像変換部11の学習を行い、そのパラメータを更新してから、ステップS12へと進む。プライバシー保護接続の構成とは、学習装置20において画像変換部11及び第1更新部21のみを利用する構成として定義され、ステップS11では当該構成において順伝播及び逆伝播の計算を行うことでパラメータを更新する。すなわち、ステップS11では訓練用画像を用いて線L1に示されるように順伝播の計算を行って第1更新部21において誤差を求め、線L4に示されるようにこの誤差を逆伝播することで画像変換部11のパラメータを更新する。
【0028】
ステップS11にて順伝播の際、画像変換部11では当該時点で設定されているパラメータを用いて訓練用画像(ミニバッチを構成する各画像)を変換してプライバシー保護画像を得て、線L1に示されるように第1更新部21へと出力する。第1更新部21では、当該得られたプライバシー保護画像について、プライバシー保護の性能を評価するものとして誤差を計算する。
【0029】
ここで、第1更新部21で計算する誤差は、プライバシー保護の性能が低いほど大きな値として計算されるものであり、その詳細に関しては後述するが、種々の実施形態によって計算することが可能である。例えば、図3に線L1として示されるように、プライバシー保護画像のみを用いて誤差を計算する実施形態も可能であり、さらに線L7として示されるように、画像変換部11でプライバシー保護画像へと変換する対象となった原画像である訓練用画像も利用して誤差を計算する実施形態も可能である。
【0030】
ステップS11にて逆伝播の際は、上記ミニバッチを構成する各訓練用画像について計算した誤差を用いて、第1更新部21が画像変換部11に対して誤差逆伝播の計算を行うことで、線L4に示されるように画像変換部11のパラメータを更新する。逆伝播の計算には、任意の既存手法として確率的勾配降下法等のオプティマイザー(以下、「確率的勾配降下法等」と呼ぶ)を用いればよく、画像変換部11を構成するネットワーク内を出力側から入力側へと逆方向に辿る計算を行えばよい。
【0031】
ステップS11では以上のようにして第1更新部21において、その詳細を後述する誤差を用いて逆伝播により画像変換部11のパラメータを更新することで、画像変換部11による変換で得られる画像がプライバシー保護性能に関してより優れたものとなることが期待される。
【0032】
ステップS12では、タスク接続の構成の学習装置20において画像変換部11の学習を行い、そのパラメータを更新してから、ステップS13へと進む。なお、タスク部12のファインチューニングを行う場合、ステップS12では画像変換部11の学習と共にタスク部12の学習も行い、タスク部12のパラメータも更新したうえで、ステップS13へと進む。タスク接続の構成とは、学習装置20において画像変換部11、タスク部12及び第2更新部22のみを利用する構成として定義され、ステップS12では当該構成において順伝播及び逆伝播の計算を行うことで、画像変換部11(及びファインチューニングを行う場合はさらにタスク部12)のパラメータを更新する。すなわち、ステップS12では訓練用画像を用いて線L2,L3に示されるように順伝播の計算を行って第2更新部22において誤差を求め、線L5(及び線L6)に示されるようにこの誤差を逆伝播することで画像変換部11(及びタスク部12)のパラメータを更新する。
【0033】
ステップS12にて順伝播の際、画像変換部11では当該時点で設定されているパラメータを用いて訓練用画像(ミニバッチを構成する各画像)を変換してプライバシー保護画像を得て、線L2に示されるようにタスク部12へと出力する。タスク部12では、当該得られたプライバシー保護画像について、当該時点で設定されているパラメータ(ファインチューニングを行わない場合は固定パラメータ)を用いて、認識等のタスクを実施し、その結果を線L3に示されるように第2更新部22へと出力する。第2更新部22では、当該得られたプライバシー保護画像に対する認識等のタスクの結果について、訓練用画像に対して予め付与されているタスクについての正解と比較し、得られた結果が正解に近いほど値が小さくなるものとして、誤差を計算する。
【0034】
ステップS12にて逆伝播の際は、上記ミニバッチを構成する各訓練用画像について計算した誤差を用いて、第2更新部22がタスク部12及び画像変換部11に対して誤差逆伝播の計算を行うことで、線L5(及び線L6)に示されるように画像変換部11(及びタスク部12)のパラメータを更新する。逆伝播の計算には、ステップS11と同様に任意の既存手法として確率的勾配降下法等を用いればよく、画像変換部11及びタスク部12の直列接続(画像変換部11→タスク部12)で構成されるネットワーク内を出力側から入力側へと逆方向(タスク部12→画像変換部11の方向)に辿る計算を行えばよい。
【0035】
ステップS12では以上のようにして第2更新部22において、逆伝播により画像変換部11のパラメータを更新することで、画像変換部11による変換で得られる画像がタスク部12による認識等のタスクの精度が向上するものとなることが期待される。ファインチューニングを行う場合はさらに、タスク部12のパラメータも更新することで、画像変換部11による変換で得られる画像に対するタスク部12による認識等の精度も向上することが期待される。
【0036】
ステップS13では学習が収束したか否かを判定し、収束していればステップS14へと進み、当該時点での画像変換部11(及びタスク部12)のパラメータを最終的な学習結果として得たうえで図4のフローを終了し、収束していなければステップS11に戻ることにより、以上説明した通りの学習(ステップS11及びS12)がさらに継続して実施されることとなる。ステップS13での収束判定には例えば、訓練用画像とは別途のテスト用画像を用いることで、ステップS11と同様に第1更新部21が計算する誤差及びステップS12と同様に第2更新部22が計算する誤差を求めることで、学習モデルとしてのパラメータ精度を評価し、当該精度の向上(向上の履歴)が収束したか否かによって判定すればよい。単純に所定のエポック数等を収束条件としてもよい。
【0037】
以上、図4のフローによれば、ステップS11において、画像変換部11による変換で得られるプライバシー保護画像のプライバシー保護性能が向上するように、誤差を最小化する方向へとパラメータ更新し、ステップS12において、画像変換部11による変換で得られるプライバシー保護画像に対するタスク精度が向上するように、誤差を最小化する方向へとパラメータ更新することで、プライバシー保護に関する誤差とタスク精度に関する誤差とについて交互に誤差を最小化する敵対的学習の枠組みにより、画像変換部11(及びタスク部12)のパラメータを学習することができる。図4のフローにおいて、ステップS11とS12とはその位置を入れ替えてもよい。また、図4のフローの繰り返しの各回において例えば、ステップS11の学習及び更新を1回行い、ステップS12の学習及び更新を2回行うものとして設定するといったように、プライバシー保護接続とタスク接続とで学習の割合を変えてもよい。
【0038】
以下、詳細を後述するとしたステップS11での第1更新部21によるプライバシー保護画像に対する誤差計算の各実施形態に関して説明する。いずれの実施形態も、図2の例に示したように、変換結果として得られるプライバシー保護画像は変換前の原画像に対して画素分布が平坦化された状態として得られることで、画像全体でのグラデーション等に対するプライバシー保護が実現されたものとなる。
【0039】
各実施形態は大きく、以下の(1)又は(2)に分けることができる。
(1)図3に線L1として示される流れのように、画像変換部11で得たプライバシー保護画像のみを利用して誤差計算するもの
(2)図3に線L1及びL7として示される流れのように、画像変換部11で得たプライバシー保護画像に加えて、変換前の訓練用画像(原画像)も利用して誤差計算するもの
【0040】
上記の(1)の実施形態として(1-1)又は(1-2)が可能であり、(2)の実施形態として、(2-1)又は(2-2)が可能である。
(1-1)少ない階調数(浅いビット深度)を理想として制御するもの
(1-2)局所特徴が平坦化されていることを理想として制御するもの
(2-1)プライバシー保護されていない高画質画像と異ならせるようにするもの
(2-2)プライバシー保護されている低画質画像に近づけるようにするもの
【0041】
以下では、上記の(1-1)~(2-2)の4つの実施形態を順に説明する。
【0042】
(1-1)…少ない階調数(浅いビット深度)を理想として制御するもの
この(1-1)の実施形態では、量子化を考慮した学習(Quantization Aware Training、以後、量子化考慮学習と呼ぶ。)を行うので、まずこの量子化考慮学習に関して説明する。量子化考慮学習の場合、画像変換部11を構成するネットワークの出力層の値(すなわち、変換画像の各画素値)を得るための活性化関数として、この変換画像を構成する階調数(原画像よりも低い所定の階調数)の個数分の階段関数を用いる、という制約を設ける。すなわち、画像変換部11を構成するネットワークの最後に位置する活性化関数として、階調数分の階段関数を用いることにより、自ずと当該原画像よりも低い階調数で量子化して構成される、平坦化されたプライバシー保護画像を得ることが可能となる。
【0043】
ただし、順伝播の計算時では出力画像の各画素値を所定階調数内のいずれかの値に量子化して割り当てるために垂直なステップ状に立ち上がる階段関数を用いるが、逆伝播の計算時には微分時の勾配が0となってしまうことを防止するために、例えばSTE(straight through estimator)の手法を用いて、階段の立ち上がりを垂直なステップ状から一定勾配のなだらかな傾斜状へと変更した関数を利用する。
【0044】
図5に、順伝播時の垂直ステップの階段関数と、これをなだらかにして0以外の一定勾配を有するようにした(すなわち、微分可能なように且つ微分の勾配が消失しないように、階段関数の増加挙動を模したものとしての)逆伝播時の傾斜ステップ状の階段関数との例を示す。グラフG2F及びG2Bはそれぞれ、2段の垂直ステップの階段関数及び対応する傾斜ステップ状の階段関数を示すものであり、これを用いる場合、画像変換部11では2値画像を出力することとなる。傾斜ステップ状の階段関数は、グラフG2Bに示すものに代えてSTE(Straight through estimator)によりグラフG2B2のように直線でも良い。グラフG3F及びG3Bはそれぞれ、3段の垂直ステップの階段関数及び対応する傾斜ステップ状の階段関数を示すものであり、これを用いる場合、画像変換部11では3値画像を出力することとなる。傾斜ステップ状の階段関数は、グラフG3Bに示すものに代えてSTE(Straight through estimator)によりグラフG3B2のように直線でも良い。
【0045】
階段関数によって設定される画像変換部11の出力する階調数は、以下のような考察に基づいて例えば1ビット以上6ビット以下(すなわち、2階調以上64階調以下)に設定することができる。ここで、画像変換部11の出力する画像をグレイスケール画像として2階調以上64階調以下と設定(2階調の場合は白黒2値となる)してもよいし、出力画像をRGB等のカラー画像としてその各色チャネルにおいて2階調以上64階調以下と設定してもよい。
【0046】
まず、量子化考慮学習を利用しないとすると、通常では、重みや活性化関数に32ビットの浮動小数点を用いて計算することが多いが、RGBそれぞれ32ビットで出力された画素値のプライバシー画像を送信するのは、情報量の多さや一般的な画像フォーマットのビット深度が8ビットであることから望ましくないと考えられる。また、それぞれのチャネルで32ビットに出力後に、一般的な8ビットに量子化することも考えられるが、平坦化を行うプライバシー保護画像においてはデータの偏りが生じやすく、事後量子化では重要な情報も消えやすいものと考えられる。よって、平坦化を行うプライバシー保護画像の生成においては、量子化考慮学習を用いることで、出力層(グレイスケール画像、またはRGBのカラー画像それぞれのチャネル)のビット深度が8ビット以下となるように設定するとよい。また、人の視覚特性により6ビット(64階調)以上は連続階調として認識できるといわれている。平坦化されたプライバシー画像の画素値の一部のレンジが広くなるようにトーンカーブ補正すると、補正前には人が知覚できなかったグラデーションが表れてしまう恐れがある。それを防ぐために、ビット深度は8ビットではなく6ビット以下とすることがさらに望ましい。また、1ビット(2階調)である程度図(前景)と背景はわかるため、最低2階調(1ビット以上)あればよい。
【0047】
なお、量子化考慮学習については、プライバシー保護画像を出力する出力層だけでなく、画像変換部11を構成するネットワーク全体で行う(すなわち、活性化関数を全て、所定の深度数に一致する階段数の階段関数に置き換えたネットワークを利用する)ようにしてもよい。この場合、画像変換部11のモデルの容量が小さくなり、計算量も削減することができる。なお、タスク部12側の学習(すなわち、ステップS12の学習でファインチューニングによりタスク部12も学習する場合)については、量子化考慮学習を行う(すなわち、タスク部12の活性化関数にも階段関数を設定する)ようにしてもよいし、量子化考慮学習は行わないようにしてもよい。
【0048】
ここで、量子化を考慮した学習において、階調数を少なくする(例えば前述のように64階調以下とする)ことの意味について述べる。平坦化によるプライバシー保護を考慮したとき、単純には、この出力層の階調数を少なくすることでも実現できる。例えば、出力値をグレイスケール2階調(1ビット)や、カラー2階調(RBGそれぞれ1ビット)とすると、階調数が少ないため、平坦化されやすい。しかし、タスク精度はかなり低くなりやすい。一方、出力値を4階調(2ビット)、8階調(3ビット)と増やすにつれて、プライバシーは漏洩しやすくなるが、タスク精度も保ちやすい特徴がある。すなわち、プライバシー保護とタスク精度とはトレードオフの関係にある。出力値はグレイスケール1チャンネルで考えても、RGB等カラー3チャンネル等で考えても良い。
【0049】
以上のような量子化考慮学習の枠組みを用いて、この(1-1)の実施形態では、第1更新部21は次のようにして誤差(「プライバシー誤差」と呼ぶ)を計算することができる。すなわち、画素値Pについてのプライバシー誤差をE(P)とすると、変換画像の全体での総和ΣE(P)として、変換画像のプライバシー誤差を計算すればよい。この誤差関数E(P)は以下のような考察によって設定したものを利用すればよい。
【0050】
画像変換部11の出力層(すなわち変換画像)は、量子化考慮学習を用いることにより、所定ビット深度で出力される。ここで、プライバシー保護のみの観点からは、1ビット出力((0,3)の2階調とする)が理想だが、タスク精度を落とさないために2ビット出力((0,1,2,3)の4階調とする)まで一部は許容したい場合を考える。その時、画像変換部11の出力層は許容するビット数(この場合2ビット)で設定する。一方、第1更新部21によるプライバシー誤差の計算において、画像変換部11の出力した画像の画素値が0,3ならE(P)=0とし、その他の値の画素値の場合の誤差をそれより大きい値E(P)=x1(>0の固定値)とする。それにより、このような誤差関数E(P)を利用せずに単純に2ビット(4階調)出力を用いる場合と比較して、0,3(理想の2階調)に出力が偏りやすくなり、タスク精度に必要な箇所のみ1,2(4階調にしかない値)が出現しやすくなる。
【0051】
なお、上記の誤差関数E(P)の設定例を再掲すると以下の通りとなる。図6は、誤差関数の種々の例を示す図であり、以下の誤差関数は図6でグラフG1として示されるものである。
E(P)=0 …(画素値Pが0又は3のとき)
E(P)=x1 …(画素値Pが1又は2のとき)
【0052】
このような設定例の場合、仮にタスク部12の側と接続しないで、第1更新部21のみで学習した場合(すなわち、図4のフローにおいて、ステップS11,S12のうち、S12が省略されていたとする場合)は、単に0のみ、3のみ、または0と3が混じった、訓練用画像と全く関係のない2値画像(原画像の見た目が消失した2値画像)になることも考えられる。しかしながら、実際には交互にタスク部12の誤差逆伝播も画像変換部11に対して行われているため、(ステップS11,S12が繰り返し交互に実施されるため、)訓練用画像に関係した減色画像(原画像の見た目がある程度残っている減色画像)が画像変換部11から出力されるよう、学習が進行することとなる。タスク精度を保つため、値1,2(4階調の画像にしか現れない値)も一部に現れるが、全体としては0と3(理想とする2階調)が多くなり平坦化されやすいのが、単純に浅いビットで量子化することと対比した場合の、この(1-1)の実施形態における量子化考慮学習およびプライバシー誤差を用いた有利な効果となる。つまり、1ビット出力(画像全体2値画像)ではタスク精度の劣化が激しいが、2ビット出力(画像全体4値画像)ではプライバシーが漏洩しやすい場合に、そのトレードオフをとったような画像(2値の出現頻度が高いが、一部は4値画像)を出力できる特徴がある。すなわち、タスク精度維持に必要な箇所のみビット深度(階調数)が増えるようなイメージの画像が画像変換部11により得られることとなる。
【0053】
同様の例として、1ビット出力(2階調)を理想とし、3ビット出力(8階調)まで許容する場合(画素値P=0,1,2,3,4,5,6,7とする)であれば、図6のグラフG3として示される誤差関数を用いて1、2ビットで表現できない値(P=2,3,4,5)の誤差をE(P)=x2(x2>0の固定値)とし、2ビットで表現できる値(P=1,6)の誤差をE(P)=x1(x2>x1>0の固定値)とし、1ビットで表現できる値(P=0,7)の誤差をE(P)=0とてもよい。また、3ビット出力(8階調)まで許容する場合に、図6のグラフG2として示される誤差関数を用いて、2ビット、3ビットでしか表現できない値(P=0,7以外のP=1,2,3,4,5,6)の誤差をE(P)=x1(x1>0の固定値)とし、1ビットで表現できる値(P=0,7)の誤差をE(P)=0としてもよい。いずれにせよ、プライバシー誤差観点からの理想出力値以外は大きめの誤差で設定すればよい。
【0054】
また例えば、3値出力を理想とし、6値まで許容する場合(画素値P=0,1,2,3,4,5とする)であれば、図6のグラフG4として示される誤差関数を用いて、3値(両端0,5を含む3値への分離位置(またはこれに最も近い位置)にある画素値P=0,2,3,5)についてE(P)=0とし、これ以外の残りの値(P=1,4)について、E(P)=x1>0と設定してよい。
【0055】
このように、理想とする階調数(ビット深度)、許容できる階調数(ビット深度)において、前者の範囲に含まれる出力値Pの誤差E(P)を小さくし、後者のみに含まれる出力値Pの誤差E(P)を前者の誤差よりも大きくするよう設定した誤差関数E(P)を利用することで、プライバシーとタスク精度のトレードオフを調整することができる。
【0056】
なお、プライバシーを保護するには、理想とする範囲はグラデーションを全く表現できない2階調(1ビット)とすることが望ましいが、タスク精度が悪い場合には3階調、4階調(2ビット)…として、理想とする範囲の表現できるグラデーションを増やすことを試みてもよい。事前実験などによりトレードオフに優れた設定を見出したうえで、理想の階調数と、許容する階層数と、当該階層数に関して定義される誤差関数E(P)を設定すればよい。
【0057】
以上、(1-1)の実施形態に関して量子化考慮学習を行う前提で説明したが、(1-1)の実施形態の変形例として、量子化考慮学習を用いずに通常の学習を行うようにすることも可能である。
【0058】
この場合、量子化考慮学習を用いないため、画像変換部11を構成するネットワークの出力層等の活性化関数として階段関数を用いるようにするという制約は不要であり、出力層における出力値は32ビット浮動小数点などの実数値でもよい。あるいは、8ビット整数のように、取りうる階層数が多い(グラデーションが容易に知覚されうる程度に多い)出力値でもよい。(なお、実際には、8ビット整数で出力されるとしても、学習によって画像変換部11で変換される画像内の実際の画素分布は平坦化されることとなり、8ビットの256個の値のうち一部分のみの値が現れることとなる。)
【0059】
量子化考慮学習を用いない場合も、用いる場合に関して説明したのと全く同様に、出力値の階調数(あるいは、出力値の連続値としての分布)が偏るように設定されている、画素値P(出力値)に対する所定の誤差関数E(P)を用いて第1更新部21において変換画像の全体に渡る誤差の和ΣE(P)を計算するようにすればよい。(すなわち、量子化考慮学習を用いる場合は、入力が離散値となることを前提として、出力が偏ることで平坦化されるように誤差関数E(P)を設定していたが、量子化考慮学習を用いない場合には、入力が連続値(階調の多い離散値でもよい)となるものとして、全く同様に出力が偏って平坦化されるように誤差関数E(P)を設定すればよい。)
【0060】
図7は、量子化考慮学習を用いない場合の誤差関数の種々の例を示す図である。図7の例では、出力画素値P(連続値でも離散値でもよい)の範囲が横軸の0≦P≦255であるものとし、縦軸を出力誤差値として、各種の誤差関数の例をグラフとして示している。4つのグラフE1,E2,E3,E4はいずれも、出力値が0又は255(すなわち、画素値範囲の最小値又は最大値)の側に偏るように設定した誤差関数E(P)であり、出力値が両端の0(最小値)又は255(最大値)に近いほど誤差の値が小さく、これら両端から離れた中間部ほど誤差の値が大きくなるように関数が設定されている。グラフE1,E2,E3では両端0,255を理想階調とし、中間部を許容階調とする(量子化考慮学習に関して説明したのと同様の理想及び許容)ものであるのに対し、グラフE4では、両端0及び255を含む一定範囲も理想範囲として含め、当該一定範囲から逸脱している中間部分に関して許容範囲として、誤差を大きくするよう設定されている。
【0061】
また、図7のグラフE10は、理想を0,127,255の3値とし、これらの中間部を許容範囲として設定する場合の誤差関数E(P)の例であり、グラフE1の三角波の周期を半分にして2回繰り返した形状として構成されている。グラフE2,E3,E4に関しても同様に、周期を半分にして2回繰り返すことで、理想を0,127,255の3値(又はこの3値を含む一定範囲)とする誤差関数例(不図示)を得ることができる。同様にしてさらに、4値、5値…とより多くの階調を理想値とし、その中間部分を許容値として設定する誤差関数E(P)を設定することも可能であり、量子化考慮学習を用いる場合に関して説明したのと同様に、プライバシー保護とタスク精度とのトレードオフで適切な誤差関数E(P)を予め設定しておけばよい。
【0062】
なお、図7の例のように定義域が連続な誤差関数を設定したうえで、この連続範囲のうち離散的な画素値のみを定義域とみなすことで、図6に例示したような量子化考慮学習を用いる場合の誤差関数を設定することもできる。
【0063】
(1-2)…局所特徴が平坦化されていることを理想として制御するもの
この(1-2)の実施形態では、画像変換部11の出力画像の各画素Pについての誤差関数E(P)として、注目画素P周辺に3×3や5×5画素のサイズの微小領域R(P)を考え、当該領域R(P)内での画素分布のばらつきを定量化したものとして例えば分散や標準偏差を誤差E(P)とし、画像全体での和ΣE(P)として第1更新部21が誤差を計算することで、この誤差が最小化されるように学習が行われる。この実施形態は、全体的にグラデーションを小さくしたい場合に好適である。
【0064】
(2-1)…プライバシー保護されていない高画質画像と異ならせるようにするもの
この(2-1)の実施形態では、第1更新部21は、画像変換部11が出力した変換画像と、この変換画像の原画像である訓練用画像と、を読み込み、この2つの画像の相違を定量化したものとして例えばMSE(平均二乗誤差、Mean Square Error、2画像の差分画像の各画素の2乗和)を最大化するように、誤差を逆伝搬して画像変換部11を学習し、そのパラメータを更新すればよい。ここで、MSEの最小化ではなく最大化なので、画像変換部11による変換画像の画質が劣化する方向に学習が進行することとなり、プライバシー保護が達成されることとなる。
【0065】
なお、MSEを最大化するように学習すると、画像変換部11による変換画像の画素値が最小値や最大値となりやすく、同じ画素値が続きやすくなる特徴がある。これにより同じ画素値が続き平坦な領域はエッジもグラデーションもなくなり、非特許文献3等の従来手法とは異なり、グラデーションに関するプライバシーも保護することができる。
【0066】
なお、MSEの最大化ではなく、MSEと増減が逆転する量として、その逆数1/MSEや負号を付したもの-MSEを最小化するように学習を行ってもよいが、結果としては同義である。(ここで、1/MSEや-MSEという表記においては、MSEをその値を表す変数として扱い、数式表記している。)
【0067】
図2で例示した変換画像の例EX1及びその対比例EX2は、(1-1)に記載した量子化考慮学習においてRGBの出力をそれぞれ2階調に設定して学習した画像変換器を用いた結果を示すものであり、いずれも全8色のカラー画像であるが、図面の制約上、図2ではグレイスケール画像として示している。例EX1の変換画像では、(1-1)に記載のプライバシー誤差ではなく、(2-1)に記載のMSEを最大化することで評価されるプライバシー誤差を用いて画像変換器を学習した。また、本実施形態に対する対比例EX2の変換画像はプライバシー誤差を用いずに学習したものである。プライバシー誤差と量子化考慮学習を用いた場合の変換画像(例EX1)の方が、用いない画像(例EX2)よりも平坦化されてプライバシーが保護されやすい。一方で、同じ繰り返し回数で学習したとしても、タスク精度(例えば姿勢推定であり、結果R1,R2がそれぞれ例EX1,EX2の画像から推定した姿勢の骨格を共通の原画像に対して白丸及び白線で重畳したものである)は本実施形態による例EX1の画像でも十分に保つことができる。これは、例EX1の画像ではタスク処理にとって、不要な情報は平坦化し、重要な情報であるエッジやグラデーションのみが保持されやすくなるからだと考えられる。
【0068】
上記の通り例EX1は、タスク精度の観点で対比例EX2よりも性能がほぼ同等または若干低下しやすい傾向があるものの、プライバシー保護精度の観点では若干、勝っており、例EX1および対比例EX2はいずれも、一定精度でプライバシー保護を実現し、且つ、タスク精度も確保可能となるものである。すなわち、タスク精度とプライバシー保護精度とはトレードオフの関係があるため、総合性能では、例EX1及びEX2は概ね同程度ととらえることができる。すなわち、タスク精度及びプライバシー保護精度のいずれに関しても所定精度を確保できるという点で、同程度の性能を有するものである。(学習の際の収束判定等の設定によっても当該性能の若干の優劣は幾分か変動しうる。)対比例EX2の実施形態は本発明の一実施形態として、変形例(F)として後述する。
【0069】
(2-2)…プライバシー保護されている低画質画像に近づけるようにするもの
この(2-2)の実施形態では、第1更新部21は、画像変換部11が出力した変換画像と、この変換画像の原画像である訓練用画像と、を読み込み、訓練用画像から低画質画像を生成したうえで、低画質画像と変換画像との画像の相違を定量化したものとして例えばMSEを最小化するように、誤差を逆伝搬して画像変換部11を学習させ、そのパラメータを更新すればよい。低画質画像と変換画像とのMSEを最小化する方向に学習が行われることで、画像変換部11による変換画像が低画質画像に類似するものとなるよう学習が進行し、変換画像においてプライバシー保護を実現することができる。
【0070】
第1更新部21では、MSE算出のために訓練用画像より生成する低画質画像として例えば、訓練用画像が平坦化された減色画像を用いればよい。減色画像の生成には任意の既存手法を用いてよく、例えば大津の2値化により2値化してもよいし、k-means法(k平均化法)でk個(k≧2)の代表色に置き換えることで減色してもよい。
【0071】
以上のように、階調数(ビット深度)に注目する、平坦化した理想画像に近づけるなど、様々なアプローチの各実施形態(1-1)~(2-2)で第1更新部21において誤差を計算し、図4のフローに沿って敵対的学習の枠組みにより学習することで、画像変換部11による変換画像を平坦化によるプライバシー保護が実現され、且つ、タスク精度を保つものとすることができる。
【0072】
以下、種々の変形例や追加例等に関してさらに説明を行う。
【0073】
(A) 学習装置20による学習は、図4のフローに沿って、ステップS13において収束判定を得るまで繰り返し実施されるが、この際のステップS11における第1更新部21による誤差算出による画像変換部11のパラメータ更新は、4つの実施形態(1-1)~(2-2)のいずれかで固定してもよいが、学習の進行に沿って、実施形態を切り替えるようにしてもよい。
【0074】
例えば、以下のような切り替えが可能であり、様々な画風の平坦化画像を実施形態の組み合わせによって作成するよう学習することが可能である。
【0075】
(A-1) 実施形態(1-1)を数エポック行った後に、実施形態(2-1)によるMSE最大化を適用することを収束判定が得られるまで繰り返すと、図(対象物などのプライバシー保護対象となりうる前景)と背景とが分離されたプライバシー保護画像が生成されるよう学習できる。
(A-2) 実施形態(1-2)を数エポック行った後に、実施形態(2-1)によるMSE最大化を適用することを収束判定が得られるまで繰り返すと、全体的に画像が薄くなって平坦化されたプライバシー保護画像が生成されるよう学習できる。
【0076】
なお、図4のステップS11,S12を1エポックとすればよく、ステップS13からS11,S12に戻る都度、エポック数が1ずつ増えるものとすればよい。この際、ステップS11,S12において、複数の訓練用画像で構成されるミニバッチは共有して学習してもよいし、しなくてもよい。
【0077】
(A-3) 実施形態(1-1)のみを固定的に適用したとすると、学習の進行によっては、平坦化が必ずしも十分ではなく、異なる画素値が隣り合う傾向の強いハーフトーン画像(網点画像)が得られるように学習されてしまう恐れもありうる。これに対して、実施形態(1-1)に対して実施形態(1-2)や(2-2)を組み合わせて、ハーフトーン化を防いで十分に平坦化されるよう、学習できる。組み合わせに関しては、(1-1)を数エポック行った後に(1-2)又は(2-2)を収束するまで繰り返してもよいし、交互に繰り返すようにしてもよい。
【0078】
(B) 図4のステップS12では、第2更新部22において、タスク部12でプライバシー保護画像に対してタスクを実施した結果が、予め与えられる正解に近いほど値が小さくなる誤差(「タスク誤差」とする)を用いて、逆伝播により画像変換部11(及びタスク部12)のパラメータを更新した。この変形例として、タスク誤差に、ステップS11で第1更新部21が計算するのと同様の誤差(「プライバシー誤差」)も重みづけ和として加算した誤差を用いて、当該重みづけ和としての誤差を逆伝播することにより、ステップS12において、逆伝播により画像変換部11(及びタスク部12)のパラメータを更新するようにしてもよい。
【0079】
すなわち、ステップS12において、共通の訓練用画像を用いて計算されるタスク誤差及びプライバシー誤差をET及びEPとすると、以下の式(1)に示されるこれらの重みづけ和の誤差Eを最小化するように、誤差の逆伝播を行うことで、画像変換部11(及びタスク部12)のパラメータを更新するようにしてもよい。λは正の定数で、プライバシー誤差EPを考慮する割合に相当する係数である。これは非特許文献3でも行っており、プライバシーとタスク精度のトレードオフを取りやすくするための工夫だと考えられる。
E=λEP+ET …(1)
【0080】
(C) 実施形態(1-1)で説明した量子化考慮学習(すなわち、順伝播の際は階段関数、逆伝播の際はなだらかな関数を用いる学習)を利用し、且つ、プライバシー保護誤差としては、実施形態(1-1)において説明した図6,7のような関数によって評価するのではなく、実施形態(2-1)で説明したMSE最大化によってプライバシー保護誤差を評価する手法を用いてもよい。
【0081】
(D) タスク部12のタスクの種類によっては、同じ様な画素値が続きやすい平坦なヒートマップを目標として誤差を最小化するように学習することで、タスク部12のパラメータを得るものがある。例えば、顕著性マップ(サリエンシーマップ)のタスクがある。以下の非特許文献4に開示される姿勢推定タスク内部では、正解データの骨格の座標からヒートマップを作成し、それに近づけるように深層ニューラルネットワークのモデルを学習している。
[非特許文献4] Chen, Yilun, et al. "Cascaded pyramid network for multi-person pose estimation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
【0082】
このように、タスク出力やタスク内部でヒートマップを用いる手法は、画像変換器において解析が難しくない箇所の画像を事前に平坦化しておくことでプライバシー保護しやすくする傾向がある。よって、タスク部12がヒートマップを使用している場合には、ランダムノイズ等を挿入する非特許文献3にあげたような従来の画像変換器学習手法ではなく、本実施形態のように、平坦化を促すプライバシー誤差を最小化するようにするとよい。
【0083】
(E) タスクが姿勢推定である場合、姿勢推定可能な状態でプライバシーを保護する応用例は様々であるが、例えば以下がある。
・宅内で運動した画像をサーバに送信し、姿勢推定による画像解析を行い、アドバイスを受ける場合に、宅内撮影画像の人物・肌・服装・部屋などのプライバシーを守ることができる。
・ドライブレコーダーで撮影した車外の映像をサーバに送信する際に、歩行者の挙手姿勢、転倒姿勢等をAI(人工知能)で認識できる状態を保ちつつ歩行者のプライバシーを守ることができる。
・サーバに集められたドライブレコーダーで撮影した車外の映像の公開レベルをあげてデータを移管・公開する際に、歩行者の挙手姿勢、転倒姿勢等をAIで認識できる状態を保ちつつ歩行者のプライバシーを守ることができる。
・ドライブレコーダーで撮影した車内の映像から、運転者や同乗者の行為(携帯で電話している、後ろを向いている等)を検出できるようにしつつ、運転手や車内の同乗者のプライバシーを守り、映像をサーバに送信する・公開することができる。
【0084】
(F) 前述した図2の対比例EX2の実施形態は、次のようにすればよい。すなわち、図4のフローではステップS11を省略し、ステップS12のみをステップS13で収束判定が得られるまで繰り返すようにすればよい。すなわち、ステップS11のプライバシー誤差を評価することなく、ステップS12のタスク誤差のみを用いて学習すればよい。またこの際、パラメータを学習する対象となる画像変換部11には量子化考慮学習を適用し、画像変換部11を構成するネットワークの出力層等の活性化関数として階段関数を設定しておけばよい。図2で対比例EX2として説明したように、量子化考慮学習のみによっても結果的にプライバシー保護を実現することが可能であるため、ステップS11を省略してタスク誤差のみによって学習することによっても、プライバシー保護及びタスク精度確保が可能となる。また、ステップS11を省略しプライバシー誤差を評価しないことにより、高速に学習することが可能である。
【0085】
(G) 図8は、一般的なコンピュータ装置70におけるハードウェア構成を示す図であり、以上説明してきた各実施形態のタスク実行装置10及び学習装置20はそれぞれ、このような構成を有する1つ以上のコンピュータ装置70として実現可能である。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサ72(GPU(グラフィック演算装置)や深層学習専用プロセッサ等)、CPU71や専用プロセッサ72にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77と、これらの間でデータを授受するためのバスBSと、を備える。
【0086】
タスク実行装置10及び学習装置20の各部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又は専用プロセッサ72によって実現することができる。また、学習装置20による学習方法は、図4の各ステップに対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又は専用プロセッサ72によって実施することができる。
【符号の説明】
【0087】
10…タスク実行装置、20…学習装置
11…画像変換部、12…タスク部、21…第1更新部、22…第2更新部
図1
図2
図3
図4
図5
図6
図7
図8