(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179312
(43)【公開日】2024-12-26
(54)【発明の名称】機械学習プログラム、判定プログラム、及び機械学習装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241219BHJP
【FI】
G06T7/00 350B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023098057
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】山田 萌
(72)【発明者】
【氏名】武本 健太郎
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA08
5L096DA02
5L096GA30
5L096HA09
5L096HA11
5L096JA11
5L096JA18
5L096KA04
5L096KA15
(57)【要約】
【課題】対象の追加又は変更時の機械学習モデルの再訓練に要する作業コストを低減する。
【解決手段】情報処理装置の機械学習部は、画像に含まれる対象の第1の特徴と対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、第1の特徴を識別する第1の機械学習モデル部分と第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、画像とベクトル情報とを入力して、機械学習モデルの訓練と変換パラメータの更新とを実行する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項2】
前記ベクトル情報を生成することは、前記第1の特徴を示す第1のベクトル及び前記第2の特徴を示す第2のベクトルの各々を生成することを含む、
ことを特徴とする請求項1に記載の機械学習プログラム。
【請求項3】
前記ベクトル情報を生成することは、前記第1の特徴と前記第2の特徴との関係に基づいて修正された前記第1のベクトル及び前記第2のベクトルを生成することを含む、
ことを特徴とする請求項2に記載の機械学習プログラム。
【請求項4】
前記機械学習モデルに前記ベクトル情報を入力することは、前記第1のベクトルを前記第1の機械学習モデル部分に入力し、前記第2のベクトルを前記第2の機械学習モデル部分に入力することを含む、
ことを特徴とする請求項3に記載の機械学習プログラム。
【請求項5】
前記機械学習モデルは、前記第1の機械学習モデル部分の出力と、前記第2のベクトルとが前記第2の機械学習モデル部分へ入力されるように構成される、
ことを特徴とする請求項2~請求項4のいずれか1項に記載の機械学習プログラム。
【請求項6】
前記機械学習モデルに、前記画像に含まれる対象の第3の特徴を識別する第3の機械学習モデル部分を追加する場合、
前記第1の特徴と前記第2の特徴と前記第3の特徴と前記変換パラメータとに基づいて前記ベクトル情報を生成し、
訓練で得られた前記第1の機械学習モデル部分及び前記第2の機械学習モデル部分の各々のパラメータを固定した前記機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
ことを特徴とする請求項1~請求項4のいずれか1項に記載の機械学習プログラム。
【請求項7】
対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
画像と前記ベクトル情報とを、前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに入力し、前記対象と前記画像の被写体との対応関係を判定する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項8】
前記対応関係を判定する処理は、前記対象の第1の特徴及び第2の特徴と、前記第1の機械学習モデル部分で識別された第1の特徴及び前記第2の機械学習モデル部分で識別された第2の特徴とが一致するか否かを判定することを含む、
ことを特徴とする請求項7に記載の判定プログラム。
【請求項9】
画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
処理を実行する制御部を含むことを特徴とする機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、機械学習プログラム、判定プログラム、及び機械学習装置に関する。
【背景技術】
【0002】
入力として与えられた画像中に存在する物体等の対象を識別するために、ニューラルネットワーク等の機械学習モデルが広く用いられている。例えば、判定画像から識別対象物体を識別する物体識別装置が提案されている。この装置は、判定画像の特徴量を部分特徴の特徴量に基づいて評価し、部分特徴毎の評価値を算出し、評価値に基づいて、部分特徴に関連付けされた信頼度の重みを取得し、取得された信頼度の重みの和である重み和を算出する。また、この装置は、評価値が所定値以上であると判定された部分特徴の組合せと、予め学習された識別対象物体に係る部分特徴の組合せとの一致度である組合せ一致度を算出する。そして、この装置は、重み和が所定値以上、及び組合せ一致度が所定値以上の場合には、判定画像から識別対象物体を識別したと判定する。
【0003】
また、例えば、複数のサンプル物体の個別の形状に係る個別特徴量に基づいて予め算出された組合せ特徴量に対して、予め設定された条件に対応して付されたラベルを有した標本データが付与される装置が提案されている。この装置は、この標本データから種々の組合せ特徴量に対してラベルを付すための判断基準を導出し、これを記憶する機械学習部を備える。また、この装置は、物体個々の形状に係る個別特徴量を抽出し、組合せ特徴量を算出し、判断基準に基づいて、算出した組合せ特徴量に付されるラベルを識別する。
【0004】
また、例えば、学習時処理により得られた、複数種の物体それぞれの画像特徴を示す特徴情報を記憶した画像認識装置が提案されている。この装置は、入力画像を分類する場合には、入力画像から特徴量を表す記述子を抽出し、記述子に対応する画像語彙に投票し、投票の結果に基づいて、1以上の物体の存在確率を算出し、存在確率に基づき、存在する物体の種類を特定する。この装置は、各物体の存在確率を算出する際に、排他的分類器により、同一画像内に共存しないと推定された複数の異種物体(物体ラベル)の組合せを表す排他的関係情報を用いて存在確率を調整する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011-113360号公報
【特許文献2】特開2018-169922号公報
【特許文献3】国際公開第2012-032788号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
機械学習モデルを用いて、画像内の対象を判定するタスクにおいて、対象が新たに追加又は変更される場合、新たに追加又は変更される対象についての訓練データを用意して、機械学習モデルを再訓練する必要があり、作業コストがかかる。特に、対象の種類が多い場合、対象の追加又は変更が頻繁に生じる場合等には、作業コストが膨大となる。
【0007】
一つの側面として、開示の技術は、対象の追加又は変更時の機械学習モデルの再訓練に要する作業コストを低減することを目的とする。
【課題を解決するための手段】
【0008】
一つの態様として、開示の技術は、画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成する。また、前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する。
【発明の効果】
【0009】
一つの側面として、対象の追加又は変更時の機械学習モデルの再訓練に要する作業コストを低減することができる、という効果を有する。
【図面の簡単な説明】
【0010】
【
図4】各実施形態の概略を説明するための図である。
【
図6】第1実施形態における判定モデルの一例を示すブロック図である。
【
図7】特徴の識別の一例を説明するための図である。
【
図8】情報処理装置として機能するコンピュータの概略構成を説明するための図である。
【
図9】機械学習処理の一例を示すフローチャートである。
【
図10】判定処理の一例を示すフローチャートである。
【
図12】第2実施形態における判定モデルの一例を示すブロック図である。
【発明を実施するための形態】
【0011】
実施形態の詳細を説明する前に、以下の各実施形態で想定するタスクを参考手法で実行する場合の課題について説明する。
【0012】
以下の各実施形態では、入力として与えられた画像中の被写体が特定の目標物体と一致するか否かを判定するタスクを想定する。例えば、セルフレジのバーコードスキャンから得た商品の情報と実際その場にある商品とが一致しているか否かを判定することで、不正を検知するタスクが考えられる。
【0013】
上記タスクを実現する方法としては、
図1のAに示すように、各対象物体にそれぞれ1つのラベルを割り当て、識別器により、入力された画像に含まれる物体のラベルを識別する方法(以下、「参考手法1」という)が考えられる。
図1の例では、識別器は、画像から識別される物体が対象物体のそれぞれである確からしさ、すなわち、各ラベルの尤度を出力する。参考手法1において、識別器の訓練時には、識別器が出力する各ラベルの尤度に基づく識別結果と、入力された画像内の物体に対応する正解のラベルとの誤差を修正するように、識別器のパラメータが更新される。
【0014】
しかし、参考手法1では、単一の識別器を用いているため、
図1のBに示すように、新しい対象物体が追加される都度、
図1のCに示すように、既存の対象物体も含め、識別器全体を再訓練する必要がある。また、対象物体毎に1つのラベルを割り当てるため、対象物体の種類が多い場合には、ラベル数が膨大になる。上記のセルフレジの例では、対象物体である商品は何万点にも及び、また、対象物体の追加又は変更が頻繁に生じるため、各対象物体にそれぞれ別のラベルを割り当てることは困難である。また、ラベル数が膨大であると、識別器の訓練時、及び識別器を用いた識別時の計算時間が増えると共に、識別精度も低下するため、現実的ではない。
【0015】
また、
図1の例では、形が四角で色が白という特徴を有する既存の対象物体が存在し、形が四角で色が緑(
図1内では斜線で表現、以下の各図においても同様)という特徴を有する対象物体が新たに追加される。この例のように、既存の対象物体の色違いの対象物体が追加される場合等、特徴の一部が既存の対象物体と共通する対象物体が追加される場合でも、参考手法1では、それぞれの対象物体にラベルを割り当てる必要がある。
【0016】
そこで、
図2のAに示すように、各対象物体を特徴の組み合わせで表し、入力された画像から、単一の識別器を用いて各特徴を識別する方法(以下、「参考手法2」という)が考えられる。
図2のAに示すように、参考手法2は、最初の訓練時の対象物体を識別するために、「形」という特徴について、項目「円」と項目「四角」とにそれぞれラベルを割り当てている。そして、参考手法2は、
図2のBに示すように、新たな対象物体が追加される場合、追加される対象物体の特徴として、既存の特徴に存在しない特徴及び項目に対して新たにラベルを割り当てる。
図2のBの例では、形が三角で色が白という特徴を有する対象物体、及び形が四角で色が緑という特徴を有する対象物体が追加される。したがって、
図2のCに示すように、特徴「形」に項目「三角」が追加されると共に、特徴「色」について項目「白」及び「緑」が追加される。参考手法2は、これらの追加された項目に割り当てたラベルを含め、識別器全体を再訓練する。すなわち、参考手法2では、対象物体の追加により特徴又は項目が増える都度、識別器全体の再訓練が必要となると共に、再訓練により、既存の特徴についての識別精度にも影響が及ぶ。
【0017】
そこで、
図3のAに示すように、各対象物体を特徴の組み合わせで表し、単一の特徴のみを識別する識別器を用意する方法(以下、「参考手法3」という)が考えられる。
図3では、最初は、特徴「形」を識別するための形識別器のみで構成されており、
図3のBに示すような対象物体が追加されることにより、
図3のCに示すように、特徴「色」を識別するための色識別器が追加される例を示している。参考手法3は、特徴毎の識別器の出力を統合することで、画像内の物体が対象物体か否かを識別する。そのため、参考手法3では、各識別器の出力を統合する処理が別途必要となる。
【0018】
以下の各実施形態の方法(以下、「本手法」ともいう)は、
図4のAに示すように、単一の特徴のみを識別する識別器を特徴毎に用意すると共に、対象物体の特徴を示すラベル(以下、「特徴ラベル」という)と画像とを識別器の入力として与える。なお、本実施形態における「特徴」とは、対象物体において、ほぼ不変な特徴であり、例えば、形状、色、素材、サイズ等である。
【0019】
そして、本手法は、識別器により識別された画像内の被写体の特徴と、特徴ラベルとの対応を判定する。また、本手法は、
図4のBに示すように対象物体が追加されることにより、特徴毎の識別器を追加する場合、一方の識別器の出力が他方の識別器の入力となるように接続して識別器を組み合わせる。これにより、最終段の識別器の出力が、画像内の物体が持つ特徴の組み合わせを示す情報となる。なお、特徴を組み合わせる順番、すなわち識別器の接続順は順不同でよい。以下、各実施形態について詳述する。
【0020】
<第1実施形態>
図5に示すように、第1実施形態に係る情報処理装置10は、機能的には、機械学習部20と、判定部40とを含む。機械学習部20は、さらに、第1生成部22と、訓練部24とを含む。判定部40は、さらに、第2生成部42と、対象判定部44とを含む。機械学習部20は、開示の技術の機械学習装置の一例であり、第1生成部22及び訓練部24は、開示の技術の制御部の一例である。また、情報処理装置10の所定の記憶領域には、判定モデル30が記憶される。
【0021】
情報処理装置10には、画像及び特徴ラベルが入力される。画像は、例えば、被写体を撮影したRGB画像等であり、被写体を撮影したカメラ、又は、撮影された画像のファイルが記憶された所定の記憶領域から情報処理装置10へ入力される。上記のセルフレジの例の場合、例えば、画像は、実際にその場にある商品を撮影することにより取得される。また、例えば、特徴ラベルは、商品に付されたバーコード等をスキャンすることにより取得される。このように、本実施形態では、対象物体の特徴ラベルは入力として与えられるものとする。
【0022】
訓練時に入力される画像及び特徴ラベルは、訓練画像及び訓練特徴ラベルであり、判定時に入力される画像及び特徴ラベルは、判定画像及び判定特徴ラベルである。訓練画像は、対象物体が被写体として撮影された画像であって、対象物体の特徴が訓練特徴ラベルとして与えられている画像である。すなわち、訓練画像内の対象物体の特徴と、訓練特徴ラベルが示す特徴との対応(一致していること)が既知である。一方、判定画像内の被写体の特徴と、判定特徴ラベルが示す対象物体の特徴との対応は未知である。
【0023】
判定モデル30は、画像に含まれる対象物体の第1の特徴を識別する第1の機械学習モデル部分と、対象物体の第2の特徴を識別する第2の機械学習モデル部分と、特徴ラベルをベクトル情報に変換するベクトル変換器とを含む。
【0024】
図6に、判定モデル30の一例を示す。第1実施形態では、第1の特徴を対象物体の「形」、第2の特徴を対象物体の「色」とする場合について説明する。この場合、判定モデル30は、ベクトル変換器32と、形識別器34Aと、色識別器34Bと、分類器36とを含む。形識別器34A、色識別器34B、及び分類器36は、開示の技術の機械学習モデルの一例であり、形識別器34A及び色識別器34Bは、開示の技術の第1の機械学習モデル部分及び第2の機械学習モデル部分の一例である。
【0025】
ベクトル変換器32には、対象物体の特徴毎の各項目に割り当てられた特徴ラベルであって、入力される画像に対応する対象物体の特徴を示す特徴ラベルが入力される。
図6の例では、ベクトル変換器32には、特徴「形」の各項目に割り当てられたラベル(以下、「形ラベル」という)のうち、項目「三角」に割り当てられた形ラベルが入力される。また、ベクトル変換器32には、特徴「色」の各項目に割り当てられたラベル(以下、「色ラベル」という)のうち、項目「白」に割り当てられた色ラベルが入力される。ベクトル変換器32は、入力された特徴ラベルを、変換パラメータを用いて、それぞれベクトルに変換する。以下では、形ラベルを変換したベクトルを形ベクトル、色ラベルを変換したベクトルを色ベクトルという。
【0026】
形識別器34Aは、対象物体の特徴の1つである「形」を識別するための識別器である。形識別器34Aには、ベクトル変換器32で変換された形ベクトルと画像から生成された入力ベクトル(詳細は後述)とが入力される。形識別器34Aは、入力ベクトルと形ベクトルとに基づいて、画像に含まれる被写体の形の特徴を識別した結果を含む情報を出力する。
【0027】
色識別器34Bは、対象物体の特徴の1つである「色」を識別するための識別器である。色識別器34Bには、ベクトル変換器32で変換された色ベクトルと、形識別器34Aから出力された情報とが入力される。色識別器34Bは、色ベクトルと、形識別器34Aから出力された情報とに基づいて、画像に含まれる被写体の形及び色の特徴を識別した結果を含む情報を出力する。
【0028】
図7を参照して、形識別器34A及び色識別器34Bによる特徴の識別の一例について説明する。
図7では、説明を簡単にするため、特徴空間を形及び色の2次元で表している。
図7のAに示すように、画像から生成された入力ベクトル(
図7のAの例では、[2,3])が形識別器34Aに入力される。形識別器34Aは、
図7のBに示すように、このベクトルに形ベクトルを反映した結果であるベクトル(
図7のBの例では、[4,3])を出力する。そして、
図7のCに示すように、色識別器34Bは、このベクトルに対して、色ベクトルを反映した結果であるベクトル(
図7のCの例では、[4,6])を出力する。したがって、色識別器34Bから出力されるベクトルは、入力された画像内の被写体についての形及び色の識別結果を示す情報となる。
【0029】
分類器36は、色識別器34Bから出力されたベクトルに基づいて、画像から識別された被写体の形及び色の特徴と、対象物体の特徴ラベルである色ラベル及び形ラベルの各々が示す形及び色の特徴とが一致するか否かを分類する。具体的には、分類器36は、特徴が一致する尤度、及び不一致である尤度の各々を出力する。
【0030】
ベクトル変換器32、形識別器34A、色識別器34B、及び分類器36の各々は、ニューラルネットワーク等の機械学習モデルで実現してよい。
【0031】
次に、機械学習部20について説明する。
【0032】
第1生成部22は、情報処理装置10に入力された、第1の特徴及び第2の特徴を示す訓練特徴ラベルを取得し、取得した訓練特徴ラベルを、判定モデル30のベクトル変換器32へ入力して、ベクトル情報を生成する。第1実施形態では、第1生成部22は、訓練特徴ラベルとして、形ラベル及び色ラベルを取得し、形ラベルから形ベクトルを生成し、色ラベルから色ベクトルを生成する。
【0033】
訓練部24は、情報処理装置10に入力された訓練画像を取得し、取得した訓練画像を、形識別器34Aへの入力に対応する形式に圧縮及び変換する。例えば、訓練部24は、エンコーダを用いて、訓練画像を特定次元の入力ベクトルに変換する。訓練部24は、判定モデル30の形識別器34A及び色識別器34Bに、取得した画像を変換した入力ベクトルと、第1生成部22で生成された形ベクトル及び色ベクトルとを入力する。そして、判定モデル30の形識別器34A、色識別器34B、及び分類器36の各々の訓練と、ベクトル変換器32の変換パラメータの更新とを実行する。
【0034】
具体的には、訓練部24は、入力ベクトル及び形ベクトルを形識別器34Aに入力する。また、訓練部24は、形識別器34Aから出力されるベクトル及び色ベクトルを色識別器34Bに入力することにより、画像内の被写体についての形及び色の識別結果を示すベクトルを取得する。訓練部24は、取得した識別結果を示すベクトルを分類器36に入力し、訓練画像から識別した被写体の形及び色の特徴と、訓練特徴ラベルが示す対象物体の特徴とが一致するか否かを分類する。そして、訓練部24は、分類結果が「一致」となるように、判定モデル30の形識別器34A、色識別器34B、及び分類器36の各々のパラメータと、ベクトル変換器32の変換パラメータとを更新することを、機械学習の終了条件を満たすまで繰り返す。終了条件は、例えば、繰り返し回数が所定回数に達した場合、分類器36が出力する「一致」の尤度が所定値以上になった場合等としてよい。訓練部24は、終了条件を満たした際の各パラメータが設定された判定モデル30を、情報処理装置10の所定の記憶領域に記憶する。
【0035】
なお、本実施形態では、訓練画像に含まれる被写体の特徴と、訓練特徴ラベルが示す対象物体の特徴とが一致しているため、分類結果が「一致」となるように各パラメータを更新する。訓練画像に含まれる被写体の特徴と、訓練特徴ラベルが示す対象物体の特徴とが不一致である訓練画像及び訓練特徴ラベルを用いる場合には、分類結果が「不一致」となるように各パラメータを更新してもよい。
【0036】
次に、判定部40について説明する。
【0037】
第2生成部42は、情報処理装置10に入力された、第1の特徴及び第2の特徴を示す判定特徴ラベルを取得し、取得した判定特徴ラベルを、訓練済みの判定モデル30のベクトル変換器32へ入力して、ベクトル情報を生成する。第1実施形態では、第2生成部42は、判定特徴ラベルとして、形ラベル及び色ラベルを取得し、形ラベルから形ベクトルを生成し、色ラベルから色ベクトルを生成する。
【0038】
対象判定部44は、情報処理装置10に入力された判定画像を取得し、訓練部24と同様に、判定画像から入力ベクトルを生成する。対象判定部44は、訓練済みの判定モデル30の形識別器34A及び色識別器34Bに、生成した入力ベクトルと、第2生成部42で生成された形ベクトル及び色ベクトルとを入力する。そして、対象判定部44は、判定特徴ラベルが示す特徴を有する対象物体と、判定画像内の被写体との対応関係を判定する。
【0039】
具体的には、対象判定部44は、判定特徴ラベルが示す特徴と、判定画像から識別された特徴とが一致するか否かにより、判定画像内の被写体が、判定特徴ラベルが示す特徴を有する対象物体、すなわち目的の対象物体か否かを判定する。例えば、対象判定部44は、判定モデル30分類器36の出力である「一致」の尤度及び「不一致」の尤度に基づいて、「一致」の尤度が「不一致」の尤度より高い場合に、判定画像内の被写体が目的の対象物体であると判定する。対象判定部44は、判定結果を出力する。
【0040】
情報処理装置10は、例えば
図8に示すコンピュータ50で実現されてよい。コンピュータ50は、CPU(Central Processing Unit)51と、GPU(Graphics Processing Unit)52と、一時記憶領域としてのメモリ53と、不揮発性の記憶装置54とを備える。また、コンピュータ50は、入力装置、表示装置等の入出力装置55と、記憶媒体59に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置56とを備える。また、コンピュータ50は、インターネット等のネットワークに接続される通信I/F(Interface)57を備える。CPU51、GPU52、メモリ53、記憶装置54、入出力装置55、R/W装置56、及び通信I/F57は、バス58を介して互いに接続される。
【0041】
記憶装置54は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置54には、コンピュータ50を、情報処理装置10として機能させるための機械学習プログラム60及び判定プログラム70が記憶される。機械学習プログラム60は、第1生成プロセス制御命令62と、訓練プロセス制御命令64とを有する。判定プログラム70は、第2生成プロセス制御命令72と、対象判定プロセス制御命令74とを有する。また、記憶装置54は、判定モデル30を構成する情報が記憶される情報記憶領域80を有する。
【0042】
CPU51は、機械学習プログラム60及び判定プログラム70の各々を記憶装置54から読み出してメモリ53に展開し、機械学習プログラム60及び判定プログラム70の各々が有する制御命令を順次実行する。CPU51は、第1生成プロセス制御命令62を実行することで、
図5に示す第1生成部22として動作する。また、CPU51は、訓練プロセス制御命令64を実行することで、
図5に示す訓練部24として動作する。また、CPU51は、第2生成プロセス制御命令72を実行することで、
図5に示す第2生成部42として動作する。また、CPU51は、対象判定プロセス制御命令74を実行することで、
図5に示す対象判定部44として動作する。また、CPU51は、情報記憶領域80から情報を読み出して、判定モデル30をメモリ53に展開する。これにより、機械学習プログラム60を実行したコンピュータ50が、情報処理装置10の機械学習部20として機能し、判定プログラム70を実行したコンピュータ50が、情報処理装置10の判定部40として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。また、プログラムの一部は、GPU52により実行されてもよい。
【0043】
なお、機械学習プログラム60及び判定プログラム70の各々により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。
【0044】
次に、第1実施形態に係る情報処理装置10の動作について説明する。情報処理装置10に訓練画像及び訓練特徴ラベルが入力され、判定モデル30の訓練が指示されると、情報処理装置10において、
図9に示す機械学習処理が実行される。また、情報処理装置10に判定画像及び判定特徴ラベルが入力され、対象物体の判定が指示されると、情報処理装置10において、
図10に示す判定処理が実行される。
【0045】
【0046】
ステップS10で、第1生成部22が、訓練特徴ラベルとして形ラベル及び色ラベルを取得し、訓練部24が、訓練画像を取得する。次に、ステップS12で、第1生成部22が、取得した形ラベル及び色ラベルの各々を、判定モデル30のベクトル変換器32へ入力して、形ベクトル及び色ベクトルを生成する。
【0047】
次に、ステップS14で、訓練部24が、取得した訓練画像から入力ベクトルを生成し、入力ベクトル及び形ベクトルを形識別器34Aに入力する。また、訓練部24が、形識別器34Aから出力されるベクトル及び色ベクトルを色識別器34Bに入力することにより、画像内の被写体についての形及び色の識別結果を示すベクトルを取得する。
【0048】
次に、ステップS16で、訓練部24が、取得した識別結果を示すベクトルを分類器36に入力し、訓練画像から識別した被写体の形及び色の特徴と、訓練特徴ラベルが示す対象物体の特徴との対応(一致又は不一致)を分類する。次に、ステップS18で、訓練部24が、分類結果が「一致」となるように、判定モデル30の形識別器34A、色識別器34B、及び分類器36の各々のパラメータと、ベクトル変換器32の変換パラメータとを更新する。
【0049】
次に、ステップS20で、訓練部24が、機械学習の終了条件を満たしたか否かを判定する。終了条件を満たした場合には、ステップS22へ移行し、満たしていない場合には、ステップS10に戻る。ステップS22では、訓練部24が、終了条件を満たした際の各パラメータが設定された訓練済みの判定モデル30を、情報処理装置10の所定の記憶領域に記憶し、機械学習処理は終了する。
【0050】
【0051】
ステップS30で、第2生成部42が、判定特徴ラベルとして形ラベル及び色ラベルを取得し、対象判定部44が、判定画像を取得する。次に、ステップS32で、第2生成部42が、取得した形ラベル及び色ラベルの各々を、訓練済みの判定モデル30のベクトル変換器32へ入力して、形ベクトル及び色ベクトルを生成する。
【0052】
次に、ステップS34で、対象判定部44が、取得した判定画像から入力ベクトルを生成し、入力ベクトル及び形ベクトルを形識別器34Aに入力する。また、対象判定部44が、形識別器34Aから出力されるベクトル及び色ベクトルを色識別器34Bに入力することにより、画像内の被写体についての形及び色の識別結果を示すベクトルを取得する。
【0053】
次に、ステップS36で、対象判定部44が、取得した識別結果を示すベクトルを分類器36に入力し、判定画像から識別した被写体の形及び色の特徴と、判定特徴ラベルが示す対象物体の特徴との対応(一致又は不一致)を分類する。次に、ステップS38で、対象判定部44が、上記ステップS36の分類結果に基づいて、判定画像内の被写体が目的の対象物体か否かを判定し、判定結果を出力する。そして、判定処理は終了する。
【0054】
以上説明したように、第1実施形態に係る情報処理装置によれば、機械学習部が、訓練画像に含まれる対象物体の第1の特徴と対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成する。そして、機械学習部が、第1の特徴を識別する第1の識別器と第2の特徴を識別する第2の識別器とを含む機械学習モデルに、訓練画像とベクトル情報とを入力して、機械学習モデルの訓練と変換パラメータの更新とを実行する。これにより、対象の追加又は変更時の機械学習モデルの再訓練に要する作業コストを低減することができる。
【0055】
具体的には、第1実施形態に係る情報処理装置によれば、対象物体の種類が何万点も存在する場合でも、全ての対象物体を特徴の組み合わせにより表現する。したがって、対象物体が追加されても、特徴の種類が変わらなければ、機械学習モデルを再訓練する必要はない。また、特徴毎の識別器を追加する場合でも、それぞれの特徴を識別する識別器が独立しているため、既存の特徴の識別精度に影響を与えない。また、例えば、特徴として色のみを識別すればよい場合には1つの識別器、色、形、及び素材を識別する場合には3つ識別器を用いるというように、必要な特徴の数に応じて利用する識別器の数を変えることができる。
【0056】
なお、機械学習モデルに識別器を追加する場合、既存の識別器のパラメータを固定して機械学習モデルの訓練と変換パラメータの更新とを実行する。これにより、再訓練時の計算コストを削減することができる。
【0057】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る情報処理装置において、第1実施形態に係る情報処理装置10と同様の構成については、同一符号を付して詳細な説明を省略する。
【0058】
図5に示すように、第2実施形態に係る情報処理装置210は、機能的には、機械学習部220と、判定部240とを含む。機械学習部220は、さらに、第1生成部222と、訓練部224とを含む。判定部240は、さらに、第2生成部242と、対象判定部244とを含む。また、情報処理装置210の所定の記憶領域には、判定モデル230が記憶される。
【0059】
第2実施形態では、第1の特徴を対象物体の「素材」、第2の特徴を対象物体の「色」とする場合について説明する。ここで、物体の色は、物体の素材によって、同じ色であっても色の見え方が異なる場合がある。
図11に示すように、特徴のベクトル空間において、青色を示す色ベクトル(「青色ベクトル」ともいう)の分布のうち、金属の青色ベクトルが網掛の楕円で示すような分布であるとする。また、分類器36で出力する尤度が、この分布の中心と色識別器34Bが出力するベクトルとの距離に基づくとする。素材が金属で色が青色の物体については、金属の青色ベクトルの分布の中心との距離が近いほど尤度が高くなるべきである。しかし、素材の金属との関係性を考慮しない青色ベクトルを用いて色識別器34Bで識別されたベクトルについての尤度は、青色ベクトルの分布の中心との距離に基づいて求められることになるため、精度の良い識別を行うことができない。そこで、第2実施形態では、特徴間の関係性を考慮したベクトル情報を生成して、画像内の被写体の特徴を識別する。
【0060】
図12に、第2実施形態における判定モデル230の一例を示す。判定モデル230は、ベクトル変換器232と、相互ベクトル変換器233と、素材識別器234Cと、色識別器234Bと、分類器36とを含む。素材識別器234C、色識別器34B、及び分類器36は、開示の技術の機械学習モデルの一例である。また、ベクトル変換器32及び相互ベクトル変換器233のパラメータは、開示の技術の変換パラメータの一例である。
【0061】
ベクトル変換器232は、第1実施形態のベクトル変換器32と同様に、入力された特徴ラベルからベクトル情報を生成する。第2実施形態では、ベクトル変換器32は、素材ラベルを変換した素材ベクトル、及び色ラベルを変換した色ベクトルを生成する。
【0062】
相互ベクトル変換器233は、特徴毎のベクトルを、特徴間の関係に基づいて修正する。相互ベクトル変換器233は、例えば、BERT(Bidirectional Encoder Representations from Transformers)等の自然言語処理モデルで実現してよい。例えば、
図12に示すように、ベクトル変換器32により、青色を示す特徴ラベルが青色ベクトルに変換され、金属を示す特徴ラベルが金属を示す素材ベクトル(以下、「金属ベクトル」ともいう)に変換されるとする。相互ベクトル変換器233には、この青色ベクトルと金属ベクトルとが入力される。相互ベクトル変換器233は、青色ベクトルを金属ベクトルに基づいて修正することにより、金属の青色ベクトルに変換し、金属ベクトルを青色ベクトルに基づいて修正することにより、青色の金属ベクトルに変換する。
【0063】
素材識別器234Cは、対象物体の特徴の1つである「素材」を識別するための識別器であり、第1の機械学習モデル部分の一例である。素材識別器234Cには、相互ベクトル変換器233で修正された素材ベクトル(
図12の例では、青色の金属ベクトル)と画像から生成された入力ベクトルとが入力される。素材識別器234Cは、入力ベクトルと、修正された素材ベクトルとに基づいて、画像に含まれる被写体の素材の特徴を識別した結果を含む情報を出力する。
【0064】
色識別器234Bは、相互ベクトル変換器233で変換された色ベクトルと、素材識別器234Cから出力された情報とが入力される点を除いて、第1実施形態の色識別器34Bと同様である。
【0065】
次に、機械学習部220について説明する。
【0066】
第1生成部222は、第1実施形態の第1生成部22と同様に、訓練特徴ラベルを取得し、取得した訓練特徴ラベルを、ベクトル変換器232へ入力して、素材ベクトル及び色ベクトルを取得する。また、第1生成部222は、素材ベクトル及び色ベクトルを相互ベクトル変換器233へ入力して、色ベクトルに基づいて修正した素材ベクトル、及び素材ベクトルに基づいて修正した色ベクトルを生成する。
【0067】
訓練部224は、修正された素材ベクトル及び訓練画像から生成した入力ベクトルを素材識別器243Cへ入力する。また、訓練部224は、素材識別器243Cから出力された情報及び修正された色ベクトルを色識別器243Bへ入力する。その他の点については、第1実施形態の訓練部24と同様である。
【0068】
次に、判定部240について説明する。
【0069】
第2生成部242は、ベクトル変換器232及び相互ベクトル変換器233を用いて、第1生成部222と同様に、特徴ラベルである素材ラベル及び色ラベルから、修正された素材ベクトル及び修正された色ベクトルを生成する。
【0070】
対象判定部244は、修正された素材ベクトル及び判定画像から生成した入力ベクトルを素材識別器243Cへ入力する。その他の点については、訓練部224と同様である。
【0071】
情報処理装置210は、例えば
図8に示すコンピュータ50で実現されてよい。コンピュータ50の記憶装置54には、コンピュータ50を、情報処理装置210として機能させるための機械学習プログラム260及び判定プログラム270が記憶される。機械学習プログラム260は、第1生成プロセス制御命令262と、訓練プロセス制御命令264とを有する。判定プログラム270は、第2生成プロセス制御命令272と、対象判定プロセス制御命令274とを有する。また、記憶装置54は、判定モデル230を構成する情報が記憶される情報記憶領域280を有する。
【0072】
CPU51は、機械学習プログラム260及び判定プログラム270の各々を記憶装置54から読み出してメモリ53に展開し、機械学習プログラム260及び判定プログラム270の各々が有する制御命令を順次実行する。CPU51は、第1生成プロセス制御命令262を実行することで、
図5に示す第1生成部222として動作する。また、CPU51は、訓練プロセス制御命令264を実行することで、
図5に示す訓練部224として動作する。また、CPU51は、第2生成プロセス制御命令272を実行することで、
図5に示す第2生成部242として動作する。また、CPU51は、対象判定プロセス制御命令274を実行することで、
図5に示す対象判定部244として動作する。また、CPU51は、情報記憶領域280から情報を読み出して、判定モデル230をメモリ53に展開する。これにより、機械学習プログラム260を実行したコンピュータ50が、情報処理装置210の機械学習部220として機能し、判定プログラム270を実行したコンピュータ50が、情報処理装置210の判定部240として機能することになる。
【0073】
なお、機械学習プログラム260及び判定プログラム270の各々により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。
【0074】
次に、第2実施形態に係る情報処理装置210の動作について説明する。情報処理装置210に訓練画像及び訓練特徴ラベルが入力され、判定モデル230の訓練が指示されると、情報処理装置210において、
図9に示す機械学習処理が実行される。また、情報処理装置210に判定画像及び判定特徴ラベルが入力され、対象物体の判定が指示されると、情報処理装置210において、
図10に示す判定処理が実行される。
【0075】
第2実施形態における機械学習処理において、第1実施形態にける機械学習処理と異なる点について説明する。第2実施形態では、第1実施形態にける機械学習処理の「形」を「素材」に読み替える。また、ステップS12において、第1生成部222が、相互ベクトル変換器233も用いて、修正されたベクトル情報を生成する。
【0076】
次に、第2実施形態における判定処理において、第1実施形態にける判定処理と異なる点について説明する。第2実施形態では、第1実施形態にける判定処理の「形」を「素材」に読み替える。また、ステップS32において、第2生成部242が、相互ベクトル変換器233も用いて、修正されたベクトル情報を生成する。
【0077】
以上説明したように、第2実施形態に係る情報処理装置によれば、特徴間の関係を考慮して修正したベクトル情報を用いて、画像内の被写体の特徴を識別する。これにより、第1実施形態の効果に加え、上述した参考手法1~3に比べ、識別精度を向上させることができる。例えば、第2実施形態の例では、素材による色の見え方の違いに対応して、特徴の識別を行うことができる。
【0078】
なお、第2実施形態では、素材と色との関係性を考慮する場合について説明したが、相互に影響しあう特徴同士であれば、素材と色以外の特徴間の関係性についても、第2実施形態を適用することができる。
【0079】
また、第1実施形態では、対象物体の特徴として形及び色を用い、第2実施形態では、対象物体の特徴として素材及び色を用いる場合について説明したが、これに限定されない。対象物体に応じて、その他の特徴を用いてもよいし、用いる特徴の組み合わせも適宜設定してよい。
【0080】
また、各実施形態では、機械学習部と判定部とを1つのコンピュータで実現する場合について説明したが、機械学習部と判定部とをそれぞれ別のコンピュータで実現するようにしてもよい。
【0081】
また、上記各実施形態では、機械学習プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
【0082】
以上の各実施形態に関し、さらに以下の付記を開示する。
【0083】
(付記1)
画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【0084】
(付記2)
前記ベクトル情報を生成することは、前記第1の特徴を示す第1のベクトル及び前記第2の特徴を示す第2のベクトルの各々を生成することを含む、
ことを特徴とする付記1に記載の機械学習プログラム。
【0085】
(付記3)
前記ベクトル情報を生成することは、前記第1の特徴と前記第2の特徴との関係に基づいて修正された前記第1のベクトル及び前記第2のベクトルを生成することを含む、
ことを特徴とする付記2に記載の機械学習プログラム。
【0086】
(付記4)
前記機械学習モデルに前記ベクトル情報を入力することは、前記第1のベクトルを前記第1の機械学習モデル部分に入力し、前記第2のベクトルを前記第2の機械学習モデル部分に入力することを含む、
ことを特徴とする付記3に記載の機械学習プログラム。
【0087】
(付記5)
前記機械学習モデルは、前記第1の機械学習モデル部分の出力と、前記第2のベクトルとが前記第2の機械学習モデル部分へ入力されるように構成される、
ことを特徴とする付記2~付記4のいずれか1項に記載の機械学習プログラム。
【0088】
(付記6)
前記機械学習モデルに、前記画像に含まれる対象の第3の特徴を識別する第3の機械学習モデル部分を追加する場合、
前記第1の特徴と前記第2の特徴と前記第3の特徴と前記変換パラメータとに基づいて前記ベクトル情報を生成し、
訓練で得られた前記第1の機械学習モデル部分及び前記第2の機械学習モデル部分の各々のパラメータを固定した前記機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
ことを特徴とする付記1~付記5のいずれか1項に記載の機械学習プログラム。
【0089】
(付記7)
対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
画像と前記ベクトル情報とを、前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに入力し、前記対象と前記画像の被写体との対応関係を判定する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【0090】
(付記8)
前記対応関係を判定する処理は、前記対象の第1の特徴及び第2の特徴と、前記第1の機械学習モデル部分で識別された第1の特徴及び前記第2の機械学習モデル部分で識別された第2の特徴とが一致するか否かを判定することを含む、
ことを特徴とする付記7に記載の判定プログラム。
【0091】
(付記9)
画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
処理を実行する制御部を含むことを特徴とする機械学習装置。
【0092】
(付記10)
前記ベクトル情報を生成することは、前記第1の特徴を示す第1のベクトル及び前記第2の特徴を示す第2のベクトルの各々を生成することを含む、
ことを特徴とする付記9に記載の機械学習装置。
【0093】
(付記11)
前記ベクトル情報を生成することは、前記第1の特徴と前記第2の特徴との関係に基づいて修正された前記第1のベクトル及び前記第2のベクトルを生成することを含む、
ことを特徴とする付記10に記載の機械学習装置。
【0094】
(付記12)
前記機械学習モデルに前記ベクトル情報を入力することは、前記第1のベクトルを前記第1の機械学習モデル部分に入力し、前記第2のベクトルを前記第2の機械学習モデル部分に入力することを含む、
ことを特徴とする付記11に記載の機械学習装置。
【0095】
(付記13)
前記機械学習モデルは、前記第1の機械学習モデル部分の出力と、前記第2のベクトルとが前記第2の機械学習モデル部分へ入力されるように構成される、
ことを特徴とする付記10~付記12のいずれか1項に記載の機械学習装置。
【0096】
(付記14)
前記機械学習モデルに、前記画像に含まれる対象の第3の特徴を識別する第3の機械学習モデル部分を追加する場合、
前記第1の特徴と前記第2の特徴と前記第3の特徴と前記変換パラメータとに基づいて前記ベクトル情報を生成し、
訓練で得られた前記第1の機械学習モデル部分及び前記第2の機械学習モデル部分の各々のパラメータを固定した前記機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
ことを特徴とする付記9~付記13のいずれか1項に記載の機械学習装置。
【0097】
(付記15)
対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
画像と前記ベクトル情報とを、前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに入力し、前記対象と前記画像の被写体との対応関係を判定する、
処理を実行する制御部を含むことを特徴とする判定装置。
【0098】
(付記16)
前記対応関係を判定する処理は、前記対象の第1の特徴及び第2の特徴と、前記第1の機械学習モデル部分で識別された第1の特徴及び前記第2の機械学習モデル部分で識別された第2の特徴とが一致するか否かを判定することを含む、
ことを特徴とする付記15に記載の判定装置。
【0099】
(付記17)
画像に含まれる対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに、前記画像と前記ベクトル情報とを入力して、前記機械学習モデルの訓練と前記変換パラメータの更新とを実行する、
処理をコンピュータが実行することを特徴とする機械学習方法。
【0100】
(付記18)
前記ベクトル情報を生成することは、前記第1の特徴を示す第1のベクトル及び前記第2の特徴を示す第2のベクトルの各々を生成することを含む、
ことを特徴とする付記17に記載の機械学習方法。
【0101】
(付記19)
前記ベクトル情報を生成することは、前記第1の特徴と前記第2の特徴との関係に基づいて修正された前記第1のベクトル及び前記第2のベクトルを生成することを含む、
ことを特徴とする付記18に記載の機械学習方法。
【0102】
(付記20)
対象の第1の特徴と前記対象の第2の特徴と変換パラメータとに基づいてベクトル情報を生成し、
画像と前記ベクトル情報とを、前記第1の特徴を識別する第1の機械学習モデル部分と前記第2の特徴を識別する第2の機械学習モデル部分とを含む機械学習モデルに入力し、前記対象と前記画像の被写体との対応関係を判定する、
処理をコンピュータが実行することを特徴とする判定方法。
【符号の説明】
【0103】
10、210 情報処理装置
20、220 機械学習部
22、222 第1生成部
24、224 訓練部
30、230 判定モデル
32、232 ベクトル変換器
233 相互ベクトル変換器
34A 形識別器
34B、234B 色識別器
234C 素材識別器
36 分類器
40、240 判定部
42、242 第2生成部
44、244 対象判定部
50 コンピュータ
51 CPU
52 GPU
53 メモリ
54 記憶装置
55 入出力装置
56 R/W装置
57 通信I/F
58 バス
59 記憶媒体
60、260 機械学習プログラム
62、262 第1生成プロセス制御命令
64、264 訓練プロセス制御命令
70、270 判定プログラム
72、272 第2生成プロセス制御命令
74、274 対象判定プロセス制御命令
80、280 情報記憶領域