(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022148878
(43)【公開日】2022-10-06
(54)【発明の名称】プログラム、情報処理装置、及び方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20220929BHJP
【FI】
G06T7/00 350C
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021050726
(22)【出願日】2021-03-24
(11)【特許番号】
(45)【特許公報発行日】2021-10-13
(71)【出願人】
【識別番号】517234011
【氏名又は名称】株式会社Novera
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】堀江 優
(72)【発明者】
【氏名】諸冨 大樹
(72)【発明者】
【氏名】遠藤 国忠
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA11
5L096DA02
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
【課題】画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができるようにする。
【解決手段】プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップ(S103)と、複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップ(S106)と、を実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行させるプログラム。
【請求項2】
前記第2分類は、特定の分野において、画像データを分類するものである、
請求項1に記載のプログラム。
【請求項3】
前記第1分類と、前記第2分類との相関性が低い、
請求項2に記載のプログラム。
【請求項4】
前記第1モデルを学習するステップと、前記第2モデルを学習するステップとを、所定の条件を満たすまで繰り返し、
前記第1モデルを学習するステップにおいて、前記第2モデルを学習するステップにより学習された前記第2モデルに含まれる前記第1モデルのパラメータを用いて、前記第1モデルを学習する
請求項1~請求項3の何れかに記載のプログラム。
【請求項5】
前記第1モデルは、CNNモデルであり、
前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための全結合層を少なくとも1層以上追加したCNNモデルである
請求項1~請求項4の何れかに記載のプログラム。
【請求項6】
前記第2モデルは、更に、前記第2分類を行うための畳み込み層を少なくとも1層以上追加したCNNモデルである
請求項5に記載のプログラム。
【請求項7】
前記第2分類は、肌に関する分類を行うものであり、
前記第1分類における分類の数は、前記第2分類における分類の数よりも多く、
前記第1画像データは、肌が映っている画像以外の画像を含み、
前記第2画像データは、肌が映っている画像である
請求項6に記載のプログラム。
【請求項8】
画像データの入力を受け付けるステップと、
前記画像データと、学習された前記第2モデルとを用いて、前記画像データの前記第2分類における分類結果を求めるステップと、
求められた前記画像データの前記第2分類における分類結果を出力するステップと、
を実行させる請求項1~請求項7の何れかに記載のプログラム。
【請求項9】
プロセッサを備える情報処理装置であって、前記プロセッサが、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行する情報処理装置。
【請求項10】
プロセッサを備えるコンピュータが実行する方法であって、前記プロセッサが、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、及び、方法に関する。
【背景技術】
【0002】
入力された画像データを、精度良く分類することについてニーズがある。画像データから、肌の状態を識別する技術がある(特許文献1)。特許文献1は、「肌画像に対して十字二値化処理及び/又は短直線マッチング処理を含む画像処理を行い、肌の物理量を得る工程と、前記工程で得られた肌の物理量を、予め用意した予測式に代入し、得られた評価値を皮膚のキメ及び/又はシワの評価値と鑑別する工程とを含む、肌のキメ及び/又はシワの鑑別法」を開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来技術を、例えば肌に関する分類を行うタスク(肌分類タスク)に適用しても、精度が低いものとなってしまう。また、分類タスクを行うためのモデルを学習データを増やして、精度を高めるように学習しても、実際に使う場面になると、過学習の影響により、分類結果に偏りが生じてしまう、という問題があった。
【0005】
本開示の目的は、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる技術を提供することである。
【課題を解決するための手段】
【0006】
本開示に係るプログラムは、プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、を実行させる。
【発明の効果】
【0007】
本開示に係るプログラムによれば、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる。
【図面の簡単な説明】
【0008】
【
図1】情報処理装置10の構成を示すブロック図である。
【
図2】情報処理装置10の機能構成を示すブロック図である。
【
図3】第1モデルのCNN構造の一例を示す図である。
【
図4】第2モデルのCNN構造の一例を示す図である。
【
図5】情報処理装置10による学習処理を行う流れの一例を示すフローチャートである。
【
図6】情報処理装置10による肌分類処理を行う流れの一例を示すフローチャートである。
【
図7】第2モデルのCNN構造の一例を示す図である。
【
図8】第2モデルのCNN構造の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。従って、それらについての詳細な説明は繰り返さない。
【0010】
<本開示の概要>
本開示では、画像データを入力すると、所定の分類における分類結果を出力する学習済みモデルについて説明する。従来の学習済みモデルでは、精度を高めるように学習しても、実際に使う場面では、過学習により、分類結果に偏りが生じてしまう。
【0011】
自然言語処理の分野では、ラベルのついていない文章から表現を事前学習するように作られたモデルに、特定の構成を付加することによりファインチューニングが可能にする技術がある(例えば、BERT(Bidirectional Encoder Representations from Transformers))。しかし、BERTは自然言語についてであり、シーケンスと呼ばれる時系列のテキストデータを学習に用いるため、時系列のデータではない画像データの分類タスクにそのまま適用することができない。
【0012】
本開示の技術は、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習する。そして、本開示の技術は、第1モデルに第2分類を行うための構造を追加した第2モデルを学習する。このように、第1モデルを事前学習し、第1モデルに第2分類を行うための構造を追加した第2モデルを学習することで、精度よく、かつ、偏りの無い画像データを分類することができる。第2分類よりも広い概念で分類する第1分類における第1モデルを第2モデルに組み込むことで、0から第2分類タスクを学ばせるのではなく、ある程度の知識がある状態で、第2分類タスクを学習させることを実現することができる。これにより、第2分類における分類結果の偏りを防ぐことができる。
【0013】
以下、本開示では、目的とする分類タスク(第2分類)が、肌に関する分類を行うものである場合を例に説明する。従来から、美容部員と呼ばれる実際に化粧品などをユーザの肌質に合わせて提案する専門家が、肌質を肉眼、触感などにより、肌に関する分類を行っている。
【0014】
このような肌分類タスクを行う肌分類モデルを考えると、学習装置が、画像データに、美容部員が判断したラベルを付与して、肌分類モデルを学習することになる。しかし、このような専門家の知見が不可欠な分類タスクでは、学習段階で精度を高めたとしても、実際に使う場面では偏りを生じやすいことが分かった。そこで、本開示では、上記第2モデルを、肌分類の分野に適用する例により、精度よく、かつ、偏りの無い肌分類を実現することができる情報処理装置、プログラム、及び方法について説明する。
【0015】
<1.情報処理装置10の構成>
図1及び
図2を用いて、本開示に係る情報処理装置10について説明する。本開示に係る情報処理装置10は、画像データを入力することにより、肌に関して分類した分類結果を出力するための第2モデルを学習する処理等を実行するための装置である。
【0016】
図1は、情報処理装置10の構成を示す図である。情報処理装置10は、例えば、ラップトップパソコン又はラックマウント型若しくはタワー型等のコンピュータ、スマートフォン等である。情報処理装置10は、複数の情報処理装置10により、1つのシステムとして構成される、冗長化構成される等されてもよい。情報処理システム1を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力、情報処理システム1に求められる仕様等に鑑みて適宜決定することができる。
【0017】
情報処理装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信IF14と、入出力IF15とを含んで構成される。
【0018】
プロセッサ11は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0019】
メモリ12は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0020】
ストレージ13は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)、SSD(Solid State Drive)である。
【0021】
通信IF14は、情報処理装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。通信IF14は、インターネット、広域イーサネット等のネットワークに有線又は無線により接続する。
【0022】
入出力IF15は、入力操作を受け付けるための入力装置(例えば、マウス等のポインティングデバイス、キーボード)、及び、情報を提示するための出力装置(ディスプレイ、スピーカ等)とのインタフェースとして機能する。
【0023】
図2は、情報処理装置10の機能構成を示すブロック図である。
図2に示すように、情報処理装置10は、通信部110と、記憶部120と、制御部130とを含む。
【0024】
通信部110は、情報処理装置10が外部の装置と通信するための処理を行う。
【0025】
記憶部120は、情報処理装置10が使用するデータ及びプログラムを記憶する。記憶部120は、学習データDB121、モデルDB122等を記憶する。
【0026】
学習データDB121は、学習処理を行う際に用いる学習データを保持するデータベースである。学習データは、第1学習データセットと、第2画像データセットとを少なくとも含む。
【0027】
第1学習データセットは、第1モデルを学習するための学習データの集合である。第1学習データセットは、複数の第1画像データを少なくとも含む。第1画像データは、どのような画像データであってもよい。本開示で例示する第2分類では、肌に関する分類を行うため、学習に用いる第2画像データは、肌が映っている画像である必要があるが、第1画像データは、肌が映っている画像に限定されない。なお、第1学習データセットは、複数の第1画像データの各々についての、第1分類の分類結果を付与した情報を含んでもよい。また、第1学習データセットは、後述する第1モデルの学習精度の検証に用いる第1検証データを含む。第1学習データセットとしては、例えば、ImageNetなどの画像データセットを用いることができる。
【0028】
第2学習データセットは、第2モデルを学習するための学習データの集合である。第2学習データセットは、複数の第2画像データと、当該第2画像データの各々についての第2分類における分類結果とを少なくとも含む。また、第2学習データセットは、後述する第2モデルの学習精度の検証に用いる第2検証データを含む。
【0029】
第2画像データは、第2分類の対象となる画像データである。本開示では、第2分類が肌分類であるため、第2画像データは、肌が映っている画像を含む。第2画像データは、例えば、顔の写真データ、腕の写真データ等である。分類結果は、美容部員と呼ばれる実際に化粧品などをユーザの肌質に合わせて提案する専門家等により、第2画像データに対して、例えば、乾燥、敏感、脂性、普通、混合等の肌性が分類された結果である。
【0030】
モデルDB122は、第1モデル及び第2モデルのパラメータを保持するデータベースである。第1モデル及び第2モデルは、任意の機械学習モデル、ニューラルネットワーク(例えば、CNN)など、任意のモデルを採用することができる。本開示では、第1モデル及び第2モデルが、CNNモデルである場合を例に説明する。
【0031】
第1モデルは、画像データを入力すると、第1分類における分類結果を出力するモデルである。第1分類は、第2分類よりも広い概念で分類するものである。より具体的には、第1分類は、第2分類との相関性が低く、より広い分類である。第1分類における分類の数は、第2分類における分類の数よりも多い。例えば、第1モデルは、入力された画像データを、肌とは無関係の500~1500個のクラスに分類する。
【0032】
図3は、第1モデルのCNN構造の一例を示す図である。
図3に示すように、第1モデルは、一般的なCNN構造(入力層、畳み込み層、プーリング層、全結合層、及び出力層)を有するものを採用することができる。なお、第1モデルは、第1モデルの各層を、複数構成するなど、
図3の構成に限定されない。第1モデルは、任意構成とすることができ、既存のCNNモデルに限定されるものではない。第1モデルは、例えば、MobileNetなどの既存のモデルを採用しても良い。
【0033】
第2モデルは、画像データを入力すると、第2分類の分類結果を出力するモデルである。第2モデルは、学習された第1モデルに、第2分類を行うための構造を追加するように構成される。第2分類を行うための構造は、第2分類を行うための全結合層を少なくとも1層以上含む。また、当該構造は、第2分類を行うための畳み込み層、プーリング層を、任意の個数含めるようにしてもよい。
【0034】
第2分類は、第1分類よりも相対的に小さい数を分類するものとする。本開示の第2分類である肌に関する分類は、(i)肌性の分類、(ii)肌に関する特定の状態の程度の分類、(iii)肌上の物体の個数の分類などである。例えば、肌に関する分類が、(i)肌性の分類である場合、第2モデルは、入力された画像データを、肌性を示す5つのクラス(例えば、乾燥、敏感、脂性、普通、混合等)に分類する。なお、肌性の分類は上記5つに限定されるものではない。
【0035】
また、肌に関する分類が、(ii)肌に関する特定の状態の程度の分類である場合、第2モデルは、入力された画像データを、肌に関する特定の状態(潤い、明るさ、肌色、目の隈、ニキビ、毛穴、シミ、シワなど)の程度を示すクラスに分類する。この場合、クラスは、例えば、A~G等の程度を示す表現を用いることができる。
【0036】
また、肌に関する分類が、(iii)肌上の物体(例えば、ニキビ、毛穴、シミ、シワ、目の隈)の個数の分類である場合、第2モデルは、入力された画像データを、物体の個数の程度を示すクラスに分類する。この場合、クラスは、例えば、個数に応じてA~G等の程度を示す表現を用いることができる。なお、第2モデルは、(i)肌性の分類、(ii)肌に関する特定の状態の程度の分類、(iii)肌上の物体の個数の分類を組み合わせて同時に行うように構成してもよい。
【0037】
図4は、第2モデルのCNN構造の一例を示す図である。
図4の例において、第2モデルは、第1モデルに、第2分類を行うための畳み込み層を1つ、全結合層を2つ、出力層を1つ追加している。なお、第2モデルは、第1モデルの出力層を削除する構成としてもよい。
【0038】
第1モデルは、多数のクラスを分類するように事前に学習されることにより、あたかも一般的な識別することができるモデルとなる。第2モデルは、そのような前提を持った第1モデルに、更に第2分類を行う構造を追加して上で、専門的な少数のクラスを分類するように学習される。人は、一般に、専門知識のみを学ぶよりも、教養が前提で更に専門知識を学んだ方が、偏りが無く、学習効率も良い。これに倣い、人の脳を模したCNNのようなニューラルネットワークを用いる第2モデルは、ゼロ知識から第2分類を学習した学習済みモデルよりも、精度よく、かつ、偏りなく第2分類を行うことができる。
【0039】
制御部130は、情報処理装置10のプロセッサ11がプログラムに従って処理を行うことにより、受信制御部131、送信制御部132、第1学習部133、第2学習部134、入力部135、分類部136、出力部137などに示す機能を発揮する。
【0040】
受信制御部131は、情報処理装置10が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0041】
送信制御部132は、情報処理装置10が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0042】
第1学習部133は、複数の第1画像データを含む第1学習データセットを用いて、第1モデルを学習する。具体的には、第1学習部133は、まず、学習データDB121から、第1学習データセットを取得する。また、第1学習部133は、モデルDB122から、第1モデルの各層のパラメータを取得する。なお、第1学習部133が、初めて第1モデルを学習する場合、モデルDB122には、第1モデルの初期パラメータが格納されている。
【0043】
次に、第1学習部133は、第1学習データセットを用いて、第1モデルの各層のパラメータを学習する。第1学習部133は、第1モデルの学習に、任意の教師なし学習法を用いる。第1モデルは、学習法に応じて、例えば、DCGAN(Deep Convolutional GAN)等を用いることができる。
【0044】
また、第1学習部133は、第1モデルの各層のパラメータを、任意の教師有り学習法を用いて学習することもできる。この場合、第1学習データセットは、複数の第1画像データの各々についての、第1分類の分類結果を付与した情報を含む。任意の教師有り学習法としては、例えば、誤差逆伝播法等を用いることができる。
【0045】
第1学習部133は、第1検証データを用いて、学習した第1モデルの精度を検証する。具体的には、第1学習部133は、第1検証データに含まれる複数の画像データと、分類結果とを用いて、精度を検証する。第1学習部133は、精度として、学習した第1モデルの分類結果の正答率が所定の閾値以上となるまで、第1モデルのパラメータを学習する。所定の閾値は、例えば、90%~99.9%とする。所定の閾値が、99.9%以上であれば、第2モデルの分類精度がより向上する。
【0046】
第2学習部134は、第2学習データセットを用いて、画像データを入力すると、第2モデルを学習する。具体的には、第2学習部134は、まず、学習データDB121から、第2学習データセットを取得する。また、第2学習部134は、モデルDB122から、第2モデルの各層のうち、第1モデル以外の各層のパラメータを取得する。また、第2学習部134は、第1学習部133から、学習された第1モデルの各層のパラメータを取得する。なお、第2学習部134が、初めて第2モデルを学習する場合、モデルDB122には、第2モデルの初期パラメータが格納されている。
【0047】
次に、第2学習部134は、第2学習データセットを用いて、第2モデルの各層のパラメータを学習する。第2学習部134は、第2モデルの学習に、任意の教師あり学習法を用いる。任意の教師有り学習法としては、例えば、誤差逆伝播法等を用いることができる。第2学習部134は、美容部員などの専門家による判断結果を用いることが、第2モデルの精度を担保するため、教師有り学習法用いる。なお、第2学習部134は、第2モデルを学習する際に、第2モデルに含まれる第1モデルに相当する部分についての各層のパラメータも学習することになる。
【0048】
第2学習部134は、第2検証データを用いて、学習した第2モデルの精度を検証する。具体的には、第2学習部134は、第2検証データに含まれる複数の画像データと、分類結果とを用いて、精度を検証する。第2学習部134は、精度として、学習した第2モデルの分類結果の正答率が所定の閾値以上となるまで、第2モデルのパラメータを学習する。所定の閾値は、例えば、75%~99.9%とする。所定の閾値は、99.9%以上であることが好ましい。
【0049】
第2学習部134は、学習した第2モデルの各層のパラメータと、第2学習部134で学習した第1モデルの各層のパラメータとを、モデルDB122に格納する。
【0050】
第2学習部134は、所定の条件を満たすか否かを判定する。所定の条件は、第1学習部133による第1モデルの学習と、第2学習部134による第2モデルの学習とを行った回数が所定数以上となったこと、第2モデルの学習精度に変化が見られなくなったこと等である。第2学習部134は、第1学習部133による第1モデルの学習と、第2学習部134による第2モデルの学習とを所定の条件を満たすまで繰り返させる。第1学習部133及び第2学習部134の処理を繰り返すことにより、第1モデル及び第2モデルが互いに影響され、実際に学習された第2モデルを用いて第2分類を行った際の精度が向上する。
【0051】
入力部135は、画像データの入力を受け付ける。具体的には、入力部135は、肌が映っている画像データの入力を受け付ける。画像データは、通信を介して入力されてもよい。
【0052】
分類部136は、画像データと、学習された第2モデルとを用いて、画像データの第2分類における分類結果を求める。具体的には、分類部136は、まず、モデルDB122から、学習済みの第2モデルのパラメータを取得する。次に、分類部136は、画像データを第2モデルに入力することにより、画像データの分類結果を求める。分類結果は、例えば、乾燥肌、敏感肌などである。
【0053】
出力部137は、求められた画像データの第2分類における分類結果を出力する。分類結果は、通信を介して外部装置に出力、表示される構成としても良い。
【0054】
<2.動作>
以下では、情報処理装置10における処理について図面を参照しながら説明する。
【0055】
<2.1.学習処理>
図5は、情報処理装置10による学習処理を行う流れの一例を示すフローチャートである。情報処理装置10は、当該処理を、任意のタイミング(例えば、学習処理開始信号の受信など)において実行する。
【0056】
ステップS101において、第1学習部133は、モデルDB122から、第1モデルの各層のパラメータを取得する。
【0057】
ステップS102において、第1学習部133は、学習データDB121から、第1学習データセットを取得する。
【0058】
ステップS103において、第1学習部133は、第1学習データセットを用いて、第1モデルの各層のパラメータを学習する。
【0059】
ステップS104において、第2学習部134は、モデルDB122から、第2モデルの各層のうち、第1モデル以外の各層のパラメータを取得する。また、第2学習部134は、第1学習部133から、学習された第1モデルの各層のパラメータを取得する。
【0060】
ステップS105において、第2学習部134は、学習データDB121から、第2学習データセットを取得する。
【0061】
ステップS106において、第2学習部134は、第2学習データセットを用いて、第2モデルの各層のパラメータを学習する。
【0062】
ステップS107において、第2学習部134は、学習した第2モデルの各層のパラメータと、第2学習部134で学習した第1モデルの各層のパラメータとを、モデルDB122に格納する。
【0063】
ステップS108において、第2学習部134は、所定の条件を満たすか否かを判定する。
【0064】
所定の条件を満たさない場合(ステップS108のN)、第2学習部134は、ステップS101に戻り、第1学習部133による第1モデルの学習と、第2学習部134による第2モデルの学習とを所定の条件を満たすまで繰り返させる。
【0065】
一方、所定の条件を満たす場合(ステップS108のY)、第2学習部134は、処理を終了する。
【0066】
<2.2.肌分類処理>
図6は、情報処理装置10による肌分類処理を行う流れの一例を示すフローチャートである。情報処理装置10は、当該処理を、画像データが入力されること等により実行する。
【0067】
ステップS201において、入力部135は、画像データの入力を受け付ける。
【0068】
ステップS202において、分類部136は、モデルDB122から、学習済みの第2モデルのパラメータを取得する。
【0069】
ステップS203において、分類部136は、画像データを第2モデルに入力することにより、画像データの分類結果を求める。
【0070】
ステップS204において、出力部137は、求められた画像データの第2分類における分類結果を出力し、処理を終了する。
【0071】
以上説明したように、本開示によれば、プロセッサに、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、複数の第2画像データと、第2画像データの各々についての第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、第2分類の分類結果を出力する第2モデルであって、学習された第1モデルに、第2分類を行うための構造を追加した第2モデルを学習するステップと、を実行させることにより、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類するためのモデルを学習することができる。
【0072】
また、本開示によれば、プロセッサに、画像データの入力を受け付けるステップと、像データと、学習された第2モデルとを用いて、画像データの第2分類における分類結果を求めるステップと、求められた画像データの第2分類における分類結果を出力するステップと、を実行させることにより、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる。
【0073】
<3.変形例>
本開示では、第2モデルが、第1モデルに、第2分類を行うための畳み込み層を1つ、全結合層を2つ、出力層を1つ追加した構成を例に説明した。本開示の第2モデルは、上記の構成に限定されない。本開示に係る第2モデルの他の例について説明する。
【0074】
図7及び
図8は、第2モデルのCNN構造の一例を示す図である。
【0075】
図7の例において、第2モデルは、第1モデルに、第2分類を行うための畳み込み層、プーリング層、全結合層、出力層をそれぞれ1つ追加している。このように、第2モデルは、第1モデルに更に基本的なCNN構造を追加するような種々の変形が可能である。
【0076】
図8の例において、第2モデルは、
図3の例の第1モデルから出力層を削除した構成である。第2モデルは、第1モデルの出力層をそのまま用いても良いが、
図8の例のように、出力層を削除することで、第1モデルで抽出した特徴をそのまま第2モデルで用いる構成も可能である。例えば、第1モデルの出力層で出力される値が、第2モデルで追加される構成に適合しない場合、適合させるための中間層を追加するのではなく第1モデルの出力層をあえて削除することで、精度よく第2モデルを構成することができる。
【0077】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換及び変更を行なって実施することができる。これらの実施形態及び変形例ならびに省略、置換及び変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【0078】
例えば、情報処理装置10の各機能を、他の装置に構成してもよい。例えば、記憶部120の各DBは、外部のデータベースとして構築してもよい。また、情報処理装置10の各機能を、他の装置に構成してもよい。例えば、記憶部120の各DBは、外部のデータベースとして構築してもよい。
【0079】
また、情報処理装置10の学習処理に用いる機能と、肌分類処理に用いる機能とを別の装置に構成しても良い。例えば、学習処理に用いる機能を高性能の情報処理装置に構成し、肌分類に用いる処理をスマートフォンにインストールするアプリとして構成することができる。
【0080】
また、本開示では、第2分類が、肌性を分類するものである場合を例に説明したが、これに限定されるものではない。第2分類は、他の分類にも応用することができる。
【0081】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1)プロセッサ(11)を備えるコンピュータ(例えば、情報処理装置10)を動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップ(S103)と、複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップ(S106)と、を実行させるプログラム。
【0082】
(付記2)前記第2分類は、特定の分野において、画像データを分類するものである、(付記1)に記載のプログラム。
【0083】
(付記3)前記第1分類と、前記第2分類との相関性が低い、(付記2)に記載のプログラム。
【0084】
(付記4)前記第1モデルを学習するステップと、前記第2モデルを学習するステップとを、所定の条件を満たすまで繰り返し、前記第1モデルを学習するステップにおいて、前記第2モデルを学習するステップにより学習された前記第2モデルに含まれる前記第1モデルのパラメータを用いて、前記第1モデルを学習する(付記1)~(付記3)の何れかに記載のプログラム。
【0085】
(付記5)前記第1モデルは、CNNモデルであり、前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための全結合層を少なくとも1層以上追加したCNNモデルである(付記1)~(付記4)の何れかに記載のプログラム。
【0086】
(付記6)前記第2モデルは、更に、前記第2分類を行うための畳み込み層を少なくとも1層以上追加したCNNモデルである(付記5)に記載のプログラム。
【0087】
(付記7)前記第2分類は、肌に関する分類を行うものであり、前記第1分類における分類の数は、前記第2分類における分類の数よりも多く、前記第1画像データは、肌が映っている画像以外の画像を含み、前記第2画像データは、肌が映っている画像である(付記6)に記載のプログラム。
【0088】
(付記8)画像データの入力を受け付けるステップ(S201)と、前記画像データと、学習された前記第2モデルとを用いて、前記画像データの前記第2分類における分類結果を求めるステップ(S203)と、求められた前記画像データの前記第2分類における分類結果を出力するステップ(S204)と、を実行させる(付記1)~(付記7)の何れかに記載のプログラム。
【0089】
(付記9)プロセッサ(11)を備える情報処理装置(10)であって、前記プロセッサが、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップ(133)と、複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップ(134)と、を実行する情報処理装置。
【0090】
(付記10)プロセッサ(11)を備えるコンピュータ(例えば、情報処理装置(10))が実行する方法であって、前記プロセッサが、複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップ(S103)と、複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップ(S106)と、を実行する方法。
【符号の説明】
【0091】
10 :情報処理装置
11 :プロセッサ
12 :メモリ
13 :ストレージ
14 :通信IF
15 :入出力IF
120 :記憶部
121 :学習データDB
122 :モデルDB
130 :制御部
131 :受信制御部
132 :送信制御部
133 :第1学習部
134 :第2学習部
135 :入力部
136 :分類部
137 :出力部
【手続補正書】
【提出日】2021-07-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行させ、
前記第1モデルは、CNNモデルであり、
前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための少なくとも1層以上の畳み込み層と、前記第2分類を行うための少なくとも1層以上の全結合層とを追加したCNNモデルである、
プログラム。
【請求項2】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行させ、
前記第2分類は、肌性の分類、肌に関する特定の状態の程度の分類、又は肌上の物体の個数の分類であり、
前記第1分類における分類の数は、前記第2分類における分類の数よりも多く、
前記第1画像データは、肌が映っている画像以外の画像を含み、
前記第2画像データは、肌が映っている画像である、
プログラム。
【請求項3】
前記第1モデルは、CNNモデルであり、
前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための少なくとも1層以上の畳み込み層と、前記第2分類を行うための少なくとも1層以上の全結合層とを追加したCNNモデルである、
請求項2に記載のプログラム。
【請求項4】
前記第2分類は、特定の分野において、画像データを分類するものである、
請求項1~請求項3の何れかに記載のプログラム。
【請求項5】
前記第1分類と、前記第2分類との相関性が低い、
請求項4に記載のプログラム。
【請求項6】
前記第1モデルを学習するステップと、前記第2モデルを学習するステップとを、所定の条件を満たすまで繰り返し、
前記第1モデルを学習するステップにおいて、前記第2モデルを学習するステップにより学習された前記第2モデルに含まれる前記第1モデルのパラメータを用いて、前記第1モデルを学習する
請求項1~請求項5の何れかに記載のプログラム。
【請求項7】
画像データの入力を受け付けるステップと、
前記画像データと、学習された前記第2モデルとを用いて、前記画像データの前記第2分類における分類結果を求めるステップと、
求められた前記画像データの前記第2分類における分類結果を出力するステップと、
を実行させる請求項1~請求項6の何れかに記載のプログラム。
【請求項8】
プロセッサを備える情報処理装置であって、前記プロセッサが、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行し、
前記第1モデルは、CNNモデルであり、
前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための少なくとも1層以上の畳み込み層と、前記第2分類を行うための少なくとも1層以上の全結合層とを追加したCNNモデルである、
情報処理装置。
【請求項9】
プロセッサを備える情報処理装置であって、前記プロセッサが、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、学習された前記第1モデルに、前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行し、
前記第2分類は、肌性の分類、肌に関する特定の状態の程度の分類、又は肌上の物体の個数の分類であり、
前記第1分類における分類の数は、前記第2分類における分類の数よりも多く、
前記第1画像データは、肌が映っている画像以外の画像を含み、
前記第2画像データは、肌が映っている画像である、
を実行する情報処理装置。
【請求項10】
プロセッサを備えるコンピュータが実行する方法であって、前記プロセッサが、
複数の第1画像データを含む第1学習データセットを用いて、画像データを入力すると、第2分類よりも広い概念で分類する第1分類における分類結果を出力する第1モデルを学習するステップと、
複数の第2画像データと、前記第2画像データの各々についての前記第2分類における分類結果とを含む第2学習データセットを用いて、画像データを入力すると、前記第2分類の分類結果を出力する第2モデルであって、前記第1モデルに前記第2分類を行うための構造を追加した前記第2モデルを学習するステップと、
を実行し、
前記第1モデルは、CNNモデルであり、
前記第2モデルは、学習された前記第1モデルに、前記第2分類を行うための少なくとも1層以上の畳み込み層と、前記第2分類を行うための少なくとも1層以上の全結合層とを追加したCNNモデルである、
方法。
【手続補正2】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】