(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-19
(45)【発行日】2024-01-29
(54)【発明の名称】深層学習モデルの生成方法、情報処理装置、プログラム及び情報処理システム
(51)【国際特許分類】
G01N 21/88 20060101AFI20240122BHJP
G06T 7/00 20170101ALI20240122BHJP
G06V 10/82 20220101ALI20240122BHJP
A23L 17/60 20160101ALI20240122BHJP
【FI】
G01N21/88 J
G06T7/00 350C
G06V10/82
A23L17/60 103F
(21)【出願番号】P 2023095737
(22)【出願日】2023-06-09
【審査請求日】2023-06-12
(31)【優先権主張番号】P 2022159540
(32)【優先日】2022-10-03
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 令和 3年10月27日に、第2回AI・人工知能EXPO〔秋〕にて公開 令和 4年 5月11日に、第6回AI・人工知能EXPO〔春〕にて公開 令和 4年 9月15日に、ウェビナー「製造業 特化型!AI導入までの3STEP」にて公開
【早期審査対象出願】
(73)【特許権者】
【識別番号】521206648
【氏名又は名称】ソホビービー株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】沈 天毅
【審査官】田中 洋介
(56)【参考文献】
【文献】特開平02-129536(JP,A)
【文献】特開2021-120205(JP,A)
【文献】特開2021-185876(JP,A)
【文献】特開平10-308877(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84-21/958
G06T 7/00-7/90
G06V 10/00-40/20
A23L 17/60
(57)【特許請求の範囲】
【請求項1】
複数の海苔が積層された海苔積層体の表面画像
の色域を複数の小領域色域に分割し、
分割した各小領域色域に対して色変換処理を行い、
色変換処理を行った各小領域色域に対応する画像を表面画像に連結し、
連結した表面画像、及び、該海苔積層体の等級を含む訓練データを取得し、
取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成する
深層学習モデルの生成方法。
【請求項2】
搬送装置により搬送される複数の海苔が積層された海苔積層体の表面画像を、前記搬送装置に対応して設けられた撮像装置を通じて取得し、
前記海苔積層体の各海苔をまとめる帯上に印字されたコードを、前記搬送装置に対応して設けられたコード読取装置を通じて取得し、
取得したコードに基づき、前記海苔積層体の等級を決定し、
前記海苔積層体の表面画像、及び決定した前記海苔積層体の等級を含む訓練データを取得し、
取得した訓練データに基づき、搬送装置により搬送される複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する前記深層学習モデルを生成する
請求項1に記載の深層学習モデルの生成方法。
【請求項3】
連続的に搬送される海苔積層体の表面画像を、前記撮像装置を通じて順次取得し、
前記海苔積層体の帯上に印字されたコードを、前記コード読取装置を通じて順次取得し、
順次取得した海苔積層体の表面画像、及び、順次取得したコードに対応する前記海苔積層体の等級の複数組のセットを訓練データとして記憶し、
前記複数組のセットからなる訓練データに基づき、前記深層学習モデルを生成する
請求項2に記載の深層学習モデルの生成方法。
【請求項4】
前記訓練データにおける前記海苔積層体が秋芽か、または冷凍かの種類を取得し、
前記訓練データを秋芽と、冷凍とに分類して記憶し、
前記秋芽の訓練データに基づき秋芽学習モデルを生成し、
前記冷凍の訓練データに基づき冷凍学習モデルを生成する
請求項1に記載の深層学習モデルの生成方法。
【請求項5】
制御部を備える情報処理装置であって、
前記制御部は、
複数の海苔が積層された海苔積層体の表面画像
の色域を複数の小領域色域に分割し、
分割した各小領域色域に対して色変換処理を行い、
色変換処理を行った各小領域色域に対応する画像を表面画像に連結し、
連結した表面画像、及び、該海苔積層体の等級を含む訓練データを取得
し、
取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成
する
情報処理装置。
【請求項6】
複数の海苔が積層された海苔積層体の表面画像
の色域を複数の小領域色域に分割し、
分割した各小領域色域に対して色変換処理を行い、
色変換処理を行った各小領域色域に対応する画像を表面画像に連結し、
連結した表面画像、及び、該海苔積層体の等級を含む訓練データを取得し、
取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成する
処理をコンピュータに実行させるプログラム。
【請求項7】
情報処理装置と、複数の海苔が積層された海苔積層体が搬送される搬送装置と、前記搬送装置に対応して設けられた撮像装置と、前記搬送装置に対応して設けられたコード読取装置とを備える情報処理システムであって、
前記撮像装置は、
前記搬送装置により搬送される前記海苔積層体の表面を撮像する撮像部と、
前記撮像部が撮像した前記海苔積層体の表面画像を前記情報処理装置に出力する第1出力部とを備え、
前記コード読取装置は、
前記海苔積層体の各海苔をまとめる帯上に印字されたコードを読み取る読取部と、
前記読取部が読み取ったコードを前記情報処理装置に出力する第2出力部とを備え、
前記情報処理装置は、
前記第1出力部が出力した表面画像、及び、前記第2出力部が出力したコードを取得する第1取得部と、
前記第1取得部が取得したコードに基づき、前記海苔積層体の等級を決定する決定部と、
前記第1取得部が取得した表面画像
の色域を複数の小領域色域に分割する分割部と、
分割した各小領域色域に対して色変換処理を行う変換部と、
色変換処理を行った各小領域色域に対応する画像を表面画像に連結する連結部と、
前記連結部が連結した表面画像、及び、前記決定部が決定した等級を含む訓練データを取得する第2取得部と、
前記第2取得部が取得した訓練データに基づき、前記搬送装置により搬送される複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成する生成部と
を備える情報処理システム。
【請求項8】
複数の海苔が積層された海苔積層体の表面画像を取得し、
取得した表面画像の色域を複数の小領域色域に分割し、
分割した各小領域色域に対して色変換処理を行い、
色変換処理を行った各小領域色域に対応する画像を表面画像に連結し、
海苔積層体の表面画像を入力した場合に前記海苔積層体の等級に関する等級情報を出力する深層学習モデルに、
連結し
た表面画像を入力することにより等級情報を出力し、
前記海苔積層体の表面画像、評価日時、前記等級情報から得られた等級、及び、前記等級情報から得られた所定順位内の確度に基づき、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を出力する
処理をコンピュータに実行させるプログラム。
【請求項9】
前記2次元マトリクスは、第1軸が数字の大小により評価する数字等級、第2軸が並、黒及び別を含む文字の相違により評価する文字等級による2次元マトリクスであり、
各マトリクスに確度、または、確度に応じたヒートマップを出力する
請求項8に記載のプログラム。
【請求項10】
秋芽か、または冷凍かの選択を受け付けるボックスと、前記海苔積層体の等級を評価する評価基準を設定するためのスライダーとを出力する
請求項8または9に記載のプログラム。
【請求項11】
前記深層学習モデルから出力された前記海苔積層体の等級情報は、数字の大小により評価する数字等級を含み、
前記スライダーにより、評価基準の設定を受け付け、
受け付けた評価基準に応じて、前記数字等級を示す前記2次元マトリクスの第1軸上の数字等級を変更する
請求項10に記載のプログラム。
【請求項12】
前記深層学習モデルは、秋芽学習モデル及び冷凍学習モデルを含み、
前記海苔積層体の種類が秋芽か、または、冷凍かの種類を取得し、
取得した種類に応じて、前記秋芽学習モデルまたは前記冷凍学習モデルを特定し、
特定した前記秋芽学習モデルまたは前記冷凍学習モデルに、取得した海苔積層体の表面画像を入力する
請求項8または9に記載のプログラム。
【請求項13】
前記海苔積層体の検出から一定期間後に、前記海苔積層体を照射するための光源装置をオンにして、前記光源装置をオンにした後の一定時間後に、露光をオンにする撮像装置により撮像された前記海苔積層体の表面画像を取得する
請求項8または9に記載のプログラム。
【請求項14】
秋芽か、または冷凍かの選択を受け付けるボックスと、複数の海苔が積層された海苔積層体の等級を評価する評価基準を設定するためのスライダーとを出力し、
前記海苔積層体の表面画像を取得し、
海苔積層体の表面画像を入力した場合に前記海苔積層体の等級に関する等級情報を出力する深層学習モデルに、取得した海苔積層体の表面画像を入力することにより等級情報を出力し、
前記海苔積層体の表面画像、評価日時、前記等級情報から得られた等級、及び、前記等級情報から得られた所定順位内の確度に基づき、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を出力する
処理をコンピュータに実行させるプログラム。
【請求項15】
複数の海苔が積層された海苔積層体の等級を評価する評価基準を設定するためのスライダーを出力し、
前記海苔積層体の表面画像を取得し、
海苔積層体の表面画像を入力した場合に前記海苔積層体の等級に関する等級情報を出力する深層学習モデルに、取得した海苔積層体の表面画像を入力することにより等級情報を出力し、
前記海苔積層体の表面画像、評価日時、前記等級情報から得られた等級、及び、前記等級情報から得られた所定順位内の確度に基づき、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を出力し、
前記深層学習モデルから出力された前記海苔積層体の等級情報は、数字の大小により評価する数字等級を含み、
前記スライダーにより、評価基準の設定を受け付け、
受け付けた評価基準に応じて、前記数字等級を示す前記2次元マトリクスの第1軸上の数字等級を変更する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、深層学習モデルの生成方法、情報処理装置、プログラム及び情報処理システムに関する。
【背景技術】
【0002】
近年、海苔の品質を評価する技術の開発が盛んに進められている。例えば特許文献1には、海苔に光をあて、それから生じるラマン散乱光を分析することにより、海苔の品質を海苔等級・旨味にて評価する海苔品質評価方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る技術では、海苔を分析・評価しうる手法としてラマン散乱光を発生させる励起光源、及び、ラマン散乱光を検出するためのラマン分光装置等を用意しなければならないため、海苔の等級評価におけるコスト及び手間が発生してしまう。
【0005】
一つの側面では、海苔の等級評価が容易となる深層学習モデルの生成方法等を提供することにある。
【課題を解決するための手段】
【0006】
一つの側面に係る深層学習モデルの生成方法は、複数の海苔が積層された海苔積層体の表面画像の色域を複数の小領域色域に分割し、分割した各小領域色域に対して色変換処理を行い、色変換処理を行った各小領域色域に対応する画像を表面画像に連結し、連結した表面画像、及び、該海苔積層体の等級を含む訓練データを取得し、取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成する処理を実行させることを特徴とする。
【発明の効果】
【0007】
一つの側面では、海苔の等級評価が容易となる。
【図面の簡単な説明】
【0008】
【
図1】コンピュータの構成例を示すブロック図である。
【
図2】等級情報DB及び訓練データDBのレコードレイアウトの一例を示す説明図である。
【
図4】海苔積層体の等級を判定する画面の一例を示す説明図である。
【
図5】等級出力モデルの生成処理の手順を示すフローチャートである。
【
図6】訓練データ生成システムの概要を示す説明図である。
【
図7】訓練データを生成する際の処理手順を示すフローチャートである。
【
図8】複数組のセットからなる訓練データを生成する際の処理手順を示すフローチャートである。
【
図9】実施形態3におけるコンピュータの構成例を示すブロック図である。
【
図10】実施形態3における訓練データDB及び学習モデル管理DBのレコードレイアウトの一例を示す説明図である。
【
図11】秋芽用等級出力モデル及び冷凍用等級出力モデルの生成処理の手順を示すフローチャートである。
【
図12】実施形態4におけるコンピュータの構成例を示すブロック図である。
【
図13】設定DBのレコードレイアウトの一例を示す説明図である。
【
図14】海苔積層体の等級を判定するための設定画面の一例を示す説明図である。
【
図15】実施形態4における海苔積層体の等級を判定する画面の一例を示す説明図である。
【
図16】海苔積層体の等級を判定する際の処理手順を示すフローチャートである。
【
図17】数字等級を変更する処理のサブルーチンの処理手順を示すフローチャートである。
【
図18】海苔積層体の表面画像を取得する際の処理手順を示すフローチャートである。
【
図20】色再現性を示す散布図の一例を示す説明図である。
【
図21】色変換処理を行う際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
実施形態1は、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、当該海苔積層体の等級を出力する深層学習モデルを生成する形態に関する。表面画像は、海苔積層体の表面を撮像領域とし、当該撮像領域を撮像した画像である。
【0011】
本実施形態のシステムは、情報処理装置1を含む。情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、ウェアラブルカメラ、タブレット、またはパーソナルコンピュータ等の情報処理機器である。以下では簡潔のため、情報処理装置1をコンピュータ1と読み替える。
【0012】
本実施形態に係るコンピュータ1は、複数の海苔が積層された海苔積層体の表面画像、及び、該海苔積層体の等級を含む訓練データを取得する。コンピュータ1は、取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、当該海苔積層体の等級を出力する深層学習モデルを生成する。
【0013】
図1は、コンピュータの構成例を示すブロック図である。コンピュータ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16、大容量記憶部17及び撮像部18を含む。各構成はバスBで接続されている。
【0014】
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1P(プログラム製品)を読み出して実行することにより、コンピュータ1に係る種々の情報処理、制御処理等を行う。なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、
図1では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0015】
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールである。
【0016】
入力部14は、キーボード、マウスまたは表示部15と一体化したタッチパネルでも良い。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
【0017】
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワーク等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
【0018】
大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、等級出力モデル(深層学習モデル)171、等級情報DB(database)172及び訓練データDB173を含む。
【0019】
等級出力モデル171は、複数の海苔が積層された海苔積層体の表面画像に基づいて、当該海苔積層体の等級を出力する推定器(出力器)であり、深層学習により生成された学習済みモデルである。等級情報DB172は、海苔積層体の等級情報を記憶している。訓練データDB173は、等級出力モデル171を構築(生成)するための訓練データを記憶している。
【0020】
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はコンピュータ1に接続された外部記憶装置であっても良い。
【0021】
撮像部18は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラ等の撮像装置である。なお、撮像部18はコンピュータ1の中に内蔵せず、外部で直接にコンピュータ1と接続し、撮像可能な構成としても良い。
【0022】
コンピュータ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、コンピュータ1は、1台のコンピュータ内に設けられた複数の仮想マシンによって実現されても良いし、クラウドサーバを用いて実現されても良い。
【0023】
図2は、等級情報DB及び訓練データDBのレコードレイアウトの一例を示す説明図である。
等級情報DB172は、等級番号列及び等級名称列を含む。等級番号列は、海苔積層体の等級を特定するための等級番号を記憶している。等級名称列は、海苔積層体の等級名称を記憶している。海苔積層体の等級は、海苔の色味、穴あき、形または艶感等により分類され、例えば、「特等」、「一等」、「二等」、「三等」または「四等」等を含む。
【0024】
なお、海苔積層体の等級は、実際のニーズに応じて設定されても良い。例えば、海苔積層体の等級において、さらに細かく分類しても良い。例えば、「推特」、「推上一」、「推一」、「推上二」、・・・、「特等」、「上一」、「一等」、「上二」、・・・、「黒上一」または「黒一」等を含む等級であっても良い。
【0025】
訓練データDB173は、入力データ列及び出力データ列を含む。入力データ列は、複数の海苔が積層された海苔積層体の表面画像を記憶している。出力データ列は、海苔積層体の等級を示す等級番号または等級名称等を記憶している。
【0026】
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
【0027】
図3は、等級出力モデルを説明する説明図である。等級出力モデル171は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。等級出力モデル171は、複数の海苔が積層された海苔積層体の表面画像を入力とし、当該海苔積層体の等級を出力とするニューラルネットワークを構築済みの推定器である。
【0028】
コンピュータ1は、等級出力モデル171として、海苔積層体の表面画像内における海苔の特徴量を学習するディープラーニングを行うことで等級出力モデル171を生成する。例えば、等級出力モデル171はCNN(Convolution Neural Network)であり、海苔積層体の表面画像の入力を受け付ける入力層と、当該海苔積層体の等級を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。
【0029】
入力層は、海苔積層体の表面画像に含まれる各画素の画素値の入力を受け付ける複数のニューロンを有し、入力された画素値を中間層に受け渡す。中間層は、海苔積層体の表面画像の特徴量を抽出する複数のニューロンを有し、抽出した画像特徴量を出力層に受け渡す。
【0030】
中間層は、入力層から入力された各画素の画素値を畳み込むコンボリューション層と、コンボリューション層で畳み込んだ画素値をマッピングするプーリング層とが交互に連結された構成により、海苔積層体の表面画像の画素情報を圧縮しながら最終的に画像の特徴量を抽出する。
【0031】
その後中間層は、バックプロパゲーションによりパラメータが学習された全結合層により、海苔積層体の表面画像に対応する当該海苔積層体の等級を推定(予測)する。推定結果は、複数のニューロンを有する出力層に出力される。
【0032】
なお、海苔積層体の表面画像は、交互に連結されたコンボリューション層とプーリング層とを通過して特徴量が抽出された後に、入力層に入力されても良い。
【0033】
なお、CNNの代わりに、RCNN(Regions with Convolutional Neural Network)、Fast RCNN、Faster RCNN、SSD(Single Shot Multibook Detector)、YOLO(You Only Look Once)、SVM(Support Vector Machine)、ベイジアンネットワーク、トランスフォーマー(Transformer)ネットワーク、または回帰木等の任意の物体検出アルゴリズムを使用しても良い。
【0034】
例えばコンピュータ1は、訓練データDB173に蓄積された訓練データを用いて、等級出力モデル171を生成する。訓練データは、複数の海苔が積層された海苔積層体の表面画像と、該海苔積層体の等級とが対応付けられた組み合わせのデータである。訓練データは、海苔積層体を撮像した表面画像から収集された大量の等級情報に基づいて生成される。なお、訓練データは別途人手で作成されたデータであっても良い。
【0035】
コンピュータ1は、取得した訓練データを用いて学習を行う。具体的には、コンピュータ1は、訓練データである海苔積層体の表面画像を入力層に入力し、中間層での演算処理を経て、出力層から海苔積層体の等級を出力する。出力層は、例えばシグモイド関数またはソフトマックス関数を含み、中間層から出力された特徴量に基づいて、推定された海苔積層体の等級の確率値を出力する。
【0036】
コンピュータ1は、出力層から出力された推定結果を、訓練データにおいて海苔積層体の表面画像に対しラベル付けされた情報(等級)、すなわち正解値と比較し、出力層からの出力値が正解値に近づくように、中間層での演算処理に用いるパラメータを最適化する。当該パラメータは、例えばニューロン間の重み(結合係数)、または、各ニューロンで用いられる活性化関数の係数等である。パラメータの最適化の方法は特に限定されないが、例えば、コンピュータ1は誤差逆伝播法を用いて各種パラメータの最適化を行う。
【0037】
コンピュータ1は、訓練データに含まれる各海苔積層体の表面画像について上記の処理を行い、等級出力モデル171を生成する。これにより、例えばコンピュータ1は、当該訓練データを用いて等級出力モデル171の学習を行うことで、海苔積層体の等級を出力可能なモデルを生成する。コンピュータ1は、生成した等級出力モデル171を大容量記憶部17に記憶する。
【0038】
コンピュータ1は、海苔積層体の表面画像を取得した場合、取得した表面画像を等級出力モデル171に入力する。コンピュータ1は、等級出力モデル171の中間層にて、海苔積層体の表面画像の特徴量を抽出する演算処理を行う。コンピュータ1は、抽出した特徴量を等級出力モデル171の出力層に入力して、海苔積層体の等級を推定した推定結果を出力として取得する。
【0039】
図示のように、海苔積層体の表面画像に対し、「特等」、「一等」、「二等」、「三等」、「四等」それぞれの確率値が、「0.01」、「0.86」、「0.05」、「0.04」、「0.04」である推定結果が出力される。
【0040】
また、所定閾値を利用して推定結果を出力しても良い。例えばコンピュータ1は、「一等」の確率値(0.86)が所定閾値(例えば、0.80)以上であると判定した場合、「一等」を推定結果として出力する。なお、上述した閾値を利用せず、等級出力モデル171が推定した各等級の確率値から、最も高い確率値に対応する等級を推定結果として出力しても良い。
【0041】
図4は、海苔積層体の等級を判定する画面の一例を示す説明図である。当該画面は、海苔画像表示欄11a、撮像ボタン11b、画像選択ボタン11c、等級判定ボタン11d及び判定結果表示欄11eを含む。
【0042】
海苔画像表示欄11aは、海苔積層体の表面画像を表示する表示欄である。撮像ボタン11bは、海苔積層体の表面を撮像するためのボタンである。画像選択ボタン11cは、海苔積層体の表面画像を選択するためのボタンである。等級判定ボタン11dは、海苔積層体の等級を判定するためのボタンである。判定結果表示欄11eは、海苔積層体の等級を判定した判定結果を表示する表示欄である。
【0043】
コンピュータ1は、撮像ボタン11bのタッチ操作を受け付けた場合、撮像部18を介して、海苔積層体の表面を撮像する。コンピュータ1は、画像選択ボタン11cのタッチ操作を受け付けた場合、撮像された海苔積層体の表面画像の選択を受け付ける。コンピュータ1は、撮像ボタン11bまたは画像選択ボタン11cにより取得された海苔積層の表面画像を海苔画像表示欄11aに表示する。
【0044】
コンピュータ1は、等級判定ボタン11dのタッチ操作を受け付けた場合、海苔画像表示欄11aに表示されている海苔積層の表面画像を等級出力モデル171に入力し、当該海苔積層体の等級を判定した判定結果を出力する。コンピュータ1は、等級出力モデル171から出力された判定結果を判定結果表示欄11eに表示する。図示のように、等級の名称及び判定日時が判定結果表示欄11eに表示される。
【0045】
図5は、等級出力モデルの生成処理の手順を示すフローチャートである。コンピュータ1の制御部11は、複数の海苔が積層された海苔積層体の表面画像と、当該表面画像に対応する海苔積層体の等級とが対応付けられた訓練データを大容量記憶部17の訓練データDB173から複数取得する(ステップS101)。
【0046】
制御部11は、取得した訓練データを用いて、海苔積層体の表面画像を入力として、当該海苔積層体の等級を出力とする等級出力モデル171を生成する(ステップS102)。制御部11は、生成した等級出力モデル171を記憶部12または大容量記憶部17に記憶し(ステップS103)、一連の処理を終了する。
【0047】
本実施形態によると、海苔積層体の表面画像及び当該海苔積層体の等級を含む訓練データに基づき、等級出力モデル171を生成することが可能となる。
【0048】
本実施形態によると、海苔積層体の表面画像に基づいて、等級出力モデル171を用いて当該海苔積層体の等級を出力することが可能となる。
【0049】
本実施形態によると、等級出力モデル171を利用することにより、海苔積層体の等級判定業務における効率を向上させることが可能となる。
【0050】
(実施形態2)
実施形態2は、搬送装置により搬送された海苔積層体の表面画像と、当該海苔積層体の帯(帯ラベル;帯シート)上に印字されたコードとに基づき、訓練データを自動的に生成する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
【0051】
図6は、訓練データ生成システムの概要を示す説明図である。本実施形態の訓練データ生成システムは、情報処理装置1(コンピュータ1)、搬送装置2、撮像装置3、コード読取装置4及び近接センサ5を含む。
【0052】
図示のように、訓練データを生成するための訓練対象は海苔積層体91である。海苔積層体91は、複数の同一サイズの海苔が積層された積層体である。海苔のサイズは、全型(例えば、縦21cm×横19cm)、半切(全型を半分に切ったサイズ)、3切(全型を3等分に切ったサイズ)、または4切(全型を4等分に切ったサイズ)等を含む。それぞれの海苔積層体91は、長尺の帯状である帯92により束ねられている。
【0053】
帯92上には、印字装置等により海苔積層体91の等級を示す情報(例えば、等級番号または等級名称)を埋め込んだコード93が印字されている。コード93の印字位置については、海苔積層体91の表面側における帯92の中央、左側又は右側等である。
【0054】
コード93は、1次元コード又は2次元コード等である。1次元コードは、例えば縞模様状の線の太さによって数値または文字を表すバーコード(Barcode)であっても良い。2次元コードは、例えば横方向にしか情報を持たない1次元コードに対し、水平方向と垂直方向に情報を持つ表示方式のQRコード(登録商標)であっても良い。コード93は、帯92に取り付けられたICタグ(Integrated Circuit Tag)、RFIDタグ(Radio Frequency Identifier Tag)、又はRFIDチップ(マイクロチップ)等に記憶されても良い。
【0055】
搬送装置2は、海苔積層体91を移動させる搬送コンベア20を有する搬送機構である。海苔積層体91が搬送コンベア20に載置されて、一方向に搬送される。海苔積層体91は、帯92が巻かれた向きを揃えて、コード93を上に向けて搬送コンベア20に載置されている。
図6においては、海苔積層体91が搬送される方向を方向Dで示す。
【0056】
撮像装置3は、搬送装置2に対応して設けられた撮像装置であり、海苔積層体91を撮像して表面画像を生成する。撮像装置3の撮像領域(視野)は、海苔積層体91の表面全体を撮像可能な領域であり、撮像領域Rで示されている。撮像領域Rを撮像するために、撮像装置3は、搬送コンベア20上に搬送される海苔積層体91の上方に設置される。なお、撮像装置3の設置位置は、上述した位置に限らず、例えば、海苔積層体91の斜め上方であっても良い。
【0057】
本実施形態の撮像装置3は、無線通信部を含む。無線通信部は、通信に関する処理を行うための無線通信モジュールであり、ネットワークを介して、生成した海苔積層体91の表面画像をコンピュータ1に送信する。なお、撮像装置3は、コンピュータ1に有線で接続しても良い。なお、撮像装置3の代わりに、撮像可能なパーソナルコンピュータ、スマートフォン、または海苔積層体を撮像可能な移動型の監視ロボット等であっても良い。
【0058】
コード読取装置4は、帯92上に印字されたコード93の読取及び送信等を行う端末装置である。コード読取装置4は、搬送装置2に対応して設けられた読取装置であり、搬送コンベア20上に搬送される海苔積層体91の帯92上の上方に設置される。なお、コード読取装置4の設置位置は、上述した位置に限らず、例えば、海苔積層体91の斜め上方であっても良い。すなわち、コード読取装置4は、帯92上に印字されたコード93を読み取り可能な位置に配置される。
【0059】
コード読取装置4は、例えば1次元コード若しくは2次元コードを読み込むコードリーダ、非接触型ICカードに記憶された情報を読み込むICカードのリーダ、または、リーダ機能を有するスマートフォン、携帯電話、タブレット若しくはパーソナルコンピュータ端末等の情報処理機器である。なお、コード読取装置4は、通信機能を有するCCDカメラ若しくはCMOSカメラ等の撮像装置であっても良い。
【0060】
近接センサ5は、例えば、超音波又は赤外線等によって、物理的接触がないときに近くの物体の存在を検出するように構成されるセンサである。なお、近接センサ5の代わりに、光電センサを利用しても良い。
【0061】
搬送装置2の搬送コンベア20上に搬送される海苔積層体91の通過を検知するため、近接センサ5は撮像対象となる海苔積層体91の通過を検知可能な位置に設置される。近接センサ5により海苔積層体91が検出された場合、撮像装置3は、当該撮像装置3の撮像領域R内に到達するタイミングで海苔積層体91の表面を撮像する。タイミングは、予め近接センサ5により撮像対象となる海苔積層体91が検出された位置、撮像装置3の撮像領域Rの位置、及び、搬送装置2の搬送速度に基づいて算出される。
【0062】
なお、コード読取装置4及び近接センサ5は、搬送装置2と一体型に構成されても良い。
【0063】
続いて、搬送装置2により搬送された海苔積層体91の表面画像と、当該海苔積層体91の帯92上に印字されたコード93とに基づき、訓練データを生成する処理を説明する。
近接センサ5は、搬送装置2により搬送された海苔積層体91を検出した場合、当該海苔積層体91の検出結果をコンピュータ1に送信する。コンピュータ1は、近接センサ5から送信された検出結果に応じて、海苔積層体91の表面を撮像する撮像指示を撮像装置3に送信する。撮像装置3は、コンピュータ1から送信された撮像指示に応じて、海苔積層体91を撮像して当該海苔積層体91の表面画像を生成する。撮像装置3は、生成した海苔積層体91の表面画像をコンピュータ1に送信する。
【0064】
なお、本実施形態では、近接センサ5が海苔積層体91の検出結果をコンピュータ1に送信した例を説明したが、これに限るものではない。例えば、タイミングコントローラ(図示なし)を利用しても良い。タイミングコントローラは、例えば、撮像装置3が海苔積層体91の表面を撮像する指示信号を出力する半導体装置であっても良い。この場合、近接センサ5は、海苔積層体91の検出結果をタイミングコントローラに送信する。タイミングコントローラは、近接センサ5から送信された検出結果に応じて、海苔積層体91の表面を撮像する撮像指示を撮像装置3に送信する。
【0065】
同時に、コンピュータ1は、海苔積層体91の帯92上に印字されたコード93を読み取る読取指示をコード読取装置4に送信する。コード読取装置4は、コンピュータ1から送信された読取指示に応じて、海苔積層体91の帯92上に印字されたコード93を読み取る。コード93には、例えば、海苔積層体91の等級番号が埋め込まれる。なお、コード93には、海苔積層体91の等級名称、または、海苔積層体91の等級番号と等級名称との両方が埋め込まれても良い。コード読取装置4は、読み取ったコード93をコンピュータ1に送信する。
【0066】
なお、近接センサ5は、海苔積層体91を検出した検出結果を撮像装置3及びコード読取装置4に直接送信しても良い。この場合、撮像装置3は、近接センサ5から送信された検出結果に応じて、当該海苔積層体91の表面を撮像する。コード読取装置4は、近接センサ5から送信された検出結果に応じて、海苔積層体91の帯92上に印字されたコード93を読み取る。
【0067】
コンピュータ1は、コード読取装置4から送信されたコード93に基づき、当該海苔積層体91の等級を決定する。具体的には、コンピュータ1は、コードの解析ライブラリを利用し、受信したコード93から海苔積層体91の等級番号を取得する。コンピュータ1は、取得した等級番号に基づき、当該海苔積層体91の等級名称を等級情報DB172から取得する。
【0068】
コンピュータ1は、撮像装置3から送信された海苔積層体91の表面画像、及び決定した当該海苔積層体91の等級を含む訓練データを生成する。コンピュータ1は、生成した訓練データを訓練データDB173に記憶(蓄積)する。
【0069】
そして、コンピュータ1は、訓練データDB173に蓄積された訓練データを用いて、等級出力モデル171を生成する。なお、等級出力モデル171の生成処理に関しては、実施形態1での処理と同様であるため、説明を省略する。
【0070】
図7は、訓練データを生成する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、海苔積層体91の検出結果を通信部13により近接センサ5から受信する(ステップS111)。制御部11は、受信した検出結果に応じて、海苔積層体91の表面を撮像する撮像指示を通信部13により撮像装置3に送信する(ステップS112)。制御部11は、通信部13を介して、海苔積層体91の帯92上に印字されたコード93を読み取る読取指示をコード読取装置4に送信する(ステップS113)。
【0071】
撮像装置3は、コンピュータ1から送信された撮像指示を受信する(ステップS311)。撮像装置3は、受信した撮像指示に応じて、海苔積層体91の表面を撮像する(ステップS312)。撮像装置3は、当該海苔積層体91の表面画像を生成する(ステップS313)。撮像装置3は、生成した海苔積層体91の表面画像を無線通信部によりコンピュータ1に送信する(ステップS314)。コンピュータ1の制御部11は、撮像装置3から送信された海苔積層体91の表面画像を通信部13により受信する(ステップS114)。
【0072】
コード読取装置4は、コンピュータ1から送信された読取指示を受信する(ステップS411)。コード読取装置4は、受信した読取指示に応じて、海苔積層体91の帯92上に印字されたコード93を読み取る(ステップS412)。コード読取装置4は、読み取ったコード93をコンピュータ1に送信する(ステップS413)。
【0073】
コンピュータ1の制御部11は、コード読取装置4から送信されたコード93を通信部13により受信する(ステップS115)。制御部11は、コードの解析ライブラリを利用し、受信したコード93から海苔積層体91の等級番号を取得する(ステップS116)。制御部11は、取得した等級番号に基づき、当該海苔積層体91の等級名称を大容量記憶部17の等級情報DB172から取得する(ステップS117)。
【0074】
制御部11は、受信した海苔積層体91の表面画像と、取得した当該海苔積層体91の等級とを含む訓練データを生成する(ステップS118)。制御部11は、生成した訓練データを大容量記憶部17の訓練データDB173に記憶し(ステップS119)、処理を終了する。具体的には、制御部11は、海苔積層体91の表面画像(入力データ)に対応付けて、当該海苔積層体91の等級番号または等級名称(出力データ)を一つのレコードとして訓練データDB173に記憶する。
【0075】
続いて、複数組のセットからなる訓練データを生成する処理を説明する。コンピュータ1は、撮像装置3を通じて、所定の時間(例えば、30秒)内において、搬送装置2により連続的に搬送された海苔積層体91の表面画像を順次取得する。コンピュータ1は、コード読取装置4を通じて、当該海苔積層体91の帯92上に印字されたコード93を順次取得する。
【0076】
コンピュータ1は、コードの解析ライブラリを利用し、順次取得したコード93に対応する海苔積層体91の等級を取得する。コンピュータ1は、順次取得した海苔積層体91の表面画像、及び、順次取得したコード93に対応する海苔積層体91の等級の複数組のセットを訓練データとして生成する。コンピュータ1は、複数組のセットからなる訓練データを訓練データDB173に記憶する。
【0077】
図8は、複数組のセットからなる訓練データを生成する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、通信部13を介して、搬送装置2により搬送された海苔積層体91の表面画像を撮像装置3から取得する(ステップS131)。制御部11は、コード読取装置4を通じて、取得した表面画像に含まれる海苔積層体91の帯92上に印字されたコード93を取得する(ステップS132)。
【0078】
制御部11は、所定の時間(例えば、30秒)が経過したか否かを判定する(ステップS133)。制御部11は、所定の時間が経過していないと判定した場合(ステップS133でNO)、ステップS131の処理に戻る。制御部11は、所定の時間が経過したと判定した場合(ステップS133でYES)、取得した各海苔積層体91の表面画像と、各海苔積層体91の等級とが対応付けられた訓練データのセットを生成する(ステップS134)。
【0079】
制御部11は、所定の訓練データの組数(例えば、5)に達したか否かを判定する(ステップS135)。制御部11は、所定の組数に達していないと判定した場合(ステップS135でNO)、ステップS131の処理に戻る。制御部11は、所定の組数に達したと判定した場合(ステップS135でYES)、複数組のセットからなる訓練データを生成する(ステップS136)。制御部11は、生成した複数組のセットからなる訓練データを大容量記憶部17の訓練データDB173に記憶し(ステップS137)、処理を終了する。
【0080】
本実施形態によると、搬送装置2により搬送された海苔積層体91の表面画像と、当該海苔積層体91の帯92上に印字されたコード93とに基づき、訓練データを自動的に生成することが可能となる。
【0081】
本実施形態によると、大量の訓練データを自動的に生成することにより、等級出力モデル171の学習(訓練)効率を向上させることが可能となる。
【0082】
(実施形態3)
実施形態3は、海苔積層体91の種類ごとに、海苔積層体91の表面画像を入力した場合に、当該海苔積層体91の等級に関する等級情報を出力する深層学習モデルを生成する形態に関する。海苔積層体91の種類は、秋芽(種付け後そのまま育成した海苔)、及び、冷凍(種付け後に冷凍しておいた海苔)を含む。なお、実施形態1~2と重複する内容については説明を省略する。
【0083】
図9は、実施形態3におけるコンピュータの構成例を示すブロック図である。なお、
図1と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、秋芽用等級出力モデル(秋芽学習モデル)174、冷凍用等級出力モデル(冷凍学習モデル)175及び学習モデル管理DB176が含まれる。
【0084】
秋芽用等級出力モデル174は、種類が秋芽である海苔積層体91の表面画像に基づいて、当該海苔積層体91の等級に関する等級情報を出力する推定器(出力器)であり、深層学習により生成された学習済みモデルである。冷凍用等級出力モデル175は、種類が冷凍である海苔積層体91の表面画像に基づいて、当該海苔積層体91の等級に関する等級情報を出力する推定器(出力器)であり、深層学習により生成された学習済みモデルである。学習モデル管理DB176は、学習済みモデルのファイル等を記憶している。
【0085】
図10は、実施形態3における訓練データDB及び学習モデル管理DBのレコードレイアウトの一例を示す説明図である。なお、
図2と重複する内容については同一の符号を付して説明を省略する。訓練データDB173は、種類列を含む。種類列は、秋芽及び冷凍を含む海苔積層体91の種類を記憶している。
【0086】
学習モデル管理DB176は、モデルID列、学習モデル種類列、学習モデルファイル列及び生成日時列を含む。モデルID列は、各学習済みモデルのファイルを識別するために、一意に特定される学習済みモデルのファイルのIDを記憶している。
【0087】
学習モデル種類列は、「秋芽」、「冷凍」または「通常」等を含む学習モデルの種類を記憶している。「秋芽」は、秋芽用等級出力モデル174を示す学習済みモデルの種類である。「冷凍」は、冷凍用等級出力モデル175を示す学習済みモデルの種類である。「通常」は、海苔積層体91の種類とは関係なく、学習済みモデル(例えば、実施形態1での等級出力モデル171)の種類である。
【0088】
学習モデルファイル列は、学習済みモデルのファイル、または学習済みモデルのファイルの保管場所を記憶している。生成日時列は、学習済みモデルのファイルを生成した日時情報を記憶している。
【0089】
秋芽用等級出力モデル174及び冷凍用等級出力モデル175における訓練データの出力データは、海苔積層体91の等級に関する等級情報を示すデータである。海苔積層体91の等級に関する等級情報は、数字等級、文字等級、もしくは数字等級と文字等級との組み合わせ、及び、各等級に対応する確度(確率値)等を含む。数字等級は、数字の大小により評価する等級であり、例えば、「特等」、「一等」、「二等」、「三等」または「四等」等を含む。
【0090】
文字等級は、「並」、「黒」、「ク」または「別」等を含む文字の相違により評価する等級である。「並」は、普通の海苔を評価する文字等級である。「黒」は、普通等級と同程度であり、またはそれ以上の黒みを有するが、光沢が不足している海苔を評価する文字等級である。「ク」は、水洗い不足、または乾燥等によるくもりの軽微な海苔を評価する文字等級である。「別」は、「ベツグサ」と呼ばれる藻が混入した海苔を評価する文字等級である。なお、「並」、「黒」、「ク」または「別」を含む文字等級に限るものではない。例えば、文字等級には、「上」、「重」、「軽」、「飛」または「混」等が含まれても良い。
【0091】
例えば、海苔積層体91の等級情報が文字等級と数字等級との組み合わせである。文字等級は、「並」、「黒」、「ク」及び「別」を含み、数字等級は、1等から7等までの7段階の等級を含む。従って、秋芽用等級出力モデル174及び冷凍用等級出力モデル175における訓練データの出力データは、並1~並7、黒1~黒7、ク1~ク7及び別1~別7のいずれかである。
【0092】
コンピュータ1は、秋芽用等級出力モデル174及び冷凍用等級出力モデル175を生成するための訓練データに対し、海苔積層体91が秋芽か、または冷凍かの種類を取得する。例えば、コンピュータ1は、訓練データにおける海苔積層体91が秋芽か、または冷凍かの種類の選択(入力)を受け付けても良い。
【0093】
または、海苔積層体91の帯92上に印字されているコード93に海苔積層体91の種類が含まれる場合、コンピュータ1は、コード93を読み取ることにより、当該海苔積層体91の種類を取得しても良い。
【0094】
なお、海苔積層体91の種類が帯92に直接印字された場合、コンピュータ1は、文字認識処理を行い、帯92に印字された種類を認識することにより、当該海苔積層体91の種類を取得する。文字認識処理は、例えば、OCR(Optical character recognition)技術を用いる。
【0095】
コンピュータ1は、訓練データを秋芽と、冷凍とに分類して、訓練データDB173に記憶する。
【0096】
まず、秋芽用等級出力モデル174を生成する処理を説明する。秋芽用等級出力モデル174は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。秋芽用等級出力モデル174は、種類が秋芽である海苔積層体91の表面画像を入力とし、当該海苔積層体91の等級に関する等級情報を出力とするニューラルネットワークを構築済みの推定器である。
【0097】
コンピュータ1は、秋芽用等級出力モデル174として、種類が秋芽である海苔積層体91の表面画像内における海苔の特徴量を学習するディープラーニングを行うことで秋芽用等級出力モデル174を生成する。
【0098】
例えば、秋芽用等級出力モデル174はCNNであり、海苔積層体91の表面画像の入力を受け付ける入力層と、当該海苔積層体91の等級に関する等級情報を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。なお、入力層、中間層及び出力層に関しては、等級出力モデル171の入力層、中間層及び出力層と同様であるため、説明を省略する。
【0099】
例えばコンピュータ1は、訓練データDB173に蓄積された秋芽の訓練データを用いて、秋芽用等級出力モデル174を生成する。秋芽の訓練データは、種類が秋芽である海苔積層体91の表面画像と、該海苔積層体91の等級に関する等級情報とが対応付けられた組み合わせのデータである。
【0100】
コンピュータ1は、取得した秋芽の訓練データを用いて学習を行うことにより、秋芽用等級出力モデル174を生成する。なお、秋芽用等級出力モデル174の学習処理は、等級出力モデル171の学習処理と同様であるため、説明を省略する。コンピュータ1は、生成した秋芽用等級出力モデル174に対してモデルIDを割り振る。コンピュータ1は、割り振ったモデルIDに対応付けて、生成した秋芽用等級出力モデル174を学習モデル管理DB176に記憶する。
【0101】
コンピュータ1は、種類が秋芽である海苔積層体91の表面画像を取得した場合、取得した表面画像を秋芽用等級出力モデル174に入力する。コンピュータ1は、秋芽用等級出力モデル174の中間層にて、海苔積層体91の表面画像の特徴量を抽出する演算処理を行う。コンピュータ1は、抽出した特徴量を秋芽用等級出力モデル174の出力層に入力して、種類が秋芽である海苔積層体91の等級に関する等級情報を出力として取得する。
【0102】
例えば、種類が秋芽である海苔積層体91の表面画像に対し、数字等級である「特等」、「1等」、「2等」、「3等」、「4等」それぞれの確率値が、「0.01」、「0.86」、「0.05」、「0.04」、「0.04」である推定結果が出力されても良い。または、種類が秋芽である海苔積層体91の表面画像に対し、数字等級と文字等級との組み合わせである「黒上1」、「黒1」、「黒2」、「並2」及び「並4」それぞれの確率値が、「0.03」、「0.84」、「0.05」、「0.02」、「0.06」である推定結果が出力されても良い。
【0103】
また、所定閾値を利用することにより、推定結果を出力しても良い。例えばコンピュータ1は、「黒1」の確率値(0.84)が所定閾値(例えば、0.80)以上であると判定した場合、「黒1」を推定結果として出力する。なお、上述した閾値を利用せず、秋芽用等級出力モデル174が推定した各等級の確率値から、最も高い確率値に対応する等級を推定結果として出力しても良い。
【0104】
次に、冷凍用等級出力モデル175を生成する処理を説明する。冷凍用等級出力モデル175は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。冷凍用等級出力モデル175は、種類が冷凍である海苔積層体91の表面画像を入力とし、当該海苔積層体91の等級に関する等級情報を出力とするニューラルネットワークを構築済みの推定器である。
【0105】
コンピュータ1は、冷凍用等級出力モデル175として、種類が冷凍である海苔積層体91の表面画像内における海苔の特徴量を学習するディープラーニングを行うことで冷凍用等級出力モデル175を生成する。なお、冷凍用等級出力モデル175の生成処理に関しては、秋芽用等級出力モデル174の生成処理と同様であるため、説明を省略する。
【0106】
なお、秋芽用等級出力モデル174及び冷凍用等級出力モデル175において、CNNの代わりに、RCNN、Fast RCNN、Faster RCNN、SSD、YOLO、SVM、ベイジアンネットワーク、トランスフォーマーネットワーク、または回帰木等の任意の物体検出アルゴリズムを使用しても良い。
【0107】
図11は、秋芽用等級出力モデル及び冷凍用等級出力モデルの生成処理の手順を示すフローチャートである。コンピュータ1の制御部11は、海苔積層体91の表面画像と、当該表面画像に対応する海苔積層体91の等級とが対応付けられた訓練データに対し、当該海苔積層体91が秋芽か、または冷凍かの種類を入力部14により取得する(ステップS141)。
【0108】
制御部11は、当該訓練データを秋芽と、冷凍とに分類して、大容量記憶部17の訓練データDB173に記憶する(ステップS142)。なお、上述した処理(ステップS141~S142)が一度実行された場合、次回から処理の実行を省略することができる。
【0109】
制御部11は、秋芽の訓練データを大容量記憶部17の訓練データDB173から取得する(ステップS143)。秋芽の訓練データは、種類が秋芽である海苔積層体91の表面画像と、当該表面画像に対応する海苔積層体91の等級とが対応付けられた訓練データである。
【0110】
制御部11は、取得した秋芽の訓練データを用いて、海苔積層体91の表面画像を入力として、当該海苔積層体91の等級に関する等級情報を出力とする秋芽用等級出力モデル174を生成する(ステップS144)。制御部11は、生成した秋芽用等級出力モデル174を大容量記憶部17の学習モデル管理DB176に記憶する(ステップS145)。
【0111】
具体的には、制御部11は、生成した秋芽用等級出力モデル174に対してモデルIDを割り振る。制御部11は、割り振ったモデルIDに対応付けて、「秋芽」である学習モデルの種類、生成した秋芽用等級出力モデル174のファイル、及び生成日時を一つのレコードとして学習モデル管理DB176に記憶する。
【0112】
制御部11は、冷凍の訓練データを大容量記憶部17の訓練データDB173から取得する(ステップS146)。冷凍の訓練データは、種類が冷凍である海苔積層体91の表面画像と、当該表面画像に対応する海苔積層体91の等級とが対応付けられた訓練データである。
【0113】
制御部11は、取得した冷凍の訓練データを用いて、海苔積層体91の表面画像を入力として、当該海苔積層体91の等級に関する等級情報を出力とする冷凍用等級出力モデル175を生成する(ステップS147)。制御部11は、生成した冷凍用等級出力モデル175を大容量記憶部17の学習モデル管理DB176に記憶し(ステップS148)、一連の処理を終了する。
【0114】
具体的には、制御部11は、生成した冷凍用等級出力モデル175に対してモデルIDを割り振る。制御部11は、割り振ったモデルIDに対応付けて、「冷凍」である学習モデルの種類、生成した冷凍用等級出力モデル175のファイル、及び生成日時を一つのレコードとして学習モデル管理DB176に記憶する。
【0115】
なお、秋芽用等級出力モデル174及び冷凍用等級出力モデル175の生成順序は特に限定されるものではない。
【0116】
本実施形態によると、海苔積層体91の種類(秋芽及び冷凍)に応じて、秋芽用等級出力モデル174または冷凍用等級出力モデル175を生成することが可能となる。
【0117】
(実施形態4)
実施形態4は、秋芽用等級出力モデル174または冷凍用等級出力モデル175を用いて、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を出力する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
【0118】
図12は、実施形態4におけるコンピュータの構成例を示すブロック図である。なお、
図9と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、設定DB177が含まれる。設定DB177は、海苔積層体91の等級を判定するための設定情報を記憶している。
【0119】
図13は、設定DBのレコードレイアウトの一例を示す説明図である。設定DB177は、ユーザID列、保存先列、種類列及び評価基準列を含む。ユーザID列は、各ユーザを識別するために、一意に特定されるユーザのIDを記憶している。保存先列は、海苔積層体91の等級を判定した判定結果の保存場所を記憶している。種類列は、判定対象となる海苔積層体91の種類(例えば、秋芽または冷凍)を記憶している。評価基準列は、海苔積層体91の等級を評価する評価基準の値を記憶している。なお、評価基準に関しては後述する。
【0120】
図14は、海苔積層体の等級を判定するための設定画面の一例を示す説明図である。当該画面は、保存先表示欄12a、参照ボタン12b、種類ボックス12c、評価基準設定スライダー12d、及び適用ボタン12eを含む。
【0121】
保存先表示欄12aは、海苔積層体91の等級を判定した判定結果(判定記録)の保存先を表示する表示欄である。参照ボタン12bは、判定結果の保存先の選択を受け付ける欄である。種類ボックス12cは、秋芽か、または冷凍かの種類の選択を受け付けるボックス(選択欄)である。
【0122】
評価基準設定スライダー12dは、海苔積層体91の等級を評価する評価基準の値を設定するためのスライダー(設定欄)である。適用ボタン12eは、各種の設定情報(保存先、種類及び判定基準等)を適用(記憶)するボタンである。
【0123】
コンピュータ1は、参照ボタン12bのクリック(タッチ)操作を受け付けた場合、ユーザによる判定結果の保存先の選択を受け付ける。コンピュータ1は、受け付けた判定結果の保存先を保存先表示欄12aに表示する。コンピュータ1は、種類ボックス12cの選択操作を受け付けた場合、ユーザによる海苔積層体91の種類(例えば、秋芽または冷凍)の選択を受け付ける。
【0124】
コンピュータ1は、評価基準設定スライダー12dの設定操作を受け付けた場合、ユーザにより設定された評価基準の値を評価基準設定スライダー12dに設定する。なお、評価基準に関しては後述する。
【0125】
コンピュータ1は、適用ボタン12eのタッチ操作を受け付けた場合、参照ボタン12bにより選択された判定結果の保存先、種類ボックス12cにより選択された海苔積層体91の種類、及び評価基準設定スライダー12dにより設定された評価基準の値を取得する。コンピュータ1は、ユーザIDに対応付けて、取得した保存先、海苔積層体91の種類及び評価基準の値を設定DB177に記憶する。
【0126】
図15は、実施形態4における海苔積層体の等級を判定する画面の一例を示す説明図である。なお、
図4と重複する内容については同一の符号を付して説明を省略する。当該画面は、判定日時表示欄13a、等級表示欄13b及びマトリクス表示欄13cを含む。
【0127】
判定日時表示欄13aは、海苔積層体91の等級を判定した判定日時を表示する表示欄である。等級表示欄13bは、海苔積層体91の等級を表示する表示欄である。マトリクス表示欄13cは、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を表示する表示欄である。
【0128】
コンピュータ1は、等級判定ボタン11dのタッチ操作を受け付けた場合、設定画面(
図14)により設定された設定情報(判定結果の保存先、海苔積層体91の種類及び評価基準の値等)を設定DB177から取得する。コンピュータ1は、取得した設定情報に含まれる海苔積層体91の種類に基づき、等級出力モデル(秋芽用等級出力モデル174または冷凍用等級出力モデル175)を特定する。例えば、コンピュータ1は、設定情報に含まれる海苔積層体91の種類に基づき、秋芽用等級出力モデル174を特定する。
【0129】
以下では、秋芽用等級出力モデル174の例を説明するが、冷凍用等級出力モデル175にも同様に適用することができる。
【0130】
コンピュータ1は、特定した秋芽用等級出力モデル174のモデルIDに基づき、秋芽用等級出力モデル174の学習モデルファイルを学習モデル管理DB176から取得する。コンピュータ1は、海苔画像表示欄11aに表示されている海苔積層の表面画像を秋芽用等級出力モデル174に入力し、当該海苔積層体91の等級に関する等級情報を出力する。
【0131】
等級情報は、一例とし、数字等級と文字等級との組み合わせにより得られた等級(例えば、黒3)、及び確率等を含む。数字等級は、数字の大小により評価する等級であり、文字等級は、「並」、「黒」、「ク」または「別」等を含む文字の相違により評価する等級である。例えば、種類が秋芽である海苔積層体91の表面画像に対し、数字等級と文字等級との組み合わせである「黒3」、「黒4」及び「並3」それぞれの確率値が、「0.55」、「0.44」、「0.01」であっても良い。
【0132】
コンピュータ1は、秋芽用等級出力モデル174から出力された確率値に基づき、2次元マトリクスで規定した評価表(ヒートマップ)を生成する。2次元マトリクスは、第1軸が数字の大小により評価する数字等級(1等~7等)、第2軸が並、黒、ク及び別を含む文字の相違により評価する文字等級による2次元マトリクスである。
【0133】
コンピュータ1は、秋芽用等級出力モデル174から出力された確率値に応じたヒートマップをマトリクス表示欄13cに表示する。図示のように、ヒートマップ上の「黒3」に対応するセルに斜線(右上がり対角線)のハッチングで表され、「黒4」に対応するセルに横線のハッチングで表され、「並3」に対応するセルにひし形のハッチングで表されている。
【0134】
なお、ヒートマップの表現形式に限らず、マトリクス表示欄13cに確率値をテキスト形式等で表示することができる。
【0135】
コンピュータ1は、判定日時を判定日時表示欄13aに表示する。コンピュータ1は、秋芽用等級出力モデル174が推定した各等級の確率値から、最も高い確率値に対応する等級を等級表示欄13bに表示する。図示のように、最も高い確率値に対応する「黒3」が等級表示欄13bに表示される。
【0136】
なお、等級表示欄13bには、秋芽用等級出力モデル174が推定した複数の等級が表示されても良い。または、等級表示欄13bには、秋芽用等級出力モデル174が推定した複数の等級のうち、所定閾値(例えば、0.5)以上である確率値に対応する等級が表示されても良い。
【0137】
コンピュータ1は、海苔積層体91の等級を判定した判定結果を、取得した設定情報に含まれる判定結果の保存先に記憶する。
【0138】
また、設定情報に含まれる評価基準の値が、2次元マトリクスの第1軸上の数字等級に影響を与えるため、設定された評価基準の値に応じて、異なる判定結果が出力される。例えば、緩めから厳しくまでの評価基準の値の範囲は、0.1から1.0までである。例えば、「0.5」を評価基準の標準値として設定し、設定された評価基準の値が「0.5」未満である場合、緩め評価となる傾向(寛容化傾向)が見られる。または、設定された評価基準の値が「0.5」を超えた場合、厳しい評価となる傾向(厳格化傾向)が見られる。
【0139】
一例として、種類が秋芽である海苔積層体91の表面画像に対し、数字等級と文字等級との組み合わせである「黒2」、「黒3」及び「並3」それぞれの確率値が、「0.44」、「0.55」、「0.01」である。コンピュータ1は、評価基準の値が標準値(0.5)に設定された場合、最も高い確率値に対応する等級(「黒3」)を通常判定結果として出力する。
【0140】
また、コンピュータ1は、評価基準の値が緩めに設定された場合(例えば、0.4)、通常判定結果と同じ文字等級である「黒」に対し、最上位の等級(「黒2」)の確率値(0.44)に所定の調整値(例えば、0.2)を加算する。コンピュータ1は、加算後の「黒2」の確率値(0.64)が所定の閾値(例えば、0.5)以上である場合、「黒2」を等級表示欄13bに表示する。なお、閾値による判定に限らず、例えば、コンピュータ1は、加算後の「黒2」の確率値が最も高い確率値である場合、「黒2」を等級表示欄13bに表示しても良い。
【0141】
評価基準の値に応じて、複数の調整値が設けられても良い。例えば、評価基準の値が0.4以上且つ0.5未満である場合、調整値を0.2とし、評価基準の値が0.3以上且つ0.4未満である場合、調整値を0.3とし、評価基準の値が0.2以上且つ0.3未満である場合、調整値を0.4とし、評価基準の値が0.1以上且つ0.2未満である場合、調整値を0.5とし、評価基準の値が0.0以上且つ0.1未満である場合、調整値を0.6としても良い。
【0142】
評価基準の値がさらに緩めに設定された場合(例えば、0.2)、コンピュータ1は、通常判定結果と同じ文字等級である「黒」に対し、最上位の等級(「黒2」)の確率値(0.44)に所定の調整値(例えば、0.4)を加算する。コンピュータ1は、加算後の「黒2」の確率値が所定の第1閾値(例えば、0.5)以上且つ第2閾値(例えば、0.7)未満ある場合、「黒2」を等級表示欄13bに表示する。または、コンピュータ1は、加算後の「黒2」の確率値が所定の第2閾値(例えば、0.7)を超えた場合、最上位の等級(「黒2」)よりさらに上位の等級(「黒1」)を特定する。上述した例では、加算後の「黒2」の確率値が0.84であり、「黒1」が等級表示欄13bに表示される。
【0143】
もう一例として、種類が秋芽である海苔積層体91の表面画像に対し、数字等級と文字等級との組み合わせである「黒4」、「黒3」及び「並3」それぞれの確率値が、「0.44」、「0.55」、「0.01」である。コンピュータ1は、評価基準の値が標準値(0.5)に設定された場合、最も高い確率値に対応する等級(「黒3」)を通常判定結果として出力する。
【0144】
また、コンピュータ1は、評価基準の値が厳しく設定された場合(例えば、0.6)、通常判定結果と同じ文字等級である「黒」に対し、最下位の等級(「黒4」)の確率値(0.44)に所定の調整値(例えば、0.2)を加算する。コンピュータ1は、加算後の「黒4」の確率値(0.64)が所定の閾値(例えば、0.5)以上である場合、「黒4」を等級表示欄13bに表示する。
【0145】
評価基準の値に応じて、複数の調整値が設けられても良い。例えば、評価基準の値が0.5より大きい且つ0.6以下である場合、調整値を0.2とし、評価基準の値が0.6より大きい且つ0.7以下である場合、調整値を0.3とし、評価基準の値が0.7より大きい且つ0.8以下である場合、調整値を0.4とし、評価基準の値が0.8より大きい且つ0.9以下である場合、調整値を0.5とし、評価基準の値が0.9より大きい且つ1.0以下である場合、調整値を0.6としても良い。
【0146】
評価基準の値がさらに厳しく設定された場合(例えば、0.7)、コンピュータ1は、通常判定結果と同じ文字等級である「黒」に対し、最下位の等級(「黒4」)の確率値(0.44)に所定の調整値(例えば、0.3)を加算する。コンピュータ1は、加算後の「黒4」の確率値が所定の第1閾値(例えば、0.5)以上且つ第2閾値(例えば、0.7)未満ある場合、「黒4」を等級表示欄13bに表示する。または、コンピュータ1は、加算後の「黒4」の確率値が所定の第2閾値(例えば、0.7)を超えた場合、最下位の等級(「黒4」)よりさらに下位の等級(「黒5」)を特定する。上述した例では、加算後の「黒4」の確率値が0.74であり、「黒5」が等級表示欄13bに表示される。
【0147】
図16は、海苔積層体の等級を判定する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、ユーザにより入力(設定)された設定情報を入力部14により受け付ける(ステップS151)。設定情報は、判定結果の保存先、海苔積層体91の種類及び評価基準の値等を含む。
【0148】
制御部11は、ユーザIDに対応付けて、受け付けた設定情報を大容量記憶部17の設定DB177に記憶する(ステップS152)。具体的には、制御部11は、ユーザIDに対応付けて、受け付けた判定結果の保存先、海苔積層体91の種類及び評価基準の値を設定DB177に記憶する。
【0149】
なお、上述した処理(ステップS151~S152)が一度実行された場合、次回から処理の実行を省略することができる。
【0150】
制御部11は、撮像装置3から海苔積層体91の表面画像を通信部13により取得する(ステップS153)。制御部11は、設定情報(判定結果の保存先、海苔積層体91の種類及び評価基準の値等)を大容量記憶部17の設定DB177から取得する(ステップS154)。制御部11は、取得した設定情報に含まれる海苔積層体91の種類に基づき、等級出力モデル(秋芽用等級出力モデル174または冷凍用等級出力モデル175)を特定する(ステップS155)。
【0151】
制御部11は、特定した等級出力モデルのモデルIDに基づき、等級出力モデルの学習モデルファイルを大容量記憶部17の学習モデル管理DB176から取得する(ステップS156)。制御部11は、取得した海苔積層体91の表面画像を等級出力モデルに入力し(ステップS157)、当該海苔積層体91の等級に関する等級情報を出力する(ステップS158)。
【0152】
等級情報は、数字等級、文字等級、もしくは数字等級と文字等級との組み合わせにより得られた等級(例えば、黒3)、及び、各等級に対応する確率等を含む。制御部11は、設定情報に含まれる評価基準の値に応じて、数字等級を変更する処理のサブルーチンを実行する(ステップS159)。なお、数字等級の変更処理のサブルーチンに関しては後述する。
【0153】
制御部11は、等級出力モデルから出力された確率値に基づき、2次元マトリクスで規定した評価表を生成する(ステップS160)。制御部11は、生成した評価表を表示部15により表示する(ステップS161)。制御部11は、海苔積層体91の等級を判定した判定結果を、取得した設定情報に含まれる判定結果の保存先に記憶する(ステップS162)。制御部11は、処理を終了する。
【0154】
図17は、数字等級を変更する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、設定情報から評価基準の値を取得する(ステップS01)。制御部11は、取得した評価基準の値が標準値(例えば、0.5)であるか否かを判定する(ステップS02)。制御部11は、取得した評価基準の値が標準値である場合(ステップS02でYES)、制御部11は、数字等級の変更処理のサブルーチンを終了してリターンする。
【0155】
制御部11は、取得した評価基準の値が標準値でない場合(ステップS02でNO)、当該評価基準の値が標準値未満であるか否かを判定する(ステップS03)。制御部11は、当該評価基準の値(例えば、0.4)が標準値未満である場合(ステップS03でYES)、通常判定結果と同じ文字等級(例えば、「黒」)に対し、最上位の等級の確率値に所定の調整値(例えば、0.2)を加算する(ステップS04)。制御部11は、加算後の最上位の等級の確率値が所定の閾値(例えば、0.5)以上であるか否かを判定する(ステップS06)。
【0156】
制御部11は、加算後の最上位の等級の確率値が所定の閾値以上である場合(ステップS06でYES)、変更後の等級を取得する(ステップS07)。制御部11は、数字等級の変更処理のサブルーチンを終了してリターンする。制御部11は、加算後の最上位の等級の確率値が所定の閾値未満である場合(ステップS06でNO)、数字等級の変更処理のサブルーチンを終了してリターンする。
【0157】
制御部11は、当該評価基準の値(例えば、0.6)が標準値を超えた場合(ステップS03でNO)、通常判定結果と同じ文字等級(例えば、「黒」)に対し、最下位の等級の確率値に所定の調整値(例えば、0.2)を加算する(ステップS05)。制御部11は、ステップS06の処理に遷移する。
【0158】
本実施形態によると、秋芽用等級出力モデル174または冷凍用等級出力モデル175を用いて、海苔の評価を2次元マトリクスで規定した評価表上に示される確度に関する情報を出力することが可能となる。
【0159】
本実施形態によると、設定された評価基準の値に応じて、数字等級を示す2次元マトリクスの第1軸上の数字等級を変更することが可能となる。
【0160】
(実施形態5)
実施形態5は、撮像タイミング制御により撮像された海苔積層体91の表面画像を取得する形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。
【0161】
本実施形態では、情報処理装置1(コンピュータ1)、搬送装置2、撮像装置3、近接センサ5及び光源装置6(図示なし)を含む。なお、搬送装置2、撮像装置3及び近接センサ5は、実施形態2と同様であるため、説明を省略する。
【0162】
光源装置6は、海苔積層体91を照射するため、照明光を発する光源を備える装置である。光源装置6は、LED(light emitting diode)またはプロジェクタを用いることができる。なお、他の光源装置、例えば無電極光源を用いても良い。なお、本実施形態では、光源装置6は、撮像装置3から分離しているが、これに限るものではない。例えば、光源装置6が撮像装置3に内蔵された一体型であっても良い。
【0163】
近接センサ5は、搬送装置2により搬送された海苔積層体91を検出した場合、当該海苔積層体91の検出結果をコンピュータ1に送信する。コンピュータ1は、近接センサ5から送信された検出結果に応じて、海苔積層体91の表面を撮像する撮像指示を撮像装置3に送信する。
【0164】
撮像装置3は、コンピュータ1から送信された撮像指示に応じて、当該海苔積層体91の検出から一定期間(例えば、10マイクロ秒)後に、当該海苔積層体91を照射するための光源装置6をオンにする。撮像装置3は、当該光源装置6をオンにした後の一定時間(例えば、5マイクロ秒)後に、露光をオンにして当該海苔積層体91の表面画像を撮像する。露光は、撮像素子(イメージセンサー)を外界の光に対して露わにすることを指す。撮像装置3は、撮像した当該海苔積層体91の表面画像を生成する。撮像装置3は、生成した海苔積層体91の表面画像をコンピュータ1に送信する。
【0165】
なお、本実施形態では、近接センサ5が海苔積層体91の検出結果をコンピュータ1に送信した例を説明したが、これに限るものではない。例えば、タイミングコントローラ(図示なし)を利用しても良い。この場合、近接センサ5は、海苔積層体91の検出結果をタイミングコントローラに送信する。タイミングコントローラは、近接センサ5から送信された検出結果に応じて、海苔積層体91の表面を撮像する撮像指示を撮像装置3に送信する。
【0166】
図18は、海苔積層体の表面画像を取得する際の処理手順を示すフローチャートである。なお、
図7と重複する内容については同一の符号を付して説明を省略する。撮像装置3は、ステップS311を実行した後に、当該海苔積層体91の検出から一定時間(例えば、10マイクロ秒)が経過したか否かを判定する(ステップS371)。撮像装置3は、一定時間が経過していないと判定した場合(ステップS371でNO)、待機する。
【0167】
撮像装置3は、一定時間が経過したと判定した場合(ステップS371でYES)、当該海苔積層体91を照射するための光源装置6をオンにさせる(ステップS372)。撮像装置3は、当該光源装置6をオンにさせた後の一定時間(例えば、50ナノ秒)が経過したか否かを判定する(ステップS373)。撮像装置3は、一定時間が経過していないと判定した場合(ステップS373でNO)、待機する。
【0168】
撮像装置3は、一定時間が経過したと判定した場合(ステップS373でYES)、露光をオンにする(ステップS374)。撮像装置3は、ステップS312の処理を実行する。
【0169】
本実施形態によると、撮像タイミング制御により撮像された海苔積層体91の表面画像を取得することが可能となる。
【0170】
(実施形態6)
実施形態6は、海苔積層体91の表面画像に対して色変換処理を行う形態に関する。なお、実施形態1~5と重複する内容については説明を省略する。
【0171】
撮像装置3が高忠実色再現撮像装置ではなく、産業用の撮像装置である場合、当該撮像装置3により撮像された海苔積層体91の表面画像の色域における色再現性が低いため、低い色再現性を高忠実色再現性に近づけるための色変換処理を行うことが必要である。
【0172】
図19は、色変換処理を説明する説明図である。
図19Aは、色変換処理を行う際の処理手順を示す説明図である。コンピュータ1は、海苔積層体91の表面画像を撮像装置3から取得する。例えば、コンピュータ1は、表面画像の生データ(RGB RAW)を撮像装置3から取得しても良い。コンピュータ1は、取得した表面画像に対してホワイトバランス補正(色補正)を行う。なお、ホワイトバランス補正処理は必須ではなく、省略することが可能である。
【0173】
コンピュータ1は、ホワイトバランス補正後の表面画像の色域を複数の小領域色域に分割する。コンピュータ1は、例えば、表面画像の色域を縦横4×4=16枚の小領域色域に分割する。なお、分割する小領域色域の数は、後述する色差(ΔE00)値の分布によって決定されても良い。小領域色域の数はGPUのメモリサイズ等の計算機の処理能力の範囲内であれば特に限定されるものではない。
【0174】
コンピュータ1は、分割した小領域色域毎に色変換処理を行う。なお、色変換処理に関しては後述する。コンピュータ1は、色変換処理を行った各小領域色域に対応する画像を連結(結合)することにより、色変換処理を行った画像(変換後の表面画像)を出力する。
【0175】
変換後の表面画像は、一例として、sRGB(standard RGB)である。sRGBは、IEC(国際電気標準会議)が定めたRGB色空間の標準規格のことを指している。sRGB画像に変換すると、モニター、撮像装置またはスキャナ等の装置で同一の色再現結果を得ることができる。
【0176】
図19Bは、色変換処理を説明する説明図である。変換式14aは、RGBからXYZに変換するマトリクス14eを用いて、色変換処理を行うための変換式である。マトリクス14eは、RGBからXYZに変換するための3行3列の行列(マトリクス)である。
【0177】
図示のように、マトリクス14eには、要素m11、m12、m13、m21、m22、m23、m31、m32及びm33が含まれる。撮像装置3により撮像された海苔積層体91の表面画像の生データ(RRAW,GRAW,BRAW)を変換式14aで変換することにより、XYZ画像データ(X,Y,Z)が得られる。
【0178】
三刺激値(XYZ)14bは、カラーチェッカー(例えば、x-rite ColorChecker(登録商標))を分光放射輝度計で測定した各色票の値である。三刺激値(XYZ)14bは、基準値(参照値)となる。生データ(RRAW,GRAW,BRAW)14cは、撮像装置3により撮像された表面画像の生データである。変換後画像データ(X,Y,Z)14dは、色変換処理を行うことにより得られた表面画像(XYZ画像)の画像データである。
【0179】
高忠実色である場合、X:Y:ZとR:G:Bとの比率がほぼ同じになるが、産業用の撮像装置3により撮像された海苔積層体91の表面画像の色再現性は一般的に低いため、コンピュータ1は、変換式14aに基づき、低い色再現性を高忠実色再現性に近づけるための色変換処理を行う。
【0180】
マトリクス14eに含まれる各要素(m11,m12,m13,m21,m22,m23,m31,m32,m33)の値は、三刺激値(XYZ)14bと変換後画像データ(X,Y,Z)14dとの各要素の差分の総和が最小になるように、一般縮小勾配法を用いた数理モデルの最適化方法により得られる。
【0181】
例えば、表計算ソフトウェアExcel(登録商標、マイクロソフト社製)のソルバー機能において、「目的セルの設定」において誤差のセルを選択し、「目標値」において「最小値」を選択し、「変数セルの変更」において最適化すべきパラメータのセルを選択し、「解決方法の選択」において「GRG非線形」を選択した上で、解決ボタンを押下することによって行うことができる。
【0182】
なお、最適化の手法としては、GRG非線形(非線形最小二乗法)に限らず、例えば、最急降下法、遺伝的アルゴリズム、またはPatternSearch法等の勾配を用いる最適化アルゴリズムを用いることが可能である。
【0183】
また、コンピュータ1は、表面画像の色域を複数の小領域色域に分割した場合、小領域色域毎に、マトリクス14eに含まれる各要素(m11,m12,m13,m21,m22,m23,m31,m32,m33)の値を求める。例えば、コンピュータ1は、表面画像の色域を縦横3×3=9枚の小領域色域(Img1,Img2,…,Img9)に分割した場合、一般縮小勾配法を用いた数理モデルの最適化方法を利用し、それぞれの小領域色域におけるマトリクス14e(14e1,14e2,…,14e9)に含まれる各要素を求める。
【0184】
以下では、生データ(RRAW,GRAW,BRAW)が(33.10,46.29,76.08)である例を挙げて説明する。コンピュータ1は、(33.10,46.29,76.08)である生データ(RRAW,GRAW,BRAW)を変換式14aで変換することにより、(43.60,47.95,85.12)である変換後画像データ(X,Y,Z)を得る。
【0185】
図20は、色再現性を示す散布図の一例を示す説明図である。散布
図15aは、撮像装置3により撮像された生データ(R
RAW,G
RAW,B
RAW)と、カラーチェッカーの各色票の三刺激値(XYZ)から得られたxy色度とをプロットしたものである。すなわち、散布
図15aは、カメラの色再現性を示す色度図である。散布
図15aの横軸は刺激値xを示し、縦軸は刺激値yを示す。
【0186】
撮像された生データ(R
RAW,G
RAW,B
RAW)を散布
図15a上に表示するために、生データ(R
RAW,G
RAW,B
RAW)は、便宜上に三刺激値(XYZ)と見なして計算に用いられる。従って、x値は以下の式(1)で計算され、y値は以下の式(2)で計算される。
x=Rraw/( Rraw+Graw+Braw) …(1)
y=Graw/( Rraw+Graw+Braw) …(2)
【0187】
sRGB色域における色再現性は、色差に表されている。色差が小さいほど色再現性が良くなる。色差の具体的な算出方法としては、特に限定されないが、公知の色差式を用いた方法が挙げられる。この色差式としては、例えば、CIE76色差式(ΔE76)、CIE94色差式(ΔE94)、CMC色差式(ΔEcmc)、またはCIEDE2000色差式(ΔE00)等が挙げられる。
【0188】
例えば、CIEDE2000色差式を用いて、sRGB画像(全体)の色域15bの色差(ΔE00)が14.3であり、第1小領域の色域15cの色差(ΔE00)が0.67であり、第2小領域の色域15dの色差(ΔE00)が0.29である。第2小領域の色域15dは、第1小領域の色域15cより小さい色域である。
【0189】
図20に示されているように、小領域色域における色再現性は、sRGB画像色域全体における色再現性より向上している。コンピュータ1は、海苔積層体91の表面画像の色域を複数の小領域色域に分割する。コンピュータ1は、分割した小領域色域毎に色変換処理を行う。コンピュータ1は、色変換処理を行った各小領域色域に対応する画像を変換後の表面画像に連結する。これによって、海苔積層体91の表面画像の色域における色再現性を向上することができる。
【0190】
図21は、色変換処理を行う際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、撮像装置3から海苔積層体91の表面画像の生データ(RGB RAW)を通信部13により取得する(ステップS181)。制御部11は、取得した表面画像に対してホワイトバランス補正を行う(ステップS182)。制御部11は、ホワイトバランス補正後の表面画像の色域を複数の小領域色域に分割する(ステップS183)。
【0191】
制御部11は、分割した複数の小領域色域のうち、1つの小領域色域を取得する(ステップS184)。制御部11は、取得した小領域色域に対して色変換処理を行う(ステップS185)。具体的には、制御部11は、一般縮小勾配法を用いた数理モデルの最適化方法を利用し、取得した小領域色域における変換式14aのマトリクス14eに含まれる各要素(m11,m12,m13,m21,m22,m23,m31,m32,m33)を求める。制御部11は、マトリクス14eに含まれる各要素を求めることにより、当該小領域色域に対応する変換式14aを特定する。制御部11は、生データ(RRAW,GRAW,BRAW)を、特定した変換式14aで変換することにより、色変換後の小領域色域の画像データ(X,Y,Z)を得る。
【0192】
制御部11は、色変換後の小領域色域に対応する画像を記憶部12または大容量記憶部17に一時的に記憶する(ステップS186)。制御部11は、複数の小領域色域のうち、当該小領域色域が最後の小領域色域であるか否かを判定する(ステップS187)。制御部11は、当該小領域色域が最後の小領域色域でない場合(ステップS187でNO)、ステップS184の処理に戻る。
【0193】
制御部11は、当該小領域色域が最後の小領域色域である場合(ステップS187でYES)、色変換後の各小領域色域に対応する画像を色変換後の表面画像に連結する(ステップS188)。制御部11は、連結した色変換後の表面画像を等級出力モデル(等級出力モデル171、秋芽用等級出力モデル174または冷凍用等級出力モデル175)に入力する(ステップS189)。制御部11は、処理を終了する。
【0194】
本実施形態によると、海苔積層体91の表面画像に対して色変換処理を行うことにより、当該表面画像の色域における色再現性を向上することが可能となる。
【0195】
本実施形態によると、色変換処理を行った表面画像に基づき、等級出力モデル171、秋芽用等級出力モデル174または冷凍用等級出力モデル175等の深層学習モデルを用いて、海苔積層体91の等級の判定精度を向上することが可能となる。
【0196】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0197】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【符号の説明】
【0198】
1 情報処理装置(コンピュータ)
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
16 読取部
17 大容量記憶部
171 等級出力モデル(深層学習モデル)
172 等級情報DB
173 訓練データDB
174 秋芽用等級出力モデル(秋芽学習モデル)
175 冷凍用等級出力モデル(冷凍学習モデル)
176 学習モデル管理DB
18 撮像部
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
2 搬送装置
3 撮像装置
4 コード読取装置
5 近接センサ
20 搬送コンベア
91 海苔積層体
92 帯
93 コード
【要約】
【課題】海苔の等級評価が容易となる深層学習モデルの生成方法等を提供すること。
【解決手段】一つの側面に係る深層学習モデルの生成方法は、複数の海苔が積層された海苔積層体の表面画像、及び、該海苔積層体の等級を含む訓練データを取得し、取得した訓練データに基づき、複数の海苔が積層された海苔積層体の表面画像を入力した場合に、前記海苔積層体の等級を出力する深層学習モデルを生成する処理を実行させることを特徴とする。
【選択図】
図3