(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025034642
(43)【公開日】2025-03-13
(54)【発明の名称】学習装置、学習方法、及び学習プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20250306BHJP
G06N 20/00 20190101ALI20250306BHJP
G06F 16/58 20190101ALI20250306BHJP
【FI】
G06T7/00 350B
G06N20/00 130
G06F16/58
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023141143
(22)【出願日】2023-08-31
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】高野 歩芳
(72)【発明者】
【氏名】田中 葉月
(72)【発明者】
【氏名】和氣 正秀
【テーマコード(参考)】
5B175
5L096
【Fターム(参考)】
5B175DA02
5B175FB03
5L096KA04
(57)【要約】
【課題】弱教師あり学習モデルにおける教師データを効率的に作成することが可能な学習装置、学習方法、及び学習プログラムを提供する。
【解決手段】実施形態の学習装置1は、入力部21と、データ処理部23と、学習部24とを含む。入力部21は、外部から収集した画像データ又は動画データを教師データ候補データベースに保存する。データ処理部23は、教師データ候補データベースより取得した画像データ又は動画データから教師データを生成し、生成した教師データを教師データデータベースへ保存する。学習部24は、教師データデータベースより取得したデータから学習用教師データファイルを生成し、学習用教師データファイルに基づいて弱教師あり学習を行うことによって学習済みモデルを生成し、生成した学習済みモデルを学習済みモデルデータベースに保存する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
外部から収集した画像データ又は動画データを教師データ候補データベースに保存する入力部と、
前記教師データ候補データベースより取得した画像データ又は動画データから教師データを生成し、生成した教師データを教師データデータベースへ保存するデータ処理部と、
前記教師データデータベースより取得したデータから学習用教師データファイルを生成し、生成した学習用教師データファイルに基づいて弱教師あり学習を行うことによって学習済みモデルを生成し、生成した学習済みモデルを学習済みモデルデータベースに保存する学習部と、を備える
学習装置。
【請求項2】
前記データ処理部は、画素単位の教示を介さずに教師データを生成する、
請求項1に記載の学習装置。
【請求項3】
前記データ処理部は、画像単位でタグ情報を関連付けて教師データを生成する、
請求項2に記載の学習装置。
【請求項4】
前記データ処理部は、前記教師データデータベースにタグ情報に関連付けられた複数のフォルダを作成し、前記教師データ候補データベースより取得した画像データ又は動画データに基づく画像データを、前記教師データデータベースのうち選択されたタグ情報に関連付けられたフォルダに保存し、
前記学習部は、前記タグ情報に関連付けられた複数のフォルダのうち少なくとも2つのフォルダを用いて前記学習用教師データファイルを生成する、
請求項3に記載の学習装置。
【請求項5】
前記学習部は、検知対象の種別に関連付けられた複数の学習用フォルダを作成し、前記種別毎に前記教師データデータベースの前記複数のフォルダのうち関連付けられたタグ情報のフォルダ内の教師データを対応する学習用フォルダにコピーし、前記複数の学習用フォルダを用いて前記学習用教師データファイルを生成する、
請求項4に記載の学習装置。
【請求項6】
前記データ処理部は、前記教師データ候補データベースより取得した画像データ又は動画データに基づく画像データから1点の教示位置の情報を含むクロップ画像を生成して、前記選択されたタグ情報に関連付けられたフォルダに保存する、
請求項4に記載の学習装置。
【請求項7】
前記データ処理部は、前記クロップ画像のファイル名に、作成元とした画像を特定する情報と、前記教示位置に基づく情報とを埋め込む、
請求項6に記載の学習装置。
【請求項8】
前記学習済みモデルデータベースから取得した学習済みモデルを用いて、外部から収集した画像データ又は動画データに対して推論を行い、推論結果を推論結果データベースに保存する推論部をさらに備える、
請求項1に記載の学習装置。
【請求項9】
外部から画像データ又は動画データを収集し教師データ候補データベースに保存することと、
前記教師データ候補データベースより取得した前記画像データ又は前記動画データから教師データを作成し、作成した前記教師データを教師データデータベースへ保存することと、
前記教師データデータベースより取得したデータから学習用教師データファイルを生成し、前記学習用教師データファイルに基づいて弱教師あり学習を行うことによって学習済みモデルを生成し、生成した学習済みモデルを学習済みモデルデータベースに保存することと、を備える
学習方法。
【請求項10】
コンピュータに、
外部から画像データ又は動画データを収集し教師データ候補データベースに保存することと、
前記教師データ候補データベースより取得した前記画像データ又は前記動画データから教師データを作成し、作成した前記教師データを教師データデータベースへ保存することと、
前記教師データデータベースより取得したデータから学習用教師データファイルを生成し、前記学習用教師データファイルに基づいて弱教師あり学習を行うことによって学習済みモデルを生成し、生成した学習済みモデルを学習済みモデルデータベースに保存することと、を実行させる、
学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、学習装置、学習方法、及び学習プログラムに関する。
【背景技術】
【0002】
入力された画像に含まれた特定の形状を認識及び判別することが可能な画像認識AI(Artificial Intelligence:人工知能)が知られている。画像認識AIの精度を向上させるためには、例えば数万枚以上の教師データを用いた学習が必要とされている。画像認識AIにおける教師データを作成する方法としては、教師データの候補となる画像データに対して、アノテーションと呼ばれる教示を画素単位で行う方法が知られている。膨大な画像データに対する画素単位の教示作業には、時間やコストがかかる。
【0003】
また、画像認識AIの一種として、弱教師あり学習モデルが知られている。弱教師あり学習モデルは、画像単位で検知したい形状の有無のみが教示された教師データにより学習することが可能である。弱教師あり学習モデルが適用された画像認識AIでは、アノテーションが、画素単位の教示ではなく画像単位で実行される。このため、弱教師あり学習モデルで利用される教師データを作成するためのアノテーション作業は、画素単位の教示作業を行う場合よりも、時間やコストを抑制することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、弱教師あり学習を適用した画像認識AI向けに特化したアノテーションツールがほとんどなく、教師データの準備作業を軽量化できるという弱教師あり学習の特徴が活かせていないという課題がある。
【0006】
本発明は、上記の問題を解決するためになされたものであり、弱教師あり学習モデルにおける教師データを効率的に作成することが可能な学習装置、学習方法、及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態の学習装置は、入力部と、データ処理部と、学習部とを含む。入力部は、外部から収集した画像データ又は動画データを教師データ候補データベースに保存する。データ処理部は、教師データ候補データベースより取得した画像データ又は動画データから教師データを生成し、生成した教師データを教師データデータベースへ保存する。学習部は、教師データデータベースより取得したデータから学習用教師データファイルを生成し、学習用教師データファイルに基づいて弱教師あり学習を行うことによって学習済みモデルを生成し、生成した学習済みモデルを学習済みモデルデータベースに保存する。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係る学習装置のハードウェア構成の一例を示すブロック図。
【
図2】第1実施形態に係る学習装置の機能構成の一例を示すブロック図。
【
図3】第1実施形態に係る学習装置が備えるデータ保存部の構成の一例を示すブロック図。
【
図4】第1実施形態に係る学習装置が備えるデータ保存部に記憶された教師データ候補DBの構成の一例を示すデータテーブル。
【
図5】第1実施形態に係る学習装置が備えるデータ保存部に記憶された教師データDBの構成の一例を示すデータテーブル。
【
図6】第1実施形態に係る学習装置が備えるデータ保存部に記憶された学習用教師データファイルの構成の一例を示すデータテーブル。
【
図7】第1実施形態に係る学習装置が備えるデータ保存部に記憶されたテストデータDBの構成の一例を示すデータテーブル。
【
図8】第1実施形態に係る学習装置が備えるデータ保存部に記憶された推論結果DBの構成の一例を示すデータテーブル。
【
図9】第1実施形態に係る学習装置が備えるモデル保存部の構成の一例を示すブロック図。
【
図10】第1実施形態に係る学習装置が備えるモデル保存部に記憶された学習済みモデルデータベースの構成の一例を示すデータテーブル。
【
図11】第1実施形態に係る学習装置が備える入力部の動作の一例を示すフローチャート。
【
図12】第1実施形態に係る学習装置が備えるデータ処理部の第1動作の一例を示すフローチャート。
【
図13】第1実施形態に係る学習装置が備えるデータ処理部の第2動作の一例を示すフローチャート。
【
図14】第1実施形態に係る学習装置が備えるデータ処理部による教師データの振り分け処理の具体例を示す概略図。
【
図15】第1実施形態に係る学習装置が備える表示装置に表示されるアノテーションツールのGUIの具体例を示す模式図。
【
図16】第1実施形態に係る学習装置が備える学習部の動作の一例を示すフローチャート。
【
図17】第1実施形態に係る学習装置が備える学習部による学習用教師データの振り分け処理の具体例を示す概略図。
【
図18】第1実施形態に係る学習装置が備える推論部の動作の具体例を示すフローチャート。
【
図19】第1実施形態に係る学習装置が備える推論部により生成された推論結果の一例を示す模式図。
【
図20】第1実施形態に係る学習装置が備える推論部の動作の変形例を示すフローチャート。
【
図21】第2実施形態に係る学習装置が備えるデータ処理部の第2動作の一例を示すフローチャート。
【
図22】第2実施形態に係る学習装置が備えるデータ保存部に記憶された教師データDBの構成の一例を示すデータテーブル。
【
図23】第2実施形態に係る学習装置が備える表示装置に表示されるアノテーションツールのGUIの具体例を示す模式図。
【発明を実施するための形態】
【0009】
以下に、各実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。以下で参照される図面は、模式的又は概念的なものである。略同一の機能及び構成を有する構成要素には、同一の符号が付加されている。本明細書では、“データベース”のことを、適宜“DB”と省略して記載する。
【0010】
<1>第1実施形態
第1実施形態は、タグ情報と関連付けられたフォルダに格納された画像データを利用して弱教師あり学習モデルを生成することが可能な学習装置1に関する。以下に、第1実施形態に係る学習装置1の詳細について説明する。なお、本明細書では、弱教師あり学習を用いた画像認識AIが道路の変状の検知に使用される場合について例示する。
【0011】
<1-1>構成
まず、第1実施形態に係る学習装置1の構成について説明する。
【0012】
<1-1-1>学習装置1のハードウェア構成
図1は、第1実施形態に係る学習装置1のハードウェア構成の一例を示すブロック図である。
図1に示すように、学習装置1は、例えば、プロセッサ11、メモリ装置12、ストレージ装置13、表示装置14、入力インターフェース15、及び通信モジュール16を含む。
【0013】
プロセッサ11は、様々なプログラムを実行することが可能な集積回路であり、学習装置1の全体の動作を制御する。プロセッサ11としては、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(field-programmable gate array)、GPU(Graphics Processing Unit)などが使用される。
【0014】
メモリ装置12は、学習装置1を制御するためのプログラムや制御データなどを記憶する記憶装置である。メモリ装置12は、プロセッサ11の作業領域として使用される。なお、学習装置1は、プログラムや制御データを記憶するメモリ装置と、プロセッサ11の作業領域として使用されるメモリ装置とを個別に備えていてもよい。
【0015】
ストレージ装置13は、不揮発性の記憶装置である。ストレージ装置13は、例えば、学習装置1のアプリケーションソフトウェアや、システムソフトウェアなどを記憶する。ストレージ装置13としては、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などが使用される。
【0016】
表示装置14は、文字や画像などを表示することが可能に構成された装置である。表示装置14は、プロセッサ11の指示に基づいて、例えば、アプリケーションソフトウェアに対応するGUI(Graphical User Interface)などを表示する。表示装置14としては、例えば、LCD(Liquid Crystal Display)や、有機EL(Electro Luminescence)ディスプレイなどが使用される。
【0017】
入力インターフェース15は、学習装置1の操作に使用されるインターフェースである。ユーザーは、入力インターフェース15を用いて、学習装置1を操作することができる。なお、学習装置1において、入力インターフェース15としての機能が表示装置14に内蔵されてもよい。
【0018】
通信モジュール16は、外部の機器とのデータ等の送受信に使用される回路である。通信モジュール16によるデータ等の送受信には、有線通信及び無線通信のいずれが利用されてもよい。通信モジュール16は、外部のストレージ装置に接続されてもよいし、ネットワークを介して外部のサーバに接続されてもよい。
【0019】
なお、学習装置1は、その他のハードウェア構成であってもよい。例えば、学習装置1がIoT(Internet of Things)端末などである場合に、表示装置14が学習装置1から省略されてもよい。ストレージ装置13、表示装置14、及び入力インターフェース15のそれぞれは、学習装置1に外部接続されてもよい。
【0020】
<1-1-2>学習装置1の機能構成
図2は、第1実施形態に係る学習装置1の機能構成の一例を示すブロック図である。
図2に示すように、学習装置1は、例えば、入力部21、データ保存部22、データ処理部23、学習部24、モデル保存部25、及び推論部26を備えるコンピュータとして機能する。入力部21、データ保存部22、データ処理部23、学習部24、モデル保存部25、及び推論部26のそれぞれは、
図1を用いて説明された学習装置1のハードウェア構成によって実現され得る。
【0021】
入力部21は、外部から入力された動画や画像などのデータDATをデータ保存部22の所定のデータベースに格納するデータ入力機能を有する。入力部21には、データDATとして、外部接続されたカメラの画像や映像が入力されてもよい。
【0022】
データ保存部22は、複数のデータベースを格納する。データ保存部22は、入力部21、データ処理部23、学習部24及び推論部26のそれぞれによりアクセス可能に構成される。データ保存部22に格納される複数のデータベースの詳細については後述する。
【0023】
データ処理部23は、データ確認機能と、教師データ作成機能とを有する。データ確認機能は、データ保存部22に格納された動画及び画像や、推論部26により出力された推論結果画像など、教師データの元となるデータから教師データに適したデータを抽出する。教師データ作成機能は、データ確認機能により抽出された画像に対して、教師データとして必要な情報を付加した上で教師データを出力し、データ保存部22に保存する。教師データ作成機能は、推論結果画像より教師データを作成する場合、推論結果画像とオリジナル画像をデータ保存部22より取得し、両方の画像を同時に表示し、画像の切り出し範囲の特定を容易にする機能を有し得る。また、教師データ作成機能は、教示したタグ情報をフォルダ名として作成し、当該フォルダに作成した教師データを保存し得る。これにより、学習部24は、画像1枚単位で詳細な教示情報を付加することなく、画像単位でタグ情報を関連付けて学習に使用する教師データを作成し得る。
【0024】
学習部24は、学習準備機能と、弱教師あり学習機能とを有する。学習準備機能は、弱教師あり学習機能で作成したい学習モデルの特性に応じて、データ保存部22から教師データとして用いる画像(以下では、“教師画像”とも呼ぶ)を抽出し得る。学習準備機能は、データ保存部22から適切な教師データを選択して学習用教師データファイルを作成し、弱教師あり学習機能に入力する。弱教師あり学習機能は、画像認識AIを前提としている。弱教師あり学習機能は、学習準備機能より与えられた学習用教師データファイル及び指定されたパラメータに基づき弱教師あり学習を行い、生成したモデルをモデル保存部25に保存する。弱教師あり学習機能は、教師画像1枚ずつあるいは1画素ずつに対する教示情報を必要とせず、検知したい形状の有無に基づいて学習モデルを生成し得る。
【0025】
モデル保存部25は、学習部24によって作成された学習済みモデルを格納する。モデル保存部25は、複数の学習済みモデルを格納し得る。
【0026】
推論部26は、モデル保存部25に格納された学習済みモデルにより、データ保存部22に保存された動画や画像、又はカメラ撮影画像に対して推論を行う推論処理機能を有する。推論部26は、推論処理機能による推論結果をデータ保存部22に保存する。
【0027】
<1-1-3>データ保存部22の構成
図3は、第1実施形態に係る学習装置1が備えるデータ保存部22の構成の一例を示すブロック図である。
図3に示すように、データ保存部22は、例えば、教師データ候補DB221、教師データDB222、学習用教師データファイル223、テストデータDB224、及び推論結果DB225を格納する。
【0028】
教師データ候補DB221は、動画や画像など、教師データの候補となるデータを格納する。教師データ候補DB221に格納されるデータは、入力部21のデータ入力機能により入力されたデータに対応する。データ処理部23の教師データ作成機能は、データ処理部23のデータ確認機能により教師データ候補DB221から取得された適切なデータに基づいて、教師データを作成する。
【0029】
教師データDB222は、教師データとして使用できる画像と、教師データに関する情報とを対で格納する。教師データDB222は、タグ情報に対応する名称が付加されたフォルダに、当該タグ情報と関連付けられた画像が格納された構成を含む。
【0030】
学習用教師データファイル223は、ユーザーが作成したいモデルの特性に応じて教師データDB222より抽出されたデータが学習用にまとめられたファイル群である。すなわち、学習用教師データファイル223は、学習部24の弱教師あり学習機能に教師データとして与える画像を格納する。
【0031】
テストデータDB224は、動画や画像、又はカメラ撮影画像など、学習済みモデルにより推論を行う対象となるデータを格納する。テストデータDB224に格納されるデータは、入力部21のデータ入力機能により入力されたデータに対応する。
【0032】
推論結果DB225は、推論部26の推論処理機能により出力された推論結果画像や推論スコアなどを格納する。推論結果画像は、例えば、オリジナルの画像に対して推論により検出された変状の位置が示された画像である。推論スコアは、学習済みモデルにより検知したい形状と、推論により検知された形状との類似度を表す数値である。
【0033】
(1:教師データ候補DB221の構成)
図4は、第1実施形態に係る学習装置1が備えるデータ保存部22に記憶された教師データ候補DB221の構成の一例を示すデータテーブルである。
図4に示すように、教師データ候補DB221は、例えば、“データID”、“データ種別”、“データセット名”、“データ形式”、“データ数量”、“説明”、及び“格納場所”に関する情報を含み、データID毎に教師データの候補となる画像や動画などを格納する。
【0034】
教師データ候補DB221の“データID”のカラムは、入力部21に入力されたデータDATのグループ毎に割り当てられた識別情報を格納する。本例では、2つのグループのデータDATに対応付けて、それぞれ“001”及び“002”が格納されている。
【0035】
教師データ候補DB221の“データ種別”、“データセット名”、“データ形式”、及び“データ数量”のそれぞれカラムは、各データIDに対応付けられたデータDATの基本情報を格納する。
【0036】
教師データ候補DB221の“データ種別”のカラムは、データDATのデータ種別を示している。本例では、データID“001”、“002”に対応付けて、データ種別“画像”、“動画”がそれぞれ格納されている。
【0037】
教師データ候補DB221の“データセット名”のカラムは、データDATのグループの名称を示している。教師データ候補DB221の“データセット名”としては、任意の名称が格納され得る。例えば、“データセット名”としては、データDATが取得された日付と、データDATと関連する名称とが連続した名称が格納される。本例では、データID“001”、“002”に対応付けて、データセット名“2023/07/01XX”、“2023/07/02YY”がそれぞれ格納されている。
【0038】
教師データ候補DB221の“データ形式”のカラムは、データDATのデータ形式を示している。本例では、データID“001”、“002”に対応付けて、データ形式“PNG”、“MP4”がそれぞれ格納されている。
【0039】
教師データ候補DB221の“データ数量”のカラムは、データDATの数量を示している。本例では、データID“001”、“002”に対応付けて、データ数量“50枚”、“1:50:02”がそれぞれ格納されている。このように、“データ数量”に格納される情報の種別は、データ種別に応じて適宜変更され得る。
【0040】
教師データ候補DB221の“説明”のカラムは、ユーザーの参考のために付加された情報であって、どのようなシーンの教師データに適しているかを判定するための情報を格納している。
【0041】
教師データ候補DB221の“格納場所”のカラムは、各データIDに対応付けられたデータDATの格納場所の情報を示している。本例では、データID“001”、“002”に対応付けて、格納場所“AAA”、“BBB”がそれぞれ格納されている。
【0042】
(2:教師データDB222の構成)
図5は、第1実施形態に係る学習装置1が備えるデータ保存部22に記憶された教師データDB222の構成の一例を示すデータテーブルである。
図5に示すように、教師データDB222は、例えば、“教師データID”、“データセット名”、“説明”、及び“データ数量”に関する情報を含み、教師データID毎に教師データとする画像を格納する。
【0043】
教師データDB222の“教師データID”のカラムは、特定のタグ情報に対応付けられた教師データのグループを含む識別情報である。本例では、“教師データID”として、2つのタグ情報に対応付けて、それぞれ“001”及び“002”が格納されている。
【0044】
教師データDB222の“データセット名”、“説明”、及び“データ数量”のそれぞれカラムは、各教師データIDに対応付けられた基本情報を格納する。
【0045】
教師データDB222の“データセット名”のカラムは、タグ情報の名称を示している。教師データDB222の“データセット名”としては、任意の名称が格納され得る。本例では、教師データID“001”、“002”に対応付けて、データセット名“pothole_AA”、“expressway_nega”がそれぞれ格納されている。“pothole_AA”は、道路に発生したポットホールの程度の一つに対応する。“expressway_nega”は、道路に異常が発生していない場合に対応する。
【0046】
教師データDB222の“説明”は、ユーザーの参考のために付加された情報であって、どのような教師データであるかを示す情報を格納している。本例では、教師データID“001”、“002”に対応付けて、説明“ポットホール(AA)”、“高速道路路面変状なし”がそれぞれ格納されている。
【0047】
教師データDB222の“データ数量”は、対応付けられた教師データIDに含まれた画像データの数量を示している。本例では、データID“001”、“002”に対応付けて、データ数量“50枚”、“200枚”がそれぞれ格納されている。
【0048】
また、
図5には、教師データID“001”に対応付けられて教師データDB222に格納された2つの画像データ(ファイル名“20230701090001.png”及び“20230702150002.jpg”)が示されている。教師データDB222に教師データとして格納される画像データのファイル名は、教師データ候補DB221におけるコピー元の画像データのファイル名に基づいている。学習部24は、指定された学習設定に基づいて教師データDB222から適切なデータを取得し、異なるタグ情報が付加されたデータセットを任意に組み合わせることにより学習用教師データファイル223を作成し得る。
【0049】
なお、本例では、教師データDB222が、基本情報として“データセット名”、“説明”、及び“データ数量”を格納する場合について例示しているが、これに限定されない。教師データDB222は、基本情報として、その他の情報を有していてもよいし、これらの情報の一部が省略されてもよい。教師データDB222には、同じデータ形式の画像が集約されてもよいし、異なるデータ形式の画像が集約されてもよい。
【0050】
(3:学習用教師データファイル223の構成)
図6は、第1実施形態に係る学習装置1が備えるデータ保存部22に記憶された学習用教師データファイル223の構成の一例を示すデータテーブルである。
図6に示すように、学習用教師データファイル223は、例えば、“種別”、及び“タグ情報”に関する情報を含み、種別毎に教師データとする画像を格納する。なお、学習用教師データファイル223の“種別”、及び“タグ情報”は、“教師情報”と呼ばれてもよい。
【0051】
学習用教師データファイル223の“種別”のカラムは、学習モデルを作成する際の設定(学習設定)に基づく情報を格納する。学習設定では、2つ以上の種別が設定され得る。本例では、“種別”として、2つの種別に対応付けて、それぞれ“posi”及び“nega”が格納されている。“posi”は、例えば、道路に変状が発生している場合に対応する。“nega”は、例えば、道路に変状が発生していない場合に対応する。
【0052】
学習用教師データファイル223の“タグ情報”のカラムは、ユーザーの参考のために付加された情報であって、学習設定に基づく情報を格納する。本例では、データID“001”、“002”に対応付けて、タグ情報“Pothole_AA”、“-(変状なし)”がそれぞれ格納されている。
【0053】
また、
図6には、種別“posi”に対応付けられて学習用教師データファイル223に格納された2つの教師画像データ(ファイル名“20230701090001.jpg”及び“20230702150002.jpg”)が示されている。学習用教師データファイル223に教師データとして格納される画像データのファイル名は、教師データ候補DB221におけるコピー元の画像データのファイル名に基づいている。学習部24は、学習用教師データファイル223に格納された教師情報及び教師画像に基づいて、弱教師あり学習を実行し得る。
【0054】
(4:テストデータDB224の構成)
図7は、第1実施形態に係る学習装置1が備えるデータ保存部22に記憶されたテストデータDB224の構成の一例を示すデータテーブルである。
図7に示すように、テストデータDB224は、例えば、“テストデータID”、“データ種別”、“データセット名”、“データ形式”、“データ数量”、及び“説明”に関する情報を含み、テストデータID毎に推論を行う対象となる画像や動画などを格納する。
【0055】
テストデータDB224の“テストデータID”のカラムは、例えば、教師データ候補DB221のデータIDと同様に、入力部21に入力されたデータDATのグループ毎に割り当てられた識別情報を格納する。本例では、2つのグループのデータDATに対応付けて、それぞれ“001”及び“002”が格納されている。
【0056】
テストデータDB224の“データ種別”、“データセット名”、“データ形式”、及び“データ数量”のそれぞれカラムは、教師データ候補DB221と同様に、各データIDに対応付けられたデータDATの基本情報を格納する。テストデータDB224の“説明”は、ユーザーの参考のために付加された情報であって、どのようなシーンのテストデータであるのかを示す情報を格納する。
【0057】
また、
図7には、テストデータID“001”に対応付けられてテストデータDB224に格納された2つの画像データ(ファイル名“20230701090002.png”及び“20230702150003.jpg”)が示されている。推論部26は、推論の目的に応じてテストデータDB224に格納されたテストデータを選択し、選択したテストデータを対象とした推論を実施し得る。
【0058】
(5:推論結果DB225の構成)
図8は、第1実施形態に係る学習装置1が備えるデータ保存部22に記憶された推論結果DB225の構成の一例を示すデータテーブルである。
図8に示すように、推論結果DB225は、例えば、“推論ID”、“適用モデルID”、及び“テストデータID”に関する情報を含み、推論ID毎に推論結果を格納する。
【0059】
推論結果DB225の“推論ID”のカラムは、推論部26により実施された推論の識別情報を格納する。本例では、2回実施された推論に対応付けて、それぞれ“001”及び“002”が格納されている。
【0060】
推論結果DB225の“適用モデルID”のカラムは、各推論IDに対応付けられた推論において使用された学習済みモデルの識別情報を格納する。本例では、推論ID“001”、“002”に対応付けて、適用モデルID“Model_02”、“Model_01”がそれぞれ格納されている。
【0061】
推論結果DB225の“テストデータID”のカラムは、各推論IDに対応付けられた推論の対象としたテストデータIDを格納する。本例では、推論ID“001”、“002”に対応付けて、テストデータID“001”、“002”がそれぞれ格納されている。すなわち、本例では、同じテストデータIDの画像に対して、異なる学習済みモデルを利用した推論が実施された場合が示されている。
【0062】
また、
図8には、推論ID“001”に対応付けられて推論結果DB225に格納された2つの推論結果が示されている。推論結果を示すテーブルは、例えば、“推論ID”、“オリジナル画像”、“検知画像”、“検知データ”及び“最大スコア値”を格納する。“オリジナル画像”のカラムは、推論対象とされた画像のファイル名を格納する。“検知画像”のカラムは、推論結果をオリジナル画像に重ねた検知画像のファイル名を格納する。検知画像は、画素毎の異常度を示す異常スコアマップに対応する。つまり、学習装置1は、推論結果として「画素毎の異常度を示す異常スコアマップ」を出力する。“検知データ”のカラムは、検知スコアが記録されたテキストデータ(検知データ)のファイル名を格納する。検知スコアは、検知結果に対応する確からしさを示す数値である。“最大スコア値”のカラムは、例えば、当該画像の検知結果のうち最大となる検知スコアの数値を格納する。
【0063】
本例では、オリジナル画像“20230701090002.png”に関連付けて、検知画像“result_2023070109002.png”と、検知データ“result_2023070109002.txt”と、最大スコア値“0.952”とが格納されている。検知データ“result_2023070109002.txt”は、例えば、“0,0,0,0.952,0.8,0、…”を格納する。本例では、検知データ内でカンマで区切られた各数値が、検知スコアに対応している。オリジナル画像“20230702150003.jpg”に関連付けて、検知画像“result_20230702150003.jpg”と、検知データ“result_20230702150003.txt”と、最大スコア値“0.423”とが格納されている。
【0064】
このように、推論部26は、検知画像のファイル名を、オリジナル画像のファイル名を利用して作成する。本例では、推論部は、オリジナル画像のファイル名に対して、“result_”を付加したものを、検知画像のファイル名としている。なお、図示が省略されているが、検知画像のデータは、推論結果DB225に格納される。ユーザーは、推論結果DB225に格納された推論結果を元に、各種業務を実行し得る。また、ユーザーは、推論結果DB225に格納結果を元に、精度検証を実行し得る。
【0065】
なお、以上の説明では、学習装置1が検知画像と検知データとの両方を出力する場合について例示したが、これに限定されない。学習装置1は、推論結果として、検知画像と検知データとのうち少なくとも一方を出力するように構成されていればよい。検知画像は、例えば、後段の処理において、推論結果を目視確認により処理する場合に使用され得る。検知データは、例えば、後段の処理において、推論結果を目視確認ではなく機械的に処理する場合に使用され得る。学習装置1は、検知データに基づいて変状の位置を白黒の二値やグレースケールで表現してもよい。また、学習装置1は、ユーザーの指示に基づいて、検知データに基づく検知画像を生成するように構成されてもよい。
【0066】
<1-1-4>モデル保存部25の構成
図9は、第1実施形態に係る学習装置1が備えるモデル保存部25の構成の一例を示すブロック図である。
図9に示すように、モデル保存部25は、例えば、学習済みモデルDB251を格納する。
【0067】
学習済みモデルDB251は、推論部26の推論処理機能で使用するための学習済みモデルを格納する。言い換えると、学習済みモデルDB251は、弱教師あり学習機能により生成された学習済みモデルを格納する。
【0068】
(学習済みモデルDB251の構成)
図10は、第1実施形態に係る学習装置1が備えるモデル保存部25に記憶された学習済みモデルDB251の構成の一例を示すデータテーブルである。
図10に示すように、学習済みモデルDB251は、例えば、“モデルID”、“作成日”、“生成パラメータ”、“説明”、及び“格納場所”に関する情報を含み、モデルID毎に学習済みモデルを格納する。
【0069】
学習済みモデルDB251の“モデルID”のカラムは、学習部24により作成された学習済みモデルの識別情報を格納する。本例では、2つの学習済みモデルに対応付けて、それぞれ“001”及び“002”が格納されている。
【0070】
学習済みモデルDB251の“モデル名”のカラムは、学習部24により作成された学習済みモデルの名称を格納する。本例では、モデルID“001”、“002”に対応付けて、モデル名“ポットホール検知”、“ひび割れ検知”がそれぞれ格納されている。
【0071】
学習済みモデルDB251の“作成日”のカラムは、対応付けられた学習済みモデルが作成された作成日に関する情報を格納する。本例では、モデルID“001”、“002”に対応付けて、作成日“2023/07/03”、“2023/07/05”がそれぞれ格納されている。
【0072】
学習済みモデルDB251の“生成パラメータ”のカラムは、学習モデルの生成時に使用された学習設定に関する情報を格納する。本例では、モデルID“001”、“002”に対応付けて、生成パラメータ“デフォルト”、“SET1”がそれぞれ格納されている。
【0073】
学習済みモデルDB251の“説明”のカラムは、ユーザーの参考のために付加された情報であって、どのような用途で使用される学習済みモデルであるかを説明する情報を格納している。
【0074】
学習済みモデルDB251の“格納場所”のカラムは、各モデルIDに対応付けられた学習済みモデルの格納場所の情報を示している。本例では、“格納場所”として、モデルID“001”、“002”に対応付けて、格納場所“AAA”、“BBB”がそれぞれ格納されている。
【0075】
推論部26は、推論の目的に応じて、学習済みモデルDB251に格納された学習済みモデルを選択して、推論を実施し得る。
【0076】
<1-2>動作
次に、第1実施形態に係る学習方法として、学習装置1の動作について説明する。以下で説明される学習装置1の動作は、プロセッサ11がメモリ装置12に記憶された学習プログラムを実行することによって実現され得る。
【0077】
<1-2-1>弱教師あり学習を用いた画像認識AIの概要
まず、弱教師あり学習を用いた画像認識AIの概要について説明する。
【0078】
弱教師あり学習では、「概ね正しい」ラベル付け手法に基づく教示方法に基づいて、学習モデルが作成される。例えば、弱教師あり学習では、画像単位で、タグ情報が付加される。弱教師あり学習において、正常のタグ情報が付加された画像では、全ての画素が正常であるものとして取り扱われる。弱教師あり学習において、異常(変状)のタグ情報が付加された画像では、少なくとも1つの異常な画素が含まれるものとして取り扱われる。
【0079】
そして、弱教師あり学習では、変状なしの入力画像と、変状有りの入力画像とに基づいて、画素毎の異常度を示す異常スコアマップを出力するAIモデルが作成される。例えば、弱教師あり学習を用いた画像認識AIでは、異常スコアの最大値が、正解ラベルと一致するように学習される。例えば、最大値が0.01である場合、画像単位の正解ラベルが正常(0)として取り扱われる。一方で、最大値が0.99である場合、画像単位の正解ラベルが異常(1)として取り扱われる。異常スコアマップは、画素単位で生成されるため、画像内の異常(変状)の位置が可視化され得る。
【0080】
以上のように、弱教師あり学習では、画像単位の教示から変状の位置を検知可能な画像認識AIモデルが学習され得る。言い換えると、弱教師あり学習を用いた画像認識AIは、変状の有無をより分けて学習するだけで、変状の位置まで検知することができる。このような画像認識AIでは、特殊な教示技術が必要とされないため、教師データを生成するための作業時間が削減され、画像1枚辺りの教示作業時間が大幅に短縮され得る。
【0081】
<1-2-2>入力部21の動作
図11は、第1実施形態に係る学習装置1が備える入力部21の動作の一例を示すフローチャートである。以下に、
図11を参照して、第1実施形態における入力部21の動作の一例について説明する。
【0082】
入力部21は、外部のサーバや内部のストレージ装置13などからデータDATを受け取ると、
図11の一連の処理を開始する(開始)。
【0083】
まず、入力部21は、教師データの候補となるデータDATを収集する(S10)。S10の処理で収集されるデータDATは、動画、画像、カメラ撮影映像などである。入力部21が収集可能なデータDATのデータ形式は、特に限定されない。データDATは、学習装置1により取り扱い可能であり、且つ学習に適した画像を含んでいればよい。
【0084】
そして、入力部21は、収集したデータDATを、教師データ候補DB221に保存する(S11)。なお、入力部21は、収集したデータDATの一部を、テストデータDB224に保存してもよい。入力部21は、収集したデータDATを、データ定義に基づいて、教師データ候補DB221とテストデータDBとの少なくとも一方に保存し得る。
【0085】
S11の処理が完了すると、入力部21は、
図11の一連の処理を終了する。
【0086】
<1-2-3>データ処理部23の動作
(1:第1動作)
図12は、第1実施形態に係る学習装置1が備えるデータ処理部23の第1動作の一例を示すフローチャートである。第1動作は、アノテーションの開始前の準備処理に対応し、データ処理部23のデータ確認機能による処理に対応する。以下に、
図12を参照して、第1実施形態におけるデータ処理部23の第1動作の一例について説明する。
【0087】
データ処理部23は、ユーザーの操作に基づき選択されたデータセットを用いたアノテーションの開始指示を受信すると、
図12の一連の処理を開始する(開始)。
【0088】
まず、データ処理部23は、教師データ候補DB221から、データセットを取得する(S20)。S20の処理では、教師データ候補DB221に格納された動画や画像より、教師データの作成目的に応じたデータが取り出される。
【0089】
次に、データ処理部23は、取得したデータセットのデータ形式を確認する(S21)。取得したデータセットのデータ形式が動画である場合(S21:動画)、データ処理部23は、S22の処理に進む。取得したデータセットのデータ形式が画像である場合(S21:画像)、データ処理部23は、S23の処理に進む。
【0090】
S22の処理において、データ処理部23は、画像抽出処理を実行する。画像抽出処理は、取得したデータセットに対応する動画から、所定の条件で画像を抽出する処理である。例えば、画像抽出処理では、動画に含まれたフレームの画像が所定の間隔で抽出される。言い換えると、画像抽出処理では、動画に含まれたフレームの一部が間引かれて、残ったフレーム画像が保存される。データ処理部23は、S22の処理が終了すると、S23の処理に進む。
【0091】
S23の処理において、データ処理部23は、取得したデータセットに関する画像から、教師データに不適な画像を除外する。言い換えると、S23の処理において、データ処理部23は、取得したデータセットに関する画像から、教師データに使用可能、すなわち教師データとして適している画像を保存する。S23の処理において、データ処理部23は、例えば、特定の物体が検出された画像を、教師データに不適な画像としてみなす。このような特定の物体としては、例えば、停止表示板が挙げられる。
【0092】
データ処理部23は、S23の処理が終了すると、アノテーションツールを実行する(S24)。アノテーションツールの機能は、データ処理部23の教師データ作成機能により実現される。アノテーションツールが実行されることによって、ユーザーは、S23の処理により選別された画像に対してタグ付けを実行することができる。アノテーションツールの具体的な処理の一例については、
図13を用いて説明する。
【0093】
S24の処理が完了すると、データ処理部23は、
図12の一連の処理を終了する。
【0094】
なお、以上の説明では、S23の処理においてデータ処理部23が教師データに不適な画像を除外する場合について例示したが、これに限定されない。S23の処理は、省略されてもよい。また、S23の処理における教師データに適した画像の選別は、ユーザーによって実行されてもよい。ユーザーは、教師データに適した画像の選別を、データ処理部23のデータ確認機能を用いて実行してもよい。データ処理部23のデータ確認機能は、動画を処理する場合に、教師データの対象とするフレーム画像を検索しやすいように、再生・巻き戻し・早送りといった機能を有していてもよいし、フレーム番号を指定してフレーム画像を表示する機能を有していてもよい。データ処理部23のデータ確認機能は、特定したフレーム画像を保存し、教師データ作成機能を呼び出す機能を有していてもよい。
【0095】
(2:第2動作)
図13は、第1実施形態に係る学習装置1が備えるデータ処理部23の第2動作の一例を示すフローチャートである。第2動作は、アノテーションツールの実行時におけるデータ処理部23の教師データ作成機能の処理に対応する。以下に、
図13を参照して、第1実施形態におけるデータ処理部23の第2動作の一例について説明する。
【0096】
データ処理部23は、アノテーションツールが実行されたことに基づいて、
図13の一連の処理を開始する(開始)。
【0097】
まず、データ処理部23は、画像をロードする(S30)。S30の処理では、第1動作により選別された画像のうち一つの画像が選択される。ロードされた画像は、例えば、表示装置14に表示され、ユーザーにより参照可能な状態になる。
【0098】
次に、データ処理部23は、タグの選択を受け付ける(S31)。ユーザーは、表示装置14に表示された画像を参照して、対象画像に適したタグ情報を指定する。言い換えると、ユーザーは、タグ情報を指定することによって、選択された画像に教示する。
【0099】
次に、データ処理部23は、教師データ保存操作を検知する(S32)。教師データ保存操作は、例えば、アノテーションツール上の所定のボタンがクリックされたことや、キーボードで所定のショートカットキーが入力されたことに対応する。
【0100】
次に、データ処理部23は、選択されたタグに対応付けられたフォルダが存在するか否かを確認する(S33)。S33の処理において、データ処理部23は、例えば、教師データDB222のフォルダを参照して、選択されたタグと同じ名称のフォルダの有無を確認する。選択されたタグに対応付けられたフォルダが存在しない場合(S33:NO)、データ処理部23は、S34の処理に進む。選択されたタグに対応付けられたフォルダが存在する場合(S33:YES)、データ処理部23は、S35の処理に進む。
【0101】
S34の処理において、データ処理部23は、選択されたタグに対応付けられたフォルダを新規作成する。データ処理部23により新規作成されるフォルダの名称は、選択されたタグの名称に基づいている。例えば、データ処理部23は、新規作成するフォルダの名称を、選択されたタグと同じ名称にする。データ処理部23は、S34の処理が終了すると、S35の処理に進む。
【0102】
S35の処理において、データ処理部23は、選択されたタグに対応付けられたフォルダに画像を保存する。これにより、S31の処理により選択されたタグと、現在の画像とが対応付けられる。なお、選択されたタグに対応付けられたフォルダには、現在の画像データがコピーにより保存される。
【0103】
次に、データ処理部23は、データセット内の全ての画像のアノテーションが完了したか否かを確認する(S36)。データセット内の全ての画像のアノテーションが完了していない場合、データ処理部23は、次の画像をロードして(S37)、S31の処理に進む。データセット内の全ての画像のアノテーションが完了している場合、データ処理部23は、
図13の一連の処理を終了する(終了)。
【0104】
以上のように第2動作が実行されることによって、教師データDB222には、タグ情報毎にフォルダが作成される。そして、タグ情報に対応付けられたフォルダに格納された画像が、教師データとして保存される。なお、S36の処理は、他の処理に置き換えられてもよい。例えば、S36の処理は、次の画像の選択操作や、ユーザーによるアノテーションツールの終了操作に置き換えられてもよい。この場合、ユーザーによって次の画像の選択操作が実行されたことに基づいて、データ処理部23は、次の画像をロードし、S31の処理に進む。また、ユーザーによってアノテーションツールの終了操作が実行されたことに基づいて、データ処理部23は、
図13の一連の処理を終了する。
【0105】
(3:教師データの振り分け処理の具体例)
図14は、第1実施形態に係る学習装置1が備えるデータ処理部23による教師データの振り分け処理の具体例を示す概略図である。データ処理部23による教師データの振り分け処理は、例えば、
図13に示されたS31~S35の処理に対応する。
図14に示すように、教師データ候補DB221の所定のデータセットは、例えば、画像データIMG1~IMG4を含む。教師データDB222は、例えば、タグT1及びT2にそれぞれ対応付けられたフォルダF1及びF2と、未検出に対応付けられたフォルダF3とを含む。
【0106】
ユーザーは、アノテーションツールを操作して、画像データIMG1~IMG4のそれぞれに、タグ付けを実施する。例えば、画像データIMG1の参照時にタグT1が選択された場合、データ処理部23は、S35の処理により、フォルダF1に画像データIMG1をコピーする。画像データIMG2の参照時にタグT2が選択された場合、データ処理部23は、S35の処理により、フォルダF2に画像データIMG2をコピーする。画像データIMG3の参照時に変状が未検出であった場合、データ処理部23は、S35の処理により、フォルダF3に画像データIMG3をコピーする。画像データIMG4の参照時に変状が未検出であった場合、データ処理部23は、S35の処理により、フォルダF3に画像データIMG4をコピーする。なお、データ処理部23は、コピー先のフォルダが存在しない場合には、適宜フォルダを新規作成する。
【0107】
(4:アノテーションツールのGUI30の具体例)
図15は、第1実施形態に係る学習装置1が備える表示装置14に表示されるアノテーションツールのGUI30の具体例を示す模式図である。
図15に示すように、第1実施形態におけるアノテーションツールのGUI30は、複数の領域31~37を含む。
【0108】
領域31は、アノテーションツールに入力されたデータセットが保存された教師データ候補DB221内のフォルダ、すなわち入力フォルダのアドレスを表示している。領域32は、アノテーションツールを用いたタグ付け結果が出力される教師データDB222のフォルダ、すなわち出力フォルダのアドレスを表示している。領域33は、例えば、出力フォルダを選択する操作に使用されるボタンに対応する。領域34は、領域37に表示される画像を切り替える操作に使用されるボタンに対応する。領域34のボタンに割り当てられる機能は、アノテーションツールのGUI30の設計に応じて適宜変更され得る。
【0109】
領域35は、タグ情報のリストを表示する。タグ情報のリストに含まれたタグ情報は、ユーザーの操作により追加されてもよいし、削除されてもよい。タグ情報のリストが、未検出に対応するタグ情報を含んでいてもよい。本例では、“None”が、変状の未検出に対応するタグ情報に対応する。画像のロード時に、“None”が選択されていてもよい。領域35に変状の未検出に対応するタグ情報が表示されていない場合、非選択の状態が、変状の未検出に対応付けられる。
【0110】
領域36は、アノテーションツールの起動時に取得されたデータセットに含まれた画像データのリストを表示する。ユーザーは、画像データのリストに表示された任意の画像データを選択することによって、領域37に表示される画像データを変更し得る。領域37は、現在のタグ付け対象である画像データを表示する。領域38は、選択されたタグ情報、若しくは未選択の情報に対応付けられたフォルダに、現在の画像のコピーを保存する操作に使用されるボタンに対応する。
【0111】
例えば、ユーザーは、領域37に表示された画像データに異常領域DAを発見した際に、タグ情報のリストから、発見した異常領域DAに対応するタグを選択する。そして、ユーザーは、タグを選択した後に、領域38のボタンをクリックする。これにより、ユーザーは、タグ情報と対応付けられたフォルダに、画像データをコピーすることができる。なお、タグ情報が非選択の状態で領域38のボタンがクリックされた場合、未検出のタグ情報と対応付けられたフォルダに、画像データがコピーされる。
【0112】
以上のように、データ処理部23の教師データ作成機能は、教師データの対象とする画像の表示、教示するタグ情報の選択、及び教師データの保存を、マウスの1クリックなどの簡易な操作で完結できる機能を有している。
【0113】
<1-2-4>学習部24の動作
図16は、第1実施形態に係る学習装置1が備える学習部24の動作の一例を示すフローチャートである。以下に、
図16を参照して、第1実施形態における学習部24の動作の一例について説明する。
【0114】
学習部24は、ユーザーの操作に基づき指定された学習設定を用いた学習モデルの作成指示を受信すると、
図16の一連の処理を開始する(開始)。
【0115】
まず、学習部24は、作成したい学習モデルの設定を取得する(S40)。つまり、S40の処理において、学習部24は、ユーザーにより指定された学習設定の詳細なパラメータを読み出す。
【0116】
次に、学習部24は、取得した設定に基づいて、判定種別単位のフォルダを作成する(S41)。S41の処理において、学習部24は、少なくとも形状なし(nega)、形状あり(posi)の2種類の種別に対応するフォルダを作成する。
【0117】
次に、学習部24は、取得した設定に基づいて、教師データDB222から教師画像を取得する(S42)。つまり、S42の処理において、学習部24は、作成したい学習モデルの特性に応じて、教師データDB222から教師画像を抽出する。
【0118】
次に、学習部24は、取得した設定に基づいて、教師画像をフォルダに振り分ける(S43)。具体的には、S42の処理において、学習部24は、S41の処理において作成された複数のフォルダに対して、学習設定により対応付けられたタグ情報が付加された画像データをコピーする。すなわち、作成したい学習モデルの特性に応じて、抽出された教師画像が、自身と同じタグ情報に関連付けられたフォルダに振り分けられる。
【0119】
次に、学習部24は、教師画像が振り分けられたフォルダを用いて、学習用教師データファイル223を作成する(S44)。つまり、S44の処理により、学習設定に基づく種別毎の教師画像が、弱教師あり学習に適したデータ形式に変換される。
【0120】
次に、学習部24は、作成した学習用教師データファイル223を用いて、学習処理を実行する(S45)。S45の処理は、学習設定に基づいてパラメータが指定され、画素単位に教示された教師データを必要としない弱教師あり学習処理に対応する。
【0121】
次に、学習部24は、生成した学習済みモデルを学習済みモデルDB251に保存する(S46)。
【0122】
S46の処理が完了すると、学習部24は、
図16の一連の処理を終了する(終了)。
【0123】
以上のように、学習部24の学習準備機能は、検知したい形状の位置を指定することなく、検知したい形状の有無、又は検知したい形状の種別毎にフォルダを作成する。そして、学習部24の学習準備機能は、取得した教師画像を、特別な情報(例えば、タグ情報など)を付加することなく、形状の種別毎のフォルダを利用した学習用教師データファイル223に変換する。このとき、学習部24は、教師データDB222内でタグ情報に関連付けられた複数のフォルダのうち少なくとも2つのフォルダを用いて学習用教師データファイル223を生成する。これにより、学習部24の弱教師あり学習機能は、作成された学習用教師データファイル223に基づいて、学習モデルを生成し得る。
【0124】
(教師データの振り分け処理の具体例)
図17は、第1実施形態に係る学習装置1が備える学習部24による学習用教師データの振り分け処理の一例を示す概略図である。推論部26による教師データの振り分け処理は、例えば、
図16に示されたS41~S43の処理に対応する。
図17に示すように、教師データDB222は、例えば、画像データIMG1~IMG4を含む。学習用教師データファイル223は、例えば、“検出”に対応付けられたフォルダF4と、“未検出”に対応付けられたフォルダF5に対応付けられる。そして、本例では、ユーザーが、タグT1及びT2を“検出”に割り当てて、変状の未検出を“未検出”に割り当てた学習設定を利用して学習用教師データファイル223を作成する場合が例示されている。
【0125】
本例において、画像データIMG1~IMG4には、
図14に示された一例と同様のタグ情報が対応付けられている。この場合、推論部26は、S43の処理において、フォルダF4に画像データIMG1及びIMG2をコピーし、フォルダF5に画像データIMG3及びIMG4をコピーする。それから、推論部26は、学習設定に基づいた画像データが保存されたフォルダF4及びF5を用いて、学習用教師データファイル223を生成する。なお、推論部26は、コピー先のフォルダが存在しない場合には、適宜フォルダを新規作成する。学習設定として、複数のタグ情報が3つ以上の項目に分類されてもよい。未検出に、タグ情報が対応付けられた画像データがコピーされてもよい。
【0126】
<1-2-5>推論部26の動作
図18は、第1実施形態に係る学習装置1が備える推論部26の動作の一例を示すフローチャートである。以下に、
図18を参照して、第1実施形態における推論部26の動作の一例について説明する。
【0127】
推論部26は、ユーザーの操作に基づき選択されたテストデータ及び学習済みモデルを用いた推論の開始指示を受信すると、
図18の一連の処理を開始する(開始)。
【0128】
まず、推論部26は、テストデータDB224に保存されたデータセットを取得する(S50)。S50の処理において取得されるデータセットは、ユーザーにより選択されたデータセットに対応する。
【0129】
次に、推論部26は、学習済みモデルDB251から推論に使用する学習済みモデルを選択する(S51)。S51の処理において選択される学習済みモデルは、ユーザーにより選択された学習済みモデルに対応する。
【0130】
次に、推論部26は、取得されたデータセットを対象として推論処理を実行する(S52)。S52の処理において、推論部26は、ユーザーにより指定されたデータ種別(例えば、動画や画像)やパラメータと、S51の処理において選択された学習済みモデルに基づいた推論処理を実行する。
【0131】
次に、推論部26は、推論結果を推論結果DB225に保存する(S53)。すなわち、S53の処理において、推論結果DB225には、S52の処理により得られた推論結果画像や推論スコアが保存される。
【0132】
S53の処理が完了すると、推論部26は、
図18の一連の処理を終了する(終了)。
【0133】
(1:推論結果の具体例)
図19は、第1実施形態に係る学習装置1が備える推論部26により生成された推論結果の具体例を示す模式図である。
図19は、オリジナル画像に推論結果が重ね合わされた推論結果画像(検知画像)の一例を示している。
図19に示すように、推論結果画像には、変状の検知結果として、ポットホールPHの位置が示されている。推論部26が変状の検知結果を示す方法としては、オリジナル画像にポットホールPHの位置を囲む線を重ねて表示させてもよいし、ポットホールPHの部分に画像処理を施してもよい。推論部26は、1つの推論結果画像に対して、複数の変状の検知結果を重ねて表示させてもよい。この場合に、推論部26は、複数の変状の種別毎に異なる画像処理を施すことによって、これらが異なる変状であることを示してもよい。
【0134】
(2:推論部26の動作の変形例)
図20は、第1実施形態に係る学習装置1が備える推論部26の動作の変形例を示すフローチャートである。以下に、
図20を参照して、第1実施形態における推論部26の動作の変形例について説明する。本変形例では、学習装置1にカメラが外部接続されている、若しくは内蔵されているものとする。
【0135】
推論部26は、カメラの映像を用いた推論を開始するためのアプリケーションの起動を検知すると、
図20の一連の処理を開始する(開始)。
【0136】
まず、推論部26は、カメラの接続処理を実行する(S60)。なお、カメラが接続済みである場合には、S60の処理は省略され得る。
【0137】
次に、推論部26は、学習済みモデルDB251から推論に使用する学習済みモデルを選択する(S61)。S61の処理において選択される学習済みモデルは、ユーザーにより選択された学習済みモデルに対応する。
【0138】
次に、推論部26は、推論開始指示を検知する(S62)。推論開始指示は、ユーザーの操作により行われる。ユーザーは、カメラの映像を用いた推論を開始したいタイミングにおいて、入力インターフェース15の操作により推論開始指示を生成し得る。
【0139】
次に、推論部26は、カメラにより取得された画像を対象として推論処理を実行する(S63)。S63の処理において、推論部26は、カメラの映像の全てのフレームの画像を対象として推論処理を実行してもよいし、
図12を用いて説明された画像抽出処理(S22)を実行し、抽出した画像を対象として推論処理を実行してもよい。
【0140】
次に、推論部26は、S53の処理と同様に、推論結果を推論結果DB225に保存する(S64)。S64の処理は、推論結果が生成される度に実行されてもよいし、所定の量の推論結果が生成されたことに基づいて実行されてもよい。
【0141】
次に、推論部26は、推論停止指示を検知したか否かを確認する(S65)。推論停止指示は、ユーザーの操作により行われる。推論停止指示を検知していない場合(S65:NO)、推論部26は、S63の処理に進む。すなわち、推論部26は、カメラにより取得された次の画像を対象として推論処理を実行する。推論停止指示を検知した場合(S65:YES)、推論部26は、
図20の一連の処理を終了する(終了)。
【0142】
<1-3>第1実施形態の効果
第1実施形態に係る学習装置1に依れば、弱教師あり学習モデルにおける教師データを効率的に作成することができる。以下に、第1実施形態の効果の詳細について説明する。
【0143】
道路点検などにおける変状の検知を効率化するために、画像認識AIを利用することが考えられる。道路点検では、道路管理者が、過去に実施した点検記録の画像や点検車両から撮影した動画など大量の教師データ候補を有している場合がある。そして、これらの教師データ候補のデータ量は、将来にわたり増加していくと考えられる。例えば、道路点検では、すみやかな補修を行うために、画像内の変状位置を検知することが重要である。画像内の変状位置まで検知する方法としては、大量の学習用画像に対し変状位置を画素単位で教示した教示データを用意する方法が知られている。
【0144】
画素単位の教示を行うアノテーションツールでは、例えば、次に示す(1)~(5)の処理が実行される。(1)1つの画像を選択、(2)教示対象となる変状を確認、(3)マウスクリックにより変状を囲むように指定、(4)タグ(ラベル)を指定(テキスト入力又は一覧から選択)、(5)タグ情報を保存。この場合、タグ情報が画像と別ファイルで保存される。この場合、画像とアノテーションファイルとをセットで管理する必要がある。つまり、タグ情報ファイルが、1画像につき1ファイル用意される。画像とは別ファイルでタグ情報ファイルが保存されるため、学習時に画像とアノテーションファイルをセットでインプットする必要がある。そして、大量の正常画像と異常画像と画素単位のラベルとを学習することによって、画素単位の変状の有無を検知可能な画像認識AIを実現できる。しかしながら、画素単位の教示作業には時間やコストがかかるため、弱教師あり学習のように画像単位の教示により学習済みモデルが作成できることが好ましい。
【0145】
これに対して、第1実施形態のアノテーションツールでは、弱教師あり学習向けの教師データの作成に対応し、次に示す(1)~(4)の処理が実行される。(1)1つの画像を選択、(2)教示対象となる変状を確認、(3)タグ(ラベル)を指定、(4)教師データとして保存。この場合、画素単位の教示を介さずに教師データが生成される。また、タグ情報ファイルは不要であり、指定したタグ単位のフォルダに教師データとして使用可能な画像が格納される。そして、学習時には「変状A」、「変状B」、「変状なし」といったフォルダが作成され、作成した教師データが格納される。
【0146】
このように、第1実施形態では、教師データに関連付けられたタグ情報ファイルが存在せず、画像ファイル自体がタグ情報を有しない。そして、教師データDB222内のフォルダ自身が、タグ情報としての役割を有している。また、例えば、画像Aが、第1の学習では「変状A」として使用され、第2の学習では「変状なし」として使用するなどの操作が、画像ファイルの移動のみで実現可能である。従って、第1実施形態に係る学習装置1のアノテーションツールは、多様なモデルの作成や学習の試行の簡易化などを図ることができ、弱教師あり学習モデルにおける教師データを効率的に作成することができる。
【0147】
弱教師あり学習では、一般道向けの公開データセットで学習した路面変状検知AIを高速道路画像に適用しても、検知漏れや誤報が大量に発生するおそれがある。つまり、弱教師あり学習による学習済みモデルは、学習と異なる現場や異なる変状への適用することが困難である。このため、弱教師あり学習では、適用現場データでの再学習が要求される。これに対して、第1実施形態に係る学習装置1により学習コストを低減することで、より低コストで実用的な点検用の推論に使用する学習済みモデルが構築され得る。このように、第1実施形態に係る学習装置1は、弱教師あり学習を適用した画像認識AIの導入及び業務適用を促進し、且つ様々な領域における画像認識に関わる業務の高度化及び効率化に寄与できる。
【0148】
また、第1実施形態に係る学習装置1では、画像1枚単位の教示情報が与えられないため、生成を意図するモデルに対する教師データの組み合わせを簡単に変更することができる。従って、第1実施形態に係る学習装置1は、容易に学習の再試行をすることができ、より低コストで実用的な推論に使用する学習済みモデルを構築できる。
【0149】
<2>第2実施形態
第2実施形態に係る学習装置1は、第1実施形態で説明されたアノテーションツールに、簡易な操作により変状を含む領域を切り出す機能が追加された構成を有する。以下に、第2実施形態に係る学習装置1の詳細について、第1実施形態と異なる点を主に説明する。
【0150】
<2-1>構成
第2実施形態に係る学習装置1のハードウェア構成は、第1実施形態と同様である。第2実施形態に係る学習装置1の機能構成は、データ処理部23の機能が追加された点を除いて、第1実施形態と同様である。
【0151】
第2実施形態に係る学習装置1のデータ処理部23の教師データ作成機能は、教師データの対象とする画像の表示、教示するタグ情報の選択、画像の切り出し範囲の選択、教師データの保存を、マウスの1クリックなどの簡易な操作で完結できる機能を有する。画像の切り出し範囲の選択は、必要な場合のみ実施される。ユーザーは、切り出しサイズを予め設定することで、マウスの1クリックで切り出し範囲を指定できる。また、第2実施形態における教師データ作成機能は、推論結果画像より教師データを作成する場合、推論結果画像とオリジナル画像をデータ保存部22より取得し、両方の画像を同時に表示し、画像の切り出し範囲の特定を容易にする機能を有し得る。
【0152】
<2-2>動作
第2実施形態に係る学習装置1の動作は、データ処理部23に関連する動作を除いて、第1実施形態と同様である。
【0153】
図21は、第2実施形態に係る学習装置1が備えるデータ処理部23の第2動作の一例を示すフローチャートである。以下に、
図21を参照して、第2実施形態におけるデータ処理部23の第2動作の一例について説明する。
【0154】
第2実施形態におけるデータ処理部23の第2動作では、第1実施形態において
図13を用いて説明されたデータ処理部23の第2動作に対して、S30~S36の処理間で実行される処理の一部が異なっている。
【0155】
具体的には、S30の処理の後に、データ処理部23は、第1実施形態と同様に、タグの選択を受け付ける(S31)。
【0156】
次に、データ処理部23は、教示位置の選択を受け付ける(S70)。S70の処理において、データ処理部23は、ユーザーの操作により示された画像の切り出し範囲(教示位置)を検知し得る。S70の処理により、ユーザーは、選択された画像への教示を行うことができる。画像の切り出し範囲が前もって設定されている場合、ユーザーは、画面上の1クリックで切り出し範囲を指定することができる。
【0157】
次に、データ処理部23は、第1実施形態と同様に、教師データ保存操作を検知する(S32)。
【0158】
次に、データ処理部23は、第1実施形態と同様に、選択されたタグに対応付けられたフォルダが存在するか否かを確認する(S33)。選択されたタグに対応付けられたフォルダが存在しない場合(S33:NO)、データ処理部23は、S34の処理に進む。選択されたタグに対応付けられたフォルダが存在する場合(S33:YES)、データ処理部23は、S71の処理に進む。
【0159】
S34の処理において、データ処理部23は、第1実施形態と同様に、選択されたタグに対応付けられたフォルダを新規作成する。データ処理部23は、S34の処理が終了すると、S71の処理に進む。
【0160】
S71の処理において、データ処理部23は、教示位置が選択されたか否かを確認する。データ処理部23は、教示位置が選択された否かを、S70の処理においてユーザーが教示位置の選択操作を実行したか否かに基づいて確認する。教示位置が選択されたことが確認されなかった場合(S71:NO)、データ処理部23は、S35の処理に進む。教示位置が選択されたことが確認された場合(S71:YES)、データ処理部23は、S72の処理に進む。
【0161】
S35の処理において、データ処理部23は、第1実施形態と同様に、選択されたタグに対応付けられたフォルダに画像を保存する。S35の処理が完了すると、データ処理部23は、S36の処理に進む。
【0162】
S72の処理において、データ処理部23は、選択されたタグに対応付けられたフォルダに、教示位置に基づくクロップ画像をリネームして保存する(S72)。クロップ画像のファイル名としては、例えば、オリジナル画像のファイル名に対して、教示位置を示す情報が付加されたファイル名が使用される。S72の処理が完了すると、データ処理部23は、S36の処理に進む。
【0163】
(1:教師データDB222の具体例)
図22は、第2実施形態に係る学習装置1が備えるデータ保存部22に記憶された教師データDB222の構成の一例を示すデータテーブルである。
図22に示すように、第2実施形態における教師データDB222は、第1実施形態で
図5を用いて説明された教師データDB222に対して、クロップ画像のファイル名と、元ファイル名と、教示位置に関する情報が追加されている。
【0164】
本例において、元画像(20230701090001.png)に対する教示位置が(100,120)である場合、クロップ画像のファイル名が、“20230701090001_100_120.png”に設定されている。元画像(20230702150020.jpg)に対する教示位置が(600,800)である場合、クロップ画像のファイル名が、“20230702150020_600_800.png”に設定されている。すなわち、本例では、元画像のファイル名の拡張子の前に“_(X座標)_(Y座標)”が追加されている。なお、“X座標”は、画像内でX方向に並んだピクセルの位置に対応し、“Y座標”は、画像内でY方向に並んだピクセルの位置に対応する。
【0165】
このように、第2実施形態において、教師データとする画像には、作成元とした画像名や作成元画像からの切り出し範囲が画像名に埋め込まれている。これにより、教示位置に基づくクロップ画像において、元画像との関係性が再現され得る。なお、クロップ画像のファイル名は、教示位置を示すことが可能であればよい。以上で説明されたルールと異なるルールでリネームされてもよい。
【0166】
(2:アノテーションツールのGUI30の具体例)
図23は、第2実施形態に係る学習装置1が備える表示装置14に表示されるアノテーションツールのGUI30の一例を示す模式図である。
図23に示すように、第2実施形態におけるアノテーションツールのGUI30は、第1実施形態で
図15を用いて説明されたGUI30に対して、複数の領域40~42が追加された構成を有する。
【0167】
領域40は、教示位置が示された際のクロップ設定をするためのボタンに対応する。領域40がクリックされると、ユーザーの操作によりクロップ設定を変更可能な画面が表示される。クロップ設定は、教示位置を基準として画像をクロップする範囲の設定を含む。
【0168】
領域41は、教示位置に基づくクロップ画像の範囲を示し、例えば、ユーザーにより視認可能な枠で表示される。領域41は、領域35におけるタグ情報の選択した上で、領域37に表示された変状の位置がクリックされることに基づいて生成される。領域41の大きさは、クロップ設定に基づいて変更され得る。領域41は、異常領域DAを含む。例えば、異常領域DAの中心部分が、ユーザーの操作に基づく教示位置に対応する。
【0169】
領域42は、タグ情報と教示位置とが組み合わされた情報を表示する領域である。領域35におけるタグ情報の選択と、領域37における教示位置の選択との組が複数回実行されると、領域42に、タグ情報と教示位置とが組み合わされた複数の情報が表示される。領域38のボタンがクリックされると、領域42に表示された情報に基づくクロップ画像が、対応付けられたタグ情報のフォルダに保存される。領域42に追加された情報は、ユーザーの操作に基づき削除可能である。
【0170】
例えば、ユーザーは、領域37に表示された画像データに異常領域DAを発見した際に、タグ情報のリストから、発見した異常領域DAに対応するタグを選択する。そして、ユーザーは、領域37に表示された画像内で変状に対応する部分をクリックする。すると、クリックされた部分の座標とタグ情報とが組み合わされた情報が記録され、領域42に表示される。その後、ユーザーは、教示を終了した後に、領域38のボタンをクリックする。これにより、ユーザーは、少なくとも1つのクロップ画像を、タグ情報と対応付けられたフォルダにコピーすることができる。
【0171】
以上のように、第2実施形態におけるデータ処理部23は、教師データの対象とする画像の表示、教示するタグ情報の選択、画像の切り出し範囲の選択、教師データの保存を、マウスの1クリックなどの簡易な操作で完結できる機能を有している。なお、第2実施形態では、推論結果画像より教師データを作成する場合に、領域37に、推論結果画像とオリジナル画像との両方が表示され得る。この場合に、領域34は、例えば、領域37の状態を、「推論結果画像とオリジナル画像との両方を並べて表示」と「オリジナル画像のみを大きく表示」との間で切り替えるボタンとして機能する。
【0172】
第2実施形態に係る学習装置1のその他の動作は、第1実施形態と同様である。
【0173】
<2-3>第2実施形態の効果
第2実施形態に係る学習装置1において、データ処理部23は、教師データ候補DB221より取得した画像データ又は動画データに基づく画像データから1点の教示位置の情報を含むクロップ画像を生成して、ユーザーに選択されたタグ情報に関連付けられた教師データDB222内のフォルダに保存し得る。
【0174】
このように、第2実施形態に係る学習装置1のアノテーションツールは、必要に応じて簡易な操作で教示対象の位置を示した教師データを作成することができる。これにより、第2実施形態に係る学習装置1は、第1実施形態よりも学習効率の良い教師データを作成することができる。従って、第2実施形態に係る学習装置1は、第1実施形態と同様の効果に加えて、学習済みモデルの精度を第1実施形態よりも向上させることができる。
【0175】
また、第2実施形態に係る学習装置1では、クロップ画像の教師データのファイル名に元画像情報や位置情報が埋め込まれる。これにより、ユーザーは、作成した教師データから作成元の画像及び指定位置を容易に特定できる。その結果、生成した学習済みモデルの評価が容易となり、画像認識AIの品質保証に資することができる。
【0176】
なお、第2実施形態では、教示位置を示す操作が追加されているが、教師データとして使用されるクロップ画像が数クリックで作成され得る。このため、第2実施形態に係る学習装置1のアノテーションツールは、第1実施形態と同様に、画素単位で教示する場合よりも教示作業の時間やコストを削減することができる。
【0177】
<3>その他
上記実施形態では、画像認識AIを道路点検向けに利用する場合について例示したが、これに限定されない。上記実施形態に係る学習装置1は、構造物や配管などのインフラ点検や、設備点検における変状検知AIの精度向上学習や、生産品の品質チェックの一環として特定パターンを検知するAIの精度向上学習などにも利用され得る。このような場合にも、上記実施形態と同様の効果を得ることができる。上記実施形態では、アノテーションツールの操作でマウスが主に使用される場合について説明したが、これに限定されない。一部の操作は、キーボードのショートカットキーなどにより実現されてもよい。例えば、タグの選択や、教師データの保存操作は、キーボードの操作でも可能である。第2実施形態で教示位置は、表示装置14がタッチパネルである場合に、ユーザーが画面をタップすることにより選択されてもよい。
【0178】
上記実施形態において、動作の説明に用いたフローチャートは、あくまで一例である。フローチャートを用いて説明された動作は、可能な範囲で、処理の順番が入れ替えられてもよいし、その他の処理が追加されてもよいし、一部の処理が省略されてもよいし、一部の処理が並列に実行されてもよい。上記実施形態で説明された処理のそれぞれは、専用のハードウェアによって実現されてもよい。上記実施形態で説明された処理は、ソフトウェアにより実行される処理と、ハードウェアによって実行される処理とが混在していてもよいし、どちらか一方のみであってもよい。
【0179】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0180】
1…学習装置
11…プロセッサ
12…メモリ装置
13…ストレージ装置
14…表示装置
15…入力インターフェース
16…通信モジュール
21…入力部
22…データ保存部
23…データ処理部
24…学習部2.0210
25…モデル保存部
26…推論部
30…GUI
31~38,40~42…領域
221…教師データ候補DB
222…教師データDB
223…学習用教師データファイル
224…テストデータDB
225…推論結果DB
251…学習済みモデルDB