JP7303844B2 - データ拡張システム、データ拡張方法、及びプログラム - Google Patents

データ拡張システム、データ拡張方法、及びプログラム Download PDF

Info

Publication number
JP7303844B2
JP7303844B2 JP2021090989A JP2021090989A JP7303844B2 JP 7303844 B2 JP7303844 B2 JP 7303844B2 JP 2021090989 A JP2021090989 A JP 2021090989A JP 2021090989 A JP2021090989 A JP 2021090989A JP 7303844 B2 JP7303844 B2 JP 7303844B2
Authority
JP
Japan
Prior art keywords
image
data
input
machine learning
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021090989A
Other languages
English (en)
Other versions
JP2021120914A5 (ja
JP2021120914A (ja
Inventor
満 中澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to JP2021090989A priority Critical patent/JP7303844B2/ja
Publication of JP2021120914A publication Critical patent/JP2021120914A/ja
Publication of JP2021120914A5 publication Critical patent/JP2021120914A5/ja
Application granted granted Critical
Publication of JP7303844B2 publication Critical patent/JP7303844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Description

本発明は、データ拡張システム、データ拡張方法、及びプログラムに関する。
従来、教師あり機械学習を利用した機械学習モデルが知られている。例えば、非特許文献1には、教師画像の中からランダムに選択した部分にマスク処理を施して新たな教師画像を取得し、データ拡張を実現する技術が記載されている。
T. Devries and G. W. Taylor. "Improved regularization of convolutional neural networks with cutout." arXiv preprint arXiv: 1708.04552, 2017.5
しかしながら、非特許文献1のように、マスク処理を施す部分をランダムに選択したとしても、学習させたい部分がマスクされてしまったり、学習させたくない部分がマスクされなかったりすることがあるので、効率的ではなかった。このため、十分な学習精度を得るには非常に多くの教師画像を作成する必要があり、メモリの消費量が増大したり、学習処理に時間がかかったりしていた。
本発明は上記課題に鑑みてなされたものであって、その目的は、メモリ消費量の軽減及び学習処理の高速化の少なくとも一方を実現可能なデータ拡張システム、データ拡張方法、及びプログラムを提供することである。
上記課題を解決するために、本発明に係るデータ拡張システムは、認識を行う機械学習モデルに入力データを入力する入力手段と、前記入力データを入力とした前記機械学習モデルによる認識における根拠となる前記入力データの特徴部分を特定する特定手段と、前記特徴部分の少なくとも一部を加工して加工データを取得する加工手段と、前記加工データに基づいて、データ拡張をするデータ拡張手段と、を含むことを特徴とする。
本発明に係るデータ拡張方法は、認識を行う機械学習モデルに入力データを入力する入力ステップと、前記入力データを入力とした前記機械学習モデルによる認識における根拠となる前記入力データの特徴部分を特定する特定ステップと、前記特徴部分の少なくとも一部を加工して加工データを取得する加工ステップと、前記加工データに基づいて、データ拡張をするデータ拡張ステップと、を含むことを特徴とする。
本発明に係るプログラムは、認識を行う機械学習モデルに入力データを入力する入力手段、前記入力データを入力とした前記機械学習モデルによる認識における根拠となる前記入力データの特徴部分を特定する特定手段、前記特徴部分の少なくとも一部を加工して加工データを取得する加工手段、前記加工データに基づいて、データ拡張をするデータ拡張手段、としてコンピュータを機能させる。
本発明の一態様によれば、前記加工手段は、前記特徴部分の一部を加工対象部分として選択し、当該選択した加工対象部分を加工して前記加工データを取得する、ことを特徴とする。
本発明の一態様によれば、前記加工手段は、前記特徴部分内の領域ごとに算出されるスコアに基づいて、前記加工対象部分を選択する、ことを特徴とする。
本発明の一態様によれば、前記加工手段は、互いに異なる複数の前記加工対象部分を選択し、当該選択した複数の加工対象部分に基づいて、複数の前記加工データを取得し、前記データ拡張手段は、前記複数の加工データに基づいて、前記データ拡張をする、ことを特徴とする。
本発明の一態様によれば、前記加工手段は、前記特徴部分の中から、前記複数の加工対象部分をランダムに選択する、ことを特徴とする。
本発明の一態様によれば、前記特定手段は、複数の前記特徴部分を特定し、前記加工手段は、前記複数の特徴部分に基づいて、複数の前記加工データを取得し、前記データ拡張手段は、前記複数の加工データに基づいて、前記データ拡張をする、ことを特徴とする。
本発明の一態様によれば、前記入力データは、前記機械学習モデルに入力される入力画像であり、前記特定手段は、前記入力画像の特徴部分を特定し、前記加工手段は、前記特徴部分の少なくとも一部を加工して加工画像を取得し、前記データ拡張手段は、前記加工画像に基づいて、前記データ拡張をする、ことを特徴とする。
本発明の一態様によれば、前記加工手段は、前記特徴部分の少なくとも一部にマスク処理を施して前記加工画像を取得し、前記データ拡張手段は、前記マスク処理が施された前記加工画像に基づいて、前記データ拡張をする、ことを特徴とする。
本発明の一態様によれば、前記加工手段は、前記特徴部分の少なくとも一部にインペインティング処理を施して前記加工画像を取得し、前記データ拡張手段は、前記インペインティング処理が施された前記加工画像に基づいて、前記データ拡張をする、ことを特徴とする。
本発明の一態様によれば、前記特定手段は、前記機械学習モデルから出力される前記認識の結果に基づいて前記特徴部分を特定する、ことを特徴とする。
本発明の一態様によれば、前記機械学習モデルは、少なくとも1以上の畳み込み層を含むモデルであり、前記特定手段は、前記畳み込み層から出力される特徴マップに更に基づいて前記特徴部分を特定する、ことを特徴とする。
本発明の一態様によれば、前記機械学習モデルは、前記認識の結果と、前記認識結果に対する活性化マップを出力し、前記特定手段は、前記活性化マップに基づいて前記特徴部分を特定する、ことを特徴とする。
本発明の一態様によれば、前記機械学習モデルは、複数の教師データを含む教師データセットが学習済みであり、前記入力データは、前記教師データセットに含まれており、前記データ拡張手段は、前記加工データを含む教師データを前記教師データセットに追加することによって、前記データ拡張をする、ことを特徴とする。
本発明によれば、メモリ消費量の軽減及び学習処理の高速化の少なくとも一方を実現することができる。
データ拡張システムの全体構成を示す図である。 教師データに含まれる教師画像の一例を示す図である。 ヒートマップの一例を示す図である。 加工画像の一例を示す図である。 データ拡張システムで実現される機能の一例を示す機能ブロック図である。 教師データセットのデータ格納例を示す図である。 データ拡張システムにおいて実行される処理の一例を示すフロー図である。 変形例(1)における加工画像を示す図である。 加工対象部分がランダムに選択される様子を示す図である。 入力画像に複数の特徴部分が存在する場合のヒートマップの一例を示す図である。
[1.データ拡張システムの全体構成]
以下、本発明に係るデータ拡張システムの実施形態の例を説明する。図1は、データ拡張システムの全体構成を示す図である。図1に示すように、データ拡張システムSは、サーバ10及びユーザ端末20を含み、これらは、インターネットなどのネットワークNに接続可能である。なお、図1では、サーバ10及びユーザ端末20の各々を1台ずつ示しているが、これらは複数台あってもよい。
サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。
ユーザ端末20は、ユーザが操作するコンピュータである。例えば、ユーザ端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
操作部24は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画像を表示する。
なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
[2.データ拡張システムの概要]
本実施形態のデータ拡張システムSは、機械学習モデルに入力される入力データの特徴部分を特定し、特徴部分の少なくとも一部を加工した加工データに基づいて、データ拡張をする。
機械学習モデルは、教師あり機械学習により学習されたモデルである。機械学習モデルは、入力データに基づいて認識を行う。本明細書において認識とは、入力データの分析、解析、理解、分類、又は識別を含み、入力データから何かを検出したり、何かの位置を特定したりすることを含む、概念であり得る。機械学習モデルは、任意の認識を行うことができ、例えば、画像認識、文字認識、音声認識、人間の行動パターンの認識、又は自然界の現象の認識を行うことができる。機械学習モデルは、入力データの分類で用いられる場合、分類学習器と呼ばれることもある。
本実施形態では、分類学習器が行う認識の一例として、入力データの分類を説明する。機械学習モデルは、複数の分類の中で、入力データが属する少なくとも1つの分類を出力する。例えば、機械学習モデルは、学習済みの分類ごとに、入力データが属する蓋然性を示すスコアを出力する。また例えば、機械学習モデルは、特徴部分を識別可能なデータを出力する。このデータについては、後述する。機械学習モデルは、プログラム及びパラメータを含み、学習処理によってパラメータの調整が行われる。機械学習自体は、公知の種々の手法を適用可能であり、例えば、CNN(Convolutional Neural Network)、ResNet(Residual Network)、又はRNN(Recurrent Neural Network)を利用可能である。
入力データは、機械学習モデルに入力されるデータである。別の言い方をすれば、入力データは、機械学習モデルによる処理対象(認識対象)となるデータである。本実施形態のように、機械学習モデルが入力データの分類を行う場合には、入力データは、分類対象となるデータである。入力データは、任意のデータ形式であってよく、例えば、画像、動画、テキスト、数値、文書、音声、又はこれらの組み合わせである。
例えば、入力データが画像又は動画であれば、画像又は動画に示されたオブジェクトが機械学習モデルによって分類される。なお、オブジェクトは、カメラで撮影された画像又は動画であれば被写体であり、CGであれば3Dモデルやイラストなどである。また例えば、入力データがテキスト又は文書であれば、テキスト又は文書に記述された内容が機械学習モデルによって分類される。また例えば、入力データが音声であれば、音声に示された内容又は発話者が機械学習モデルによって分類される。
なお、本実施形態では、機械学習モデルが入力データの特徴量を計算する場合を説明するが、特徴量は、機械学習モデル以外のプログラムによって計算されてもよい。この場合、特徴量が機械学習モデルに入力されるので、特徴量が入力データに相当することになる。
特徴部分は、入力データにおける特徴的な部分である。別の言い方をすれば、特徴部分は、機械学習モデルに学習済みの特徴が表れた部分である。特徴部分は、機械学習モデルが着目した部分、又は、機械学習モデルによる分類の根拠となった部分ということもできる。入力データには、1つの特徴部分だけが存在することもあるし、複数の特徴部分が存在することもある。
例えば、入力データが画像又は動画であれば、オブジェクトの特徴(例えば、形状的な特徴又は色彩的な特徴)が表れた部分が特徴部分に相当する。また例えば、入力データがテキスト又は文書であれば、特徴的な文字列(例えば、所定のキーワード)が記述された部分が特徴部分に相当する。また例えば、入力データが音声であれば、特徴的な音声(例えば、所定の波形)が表れた部分が特徴部分に相当する。
加工は、データ内容を変更又は削除することである。加工は、編集ということもできる。特徴部分の全てが加工されてもよいし、特徴部分の一部だけが加工されてもよい。例えば、入力データが画像又は動画であれば、画素値、輝度、若しくは透明度といった値を変更すること、一部の領域を隠すこと、又は、一部の領域を切り出すことは、加工に相当する。また例えば、入力データがテキスト又は文書であれば、文字列、表、又は図などを変更したり削除したりすることは、加工に相当する。また例えば、入力データが音声であれば、波形を変更したり削除したりすることは、加工に相当する。
加工データは、特徴部分の少なくとも一部が加工されることによって生成されたデータである。別の言い方をすれば、加工データは、入力データが加工された後のデータである。加工データのうち、加工された部分は入力データと異なり、加工されていない部分は入力データと同じである。例えば、入力データが画像又は動画であれば、少なくとも1つの画素に対して加工が施された画像又は動画は、加工データに相当する。また例えば、入力データがテキスト又は文書であれば、少なくとも1つの文字列に対して加工が施されたテキスト又は文書は、加工データに相当する。また例えば、入力データが音声であれば、少なくとも一部の波形に対して加工が施されたデータは、加工データに相当する。
データ拡張は、教師データの数を増やすことである。別の言い方をすれば、データ拡張は、教師データを拡張すること、教師データを多様化すること、又は、教師データを水増しすることである。例えば、既存の教師データを利用して新たな教師データを生成することは、データ拡張に相当する。後述する教師データセットに教師データを追加することによってデータ拡張が行われてもよいし、既存の教師データセットとは別の教師データセットを新たに生成することによってデータ拡張が行われてもよい。
教師データは、機械学習で利用されるデータである。教師データは、学習データと呼ばれることもある。例えば、教師データは、入力データと同じ形式のデータと、正解となるラベル(アノテーション)と、がペアになったデータである。本実施形態では、機械学習モデルが入力データを分類するので、ラベルは、入力データの分類を識別する情報の一例である。例えば、入力データが画像又は動画であれば、教師データは、画像又は動画と、オブジェクトの分類を示すラベルと、がペアになったデータである。教師データは、入力と出力のペア、又は、設問と回答のペアということもできる。また例えば、入力データがテキスト又は文書であれば、教師データは、テキスト又は文書と、記述された内容の分類を示すラベルと、がペアになったデータである。また例えば、入力データが音声であれば、音声と、音声の内容又は発話者の分類を示すラベルと、がペアになったデータである。
一般的に、機械学習では、多数の教師データを利用して学習処理が実行される。本実施形態では、複数の教師データの集まりを教師データセットと記載し、教師データセットに含まれる1つ1つのデータを教師データと記載する。このため、本実施形態で教師データと記載した箇所は、上記説明したペアを意味し、教師データセットは、ペアの集まりを意味する。
本実施形態では、入力データが画像であり、機械学習モデルが画像に示されたオブジェクトを分類する場合を例に挙げて、データ拡張システムSの処理を説明する。以降、入力データを入力画像と記載し、加工データを加工画像と記載する。このため、本実施形態で入力画像と記載した箇所は、入力データと読み替えることができ、加工画像と記載した箇所は、加工データと読み替えることができる。
例えば、ユーザは、学習対象となる分類ごとに、少なくとも1つの教師画像を用意する。犬や猫などの動物を分類する機械学習モデルを例に挙げると、ユーザは、動物が撮影された教師画像と、当該動物の分類を示す分類情報と、がペアになった教師データを用意する。なお、分類情報は、分類を識別可能な情報であればよく、例えば、分類を一意に識別するIDであってもよいし、分類を表す文字列であってもよい。
基本的には、教師データセットに含まれる教師データが多いほど、機械学習モデルに種々の特徴を学習させることができるので、機械学習モデルの精度が向上する。しかし、ユーザ自ら多数の教師データを用意するのは非常に手間がかかり困難である。そこで、本実施形態では、ある程度(例えば、10~100個程度)の教師データだけをユーザに用意させ、データ拡張システムS側でデータ拡張をする。
図2は、教師データに含まれる教師画像の一例を示す図である。図2に示すように、教師画像I1には、学習対象の分類の1つである犬が示されている。例えば、ユーザは、教師画像I1と、犬であることを示す分類情報と、のペアを教師データとして作成する。ユーザは、猫などの他の分類についても、教師画像を用意して、教師画像と分類情報のペアを教師データとして作成する。
ユーザは、上記のようにして、ある程度の数の教師データを用意し、教師データセットを作成する。例えば、ユーザは、ユーザ端末20を操作して、サーバ10に教師データセットをアップロードし、機械学習モデルを学習させる。この時点では、機械学習モデルは、ある程度の数の教師データに基づいて学習されるので、ある程度の精度で入力画像を分類することができる。しかし、教師データの数があまり多くはないので、機械学習モデルは、さほど高い精度ではなく、細かな特徴を学習できていない可能性がある。
そこで、データ拡張システムSは、学習済みの教師画像のうち、機械学習モデルによる分類の根拠となる特徴部分を加工し、新たな教師画像を取得する。分類の根拠とは、機械学習モデルによる認識において着目される部分である。
なお、本実施形態では、機械学習モデルの一例としてCNNを説明し、分類の根拠となる部分が可視化されたヒートマップが生成される場合を説明する。CNNは、入力画像の分類を行い、ヒートマップは、Grad-CAMと呼ばれる手法を利用して生成される。即ち、本実施形態では、入力画像と特定する手段と、ヒートマップを生成する手段と、が互いに異なる場合について説明する。
図3は、ヒートマップの一例を示す図である。図3のヒートマップHは、図2の教師画像I1を入力画像として機械学習モデルに入力した場合に、機械学習モデルによる分類の根拠となった特徴部分を示す。例えば、ヒートマップHは、入力画像と同じサイズの画像であり、特徴が強いほど色が濃くなる。図3では、ヒートマップHの色を模式的に網点で示しており、網点の密度が高いほど色が濃く、網点の密度が低いほど色が薄いものとする。
本実施形態では、ヒートマップHのうち、所定の濃さ以上の色が表れた部分を特徴部分とする。図3の例であれば、網点で示された符号「P」の部分を特徴部分とする。例えば、特徴部分Pは、入力画像である教師画像I1に示された犬の鼻付近になっている。これは、犬の鼻付近の特徴が機械学習モデルに強く学習されていることを意味する。
一方、犬の耳や胴体の部分については、ヒートマップHに色が表れていない。これは、犬の耳や胴体の特徴が機械学習モデルに学習されていないことを意味する。現状の機械学習モデルは、犬の鼻付近だけの特徴に基づいて分類しているので、耳や胴体などの他の特徴を学習させることができれば、機械学習モデルの精度を向上させることができる。そこで、本実施形態のデータ拡張システムSは、犬の鼻付近の特徴が低減する又は消えるように、入力画像である教師画像I1を加工して加工画像を取得する。
図4は、加工画像の一例を示す図である。図4に示すように、加工画像I2は、入力画像である教師画像I1のうち、特徴部分Pがマスクされており、犬の鼻付近の特徴が消えた状態になっている。加工画像I2は、鼻付近の特徴が消されているので、耳や胴体などの特徴が相対的に強く表れている。このため、加工画像I2と、犬を示す分類情報と、のペアを新たな教師データとすれば、犬の耳や胴体などの特徴を学習させることが可能になる。
以上のように、データ拡張システムSは、ユーザがわざわざ新たな教師画像を用意しなくても、既存の教師画像I1に基づいて加工画像I2を取得し、新たな教師画像とすることによって、効率的なデータ拡張を実現することができるようになっている。以降、データ拡張システムSの詳細を説明する。なお、以降の説明では、特に図面を参照する必要のないときは、教師画像I1や加工画像I2などの符号を省略する。
[3.データ拡張システムにおいて実現される機能]
図5は、データ拡張システムSで実現される機能の一例を示す機能ブロック図である。図5に示すように、データ拡張システムSでは、データ記憶部100、入力部101、特定部102、加工部103、及びデータ拡張部104が実現される。本実施形態では、これら各機能がサーバ10によって実現される場合を説明する。
[3-1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、教師データセットDSと、機械学習モデルMと、について説明する。
図6は、教師データセットDSのデータ格納例を示す図である。図6に示すように、教師データセットDSには、教師画像と分類情報とのペアである教師データが複数個格納されている。図6では、教師データセットDSをテーブル形式で示しており、個々のレコードが教師データに相当する。
なお、図6では、分類情報を「犬」や「猫」などの文字で示しているが、これらを識別するための記号又は数値によって示されるようにしてもよい。教師画像は、機械学習モデルMに対する入力(設問)に相当し、分類情報は、機械学習モデルMからの出力(回答)に相当する。
本実施形態では、データ拡張が行われる前は、教師データセットDSには、ユーザが用意した複数の教師データだけが含まれる。その後、後述するデータ拡張部104によりデータ拡張が行われると、教師データセットDSには、ユーザが用意した複数の教師データと、データ拡張によって追加された少なくとも1つの教師データと、が含まれる。
データ記憶部100は、機械学習モデルMのプログラム(アルゴリズム)やパラメータなどを記憶する。ここでは、教師データセットDSによって学習済み(パラメータの調整済み)の機械学習モデルMがデータ記憶部100に記憶される場合を説明するが、学習前(パラメータの調整前)の機械学習モデルMがデータ記憶部100に記憶されていてもよい。
[3-2.入力部]
入力部101は、制御部11を主として実現される。入力部101は、認識を行う機械学習モデルMに入力画像を入力する。例えば、機械学習モデルMは、入力画像が入力されると入力画像の特徴量を計算し、当該計算された特徴量に基づいて入力画像を分類し、入力画像が属する分類を示す分類情報を出力する。分類情報は、1つだけ出力されてもよいし、複数の分類情報が出力されてもよい。
先述したように、機械学習モデルMは、入力画像が属する分類を示す分類情報を出力するのではなく、学習済みの複数の分類の各々のスコアを出力してもよい。この場合、入力画像は、スコアが最も高い分類、又は、スコアが閾値以上の分類に属することになる。
本実施形態の機械学習モデルMは、複数の教師データを含む教師データセットDSが学習済みであり、入力画像は、教師データセットDSに含まれる何れかの教師画像となる。即ち、入力画像は、機械学習モデルMに学習済みの教師画像の何れかとなる。
入力部101は、データ記憶部100に記憶された教師データセットDSの中から、処理対象となる何れかの教師画像を選択し、入力画像として機械学習モデルMに入力する。例えば、入力部101は、ユーザが指定した教師画像を選択してもよいし、ランダムに教師画像を選択してもよい。また例えば、入力部101は、加工部103による加工が行われていない教師画像を選択してもよいし、加工画像を取得した数が閾値未満の教師画像を選択してもよい。
なお、入力画像は、機械学習モデルMに入力される画像であればよく、機械学習モデルMにまだ学習させていない画像であってもよい。この場合、教師データセットDSのうち、まだ学習させていない教師画像が入力画像に相当してもよいし、教師データセットDSとは別に記憶された画像が入力画像に相当してもよい。例えば、まだ教師データセットDSに含まれていない画像がユーザ端末20からアップロードされ、入力画像として入力されてもよい。
[3-3.特定部]
特定部102は、制御部11を主として実現される。特定部102は、入力画像を入力とした機械学習モデルMによる認識における根拠となる入力画像の特徴部分を特定する。先述したように、本実施形態では、認識を行う機械学習モデルMと、ヒートマップHを生成する手段と、が互いに別々であり、Grad-CAMと呼ばれる手法を利用して特徴部分が特定される場合を説明する。
Grad-CAMは、機械学習モデルMにより計算された特徴マップにおける任意の位置に勾配の変化を加え、その際に生じる出力の変化の大きさをもとに、機械学習モデルMによる認識における根拠となる重要な位置を特定手法である。この手法は、機械学習モデルMによる認識に与える影響が大きい位置は、勾配の変化も大きいことに着目している。例えば、特定部102は、機械学習モデルMが最終的に出力する認識結果(例えば、分類のスコア等)を取得した後に、当該認識結果と、機械学習モデルMの中間的な出力である特徴マップと、の両方に基づいて、ヒートマップHを生成する。
なお、Grad-CAMを利用したヒートマップHの生成方法自体は、公知の技術を利用可能なため、ここでは、ヒートマップHを生成する際に利用される数式等の詳細(https://arxiv.org/abs/1610.02391、「Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization」)を省略する。また、Grad-CAM以外にも、Grad-CAM++、Guided Grad-CAM、又はSmooth Gradを利用してヒートマップHが生成されてもよい。
上記のように、特定部102は、機械学習モデルMから出力される認識の結果に基づいて特徴部分を特定する。本実施形態では、機械学習モデルMは、少なくとも1以上の畳み込み層を含むモデル(例えば、CNN)なので、特定部102は、畳み込み層から出力される特徴マップに更に基づいて特徴部分を特定することになる。なお、機械学習モデルMは、畳み込み層を含まないモデルであってもよく、この場合には、特定部102は、特徴マップを利用せずに、機械学習モデルMから出力される認識結果に基づいて、特徴部分を特定する。例えば、機械学習モデルMとして、主に言語解析で利用され、畳み込み層を含まないRNN又はFaster-RNNを利用する場合には、特定部102は、機械学習モデルMから出力される認識結果に基づいて、特徴部分を特定する。
また、図3では、機械学習モデルMの出力を可視化するためにヒートマップHを例示したが、機械学習モデルMは、ヒートマップHに相当する情報を出力すればよく、例えば、入力画像の画素又は領域ごとに、特徴部分である蓋然性(確率)を示す数値を出力してもよい。この数値が高いほど特徴的であることを意味する。図3のヒートマップHは、この数値を画像として表現したものといえる。なお、機械学習モデルMは、特に蓋然性を示す数値は出力せずに、候補部分の位置を示す座標情報だけを出力してもよい。
例えば、特定部102は、入力画像のうち、特徴部分である蓋然性を示す数値が閾値以上の部分を特徴部分として特定する。例えば、図3の例であれば、特定部102は、入力画像のうち、ヒートマップHにおける色が付けられた部分を特徴部分として特定する。なお、特定部102は、色が付けられた全ての部分を特徴部分として特定する必要はなく、例えば、色が最も薄い部分は特徴部分として特定しなくてもよいし、色が最も濃い部分だけを特徴部分として特定してもよい。
なお、特徴部分の特定方法は、Grad-CAMを利用した手法に限られない。特徴部分の特定方法自体は、公知の手法を適用可能である。例えば、物体性の高い領域を示すバウンディングボックスを特定可能な機械学習モデルMを利用するのであれば、特定部102は、バウンディングボックス内を特徴部分として特定してもよい。
また、特定部102は、バウンディングボックスそのものを特徴部分とするのではなく、バウンディングボックス内の一部を特徴部分として特定してもよい。例えば、特定部102は、バウンディングボックス内にエッジ処理を施してオブジェクトの輪郭線を抽出し、当該輪郭線の内部を特徴部分として特定してもよいし、バウンディングボックスの中心付近の領域だけを特徴部分として特定してもよい。
[3-4.加工部]
加工部103は、制御部11を主として実現される。加工部103は、特徴部分の少なくとも一部を加工して加工画像を取得する。加工画像は、入力画像とは別の画像なので、加工部103は、入力画像を上書きして加工画像とするのではなく、入力画像とは別画像(別データ)として、加工画像を生成(新規作成又はファイル名を変えて保存)する。
例えば、加工部103は、特徴部分の少なくとも一部にマスク処理を施して加工画像を取得する場合を説明する。マスク処理は、画像内の特定の部分を抽出する処理(別の言い方をすれば、画像内の特定の部分を隠す処理)であり、マスキングと呼ばれることもある。マスク処理自体は、公知の画像処理を利用すればよく、ここでは、抽出対象となる部分を示すマスク画像(基準画像)を利用する場合を例に挙げて説明する。なお、本実施形態では、特徴部分の全部を加工対象とする場合を説明するが、後述する変形例のように、特徴部分の一部だけを加工対象としてもよい。
例えば、加工部103は、入力画像と同じサイズのマスク画像を作成する。ここでは、マスク画像は、特徴部分を黒色とし、それ以外の部分を白色とした二値画像とする。例えば、黒色は抽出しない部分(マスクする部分)を示し、白色は抽出する部分(マスクしない部分)を示す。図2~図4の画像を例に挙げると、加工部103は、ヒートマップHの色の付いた領域を黒色とし、色の付いていない部分を白色としたマスク画像を作成する。加工部103は、入力画像である教師画像I1に対してマスク画像を重ね合せ、マスク画像の白色の部分だけを抽出することによって、加工画像I2を取得する。
なお、マスク画像は、二値画像ではなく、例えば、グレースケール画像又はカラー画像であってもよい。また、加工部103による加工は、マスク処理に限られず、種々の加工を適用可能である。例えば、加工方法は、特徴部分の少なくとも一部の特徴を低下させたり、特徴部分の少なくとも一部の特徴を無くしたりする加工であればよい。
例えば、加工部103は、特徴部分の少なくとも一部にインペインティング処理を施して加工画像を取得してもよい。インペインティング処理は、処理対象の領域を周囲の色で塗りつぶす処理であり、画像修復と呼ばれることもある。インペインティング処理自体は、公知の画像処理を利用すればよく、ここでは、処理対象となる領域の周囲の何れかの画素の色で塗りつぶす場合を説明する。なお、周囲とは、処理対象となる領域に隣接する画素、又は、処理対象となる領域から所定画素以内の画素である。
本実施形態では、特徴部分の全部が加工対象となる場合を説明するので、例えば、加工部103は、入力画像のうち、特徴部分の周囲の画素の色(画素値)を取得する。例えば、加工部103は、特徴部分に隣接する何れかの画素、又は、特徴部分から所定画素以内の画素の色を取得する。加工部103は、当該取得した色で特徴部分の内部を塗りつぶすことによって、加工画像を取得する。なお、特徴部分の内部を塗りつぶす色は、周囲の1画素の色ではなく、周囲の複数の画素の色を混合した色であってもよい。また、特徴部分の内部は、単一の色で塗りつぶす必要はなく、位置に応じて色を変化させてもよい。また、加工部103は、色だけでなく、テクスチャや形状等についても周囲と調和するように塗りつぶし(いわゆるコンテンツに応じた塗りつぶし)をしてもよい。
また例えば、加工部103は、特徴部分の少なくとも一部の輝度を低下させることによって加工してもよい。また例えば、加工部103は、特徴部分の少なくとも一部の透明度を上げることによって加工してもよい。また例えば、加工部103は、特徴部分の少なくとも一部を、ユーザが指定した色又は予め定められた色で塗りつぶすことによって加工してもよい。
また例えば、加工部103は、特徴部分の少なくとも一部にぼかし処理を施すことによって加工してもよい。また例えば、加工部103は、特徴部分の少なくとも一部にノイズ処理を施すことによって加工してもよい。また例えば、加工部103は、特徴部分の少なくとも一部にテクスチャをマッピングすることによって加工してもよい。
[3-5.データ拡張部]
データ拡張部104は、制御部11を主として実現される。データ拡張部104は、加工画像に基づいて、データ拡張をする。例えば、データ拡張部104は、加工画像に基づいて教師データを生成し、データ拡張をする。
本実施形態では、教師データは、教師画像と分類情報のペアなので、データ拡張部104は、加工画像と、加工画像の元となった入力画像の分類を示す分類情報と、のペアを教師データとして取得する。この分類情報は、入力画像を機械学習モデルMに入力したときに出力された分類情報であってもよいし、教師データセットDSに格納された分類情報であってもよい。
データ拡張部104は、上記取得した教師データを教師データセットDSに追加することによって、データ拡張をする。例えば、データ拡張部104は、マスク処理が施された加工画像に基づいて、データ拡張をする。例えば、データ拡張部104は、マスク処理が施された加工画像と分類情報とのペアを教師データとして取得し、当該取得した教師データを教師データセットDSに追加することによって、データ拡張をする。
また例えば、データ拡張部104は、インペインティング処理が施された加工画像に基づいて、データ拡張をする。例えば、データ拡張部104は、インペインティング処理が施された加工画像と分類情報とのペアを教師データとして取得し、当該取得した教師データを教師データセットDSに追加することによって、データ拡張をする。
なお、データ拡張部104は、既存の教師データセットDSに追加するのではなく、上記取得した教師データを含む教師データセットを新たに生成することによって、データ拡張をしてもよい。例えば、新たに生成された教師データセットに基づいて、学習済みの機械学習モデルが追加学習される。また例えば、既存の教師データセットDSと、新たに生成された教師データセットと、に基づいて、未学習の機械学習モデルを新たに学習させてもよい。
[4.本実施形態において実行される処理]
図7は、データ拡張システムSにおいて実行される処理の一例を示すフロー図である。図7に示す処理は、制御部11,21が記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図5に示す機能ブロックにより実行される処理の一例である。なお、以降の処理が実行されるにあたり、ユーザは、教師データセットDSを作成してサーバ10にアップロードしているものとする。また、機械学習モデルMが教師データセットDSを学習済みであるものとする。
図7に示すように、まず、ユーザ端末20において、制御部21は、データ拡張処理の実行要求を送信する(S1)。実行要求は、所定形式のデータが送信されることによって行われる。実行要求は、ユーザが操作部24から所定の操作をした場合に送信される。本実施形態では、まだ加工画像を取得していない全ての教師画像が処理対象になる場合を説明するが、加工画像を取得する教師画像をユーザが選択する場合には、実行要求には、ユーザが選択した教師画像を識別する情報が含まれていてもよい。なお、データ拡張処理は、ユーザが指示したときに実行されるのではなく、予め定められたタイミングが訪れた場合に実行させてもよい。
サーバ10においては、実行要求を受信すると、制御部11は、教師データセットDSに格納された教師画像の何れかを、入力画像として取得する(S2)。S2においては、制御部11は、教師データセットDSに格納された教師画像のうち、まだ加工画像を取得していない任意の教師画像を、入力画像として取得する。なお、加工画像を取得しているか否かは、教師画像のファイル名やフラグなどの情報によって管理されているものとする。
制御部11は、機械学習モデルMに入力画像を入力する(S3)。S3において、機械学習モデルMに入力画像が入力されると、機械学習モデルMは、入力画像の特徴量を計算し、当該特徴量に基づいて、入力画像の分類を示す分類情報を出力する。
制御部11は、Grad-CAMを利用して、入力画像の特徴部分を特定する(S4)。S4においては、制御部11は、機械学習モデルMから出力された分類結果と、畳み込み層から出力された特徴マップと、に基づいてヒートマップHを取得し、画素値が所定範囲の部分(色が付いている部分)を特徴部分として特定する。
制御部11は、S4で特定した特徴部分にマスク処理を施して加工画像を取得する(S5)。S5においては、制御部11は、特徴部分を黒色とし、特徴部分以外を白色としたマスク画像を生成し、入力画像にマスク画像を重ねることによって加工画像を取得する。
制御部11は、加工処理を終了するか否かを判定する(S6)。S6においては、制御部11は、全ての教師画像について加工画像を取得したか否かを判定する。まだ加工画像を取得していない教師画像がある場合、加工処理を終了すると判定されず、全ての教師画像について加工画像を取得した場合、加工処理を終了すると判定する。
加工処理を終了すると判定されない場合(S6;N)、S2の処理に戻り、次の教師画像を入力画像としてS2~S5の処理が実行される。一方、加工処理を終了すると判定された場合(S6;Y)、制御部11は、加工画像に基づいて、データ拡張をして(S7)、本処理は終了する。S7においては、制御部11は、加工画像と分類情報のペアを教師データとして取得し、当該取得した教師データを教師データセットDSに追加する。
なお、S7におけるデータ拡張が行われた後は、サーバ10は、データ拡張された教師データセットDSに基づいて、機械学習モデルMの学習処理を実行する。例えば、サーバ10は、教師データセットDSに含まれる教師データの入力と出力の関係が得られるように、機械学習モデルMのパラメータを調整する。学習処理自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク等で利用されている手法を利用すればよい。
以上説明したデータ拡張システムSによれば、機械学習モデルMによる認識における根拠となる特徴部分を特定し、特徴部分の少なくとも一部を加工して加工画像を取得することによって、効率的なデータ拡張を実現することができる。従来技術で説明したような非効率的なデータ拡張が行われると、多数の教師画像が必要となるので、メモリ消費量が増大したり学習処理に時間がかかったりする可能性がある。この点、データ拡張システムSによれば、学習に効果的な教師画像だけが取得され、学習効果が薄い又は全く無い教師画像が取得されることを防止し、メモリ消費量の軽減及び学習処理の高速化の少なくとも一方を効果的に実現することができる。サーバ10に不要な処理を実行させる必要がなくなるので、サーバ10の処理負荷を軽減することもできる。また例えば、ユーザは、ある程度の教師データだけを最初に用意すればよく、多数の教師データを用意する必要がないので、ユーザの手間を軽減することができる。これらの効果については、画像以外のデータを利用した場合についても同様である。
また、特徴部分の少なくとも一部にマスク処理を施して加工画像を取得し、マスク処理が施された加工画像に基づいてデータ拡張をすることにより、機械学習モデルMが学習済みの特徴をマスクし、他の特徴を機械学習モデルMに効率的に学習させることができる。その結果、機械学習モデルMは、種々の特徴に基づいて分類をすることができるようになり、機械学習モデルMの精度を向上させることができる。
また、特徴部分の少なくとも一部にインペインティング処理を施して加工画像を取得し、インペインティング処理が施された加工画像に基づいてデータ拡張をすることにより、機械学習モデルMが学習済みの特徴を塗りつぶし他の特徴を機械学習モデルMに効率的に学習させることができる。その結果、機械学習モデルMは、種々の特徴に基づいて分類をすることができるようになり、機械学習モデルMの精度を向上させることができる。
また、機械学習モデルMから出力される認識の結果に基づいて特徴部分を特定し、実際の認識結果を利用して特徴部分を特定することによって、特徴部分を特定する精度を高めることができる。また、機械学習モデルMを、ヒートマップHを生成する手段とは別にすることによって、機械学習モデルMの柔軟性を高めることができ、ユーザの目的にあった機械学習モデルMを適用することができる。
また、畳み込み層を含むモデルを利用し畳み込み層から出力される特徴マップに更に基づいて特徴部分を特定することで、特徴部分を特定する精度を高めることができる。その結果、より効率的なデータ拡張を実現し、メモリ消費量の軽減及び学習処理の高速化の少なくとも一方を実現することができる。また、アルゴリズムが改善されているGrad-CAMを利用すると、比較的早く特徴部分を特定することができるので、データ拡張処理を高速化することができる。その結果、サーバ10の処理負荷を軽減することもできる。
また、機械学習モデルMに学習済みの教師データセットDSに、加工画像を含む教師データを追加してデータ拡張を行うことで、既存の教師データセットDSをバリエーション豊かな内容とすることができる。その結果、分類の精度を効果的に向上させることができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、実施形態では、特徴部分の全部が加工される場合を説明したが、特徴部分の一部だけが加工されてもよい。本変形例の加工部103は、特徴部分の一部を加工対象部分として選択し、当該選択した加工対象部分を加工して加工データを取得する。加工対象部分は、特徴部分のうち、加工が施される一部分である。特徴部分のうち、加工対象部分以外の部分については、加工は施されない。
加工対象部分は、任意の方法で選択されるようにすればよく、ここでは、特徴部分の蓋然性を示す数値に基づいて加工対象部分が選択される場合を説明する。この数値は、特徴部分内の領域ごとに計算されるスコアに相当する。スコアは、分類に属する蓋然性とは異なり、特徴的な部分(機械学習モデルMで認識可能な部分)である蓋然性を示す数値であり、特徴の強さを示す数値といえる。
加工部103は、特徴部分内の領域ごとに算出されるスコアに基づいて、加工対象部分を選択する。実施形態と同様、ここでは、Grad-CAMを利用してヒートマップHが出力される場合を説明する。ヒートマップHが示す色は、特徴部分の蓋然性を示す数値に相当するので、加工部103は、ヒートマップHにおける色に基づいて、加工対象部分を選択して加工画像を取得する。
図8は、変形例(1)における加工画像I2を示す図である。なお、ここでは、図2に示す教師画像I1が入力画像として機械学習モデルMに入力された場合に、図3のヒートマップHが出力された場合を説明する。図8に示すように、加工部103は、特徴部分(ヒートマップHにおいて色が付けられた部分)の全部ではなく、その一部を加工対象部分として選択する。例えば、加工部103は、特徴部分の蓋然性を示す数値が閾値以上の部分を加工対象部分として選択する。
例えば、ヒートマップHにおいて、色の濃さが5段階で示されていたとすると、加工部103は、色が濃い順に3段階目までの部分を加工対象部分として選択し、4段階目と5段階目の部分は加工対象部分として選択しない。なお、加工対象部分の選択方法は、図8の例に限られず、加工部103は、候補部分の一部を加工対処部分として選択すればよい。例えば、加工部103は、色が最も濃い部分だけを加工対象部分として選択してもよいし、色が最も薄い部分だけを加工対象部分として選択してもよい。加工対象部分に対する加工方法は、実施形態で説明した通りである。
変形例(1)によれば、特徴部分の一部を加工対象部分として選択し、当該選択した加工対象部分を加工して加工データを取得することで、より効率的なデータ拡張を実現することができる。例えば、特徴部分の中には、加工した方が良い部分もあれば、加工しない方が良い部分(まだ学習しきれていない部分)もある。この点、特徴部分の全てを加工するのではなく、一部だけを加工することにより、加工していない部分については、新たな教師データに含めて機械学習モデルMに学習させることができる。
また、特徴部分内の領域ごとに算出されるスコアに基づいて、加工対象部分を選択することにより、加工した方が良い部分と、加工しない方が良い部分と、を正確に区別することができ、加工対象部分の精度を高めることができる。その結果、より効率的なデータ拡張を実現することができる。
(2)また例えば、実施形態及び変形例(1)では、1つの入力画像に対し、1つの加工画像が取得される場合を説明したが、1つの入力画像に対し、複数の加工画像が取得されてもよい。この場合、全く同じ加工画像を複数取得してもデータ拡張とはならないので、互いに内容が異なる複数の加工画像が取得されるものとする。
加工部103は、互いに異なる複数の加工対象部分を選択し、当該選択した複数の加工対象部分に基づいて、複数の加工画像を取得する。複数の加工対象部分の各々は、位置、サイズ、及び形状の少なくとも1つが互いに異なる。位置、サイズ、及び形状が3つとも異なってもよいし、位置、サイズ、及び形状のうちの1つ又は2つだけが異なってもよい。
例えば、ヒートマップHにおいて、色の濃さが5段階で示されていたとすると、加工部103は、1つの入力画像に対し、(a)最も色の濃い部分だけを加工対象部分とした加工画像、(b)最も色の濃い部分と2段階目の部分だけを加工対象部分とした加工画像、(c)最も色の濃い部分から3段階目の部分までを加工対象部分とした加工画像、(d)最も色の濃い部分から4段階目の部分までを加工対象部分とした加工画像、及び(e)候補部分の全てを加工対象部分とした加工画像の5つの加工画像を取得する。
なお、本変形例の加工部103は、複数の加工画像を取得すればよく、加工画像の数は、5つに限られない。1つの入力画像に対し、任意の数の加工画像が取得されるようにすればよく、2つ、3つ、4つ、又は6つ以上であってもよい。また、加工部103は、入力画像に関係なく所定数の加工画像を取得してもよいし、入力画像に基づいて加工画像の数を決定してもよい。例えば、加工部103は、ヒートマップHの分布に基づいて加工画像の数を決定してもよい。個々の加工対象部分に対する加工方法は、実施形態で説明した通りである。
データ拡張部104は、複数の加工画像に基づいて、データ拡張をする。データ拡張部104は、複数の加工画像にそれぞれ対応する複数の教師データを取得し、当該取得した複数の教師データに基づいて、データ拡張をする。個々の教師データの作成方法は、実施形態で説明した通りである。データ拡張方法についても、複数の教師データが対象となる点で実施形態と異なるだけであり、他の点については、実施形態と同じである。
変形例(2)によれば、互いに異なる複数の加工対象部分を選択し、当該選択した複数の加工対象部分に基づいて、複数の加工データを取得してデータ拡張をすることで、教師データのバリエーションを効果的に増やすことができる。その結果、機械学習モデルMの精度を効果的に向上させることができる。
(3)また例えば、変形例(2)では、ヒートマップHの色の濃さに基づいて複数の加工対象部分が選択される場合を説明したが、加工部103は、特徴部分の中から、複数の加工対象部分をランダムに選択してもよい。この場合、加工対象部分の数は、固定値であってもよいし、可変値であってもよい。加工対象部分の数が可変値である場合には、入力画像に基づいて加工対象部分の数が決定されてもよい。
図9は、加工対象部分がランダムに選択される様子を示す図である。なお、ここでは、説明の簡略化のために、入力画像である教師画像I1の候補部分をバウンディングボックスBとする。図9に示すように、加工部103は、バウンディングボックスB内の少なくとも一部を、加工対象部分としてランダムに選択する。図9の符号B1~Bn(nは2以上の整数であり、加工画像の取得総数である。)に示すように、互いに位置、サイズ、及び形状の少なくとも1つが異なるように、加工対象部分が選択される。なお、符号B1~Bnでは、加工対象部分を濃い網掛けで示している。
例えば、加工部103は、加工対象部分の位置、サイズ、及び形状の少なくとも1つをランダムに選択する。加工部103は、乱数発生関数に基づいて乱数を発生させ、当該発生させた乱数に基づいて、加工対象部分の位置、サイズ、及び形状の少なくとも1つを決定する。乱数と加工対象部分との関係は、加工対象部分を選択するプログラムコードに定義しておいてもよいし、テーブルや数式形式のデータとして定義しておいてもよい。以降、加工部103は、所定数の加工対象部分が選択されるまで、繰り返し乱数を発生させ、加工対象部分の位置、サイズ、及び形状の少なくとも1つを決定する。なお、乱数は、現在時刻等を利用して発生し、乱数を発生させるたびにその値が異なるものとする。
変形例(3)によれば、特徴部分の中から、複数の加工対象部分をランダムに選択することで、比較的簡易な処理によって、互いに異なる複数の加工対象部分を選択することができ、サーバ10の処理負荷を軽減することができる。また、特徴部分の蓋然性を示す数値を計算できない機械学習モデルMであったとしても、複数の加工対象部分を選択し、効率的なデータ拡張を実現することができる。
(4)また例えば、特定部102が複数の特徴部分を特定した場合、加工部103は、複数の特徴部分に基づいて、複数の加工画像を取得し、データ拡張部104は、複数の加工画像に基づいて、データ拡張をしてもよい。なお、複数の加工画像に基づくデータ拡張方法は、変形例(2)で説明した通りである。
図10は、入力画像に複数の特徴部分が存在する場合のヒートマップHの一例を示す図である。図10に示すように、ヒートマップHで色が付けられた特徴部分P1,P2が存在した場合、加工部103は、特徴部分ごとに、当該特徴部分を加工して加工画像を取得する。別の言い方をすれば、加工部103は、複数の特徴部分のうち、互いに異なる部分が加工されるように、加工画像を取得する。
例えば、加工部103は、特徴部分P1にだけマスク処理を施した1枚目の加工画像を取得し、特徴部分P2にだけマスク処理を施した2枚目の加工画像を取得してもよい。また例えば、加工部103は、これらとは別に、特徴部分P1,P2の2つに対してマスク処理を施した3枚目の加工画像を取得してもよい。
変形例(4)によれば、複数の特徴部分に基づいて、複数の加工画像を取得してデータ拡張をすることで、教師データのバリエーションを効果的に増やすことができる。その結果、機械学習モデルMの精度を効果的に向上させることができる。
(5)また例えば、実施形態では、入力画像を分類する手段と、ヒートマップHを生成する手段と、が互いに別々である場合を説明したが、これらは、一体化されていてもよい。即ち、機械学習モデルMがこれら両方の手段を備えていてもよい。
本変形例では、機械学習モデルMの一例としてCAM(Class Activation Mapping)を説明する。CAMにおいては、最終層にGAP(Global Average Pooling)層が設けられており、GAP層は、入力画像の分類結果と、ヒートマップHと、の両方を出力する。GAP層は、特徴マップのフィルタを畳み込んで平均値を算出し、所定の重みを乗算した値をソフトマックス関数に与えることによってヒートマップHを生成する。ヒートマップHは、活性化マップの一例であり、他の名称で呼ばれる活性化マップであってもよい。
なお、CAMを利用したヒートマップHの生成方法自体は、公知の技術を利用可能なため、ここでは、CAMにおける数式等の詳細(https://arxiv.org/abs/1512.04150、「Learning Deep Features for Discriminative Localization」)を省略する。また、CAM以外にも、YOLO又はSSDのように、機械学習モデルM自体がヒートマップHを生成する機能を有していてもよい。
上記のように、本変形例の機械学習モデルMは、認識の結果と、認識結果に対するヒートマップHを出力する。特定部102は、機械学習モデルMから出力されたヒートマップHに基づいて特徴部分を特定する。例えば、特定部102は、活性化マップを可視化したヒートマップHを取得し、色がついている部分を特徴部分として特定する。
変形例(5)によれば、機械学習モデルM自体にヒートマップHを出力する機能を備えておくことによって、特徴部分を認識する精度を高めることができる。例えば、アルゴリズムが改善されているCAMを利用すると、比較的早く特徴部分を特定することができるので、データ拡張処理を高速化することができる。その結果、サーバ10の処理負荷を軽減することもできる。
(6)また例えば、上記変形例を組み合わせてもよい。
また例えば、加工部103は、入力画像のうち特徴部分だけを切り出して、その一部を加工することによって加工画像を取得してもよい。他にも例えば、加工部103は、入力画像のうち特徴部分以外の部分だけを切り出すことによって加工画像を取得してもよい。また例えば、加工部103は、ヒートマップHに基づいて、加工画像の取得数を決定してもよい。例えば、ヒートマップHの分布が広範囲に及んだり、ヒートマップHの色の変化が激しかったりする場合には、入力画像内に多数の特徴が存在する可能性があるので、多数の加工画像を作成し、より多くの特徴を学習させてもよい。
また例えば、入力データが画像である場合を説明したが、入力データが他の形式の場合にも、実施形態及び変形例で説明した処理が実行されることによって、データ拡張を実現すればよい。例えば、入力データが動画である場合、データ拡張システムSは、動画に含まれる少なくとも1つの画像に対し、実施形態及び変形例で説明した処理を実行し、データ拡張を行う。また例えば、入力データがテキスト又は文書である場合、データ拡張システムSは、テキスト又は文書の中から特徴部分を示す文字列を特定し、当該文字列を削除したり他の文字列に置き換えたりしたテキスト又は文書を加工データとして取得すればよい。また例えば、入力データが音声である場合、データ拡張システムSは、音声の中から特徴部分を示す波形を特定し、当該波形を削除したり振幅を減らしたりした音声を加工データとして取得すればよい。
また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ10及びユーザ端末20の各々で機能が分担されてもよい。例えば、機械学習モデルMによる処理がサーバ10で実行されるのではなく、ユーザ端末20で実行されてもよい。また例えば、データ拡張システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100で記憶されるものとして説明したデータは、サーバ10以外のコンピュータによって記憶されてもよい。
S データ拡張システム、N ネットワーク、B バウンディングボックス、H ヒートマップ、M 機械学習モデル、P 特徴部分、10 サーバ、11,21 制御部、12,22 記憶部、13,23 通信部、20 ユーザ端末、24 操作部、25 表示部、DS 教師データセット、I1 教師画像、I2 加工画像、P1,P2 特徴部分、100 データ記憶部、101 入力部、102 特定部、103 加工部、104 データ拡張部。

Claims (7)

  1. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力手段と、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定手段と、
    特定された前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工手段と、
    前記加工画像と、前記加工画像の元となった前記入力画像の分類を示す分類情報と、のペアに基づいて、データ拡張をするデータ拡張手段と、
    を含むデータ拡張システム。
  2. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力手段と、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定手段と、
    前記特徴部分の少なくとも一部の特徴が低減又は消えて他の部分の特徴が学習されるように、前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工手段と、
    前記加工画像に基づいて、データ拡張をするデータ拡張手段と、
    を含むデータ拡張システム。
  3. 前記データ拡張システムは、前記データ拡張の結果に基づいて、前記加工画像が入力された場合に前記入力画像と同じ分類が出力されるように、機械学習モデルの学習処理を実行する学習手段を更に含む、
    請求項1又は2に記載のデータ拡張システム。
  4. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力ステップと、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定ステップと、
    特定された前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工ステップと、
    前記加工画像と、前記加工画像の元となった前記入力画像の分類を示す分類情報と、のペアに基づいて、データ拡張をするデータ拡張ステップと、
    を含むデータ拡張方法。
  5. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力ステップと、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定ステップと、
    前記特徴部分の少なくとも一部の特徴が低減又は消えて他の部分の特徴が学習されるように、前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工ステップと、
    前記加工画像に基づいて、データ拡張をするデータ拡張ステップと、
    を含むデータ拡張方法。
  6. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力手段、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定手段、
    特定された前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工手段、
    前記加工画像と、前記加工画像の元となった前記入力画像の分類を示す分類情報と、のペアに基づいて、データ拡張をするデータ拡張手段、
    としてコンピュータを機能させるためのプログラム。
  7. 認識を行う学習済みの機械学習モデルに入力画像を入力する入力手段、
    前記入力画像が入力されて前記機械学習モデルが行った認識において根拠とされた前記入力画像に含まれるオブジェクトの特徴部分を特定する特定手段、
    前記特徴部分の少なくとも一部の特徴が低減又は消えて他の部分の特徴が学習されるように、前記特徴部分の少なくとも一部に、マスク画像を重ねる又はインペインティング処理を施し、前記マスク画像が重ねられた又は前記インペインティング処理が施された前記特徴部分の少なくとも一部に前記マスク画像又は前記インペインティング処理が施された画像以外の画像を重ねないようにすることによって、前記特徴部分の少なくとも一部を加工して加工画像を取得する加工手段、
    前記加工画像に基づいて、データ拡張をするデータ拡張手段、
    としてコンピュータを機能させるためのプログラム。
JP2021090989A 2019-05-31 2021-05-31 データ拡張システム、データ拡張方法、及びプログラム Active JP7303844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021090989A JP7303844B2 (ja) 2019-05-31 2021-05-31 データ拡張システム、データ拡張方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019102682A JP6929322B2 (ja) 2019-05-31 2019-05-31 データ拡張システム、データ拡張方法、及びプログラム
JP2021090989A JP7303844B2 (ja) 2019-05-31 2021-05-31 データ拡張システム、データ拡張方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019102682A Division JP6929322B2 (ja) 2019-05-31 2019-05-31 データ拡張システム、データ拡張方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2021120914A JP2021120914A (ja) 2021-08-19
JP2021120914A5 JP2021120914A5 (ja) 2021-09-30
JP7303844B2 true JP7303844B2 (ja) 2023-07-05

Family

ID=73551592

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019102682A Active JP6929322B2 (ja) 2019-05-31 2019-05-31 データ拡張システム、データ拡張方法、及びプログラム
JP2021090989A Active JP7303844B2 (ja) 2019-05-31 2021-05-31 データ拡張システム、データ拡張方法、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019102682A Active JP6929322B2 (ja) 2019-05-31 2019-05-31 データ拡張システム、データ拡張方法、及びプログラム

Country Status (2)

Country Link
US (1) US11436436B2 (ja)
JP (2) JP6929322B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168441A1 (ja) * 2021-02-05 2022-08-11 ソニーグループ株式会社 推論装置、推論方法およびプログラム
JP6955734B1 (ja) * 2021-03-08 2021-10-27 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム
JP2023069054A (ja) * 2021-11-04 2023-05-18 国立大学法人京都大学 情報処理装置、情報処理方法および情報処理プログラム
JP7383684B2 (ja) 2021-12-08 2023-11-20 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、並びにプログラム
WO2023127018A1 (ja) * 2021-12-27 2023-07-06 楽天グループ株式会社 情報処理装置及び方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300783A1 (en) 2016-04-13 2017-10-19 Xerox Corporation Target domain characterization for data augmentation
JP2019032821A (ja) 2017-06-26 2019-02-28 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド ニューラルネットワークによる画風変換を用いたデータオーグメンテーション技術

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769531B2 (en) * 2015-06-05 2020-09-08 Cisco Technology, Inc. Methods and systems for counting people
US11580398B2 (en) * 2016-10-14 2023-02-14 KLA-Tenor Corp. Diagnostic systems and methods for deep learning models configured for semiconductor applications
JP2019102682A (ja) * 2017-12-05 2019-06-24 株式会社プロスパイン 永電磁ホルダおよび永電磁ホルダ装置
EP3732628A1 (en) * 2018-05-18 2020-11-04 Google LLC Learning data augmentation policies
CN109086691B (zh) * 2018-07-16 2020-02-21 阿里巴巴集团控股有限公司 一种三维脸部活体检测方法、脸部认证识别方法及装置
KR102641116B1 (ko) * 2018-08-23 2024-02-27 삼성전자주식회사 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
KR102439606B1 (ko) * 2018-10-30 2022-09-01 삼성에스디에스 주식회사 전이 학습을 위한 기반 모델 결정 방법 및 그 방법을 지원하는 장치
TWI671652B (zh) * 2018-11-26 2019-09-11 財團法人資訊工業策進會 模型建置裝置與負載解析系統
US10776164B2 (en) * 2018-11-30 2020-09-15 EMC IP Holding Company LLC Dynamic composition of data pipeline in accelerator-as-a-service computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300783A1 (en) 2016-04-13 2017-10-19 Xerox Corporation Target domain characterization for data augmentation
JP2019032821A (ja) 2017-06-26 2019-02-28 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド ニューラルネットワークによる画風変換を用いたデータオーグメンテーション技術

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
堰澤 映ほか,人工的に生成した道路シーンを用いた道路標識認識器の学習,電子情報通信学会技術研究報告[online],日本,一般社団法人電子情報通信学会,2018年12月06日,Vol.118 No.362,pp.73-78
大西 一徳ほか,ディープラーニングのための訓練データ自動生成,FIT2015 第14回情報科学技術フォーラム 講演論文集,情報処理学会,2015年08月24日,第3分冊,pp.443-446
手作業から解放! -オートアノテーションツールの開発-,Qiita,2019年04月02日,https://qiita.com/shinmura0/items/60a84ee24f9fb4546657,[2020年11月6日検索]

Also Published As

Publication number Publication date
US11436436B2 (en) 2022-09-06
US20200380302A1 (en) 2020-12-03
JP2020197833A (ja) 2020-12-10
JP6929322B2 (ja) 2021-09-01
JP2021120914A (ja) 2021-08-19

Similar Documents

Publication Publication Date Title
JP7303844B2 (ja) データ拡張システム、データ拡張方法、及びプログラム
JP7011146B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法
US20240168625A1 (en) Simulated handwriting image generator
Muhammad et al. Learning deep sketch abstraction
CN111291629A (zh) 图像中文本的识别方法、装置、计算机设备及计算机存储介质
KR102641424B1 (ko) 컴퓨팅 장치 및 그 동작 방법
CN107391709A (zh) 一种基于新型注意模型进行图像字幕生成的方法
CN108564103A (zh) 数据处理方法与装置
US11068746B2 (en) Image realism predictor
CN112446302B (zh) 一种人体姿态检测方法、系统、电子设备和存储介质
Wang et al. Learning deep conditional neural network for image segmentation
CN106778852A (zh) 一种修正误判的图像内容识别方法
CN113807265B (zh) 一种多样化的人脸图像合成方法及系统
CN109657582A (zh) 人脸情绪的识别方法、装置、计算机设备及存储介质
Zhang et al. Inkthetics: a comprehensive computational model for aesthetic evaluation of Chinese ink paintings
CN111275057A (zh) 图像处理方法、装置及设备
US11468571B2 (en) Apparatus and method for generating image
CN110610131B (zh) 人脸运动单元的检测方法、装置、电子设备及存储介质
Lee et al. The surprisingly straightforward scene text removal method with gated attention and region of interest generation: A comprehensive prominent model analysis
KR102430743B1 (ko) 데이터 증강 기반 사물 분석 모델 학습 장치 및 방법
KR102659290B1 (ko) 모자이크 생성 장치 및 방법
JP7329041B2 (ja) 条件付き敵対的生成ネットワークに基づいて画像を合成する方法および関連機器
KR102229056B1 (ko) 표정 인식 모델 생성 장치, 방법 및 이러한 방법을 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체
CN110717928B (zh) 人脸运动单元AUs的参数估计方法、装置和电子设备
CN111062862A (zh) 基于颜色的数据增强方法和系统及计算机设备和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230623

R150 Certificate of patent or registration of utility model

Ref document number: 7303844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150