(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-09
(54)【発明の名称】多重ラベルセットを用いた学習モデルの生成方法及びこのための装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241226BHJP
G06V 10/774 20220101ALI20241226BHJP
G06N 20/00 20190101ALI20241226BHJP
G06N 3/08 20230101ALI20241226BHJP
【FI】
G06T7/00 350B
G06V10/774
G06N20/00 130
G06N3/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024538769
(86)(22)【出願日】2022-12-29
(85)【翻訳文提出日】2024-06-25
(86)【国際出願番号】 KR2022021669
(87)【国際公開番号】W WO2023128677
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】10-2021-0193800
(32)【優先日】2021-12-31
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0188077
(32)【優先日】2022-12-29
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】523088590
【氏名又は名称】ニューロクル インコーポレーテッド
【氏名又は名称原語表記】NEUROCLE INC.
【住所又は居所原語表記】#301,3F,32,Maeheon-ro 16-gil Seocho-gu Seoul 06770,Republic of Korea
(74)【代理人】
【識別番号】100130111
【氏名又は名称】新保 斉
(72)【発明者】
【氏名】イ、ホン ソク
(72)【発明者】
【氏名】ユン、ソン ジュン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA81
5L096GA34
5L096HA11
(57)【要約】
ターゲット装置のための学習モデルの最適化方法及びシステムに関するものであって、この開示の実施形態による方法は、多重ラベルセットを用いた学習モデルの生成方法であって、複数枚のイメージを含むイメージセットを取得するステップと、前記イメージセットに対して異なる種類の複数のラベルセットを生成するステップと、を含んでいてもよい。
【選択図】
図6
【特許請求の範囲】
【請求項1】
多重ラベルセットを用いた学習モデルの生成方法において、
複数枚のイメージを含むイメージセットを取得するステップと、
前記イメージセットに対して異なる種類の複数のラベルセットを生成するステップと、を含む
ことを特徴とする方法。
【請求項2】
前記イメージセットをネットワーク関数に入力して、前記複数のラベルセットのうちの少なくとも2つ以上に対応する複数の学習モデルを生成するステップをさらに含む
請求項1に記載の方法。
【請求項3】
前記複数のラベルセットを生成するステップは、
複数のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関するラベル情報をそれぞれ受信するステップと、
前記ラベル情報に基づいて、前記イメージセットに含まれている複数枚のイメージに対してラベリングを行うことにより、前記ラベル情報のそれぞれに対応する前記複数のラベルセットを生成するステップと、を含む
請求項2に記載の方法。
【請求項4】
前記複数の学習モデルのうちの少なくとも2つ以上に対して性能を比較するステップをさらに含み、
前記性能は、再現率(recall)、適合率(precision)、正解率(accuracy)及びこれらの組み合わせのうちの少なくとも1つに基づいて算出される
請求項2に記載の方法。
【請求項5】
前記複数の学習モデルは、それぞれオブジェクト検出(object detection)、オブジェクト分類(object classification)、オブジェクト分割(object segmentation)、文字認識(character recognition)、予測(prediction)及び異常検知(anomaly detection)のうちのいずれか1つを行う
請求項2に記載の方法。
【請求項6】
前記学習モデルのうちの少なくとも2つ以上を結合して、アンサンブルモデル(ensemble model)を構築するステップをさらに含む
請求項2に記載の方法。
【請求項7】
前記複数のラベルセットは、ラベリングの難易度が互いに異なる種類の第1のラベルセットと第2のラベルセットを備え、
前記複数のラベルセットを生成するステップは、
ラベリングの難易度が低い前記第1のラベルセットを基づいて、前記第2のラベルセットを生成するステップを含む
請求項1に記載の方法。
【請求項8】
前記複数のラベルセットを生成するステップは、
少なくとも一人のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関する第1のラベル情報を受信するステップと、
前記第1のラベル情報に基づいて、前記イメージセットに含まれている複数枚のイメージに対してラベリング(labeling)を行うことにより、前記複数枚のイメージのそれぞれについての第1のラベルを含む第1のラベルセットを生成するステップと、
前記イメージセット及び前記第1のラベルセットを第1のネットワーク関数に入力して学習を行い、出力結果に基づいて、前記複数枚のイメージのそれぞれについての第2のラベルを含む第2のラベルセットを生成するステップと、を含む
請求項7に記載の方法。
【請求項9】
前記第1のネットワーク関数の出力結果は、
前記第1のネットワーク関数が、前記複数枚のイメージのそれぞれについて、少なくともいずれか1つの部分に基づいて前記第1のラベルに対応する結果を出力したか否かに関する情報を含む
請求項8に記載の方法。
【請求項10】
前記第1のネットワーク関数の出力結果は、
前記複数枚のイメージのそれぞれについて、少なくともいずれか1つの部分に基づいて前記第1のラベルに対応する結果を出力したか否かに関する情報をヒートマップ(heat map)の形態で含む
請求項9に記載の方法。
【請求項11】
前記第1のネットワーク関数の出力結果は、
前記第1のラベルに対応する結果についての前記複数枚のイメージのそれぞれのクラス活性化マップ(Class Activation Map;CAM)を含む
請求項10に記載の方法。
【請求項12】
前記第2のラベルセットを生成するステップにおいて、
前記第2のラベルは、前記複数枚のイメージのそれぞれに対応する前記クラス活性化マップのそれぞれに対して、しきい(threshold)値を所定の値又は範囲に設定して弱いラベリング(weak labeling)領域を抽出することにより生成される
請求項11に記載の方法。
【請求項13】
前記イメージセット及び前記第2のラベルセットを第2のネットワーク関数に入力して学習を行うことにより、学習モデルを生成するステップをさらに含む
請求項8に記載の方法。
【請求項14】
前記第1のラベルは、オブジェクト分類ラベルであり、前記第2のラベルは、オブジェクト認識ラベル及びオブジェクト分類ラベルのうちの少なくともどちらか一方である
請求項8に記載の方法。
【請求項15】
多重ラベルセットを用いた学習モデルの生成装置において、
少なくとも1つのプロセッサーと、
前記プロセッサーにより起動可能なプログラムを記憶するメモリと、
を備え、
前記プロセッサーは、前記プログラムを起動することにより、複数枚のイメージを含むイメージセットを取得し、前記イメージセットに対して異なる種類の複数のラベルセットを生成する
ことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【0001】
この開示(disclosure)の技術的思想は、多重ラベルセットを用いた学習モデルの生成方法及びこのための装置に関する。
【背景技術】
【0002】
機械学習(Machine Learning;マシンラーニング)は、人工知能(AI)の一つの分野であって、データに基づいてコンピューターが学習できるようにするアルゴリズムと技術を開発する分野であり、イメージ処理、映像認識、音声認識、インターネット検索などの多岐にわたる分野の中核技術であると言われており、予測(prediction)、オブジェクト検出(object detection)、オブジェクト分類(object classification)、オブジェクト分割(object segmentation)、異常検知(anomaly detection)などに優れた成果を示す。
【0003】
機械学習を行うために先決的に学習データの生成が必要であり、このような学習データを生成するために学習データに対して検出しようとする正解(label)に目印をつけるラベリングを行わなければならない。例えば、イメージから特定のオブジェクトを検出しようとする場合、学習データであるイメージに当該オブジェクトの種類、位置、境界などの情報を含むラベルを学習データに対応付けて生成し、このようなラベルに基づいて機械学習アルゴリズムが学習データを学習することにより、当該オブジェクトを検出する学習モデルを生成することができる。
【0004】
しかしながら、従来のラベリング方式は、学習データごとに単一の種類のラベルのみを含むようにすることにより、同一の学習データから多種多様なラベルに基づく結果を導き出し、これらを互いにアンサンブル(ensemble)をして活用するのに限界が存在し、これに加えて、個別のラベルごとに学習データを別途に生成する方式によって、学習データの生成、記憶、管理などの側面からみて余計にリソースが費やされてしまうという不都合がある。
【0005】
一方、学習データを構成するに際して、一部の種類のラベリングが行われたデータを収集することは容易な作業であり得るが、他の種類の場合にはラベリングを行うそれ自体が相対的に決して容易ではない可能性がある。すなわち、例えば、クラス分類が行われたデータを収集することは容易であるものの、クラスのそれぞれに対応するオブジェクトに対するセグメンテーションが行われたデータを収集することは決して容易ではない可能性がある。このように、難易度の高いラベリングが行われた学習データを確保するためにかかる時間及びコストが膨大であるという不都合がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
この開示の技術的思想は、上記の問題を解決するための多重ラベルセットを用いた学習モデルの生成方法及びその装置を提供することをその目的とする。
【0007】
この開示の技術的思想による多重ラベルセットを用いた学習モデルの生成方法及びこのための装置が解決しようとする技術的課題は、上述した技術的課題に何ら制限されるものではなく、言及されていない他の技術的課題は、次の記載から当業者にとって明らかに理解できる。
【課題を解決するための手段】
【0008】
この開示の技術的思想による一態様によれば、多重ラベルセットを用いた学習モデルの生成方法は、複数枚のイメージを含むイメージセットを取得するステップと、前記イメージセットに対して異なる種類の複数のラベルセットを生成するステップと、を含んでいてもよい。
【0009】
例示的な実施形態によれば、前記イメージセットをネットワーク関数に入力して、前記複数のラベルセットのうちの少なくとも2つ以上に対応する複数の学習モデルを生成するステップをさらに含んでいてもよい。
【0010】
前記多重ラベルセットを用いた学習モデルの生成方法は、前記イメージセットをネットワーク関数に入力して、前記複数のラベルセットのうちの少なくとも2つ以上に対応する複数の学習モデルを生成するステップをさらに含んでいてもよい。
【0011】
この例示的な実施形態によれば、前記複数のラベルセットを生成するステップは、複数のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関するラベル情報をそれぞれ受信するステップと、前記ラベル情報に基づいて、前記イメージセットに含まれている複数枚のイメージに対してラベリングを行うことにより、前記ラベル情報のそれぞれに対応する前記複数のラベルセットを生成するステップと、を含んでいてもよい。
【0012】
例示的な実施形態によれば、前記多重ラベルセットを用いた学習モデルの生成方法は、前記複数の学習モデルのうちの少なくとも2つ以上に対して性能を比較するステップをさらに含み、前記性能は、再現率(recall)、適合率(precision)、正解率(accuracy)及びこれらの組み合わせのうちの少なくとも1つに基づいて算出されてもよい。
【0013】
例示的な実施形態によれば、前記複数の学習モデルは、それぞれオブジェクト検出(object detection)、オブジェクト分類(object classification)、オブジェクト分割(object segmentation)、文字認識(character recognition)、予測(prediction)及び異常検知(anomaly detection)のうちのいずれか1つを行ってもよい。
【0014】
例示的な実施形態によれば、前記多重ラベルセットを用いた学習モデルの生成方法は、前記学習モデルのうちの少なくとも2つ以上を結合して、アンサンブルモデル(ensemble model)を構築するステップをさらに含んでいてもよい。
【0015】
例示的な実施形態によれば、前記複数のラベルセットは、ラベリングの難易度が互いに異なる種類の第1のラベルセットと第2のラベルセットを備え、前記複数のラベルセットを生成するステップは、ラベリングの難易度が低い前記第1のラベルセットを基づいて、前記第2のラベルセットを生成するステップを含んでいてもよい。
【0016】
例示的な実施形態によれば、前記複数のラベルセットを生成するステップは、少なくとも一人のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関する第1のラベル情報を受信するステップと、前記第1のラベル情報に基づいて、前記イメージセットに含まれている複数枚のイメージに対してラベリング(labeling)を行うことにより、前記複数枚のイメージのそれぞれについての第1のラベルを含む第1のラベルセットを生成するステップと、前記イメージセット及び前記第1のラベルセットを第1のネットワーク関数に入力して学習を行い、出力結果に基づいて、前記複数枚のイメージのそれぞれについての第2のラベルを含む第2のラベルセットを生成するステップと、を含んでいてもよい。
【0017】
例示的な実施形態によれば、前記第1のネットワーク関数の出力結果は、前記第1のネットワーク関数が、前記複数枚のイメージのそれぞれについて、少なくともいずれか1つの部分に基づいて前記第1のラベルに対応する結果を出力したか否かに関する情報を含んでいてもよい。
【0018】
例示的な実施形態によれば、前記第1のネットワーク関数の出力結果は、前記複数枚のイメージのそれぞれについて、少なくともいずれか1つの部分に基づいて前記第1のラベルに対応する結果を出力したか否かに関する情報をヒートマップ(heat map)の形態で含んでいてもよい。
【0019】
例示的な実施形態によれば、前記第1のネットワーク関数の出力結果は、前記第1のラベルに対応する結果についての前記複数枚のイメージのそれぞれのクラス活性化マップ(Class Activation Map;CAM)を含んでいてもよい。
【0020】
例示的な実施形態によれば、前記第2のラベルセットを生成するステップにおいて、
前記第2のラベルは、前記複数枚のイメージのそれぞれに対応する前記クラス活性化マップのそれぞれに対して、しきい(threshold)値を所定の値又は範囲に設定して弱いラベリング(weak labeling)領域を抽出することにより生成されてもよい。
【0021】
例示的な実施形態によれば、前記多重ラベルセットを用いた学習モデルの生成方法は、前記イメージセット及び前記第2のラベルセットを第2のネットワーク関数に入力して学習を行うことにより、学習モデルを生成するステップをさらに含んでいてもよい。
【0022】
例示的な実施形態によれば、前記第1のラベルは、オブジェクト分類ラベルであり、前記第2のラベルは、オブジェクト認識ラベル及びオブジェクト分類ラベルのうちの少なくともどちらか一方であってもよい。
【0023】
例示的な実施形態によれば、前記第1のラベルは、オブジェクト認識ラベルであり、前記第2のラベルは、オブジェクト分割ラベルであってもよい。
【0024】
この開示の技術的思想による一態様によれば、多重ラベルセットを用いた学習モデルの生成装置は、少なくとも1つのプロセッサーと、前記プロセッサーにより起動可能なプログラムを記憶するメモリと、を備え、前記プロセッサーは、前記プログラムを起動することにより、複数枚のイメージを含むイメージセットを取得し、前記イメージセットに対して異なる種類の複数のラベルセットを生成してもよい。
【発明の効果】
【0025】
この開示の技術的思想による実施形態によれば、単一のイメージセットに対して異なる種類のラベルセットを生成し、これを基づいてそれぞれのラベルセットに対応する複数の学習モデルを生成して、性能比較を行うことで、遂行作業に最適化したラベルセット及び/又は学習モデルを選定することができる。
【0026】
この開示の技術的思想による実施形態によれば、異なるラベルセットに基づいて生成された複数の学習モデルを結合して遂行作業に適したアンサンブルモデルを構築することにより、より一層正確な最終結果を取得することができる。
【0027】
この開示の技術的思想による実施形態によれば、ラベリングの難易度が低い種類のラベルを基づいてモデルを学習した後、難易度が相対的に低いラベルを自動的に生成して学習モデルを生成することができる。
【0028】
この開示の技術的思想による方法及びこのための装置が得られる効果は上述した効果に何ら制限されるものではなく、言及されていない他の効果は、次の記載からこの開示が属する技術分野において通常の知識を有する者にとって明確に理解できる。
【0029】
この開示において引用される図面をより一層十分に理解するために各図面の簡単な説明が提供される。
【図面の簡単な説明】
【0030】
【
図1】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートである。
【
図2】
図1のステップS120に関する第1の実施形態を説明するためのフローチャートである。
【
図3】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートである。
【
図4】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートである。
【
図5】この開示の実施形態による学習データの構造及びネットワーク関数を概念的に図式化した図である。
【
図6】
図1のステップS120に関する第2の実施形態を説明するためのフローチャートである。
【
図7】
図6のステップS123に関する実施形態を説明するためのフローチャートである。
【
図8】この開示の実施形態による学習データの構造及びネットワーク関数を概念的に図式化した図である。
【
図9】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【
図10】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【
図11】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【
図12】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【
図13】この開示の実施形態による多重ラベルセットを用いた学習モデルの生成装置の構成を簡略に示すブロック図である。
【発明を実施するための形態】
【0031】
この開示の技術的思想は、様々な変更を加えることができ、種々の実施形態を有することができるので、特定の実施形態を図面に例示し、これについて詳しく説明する。しかしながら、これは、この開示の技術的思想を特定の実施形態に対して限定しようとするものではなく、この開示の技術的思想の範囲に含まれるあらゆる変更、均等物ないし代替物を含むものと理解される。
【0032】
この開示の技術的思想を説明するに当たって、本発明と関連する公知の技術についての具体的な説明がこの開示の要旨をかえって曖昧にする恐れがあると認められる場合にはその詳細な説明を省略する。なお、この開示の説明過程において用いられる数字(例えば、「第1の」、「第2の」など)は、ある構成要素を他の構成要素から区別するための識別符号に過ぎない。
【0033】
また、この開示において、ある構成要素が他の構成要素と「連結」されているとか、「接続」されているとか、と言及された場合には、前記ある構成要素が前記他の構成要素と直接的に連結されたり接続されたりすることもあるが、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、これらの間に他の構成要素が存在して該他の構成要素を介して連結されたり接続されたりする可能性もある。
【0034】
さらに、この開示に記載の「~部」、「~器」、「~子」、「~モジュール」などの言い回しは、少なくとも1つの機能や動作を処理する単位を意味し、これは、プロセッサー(Processer)、マイクロプロセッサー(Micro Processer)、マイクロコントローラー(Micro Controller)、中央処理装置(CPU:Central Processing Unit)、グラフィックス処理装置(GPU:Graphics Processing Unit)、アクセラレーテッド処理装置(APU:Accelerated Processing Unit)、デジタルシグナルプロセッサ(DSP:digital signal processors)、特定用途向け集積回路(ASIC:application specific integrated circuits)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate arrays)などといったハードウェアやソフトウェア又はハードウェア及びソフトウェアの組み合わせにより実現されてもよい。
【0035】
そして、この開示における構成部に対する区別は、各構成部が担当する主機能ごとに区別したものに過ぎないことを明らかにしておきたい。すなわち、以下において説明する2つ以上の構成部が1つの構成部にまとめられるか、あるいは、1つの構成部がさらに細分化した機能ごとに2つ以上に分化されて備えられてもよい。そして、以下において説明する構成部のそれぞれは、自分が担当する主機能の他にも、他の構成部が担当する機能の一部又は全部の機能をさらに行ってもよいし、あるいは、構成部のそれぞれが担当する主機能の一部の機能が他の構成部によって専担されて行われてもよいことはいうまでもない。
【0036】
この開示の実施形態による方法は、演算能を備えた個人向けコンピューター(Personal Computer)、ワークステーション(workstation)、サーバー用のコンピューター装置などにおいて行われてもよいし、あるいは、このための別途の装置において行われてもよい。
【0037】
また、方法は、1台以上の演算装置において行われてもよい。例えば、この開示の実施形態による方法の少なくとも1つ以上のステップはクライアントデバイスにおいて、他のステップはサーバーデバイスにおいて行われてもよい。このような場合、クライアントデバイスとサーバーデバイスは、ネットワークにより結ばれて演算結果を送受信してもよい。あるいは、方法は、分散コンピューティング技術により行われてもよい。
【0038】
また、この明細書の全般にわたって、ネットワーク関数、演算モデル、神経網、ニューラルネットワーク(neural network)は、同じ意味として用いられてもよい。ニューラルネットワークは、一般に、ノードと称され得る相互間に接続された計算単位の集合から構成されてもよい。このようなノードは、ニューロンと称されることもある。ニューラルネットワークは、少なくとも1つ以上のノードを備えて構成される。ニューラルネットワークを構成するノード(又は、ニューロン)は、1つ以上のリンクによって互いに接続されてもよい。
【0039】
神経網内において、リンクを介して接続された1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成してもよい。入力ノード及び出力ノードの概念は相対的なものであって、1つのノードに対して出力ノードの関係にある任意のノードは、他のノードとの関係において入力ノードの関係にある可能性があり、その逆も成り立つ。上述した通り、入力ノードに対する出力ノードの関係は、リンクを中心として生成されてもよい。1つの入力ノードに1つ以上の出力ノードがリンクを介して接続されてもよく、その逆も成り立つ。
【0040】
1つのリンクを介して接続された入力ノード及び出力ノードの関係において、出力ノードのデータは、入力ノードに入力されたデータに基づいてその値が決定されてもよい。ここで、入力ノードと出力ノードとを互いに接続するリンクは、重み付け値(weight)を有していてもよい。重み付け値は可変的なものであってもよく、神経網が所望の機能を行うために、ユーザー又はアルゴリズムによって可変となってもよい。例えば、1つの出力ノードに1つ以上の入力ノードがそれぞれのリンクによって互いに接続された場合、出力ノードは、前記出力ノードと接続された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定された重み付け値に基づいて出力ノード値を決定してもよい。
【0041】
神経網を構成するノードの部分集合は、レイヤー(layer)を構成してもよい。神経網を構成するノードの一部は、最初の入力ノードからの距離に基づいて、1つのレイヤー(layer)を構成してもよい。例えば、最初の入力ノードから距離がnであるノードの集合は、nレイヤーを構成してもよい。最初の入力ノードからの距離は、最初の入力ノードから当該ノードまで達するために経なければならないリンクの最小の数により定義されてもよい。しかしながら、このようなレイヤーの定義は、説明のための任意的なものに過ぎず、神経網内においてレイヤーの次数は、上述した方法とは異なる方法により定義されてもよい。例えば、ノードのレイヤーは、最終的な出力ノードからの距離によって定義されてもよい。
【0042】
ニューラルネットワークは、入力レイヤーと出力レイヤーの他に、複数の隠しレイヤーを含むディープニューラルネットワーク(Deep Neural Network;DNN)を備えていてもよい。ディープニューラルネットワークを用いると、データの潜在的な構造(latent structures)を把握することができる。ディープニューラルネットワークは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、レカレントニューラルネットワーク(RNN:recurrent neural network)、オートエンコーダー(autoencoder)、敵対的生成ネットワーク(GAN:Generative Adversarial Network)、制限ボルツマンマシン(RBM:restricted boltzmann machine)、深層信頼ネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワーク(Siamese Network)、敵対的生成ネットワーク(GAN:Generative Adversarial Network)などを備えていてもよい。前述のディープニューラルネットワークの記載は、単なる例示に過ぎず、この開示は、これらに何ら制限されるものではない。
【0043】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semisupervised learning)、又は強化学習(reinforcement learning)のうちの少なくとも1つの方式により学習されてもよい。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに適用する過程であってもよい。
【0044】
以下、この開示の実施形態について順番に詳しく説明する。
【0045】
図1は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートであり、
図2は、
図1のステップS120に関する一実施形態を説明するためのフローチャートである。
【0046】
ステップS110において、装置は、複数枚のイメージを含むイメージセットを取得してもよい。ここで、イメージセットを構成する複数枚のイメージは、少なくとも1つのサーバー及び/又は端末から受信されてもよいし、あるいは、有無線通信を介して接続された少なくとも1台の撮影装置によって取得されてもよい。例えば、複数枚のイメージは、製品の生産、製造、加工などの工程ラインにおいて取得された工程イメージであってもよし、あるいは、患者の身体部位を医療用の撮影装備により撮影した医療イメージ又は映像であってもよいが、これに何ら限定されるものではない。
【0047】
ステップS120において、装置は、イメージセットに対して複数のラベルセットを生成してもよい。
【0048】
実施形態において、複数のラベルセットのそれぞれは、互いに異なる種類のラベル(label)を含んでいてもよい。このとき、ラベル又はこれを含むラベルセットの種類は、ネットワーク関数を介して複数枚のイメージから取得しようとする結果に応じて区別されてもよい。
【0049】
例えば、イメージセットが複数枚の工程イメージから構成されると仮定すれば、1枚のイメージには、製品の良否を確認可能なオブジェクト分類(object classification)、不良の位置を正確に確認可能なオブジェクト分割(object segmentation)、製品を構成する各部品の位置を確認可能なオブジェクト検出(object detection)、通し番号(serial number)を確認可能な文字認識(character recognition)などをそれぞれ行うのに適したラベルがいずれも含まれていてもよく、このような方式を用いて、1つのイメージセットに対応してそれぞれ異なる種類(又は、目的)の複数のラベルセットが生成されてもよい。
【0050】
但し、これは単なる例示的なものに過ぎず、これに何ら限定されるものではなく、ラベルセットは、それぞれオブジェクト分類、オブジェクト分割、オブジェクト検出、文字認識に加えて、予測(prediction)、異常検知(anomaly detection)などのように、ネットワーク関数によって行える多種多様な機能に適するように生成されてもよい。
【0051】
また、実施形態に応じて、装置は、イメージセットに同じ種類の複数のラベルセットを含むように構成されてもよい。例えば、複数のラベルセットは、同じオブジェクトを検出するために異なるユーザーにより行われたラベル情報に基づいてそれぞれ生成されてもよい。この場合、各ラベルセットに基づいて生成された学習モデルに対する性能評価を行うことで、最適なラベルセット及び/又は学習モデルを選択してもよい。
【0052】
実施形態において、ステップS120は、複数のユーザーから受信されたラベル情報に基づいて行われてもよい。例えば、ステップS120は、
図2に示されているように、ステップS121及びステップS122を含んでいてもよい。
【0053】
ステップS121において、装置は、複数のユーザー(すなわち、ユーザー端末)からイメージセットに属する複数枚のイメージのうちの少なくとも1枚に関するラベル情報をそれぞれ受信してもよい。すなわち、装置は、ユーザー端末にイメージセットを提供し、これに応答して、ユーザー端末から複数枚のイメージのうちの少なくとも1枚に関するラベル情報を受信してもよい。このとき、ラベル情報は、オブジェクト分類、オブジェクト分割、オブジェクト検出、文字認識、予測、異常感知などを行うためのものであってもよい。
【0054】
ステップS122において、装置は、ユーザーから受信したラベル情報に基づいて、イメージセットを構成する複数枚のイメージのそれぞれにラベリングを行うことにより、ラベル情報のそれぞれに対応する複数のラベルセットを生成してもよい。上述したように、生成された複数のラベルセットは、互いに異なる種類のものであって、それぞれ異なる出力を取得するためのものであってもよい。
【0055】
実施形態において、複数のラベルセットの少なくとも一部は、他のラベルセットを基づくネットワーク関数の学習結果に基づいて生成されてもよい。
【0056】
ラベルセットは、第1のラベルセットと第2のラベルセットを含み、第2のラベルセットは、第1のラベルセットを所定のネットワーク関数に入力して生成された学習結果に基づいて生成されてもよい。例えば、第1のラベルセットがオブジェクト分類のためのラベルから構成される場合、ネットワーク関数の学習結果において生じるクラス活性化マップ(CAM;Class Activation Map)に基づいてオブジェクト分割のための第2のラベルセットを生成してもよい。
【0057】
また、実施形態において、複数のラベルセットの少なくとも一部は、他のラベルセットを変形して生成されてもよい。例えば、オブジェクト分割のための第1のラベルセットからここに含まれているラベルの幅/高さを変形してオブジェクト検出のための第2のラベルセットを生成してもよい。
【0058】
ステップS130において、装置は、イメージセットをネットワーク関数に入力して少なくとも1つの学習モデルを生成してもよい。例えば、複数のラベルセットの少なくとも2つ以上に対応する複数の学習モデルが生成されてもよく、好ましくは、ラベルセットごとにそれぞれこれに対応する学習モデルが生成されてもよい。
【0059】
このとき、学習モデルは、それぞれオブジェクト検出(object detection)、オブジェクト分類(object classification)、オブジェクト分割(object segmentation)、文字認識(character recognition)、予測(prediction)及び異常検知(anomaly detection)のうちの1つを行ってもよいが、これに何ら限定されるものではない。
【0060】
以下、
図3及び
図4を参照して上述した通り、ユーザーは、複数の学習モデルのうちから作業に最も適したモデルを選択したり、2以上の学習モデルを組み合わせてより正確な結果を導き出すためのアンサンブルモデルを構築したりしてもよい。
【0061】
図3は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートである。
【0062】
ここで、方法300のステップS310~ステップS330は、
図1を参照して上述したステップS110~ステップS130と同様であるため、重複する説明は省略する。
【0063】
ステップS340において、装置は、複数のラベルセットに基づいて生成された複数の学習モデルのうちの少なくとも2つ以上について性能を比較してもよい。
【0064】
実施形態において、装置は、再現率(recall)、適合率(precision)、正解率(accuracy)及びこれらの組み合わせのうちの少なくとも1つに基づいて学習モデルの性能を算出してもよい。学習モデルの性能を算出するために、交差検証など多種多様な方式が利用可能である。
【0065】
このような性能比較を行うことで、行おうとする作業にいかなる種類のラベルセット及び学習モデルが最も有用であるかが確認可能である。すなわち、例えば、オブジェクト分割とオブジェクト検出により同一の不良個所を確認する、複数のラベルセットを作成する場合、不良の種類に応じて各モデルがさらに上手く分析できるものを比較することが可能になる。
【0066】
図4は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法を説明するためのフローチャートである。
【0067】
ここで、方法400のステップS410~ステップS430は、
図1を参照して上述したステップS110~ステップS130と同様であるため、重複する説明は省略する。
【0068】
ステップS440において、装置は、生成された複数の学習モデルのうちの少なくとも2つ以上を結合して、アンサンブルモデル(ensemble model)を構築してもよい。
【0069】
すなわち、行おうとする作業の特性などに応じて、学習モデルの2つ以上を所定の方式により結合して各学習モデルによる出力値を組み合わせるようにすることで、より正確な最終結果を導き出してもよい。
【0070】
例えば、オブジェクト分割を用いてプリント回路基板(PCB)の領域を分類する学習モデルと、オブジェクト分割又はオブジェクト検出を用いて途切れた線(すなわち、断線)を見出せる学習モデルがあると仮定すれば、同様に途切れた線を見出すとしても、分類されたPCB領域に応じて良否を異なるように判断する可能性があるため、両モデルを結合してアンサンブルモデルを構築し、これらの出力値を組み合わせて最終結果を導き出すように実現されてもよい。
【0071】
また、例えば、オブジェクト分割と関連して、Aクラスは暗いときに上手く検出され、Bクラスは明るいときに上手く検出される場合であれば、A、Bクラスを確認するためのオブジェクト分割モデルと暗いイメージと明るいイメージを仕分けるオブジェクト分類モデルとを結合してアンサンブルモデルを構築し、両学習モデルの出力値を組み合わせてより正確な最終結果を導き出すように実現されてもよい。
【0072】
実施形態において、アンサンブルモデル(ensemble model)は、ボーティング(voting)、バギング(bagging)、ブースティング(booting)方式などに基づいて生成されてもよいが、これに何ら限定されるものではない。
【0073】
図5は、この開示の実施形態による学習データの構造及びネットワーク関数を概念的に図式化した図である。
【0074】
同図に示されているように、1つのイメージセット1310は、複数枚の個別のイメージを含み、各個別のイメージに異なる種類のラベルがそれぞれ含まれることにより、イメージセット1310に対応する複数のラベルセットが生成される。
【0075】
次いで、イメージセット1310は、ネットワーク関数1320に入力されて、ネットワーク関数1320に関する学習を行うことになり、これにより、複数のラベルセットの少なくとも一部に対応する複数の学習モデル1330が生成されることが可能になる。
【0076】
このとき、ネットワーク関数1320は、ラベルセットの種類に応じてそれぞれ同一又は異なるネットワーク関数が適用されてもよい。
【0077】
図6は、
図1のステップS120に関する第2の実施形態を説明するためのフローチャートである。
【0078】
ステップS120は、
図6に示されているように、ステップS121~ステップS123を含んでいてもよい。
【0079】
ステップS121において、装置は、ユーザー(すなわち、ユーザー端末)からイメージセットに属する複数枚のイメージのうちの少なくとも1枚に関する第1のラベル情報をそれぞれ受信してもよい。すなわち、装置は、ユーザー端末にイメージセットを提供し、これに応答して、ユーザー端末から複数枚のイメージのうちの少なくとも1枚に関する第1のラベル情報を受信してもよい。このとき、第1のラベル情報は、オブジェクト分類、オブジェクト分割、オブジェクト検出、文字認識、予測、異常感知のうちのいずれか1つに対応する第1のラベルを生成するためのものであってもよい。
【0080】
ステップS122において、装置は、ユーザーから受信した第1のラベル情報に基づいて、イメージセットを構成する複数枚のイメージのそれぞれにラベリングを行うことにより、複数枚のイメージのそれぞれについての第1のラベルを含む第1のラベルセットを生成してもよい。
【0081】
ステップS123において、装置は、イメージセット及び第1のラベルセットを第1のネットワーク関数に入力して学習を行い、出力結果に基づいて複数枚のイメージのそれぞれについての異なる種類の第2のラベルを含む第2のラベルセットを生成してもよい。
【0082】
実施形態において、第1のラベルと第2のラベルは、ラベリングの難易度が異なる種類のラベルであってもよい。すなわち、例えば、ステップS123において、装置は、相対的に低い難易度を有する第1のラベルセットを基づいて、高いラベリングの難易度を有する第2のラベルセットを生成してもよい。
【0083】
実施形態において、第1のラベルは、オブジェクト分類(object classification)ラベルであり、前記第2のラベルは、オブジェクト認識(object detection)ラベル及びオブジェクト分割(object segmentation)ラベルのうちの少なくともいずれか1つであってもよい。また、実施形態において、第1のラベルは、オブジェクト認識(object detection)ラベルであり、第2のラベルは、オブジェクト分割(object segmentation)ラベルであってもよい。
【0084】
しかしながら、これは単なる例示的なものに過ぎず、本発明はこれに何ら限定されるものではなく、実施形態に応じて、オブジェクト認識ラベル又はオブジェクト分割ラベルに基づいて文字認識(character recognition)ラベルを自動的に生成するなど、多種多様な形態で異なる種類のラベルを基づいてイメージセットについてのさらなるラベルを生成するように構成されてもよい。
【0085】
このとき、第1のネットワーク関数の出力結果は、第1のネットワーク関数が複数枚のイメージのそれぞれに対して少なくともいずれか一部分に基づいて第1のラベルに対応する結果を出力したか否かに関する情報を備えていてもよい。
【0086】
例えば、前記出力結果は、第1のラベルに対応する結果を出力するのに影響を与えたイメージの少なくとも一部分に関する表示であってもよい。前記出力結果は、イメージの位置ごとの結果と関わる確率情報を含んでいてもよい。前記出力結果は、第1のラベルに対応する結果を出力するのに影響を与えた度合いに応じて異なる表現を含んでいてもよい。例えば、前記出力結果は、第1のラベルに対応する結果を出力するのに影響を与えた度合いに応じて、彩度、明度、色相、テクスチャーなどを異なるように表わしたものであってもよい。例えば、多くの影響を与えた部分は彩度を高く表示し、少ない影響を与えた部分は相対的に彩度を低めに表示してもよい。あるいは、出力結果は、第1のラベルに対応する結果を出力するのに影響を与えた度合いを表示したヒートマップ(heat map)を含んでいてもよい。例えば、装置は、勾配加重クラス活性化マッピング(Grad-CAM:Gradient-weighted Class Activation Mapping)、ディープシーデッド領域拡張法(DSRG:Deep Seeded Region Growing)などを用いて前記出力結果を取得してもよい。
【0087】
実施形態において、装置は、第1のネットワーク関数の最終的な出力レイヤーではなく、少なくとも1つ以上のレイヤー又はフィルターにおける演算結果に基づいて前記出力結果を生成してもよい。
【0088】
実施形態において、第1のラベルがオブジェクト分類ラベルである場合、第1のネットワーク関数は、オブジェクトに対する分類を行うための1つ以上のネットワーク関数を含んでいてもよい。例えば、第1のネットワーク関数は、イメージセットを構成する複数枚のイメージに含まれているオブジェクトを分類するために、イメージに含まれているオブジェクトに関する分類結果を第1のラベルとして含む学習データを用いて学習されてもよい。このとき、第1のネットワーク関数の出力結果は、分類結果を出力するのに影響を与えたイメージの領域及び/又は位置を所定の表現方式により表わしたものであってもよい。
【0089】
実施形態において、第1のネットワークの出力結果は、結果を出力するのに影響を与えたイメージの少なくとも一部に関する情報を含むクラス活性化マップ(Class Activation Map)であってもよい。クラス活性化マップに関しては、論文Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization(公開日:2017年10月7日、作成者:Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das,Ramakrishna Vedantam, Devi Parikh, Dhruv Batra)において具体的に議論されている。
【0090】
この場合、ステップS123は、
図7に示されているように、ステップS123-1及びステップS123-2を含んでいてもよい。
【0091】
ステップS123-1において、装置は、イメージセット及び第1のラベルセットを第1のネットワーク関数に入力して学習を行い、複数枚のイメージのそれぞれについてのクラス活性化マップを出力してもよい。
【0092】
例えば、第1のラベルセットは、イメージセットを構成する複数枚のイメージについてのオブジェクト分類ラベルから構成されてもよい。
【0093】
次いで、ステップS123-2において、装置は、クラス活性化マップのそれぞれに対してしきい値を所定の値又は範囲に設定して弱いラベル(weak label)領域を抽出することにより、第2のラベルを自動的に生成してもよい。ここで、弱いラベルは、ユーザーがマニュアルにて生成したラベルほど正確ではないものの、自動的に生成されて特定のしきい値以上の正確性を有するラベルを意味することがある。
【0094】
例えば、クラス活性化マップに対して、確率、色調、彩度、明度などを一定の範囲に設定してこれに対応する所定の領域を抽出することにより、第2のラベルを自動的に生成してもよい。
【0095】
このとき、第2のラベルは、オブジェクト認識ラベル及びオブジェクト分割ラベルのうちの少なくともどちらか一方であってもよい。
【0096】
一方、図示はしないが、装置は、
図1のステップS130において、イメージセット及び生成された第2のラベルセットを第2のネットワーク関数に入力して学習を行うことにより、学習モデルを生成してもよい。例えば、第2のラベルは、オブジェクト分割ラベルであってもよく、第2のネットワーク関数は、オブジェクトに対する分割を行うための1つ以上のネットワーク関数を含んでいてもよい。第2のネットワーク関数は、入力イメージに含まれているオブジェクトに対する分割を行うためにイメージの次元を縮小するネットワーク関数(エンコーダー(encoder))及びイメージの次元を拡張するネットワーク関数(デコーダー(decoder))を含んでいてもよい。
【0097】
図8は、この開示の実施形態による学習データの構造及びネットワーク関数を概念的に図式化した図である。
【0098】
同図に示されているように、1つのイメージセット810は、複数枚の個別のイメージを含み、各個別のイメージに第1のラベルがそれぞれ含まれることにより、イメージセット1310に対応する第1のラベルセットが提供されてもよい。例えば、第1のラベルは、オブジェクト分類ラベルであってもよい。
【0099】
次いで、イメージセット810は、第1のラベルセットとともに第1のネットワーク関数820に入力されて学習が行われることにより、第1の学習モデルが生成されてもよい。例えば、第1の学習モデルは、オブジェクト分類モデルであってもよい。
【0100】
このとき、第1のネットワーク関数820の出力として、結果を出力するのに影響を与えたイメージの少なくとも一部に関する情報を含むクラス活性化マップ(Class Activation Map)などが取得されてもよい。
【0101】
このような第1のネットワーク関数の出力結果に基づいて、各個別のイメージについての弱いラベルである第2のラベルが生成され、これにより、イメージセット810には、第1のラベルセットとは異なる種類の第2のラベルセットが含まれることが可能になる。例えば、第2のラベルは、オブジェクト分割ラベルであってもよい。
【0102】
次いで、イメージセット810は、第2のラベルセットとともに第2のネットワーク関数840に入力されて学習が行われることにより、第2の学習モデルが生成されてもよい。例えば、第2の学習モデルは、オブジェクト分割モデルであってもよい。
【0103】
図9から
図11は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【0104】
まず、
図9及び
図10を参照すると、ラベリングの難易度が低いオブジェクト分類ラベルセットに基づいて、相対的にラベリングの難易度が高いオブジェクト認識ラベル又はオブジェクト分割ラベルセットを生成してもよい。
【0105】
まず、
図9に示されているように、病変の有無についてのオブジェクト分類ラベルが含まれているイメージ(
図9の(a))をネットワーク関数に入力して出力結果として、病変であると分類するのに影響を与えたイメージの少なくとも一つの領域又は位置に関する確率を所定の方式(ヒートマップなど)により表わしたクラス活性化マップなどの結果(
図9の(b))を取得してもよい。
【0106】
次いで、
図10に示されているように、しきい値を所定の値又は範囲に設定して弱いラベル(weak label)領域を抽出してもよく、これを基づいて、オブジェクト認識ラベル又はオブジェクト分割ラベルを生成してもよい。このとき、オブジェクト認識ラベル又はオブジェクト分割ラベルは、弱いラベルであってもよい。
【0107】
次いで、
図11を参照すると、生成されたオブジェクト認識ラベル又はオブジェクト分割ラベルをイメージとともに、それぞれ適したネットワーク関数に入力し、学習を行ってオブジェクト認識(
図11の(a))又はオブジェクト分割結果(
図11の(b))を出力してもよい。
【0108】
図12は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成方法において、第1のラベルから第2のラベルを生成する過程を例示的に説明するための図である。
【0109】
図12を参照すると、ラベリングの難易度が低いオブジェクト認識ラベルセットに基づいて、相対的にラベリングの難易度が高いオブジェクト分割ラベルセットを生成してもよい。
【0110】
例えば、製品の瑕疵又は異常を感知するためのオブジェクト認識ラベルが含まれているイメージ(
図12の(a))を用いてネットワーク関数の学習を行い、この結果として、オブジェクト認識結果が含まれている結果イメージ(
図12の(b))を取得してもよい。
【0111】
次いで、結果イメージから明度、彩度、色相などの範囲を設定して、弱いラベル(weak label)領域を抽出してもよく、これを基づいて、オブジェクト分割ラベルを生成してもよい
【0112】
図13は、この開示の実施形態による多重ラベルセットを用いた学習モデルの生成装置の構成を簡略に示すブロック図である。
【0113】
通信部1310は、外部からデータ(イメージセット、ラベル情報など)を受信してもよい。通信部1310は、有無線通信部を備えていてもよい。通信部1310が有線通信部を備える場合、通信部1310は、近距離通信網(Local Area Network;LAN)、広域通信網(Wide Area Network;WAN)、付加価値通信網(Value Added Network;VAN)、移動通信網(mobile radio communication network)、衛星通信網及びこれらの相互間の組み合わせを介して通信を行わせる1つ以上の構成要素を備えていてもよい。また、通信部1310が無線通信部を備える場合、通信部1310は、セルラー通信、無線LAN(例えば、Wi-Fi)などを用いて無線にてデータ又は信号を送受信してもよい。実施形態において、通信部は、プロセッサー540の制御により外部装置又は外部サーバーとデータ又は信号を送受信してもよい。
【0114】
入力部1320は、外部の操作を通じて多種多様なユーザーコマンドを受信してもよい。このために、入力部1320は、1台以上の入力装置を備えたりそこに接続したりしてもよい。例えば、入力部1320は、キーパッド、マウスなど多種多様な入力のためのインターフェースと接続されてユーザーコマンドを受信してもよい。このために、入力部1320は、USBポートのみならず、サンダーボルトなどのインターフェースを備えていてもよい。また、入力部1320は、タッチスクリーン、ボタンなどの多種多様な入力装置を備えたり、これらと結合して外部のユーザーコマンドを受信したりしてもよい。
【0115】
メモリ1330は、プロセッサー1340の動作のためのプログラム及び/又はプログラムコマンドを記憶してもよく、入/出力されるデータを一時的に又は永久的に記憶してもよい。メモリ1330は、フラッシュメモリ(flash memory)タイプ、ハードディスク(hard disk)タイプ、マルチメディアカードマイクロ(multimedia card micro)タイプ、カードタイプのメモリ(例えば、SD又はXDメモリなど)、ランダムアクセスメモリ(RAM:Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、読み出し専用メモリ(ROM:Read Only Memory)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable Read-Only Memory)、磁気メモリ、磁気ディスク、光ディスクのうちの少なくともいずれか1種のタイプの記憶媒体を備えていてもよい。
【0116】
また、メモリ1330は、様々なネットワーク関数及びアルゴリズムを記憶してもよく、装置700を駆動し、かつ制御するための多種多様なデータ、プログラム(1つ以上のインストラクション)、アプリケーション、ソフトウェア、指令、コードなどを記憶してもよい。
【0117】
プロセッサー1340は、装置1300の全般的な動作を制御してもよい。プロセッサー540は、メモリ1330に記憶される1つ以上のプログラムを起動してもよい。プロセッサー1340は、中央処理装置(Central Processing Unit;CPU)、グラフィックス処理装置(Graphics Processing Unit;GPU)、テンサー処理装置(Tensor Processing Unit;TPU)又はこの開示の技術的思想による方法が行われる専用のプロセッサーを意味することがある。
【0118】
この開示の実施形態に従って、プロセッサー1340は、神経網の学習のための演算を行ってもよい。プロセッサー1340は、ディープラーニング(DN:deep learning)において学習のための入力データの処理、入力データにおけるフィーチャーの抽出、誤差の計算、逆伝播(back propagation)を用いた神経網の重み付け値のアップデートなどの神経網の学習のための計算を行ってもよい。プロセッサー1340のCPU、GPU、TPU、専用プロセッサーのうちの少なくとも1つがネットワーク関数の学習を処理してもよい。
【0119】
実施形態において、プロセッサー1340は、複数枚のイメージを含むイメージセットを取得し、前記イメージセットに対して異なる種類の複数のラベルセットを生成し、前記イメージセットをネットワーク関数に入力して、前記複数のラベルセットのうちの少なくとも2つ以上に対応する少なくとも1つの学習モデルを生成してもよい。
【0120】
この実施形態において、プロセッサー1340は、複数のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関するラベル情報をそれぞれ受信し、前記ラベル情報に基づいて前記イメージセットに含まれている複数枚のイメージに対してラベリングを行うことにより、前記ラベル情報のそれぞれに対応する前記複数のラベルセットを生成してもよい。
【0121】
実施形態において、前記複数のラベルセットは、第1のラベルセットと第2のラベルセットを含み、プロセッサー1340は、前記第1のラベルセットを前記ネットワーク関数に入力して生成された出力結果に基づいて前記第2のラベルセットを生成してもよい。
【0122】
実施形態において、プロセッサー1340は、再現率(recall)、適合率(precision)、正解率(accuracy)及びこれらの組み合わせのうちの少なくとも1つに基づいて、前記複数の学習モデルのうちの少なくとも2つ以上について性能を比較してもよい。
【0123】
実施形態において、プロセッサー1340は、前記学習モデルのうちの少なくとも2つ以上を結合して、アンサンブルモデル(ensemble model)を構築してもよい。
【0124】
実施形態において、プロセッサー1340は、複数枚のイメージを含むイメージセットを取得し、前記イメージセットに対して異なる種類の複数のラベルセットを生成してもよい。このとき、複数のラベルセットは、ラベリングの難易度が異なる種類の第1のラベルセットと第2のラベルセットを備え、プロセッサー1340は、ラベリングの難易度が低い前記第1のラベルセットを基づいて前記第2のラベルセットを生成してもよい。
【0125】
実施形態において、プロセッサー1340は、少なくとも一人のユーザーから前記イメージセットに属する複数枚のイメージのうちの少なくとも1枚に関する第1のラベル情報を受信し、前記第1のラベル情報に基づいて、前記イメージセットに含まれている複数枚のイメージに対してラベリング(labeling)を行うことにより、前記複数枚のイメージのそれぞれについての第1のラベルを含む第1のラベルセットを生成し、前記イメージセット及び前記第1のラベルセットを第1のネットワーク関数に入力して学習を行い、出力結果に基づいて、前記複数枚のイメージのそれぞれについての第2のラベルを含む第2のラベルセットを生成してもよい。
【0126】
実施形態において、プロセッサー1340は、前記複数枚のイメージのそれぞれに対応するクラス活性化マップのそれぞれに対してしきい(threshold)値を所定の値又は範囲に設定して弱いラベリング(weak labeling)領域を抽出することにより、前記第2のラベルを生成してもよい。
【0127】
実施形態において、プロセッサー1340は、前記イメージセット及び前記第2のラベルセットを第2のネットワーク関数に入力して学習を行うことにより、学習モデルを生成してもよい。
【0128】
この開示の実施形態による方法は、多種多様なコンピューター手段を介して行われ得るプログラムコマンドのタイプに実現されてコンピューターにて読み取り可能な媒体に記録されてもよい。前記コンピューターにて読み取り可能な媒体は、プログラムコマンド、データファイル、データ構造などを単独にて又は組み合わせて含んでいてもよい。前記媒体に記録されるプログラムコマンドは、この開示のために特別に設計され、かつ構成されたものであってもよいし、あるいは、コンピューターソフトウェアの当業者にとって公知となって使用可能なものであってもよい。コンピューターにて読み取り可能な記録媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープなどの磁気媒体(magnetic media)、コンパクトディスク(CD)による読み出し専用メモリ(CD-ROM:Compact Disc Read Only Memory)、デジタル多用途ディスク(DVD:Digital Versatile Disc)などの光記録媒体(optical media)、フロプティカルディスク(floptical disk)などの磁気-光媒体(magneto-opticalmedia)、及び読み出し専用メモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、フラッシュメモリなどのプログラムコマンドを記憶し、かつ、実行するように特別に構成されたハードウェア装置が含まれる。プログラムコマンドの例には、コンパイラーにより作成されるような機械語コードのみならず、インタープリーターなどを用いてコンピューターにより起動可能な高級言語コードが含まれる。
【0129】
また、開示された実施形態による方法は、コンピュータープログラム製品(computer program product)に含まれて提供されてもよい。コンピュータープログラム製品は、商品として販売者及び購買者の間において取引されてもよい。
【0130】
コンピュータープログラム製品は、S/Wプログラム、S/Wプログラムが記憶されたコンピューターにて読み取り可能な記憶媒体を備えていてもよい。例えば、コンピュータープログラム製品は、電子装置の製造社又は電子マーケット(例えば、グッグルプレイストア、アプリケーションストア)を介して電子的に配信されるS/Wプログラム形態の商品(例えば、ダウンローダブルアプリケーション)を備えていてもよい。電子的な配信のために、S/Wプログラムの少なくとも一部は、記憶媒体に記憶されてもよいし、あるいは、一時的に生成されてもよい。この場合、記憶媒体は、製造社のサーバー、電子マーケットのサーバー、又はSWプログラムを一時的に記憶する中継サーバーの記憶媒体となり得る。
【0131】
コンピュータープログラム製品は、サーバー及びクライアント装置から構成されるシステムにおいて、サーバーの記憶媒体又はクライアント装置の記憶媒体を備えていてもよい。あるいは、サーバー又はクライアント装置と通信により接続される第3の装置(例えば、スマートフォン)が存在する場合、コンピュータープログラム製品は、第3の装置の記憶媒体を備えていてもよい。あるいは、コンピュータープログラム製品は、サーバーからクライアント装置又は第3の装置に伝送されたり、第3の装置からクライアント装置に伝送されたりするS/Wプログラムそれ自体を含んでいてもよい。
【0132】
この場合、サーバー、クライアント装置及び第3の装置のうちの1つがコンピュータープログラム製品を起動して開示された実施形態による方法を行ってもよい。あるいは、サーバー、クライアント装置及び第3の装置のうちの2以上がコンピュータープログラム製品を起動して開示された実施形態による方法を分散させて実施してもよい。
【0133】
例えば、サーバー(例えば、クラウドサーバー又は人工知能サーバーなど)がサーバーに記憶されたコンピュータープログラム製品を起動して、サーバーと通信により接続されたクライアント装置が開示された実施形態による方法を行うように制御してもよい。
【0134】
以上、実施形態について詳しく説明したが、この開示の権利範囲はこれに何ら限定されるものではなく、添付の特許請求の範囲において定義しているこの開示の基本概念を用いた当業者の色々な変形及び改良形態もまたこの開示の権利範囲に属する。
【国際調査報告】