(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023064548
(43)【公開日】2023-05-11
(54)【発明の名称】判定システム、情報処理装置、方法、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230501BHJP
G01N 21/88 20060101ALI20230501BHJP
H04N 7/18 20060101ALI20230501BHJP
【FI】
G06T7/00 350C
G01N21/88 Z
H04N7/18 D
H04N7/18 K
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021174891
(22)【出願日】2021-10-26
(71)【出願人】
【識別番号】313006647
【氏名又は名称】セイコーソリューションズ株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(72)【発明者】
【氏名】楢畑 豊
(72)【発明者】
【氏名】土屋 一典
(72)【発明者】
【氏名】高山 謙一
【テーマコード(参考)】
2G051
5C054
5L096
【Fターム(参考)】
2G051AA33
2G051CA04
2G051EA12
2G051EA14
2G051EB05
2G051ED11
5C054CA04
5C054CC02
5C054DA09
5C054FE14
5C054FE28
5C054HA19
5L096BA03
5L096BA18
5L096DA02
5L096FA52
5L096FA69
5L096HA08
5L096HA11
5L096KA04
5L096KA09
5L096KA15
(57)【要約】
【課題】調理品の判定における信頼性を向上させることができる判定システム、情報処理装置、方法、及びプログラムを提供する。
【解決手段】本開示に係る判定システムは、撮影された画像に含まれる調理品を構成する要素の種類を、前記要素ごとに推定する推定部と、調理品の種類と当該調理品を構成する要素との対応関係を示す第1情報と、前記推定部が推定した前記要素の種類とに基づいて、前記調理品の種類を判定する判定部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮影された画像に含まれる調理品を構成する要素の種類を、前記要素ごとに推定する推定部と、
調理品の種類と当該調理品を構成する要素との対応関係を示す第1情報と、前記推定部が推定した前記要素の種類とに基づいて、前記調理品の種類を判定する判定部と、
を備える、判定システム。
【請求項2】
前記判定部は、調理品を構成する要素のうち、当該調理品を特徴づける特定の要素である特定要素に基づいて、前記調理品の種類を判定する、
請求項1に記載の判定システム。
【請求項3】
前記判定部は、前記第1情報と、前記判定部が判定した前記調理品の種類とに基づいて、前記画像に含まれる調理品の構成に異常があるか否かを判定する、
請求項1又は2に記載の判定システム。
【請求項4】
前記異常は、前記画像に含まれる調理品を構成する要素の種類の過不足を含む、
請求項3に記載の判定システム。
【請求項5】
前記第1情報は、所定の調理品に含まれる所定の要素について、当該調理品に含まれる当該要素の数の情報を含み、
前記異常は、前記画像に含まれる調理品を構成する要素の種類及び数の過不足を含む、
請求項3又は4に記載の判定システム。
【請求項6】
前記第1情報は、所定の調理品に含まれる所定の要素について、当該調理品における当該要素の配置の情報を含み、
前記異常は、前記画像に含まれる調理品を構成する要素の配置の異常を含む、
請求項3~5のいずれか一項に記載の判定システム。
【請求項7】
前記判定部が前記画像に含まれる調理品の構成に異常がないと判定した場合に、前記判定部が判定した前記調理品の種類に対応するラベルを印刷するラベルプリンタをさらに備える、
請求項3~6のいずれか一項に記載の判定システム。
【請求項8】
前記第1情報は、第1期間において参照される通常期間情報に含まれる調理品の要素の組合せとは異なる要素の組合せを含む特定期間情報であって、前記第1期間とは異なる第2期間において参照される特定期間情報を含む、
請求項1~7のいずれか一項に記載の判定システム。
【請求項9】
前記推定部は、前記画像に複数の調理品が含まれる場合において、個々の調理品を互いに識別し、識別された前記複数の調理品の各々について、調理品を構成する要素の種類を要素ごとに推定する、
請求項1~8のいずれか一項に記載の判定システム。
【請求項10】
前記画像には、調理品の種類を示す識別コードが含まれ、
前記判定部は、調理品の種類と当該調理品の識別コードとの対応関係を示す第2情報と、前記判定部が判定した前記調理品の種類とに基づいて、前記判定部が判定した前記調理品の種類が、前記画像に含まれる前記識別コードに対応する調理品の種類と一致するか否かを判定する、
請求項1~9のいずれか一項に記載の判定システム。
【請求項11】
前記推定部は、調理品の画像と当該画像に含まれる前記調理品を構成する要素の種類との関係を学習した学習済みモデルを使用して、調理品を構成する要素の種類を要素ごとに推定する、
請求項1~10のいずれか一項に記載の判定システム。
【請求項12】
調理品が撮影された画像を取得する取得部と、
取得された前記画像に含まれる前記調理品を構成する要素の種類を、要素ごとに推定する推定部と、
前記推定部による推定結果を、前記調理品における前記要素の配置に関する情報とともに出力する出力部と、
を備える、情報処理装置。
【請求項13】
コンピュータのプロセッサが、撮影された画像に含まれる調理品の種類を判定する方法であって、
前記プロセッサが、
前記画像に含まれる調理品を構成する要素の種類を、要素ごとに推定することと、
調理品の種類と調理品を構成する要素との対応関係を示す第1情報と、前記推定した要素の種類とに基づいて、前記調理品の種類を判定することと、
を実行する、方法。
【請求項14】
コンピュータのプロセッサが、撮影された画像に含まれる調理品の種類を判定するためのプログラムであって、
前記プロセッサに、
前記画像に含まれる調理品を構成する要素の種類を、要素ごとに推定することと、
調理品の種類と調理品を構成する要素との対応関係を示す第1情報と、前記推定した要素の種類とに基づいて、前記調理品の種類を判定することと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、判定システム、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【0002】
機械学習技術の発展に伴い、食品の画像認識により当該食品の良否を判定する技術が開発されている。例えば、特許文献1には、画像に含まれる食品などの検査対象を認識し、当該検査対象を良品又は非良品に分類する転移学習モデルを生成する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、複数のおかずを含む弁当などの調理品の画像から直接的に当該調理品の種類を判定する場合には、おかずの種類が同一であっても配置が異なっていると、調理品の種類を正確に判定することは容易ではない。
【0005】
本発明が解決しようとする課題は、調理品の判定における信頼性を向上させることができる判定システム、情報処理装置、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、撮影された画像に含まれる調理品を構成する要素の種類を、要素ごとに推定する推定部と、調理品の種類と調理品を構成する要素との対応関係を示す第1情報と、推定部が推定した要素の種類とに基づいて、調理品の種類を判定する判定部と、を備える判定システムが提供される。
【0007】
上記態様に係る判定システムにおいて、判定部は、調理品を構成する要素のうち、調理品を特徴づける特定の要素である特定要素に基づいて、調理品の種類を判定し得る。
【0008】
上記態様に係る判定システムにおいて、判定部は、第1情報と、判定部が判定した調理品の種類とに基づいて、画像に含まれる調理品の構成に異常があるか否かを判定し得る。
【0009】
上記態様に係る判定システムにおいて、異常は、画像に含まれる調理品を構成する要素の種類の過不足を含み得る。
【0010】
上記態様に係る判定システムにおいて、第1情報は、所定の調理品に含まれる所定の要素について、調理品に含まれる要素の数の情報を含み得、異常は、画像に含まれる調理品を構成する要素の種類及び数の過不足を含み得る。
【0011】
上記態様に係る判定システムにおいて、第1情報は、所定の調理品に含まれる所定の要素について、調理品における要素の配置の情報を含み得、異常は、画像に含まれる調理品を構成する要素の配置の異常を含み得る。
【0012】
上記態様に係る判定システムは、判定部が画像に含まれる調理品の構成に異常がないと判定した場合に、判定部が判定した調理品の種類に対応するラベルを印刷するラベルプリンタをさらに備え得る。
【0013】
上記態様に係る判定システムにおいて、第1情報は、第1期間において参照される通常期間情報に含まれる調理品の要素の組合せとは異なる要素の組合せを含む特定期間情報であって、第1期間とは異なる第2期間において参照される特定期間情報を含み得る。
【0014】
上記態様に係る判定システムにおいて、推定部は、画像に複数の調理品が含まれる場合において、個々の調理品を互いに識別し得、識別された複数の調理品の各々について、調理品を構成する要素の種類を要素ごとに推定し得る。
【0015】
上記態様に係る判定システムにおいて、画像には、調理品の種類を示す識別コードが含まれ得、判定部は、調理品の種類と調理品の識別コードとの対応関係を示す第2情報と、判定部が判定した調理品の種類とに基づいて、判定部が判定した調理品の種類が、画像に含まれる識別コードに対応する調理品の種類と一致するか否かを判定し得る。
【0016】
上記態様に係る判定システムにおいて、推定部は、調理品の画像と画像に含まれる調理品を構成する要素の種類との関係を学習した学習済みモデルを使用して、調理品を構成する要素の種類を要素ごとに推定し得る。
【0017】
本発明の一態様において、調理品が撮影された画像を取得する取得部と、取得された画像に含まれる調理品を構成する要素の種類を、要素ごとに推定する推定部と、推定部による推定結果を、調理品における要素の配置に関する情報とともに出力する出力部と、を備える情報処理装置が提供される。
【0018】
本発明の一態様において、コンピュータのプロセッサが、撮影された画像に含まれる調理品の種類を判定する方法であって、プロセッサが、画像に含まれる調理品を構成する要素の種類を、要素ごとに推定することと、調理品の種類と調理品を構成する要素との対応関係を示す第1情報と、推定した要素の種類とに基づいて、調理品の種類を判定することと、を実行する方法が提供される。
【0019】
本発明の一態様において、コンピュータのプロセッサが、撮影された画像に含まれる調理品の種類を判定するためのプログラムであって、プロセッサに、画像に含まれる調理品を構成する要素の種類を、要素ごとに推定することと、調理品の種類と調理品を構成する要素との対応関係を示す第1情報と、推定した要素の種類とに基づいて、調理品の種類を判定することと、を実行させるプログラムが提供される。
【発明の効果】
【0020】
本発明によれば、調理品の判定における信頼性を向上させることができる判定システム、情報処理装置、方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0021】
【
図1】第1実施形態に係る判定システムを示す概略図である。
【
図2】第1実施形態に係る判定システムのシステム構成を示すブロック図である。
【
図3】第1実施形態に係る判定システムにおけるデータの流れを示す図である。
【
図4】第1実施形態に係る調理品データベースのデータ構造を示す図である。
【
図5】第1実施形態に係る判定システムによる処理を示すフローチャートである。
【
図6】第1実施形態に係る判定装置による判定方法を示すフローチャートである。
【
図7】第1実施形態の第1変形例に係る判定装置による判定方法を示すフローチャートである。
【
図8】第1実施形態の第2変形例に係る調理品データベースのデータ構造を示す図である。
【
図9】第1実施形態の第3変形例に係る特定要素テーブルのデータ構造を示す図である。
【
図10】第1実施形態の第3変形例に係る判定システムにおけるデータの流れを示す図である。
【
図11】第1実施形態の第3変形例に係る判定システムによる処理を示すフローチャートである。
【
図12】第1実施形態の第4変形例に係る調理品データベースのデータ構造を示す図である。
【
図13】第1実施形態の第5変形例に係る店舗端末の画面例を示す図である。
【
図14】第1実施形態の第6変形例に係る店舗端末の画面例を示す図である。
【
図15】第2実施形態に係る判定システムを示す概略図である。
【
図16】第2実施形態に係る判定システムによる処理を示すフローチャートである。
【
図17】第2実施形態に係る判定システムにおけるデータの流れを示す図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態に係る判定システム、情報処理装置、方法、及びプログラムについて、図面を参照して説明する。
【0023】
<概要>
以下で説明する一実施形態によれば、弁当や総菜などの調理品について、当該調理品を構成する要素(例えば、おかず、調味料、シール(ステッカー)など)を要素ごとに推定することにより、当該調理品の種類を高い信頼性で判定することができる。また、一実施形態によれば、調理品の要素に過不足がないか、配置の誤りがないか、適切な識別コードが表示されたラベルが付されているか、といった判定も可能である。これにより、調理品の製造や梱包を行う施設において、従業員が調理品の内容や貼付されたラベルをチェックする負担を軽減するとともに、確認漏れによる品質低下や企業のブランドイメージの低下を低減することができる。
【0024】
<第1実施形態>
図1~
図6を参照して、第1実施形態に係る判定システム1について説明する。
図1は、第1実施形態に係る判定システム1を示す概略図である。
図2は、第1実施形態に係る判定システム1のシステム構成を示すブロック図である。
図3は、第1実施形態に係る判定システム1におけるデータの流れを示す図である。
【0025】
図1に示すように、本実施形態に係る判定システム1は、カメラ100、判定装置200(「情報処理装置」の一例)、店舗端末300、ラベルプリンタ400、本部端末500、及びサーバ600を含む。カメラ100、判定装置200、店舗端末300、ラベルプリンタ400、本部端末500、及びサーバ600は、ネットワークNを介して互いに接続される。ネットワークNは、インターネット、イントラネット、有線LAN(Local Area Network)、無線LANなど、1以上の通信ネットワークを含む。なお、必ずしも全装置がネットワークNを介して互いに接続されなくてもよい。例えば、ラベルプリンタ400は店舗端末300のみに接続されてもよく、サーバ600は判定装置200のみに接続されてもよい。
【0026】
カメラ100、店舗端末300、及びラベルプリンタ400は、例えば、調理品Pの製造、包装、販売などを行う各店舗に設置される。設置場所の例としては、例えばスーパーマーケットや弁当屋のバックヤード、調理品製造工場などが挙げられる。判定装置200は、例えば、特定の拠点に設置されてネットワークNを介して各店舗のカメラ100及び店舗端末300に接続される。サーバ600は、例えば、特定の拠点に設置されて、ネットワークNを介して判定装置200に接続される。なお、各装置の設置場所は上記例に限定されず、例えば、判定装置200が各店舗に設置されてもよい。
【0027】
調理品Pは、弁当や総菜のような調理済みの食用品である。例えば、調理品Pは、容器及び当該容器に入った食品を含む商品である。調理品Pは、各店舗において、例えばトレイT上に配置されている。調理品Pは、1以上の要素Cを含む。要素Cは、食品に限られず、非食品であってもよい。例えば、調理品Pを構成する要素Cとしては、肉、魚、野菜、米などの食品;醤油、タレなどの(例えば容器に入った)調味料;調理品Pの容器(例えば容器の蓋)に貼付されたシール(例えば、商品を識別する識別コードが印刷された識別シール、特定時期に限って貼付される販促シール)などが挙げられる。
【0028】
[カメラ100の構成]
カメラ100は、トレイT上に配置された調理品Pを撮影する。具体的には、
図2に示すように、カメラ100は、対象物を撮影して画像データに変換する撮影部102と、入出力を行う入出力インタフェース104と、他の機器との通信を行う通信インタフェース106と、を含む。カメラ100は、取得した画像データを、ネットワークNを介して判定装置200に送信する。なお、判定装置200がカメラ100に組み込まれて一体に構成されてもよい。カメラ100は、
図1に示すように複数の調理品Pをまとめて撮影してもよく(例えば、調理品Pが載置されたトレイT全体を撮影してもよく)、調理品Pごとに撮影してもよい。
【0029】
[判定装置200の構成]
判定装置200は、カメラ100から取得した画像に含まれる調理品Pの要素Cの種類を推定するとともに、推定結果から調理品Pの種類を判定する。
図2を参照して判定装置200の具体的な構成について説明する。判定装置200は、取得部202、処理部204、記憶部206、及び出力部208を、その機能部として含む。
【0030】
取得部202は、入出力インタフェースを含んで構成され、判定装置200に入力された情報を取得する。例えば、
図3に示すように、判定装置200には、カメラ100から調理品Pの画像データが、サーバ600から学習済みモデル216のデータが、それぞれ供給される。
取得部202は、ネットワークNを介してカメラ100から供給される調理品Pの画像データを取得する。また、取得部202は、サーバ600から供給される学習済みモデル216のデータを取得する。
【0031】
処理部204は、取得部202が取得した情報に対して所定の演算処理を行う。具体的には、処理部204は、推定部210、判定部212、及びラベル情報生成部214を含む。
【0032】
推定部210は、取得部202が取得した調理品Pの画像について、当該画像に含まれる調理品Pを構成する要素Cの種類を、要素Cごとに推定する。例えば、推定部210は、
図3に示すように、調理品Pの画像と当該画像に含まれる調理品Pを構成する要素Cの種類との関係を学習した学習済みモデル216を使用して、取得された画像に含まれる調理品Pを構成する要素Cの種類を推定する。推定部210は、入力された画像から直接的に要素Cの種類を推定してもよく、入力された画像に任意の処理を施した後、処理された画像に基づいて要素Cの種類を推定してもよい。例えば、推定部210は、入力された画像のコントラスト調整、平滑化、ノイズ除去、要素Cごとの輪郭抽出などの前処理を行った後、要素Cの種類を推定してもよい。推定部210は、要素Cの推定結果を判定部212に出力する。
【0033】
判定部212は、推定部210が推定した要素Cの種類に基づいて、これらの要素Cを含む調理品Pの種類を判定する。例えば、調理品Pが弁当であり、推定部210が推定した要素Cの種類が「焼き鮭」である場合、判定部212は、調理品Pの種類を「鮭弁当」であると判定する。一例として、判定部212は、
図3に示すように、調理品Pの種類と当該調理品Pを構成する要素Cとの対応関係を示す調理品データベース218を参照して、調理品Pの種類を判定する。以下、判定部212のより具体的な構成について説明する。
【0034】
図4は、第1実施形態に係る調理品データベース218のデータ構造を示す図である。調理品データベース218は、「調理品」、「要素」、「価格」、「消費期限」、「摂取カロリー」、「栄養素」、「原材料」、及び「識別コード」の項目を含み、「要素」の項目は「食品」及び「その他」の小項目を含む。「調理品」の列には、調理品Pの種類の名称が記載されている。「要素」の「食品」の列には、調理品Pに含まれる要素Cのうち食品に該当するものの一覧が記載されている。「要素」の「その他」の列には、調理品Pに含まれる要素Cのうち食品に該当しないものの一覧が記載されている。「価格」の列には、調理品Pの販売価格が記載されている。「消費期限」の列には、調理品Pの完成時点からの消費期限が記載されている。「摂取カロリー」の列には、調理品Pの摂取カロリーの量が記載されている。「栄養素」の列には、調理品Pにより接種可能な栄養素が記載されている。「原材料」の列には、調理品Pの原材料が記載されている。「識別コード」の列には、調理品Pの種類を示す識別コードI(例えば、1次元バーコード又は2次元バーコード)の情報が記載されている。識別コードIは、例えば、調理品Pの蓋に貼付されるラベルLに印刷されてレジで読み取られるためのコードである。なお、調理品データベース218は単一のテーブルでなくてもよく、2以上のデータ構造に分かれていてもよい。調理品データベース218における「調理品」と「要素」との対応関係についての情報は「第1情報」の一例であり、「調理品」と「識別コード」との対応関係についての情報は「第2情報」の一例である。
【0035】
判定部212は、調理品データベース218の「要素」の列に列挙された要素Cの中から、推定部210が推定した要素Cと種類が一致する要素Cを検索することにより、調理品Pの種類を判定する。例えば、推定された要素Cが、鮭、玉子焼き、……である場合、判定部212は、鮭について、調理品データベース218の「要素」の列に列挙された要素Cごとに一致を判定し、次に玉子焼きについて、「要素」の列に列挙された要素Cごとに一致を判定する。このようにして、判定部212は、調理品データベース218の「要素」の列において、推定部210が推定した要素Cの種類の組合せと完全に一致する行があるか否かを判定することができる。判定部212は、完全一致の行があると判定した場合には、画像に含まれる調理品Pが当該完全一致の行における調理品Pであると判定する。一方、判定部212は、完全一致の行がないと判定した場合には、画像に含まれる調理品Pに対応する調理品Pは存在しないと判定する。
【0036】
ラベル情報生成部214は、判定部212が調理品Pの種類を判定した場合に、調理品データベース218に基づいて、当該調理品PのラベルLに印刷すべき情報(例えば、調理品Pの名称、価格、消費期限、摂取カロリー、栄養素、原材料、識別コードIなど)を含むラベル情報を生成する。
【0037】
記憶部206は、学習済みモデル216、調理品データベース218、プログラム220などを記憶する。プログラム220は、判定装置200のプロセッサに所定の命令を実行させる。なお、学習済みモデル216、調理品データベース218、及びプログラム220は、必ずしも記憶部206に記憶されていなくてもよく、外部サーバなど別の装置に記憶されてもよい。例えば、調理品データベース218の一部又は全部の情報が記憶部206ではなく別の記憶装置に記憶されてもよい。
【0038】
出力部208は、入出力インタフェースを含んで構成され、処理部204における演算処理の結果(例えば、調理品Pの判定結果、調理品Pのラベル情報、調理品Pの要素Cの推定結果など)を出力する。例えば、
図3に示すように、出力部208は、判定部212による判定結果を、ネットワークNを介して店舗端末300に出力する。
【0039】
[店舗端末300の構成]
店舗端末300は、各店舗に設置されて、判定装置200からの出力結果を店舗の従業員などに報知する。例えば、店舗端末300は、タブレット端末、スマートフォン、パーソナルコンピュータ、可動式又は据え置き型の表示装置などであってよい。具体的には、
図2に示すように、店舗端末300は、取得部302、処理部304、記憶部306、及び出力部308を、その機能部として含む。
【0040】
取得部302は、入出力インタフェースを含んで構成され、店舗端末300に入力された情報を取得する。例えば、取得部302は、ネットワークNを介して判定装置200から判定部212の判定結果及びラベル情報を取得する。
【0041】
処理部304は、取得部302が取得した入力情報に対して所定の演算処理を行う。例えば、処理部304は、判定装置200から取得した判定結果を、ユーザに提示するのに適した形式に適宜変換することができる。また、処理部304は、判定装置200から取得したラベル情報に基づいて、ラベルプリンタ400にラベルLを印刷させるための印刷指示を生成することができる。なお、ラベル情報は、判定装置200以外の装置により生成されてもよい。例えば、店舗端末300が、判定装置200の判定結果に基づいてラベル情報及び印刷指示を生成してもよい。
【0042】
記憶部306は、店舗端末300のプロセッサに所定の命令を実行させるプログラムなどを記憶する。
【0043】
出力部308は、入出力インタフェースを含んで構成され、処理部304における演算処理の結果などを出力する。具体的には、出力部308は、出力をユーザに対して表示する表示部310を含む。表示部310は、任意のディスプレイであってよい。なお、出力部308は、音声や振動など視覚的表示以外の方法によって、判定装置200の判定結果をユーザに報知してもよい。また、出力部308は、印刷指示をラベルプリンタ400に出力する。出力部308は、取得部302が印刷指示を取得したことに応答して、当該印刷指示を自動的にラベルプリンタ400に送信してもよく、ユーザの送信指示を受け付けてから当該印刷指示をプリンタ400に送信してもよい。出力部308が印刷指示を自動的にラベルプリンタ400に送信することは、ユーザの負担を軽減する点で好ましい。
【0044】
なお、判定部212による判定結果が誤っていた場合などには、
図3に示すように、店舗端末300の取得部302は、店舗の従業員などから入力されたフィードバック情報を取得することができる。例えば、取得部302は、判定結果が誤っていたこと及び正しい調理品Pの種類について、店舗側から入力された情報を取得することができる。店舗端末300の処理部304又は店舗端末300からフィードバック情報を取得した判定装置200の処理部204は、取得されたフィードバック情報に基づいて、学習済みモデル216の追加学習を行うための学習用データセットを含む追加学習情報を生成する。生成された追加学習情報は、店舗端末300の出力部308又は判定装置200の出力部208により、サーバ600に出力される。なお、追加学習情報は、判定装置200及び店舗端末300の両方からサーバ600に出力されてもよい。
【0045】
[ラベルプリンタ400の構成]
ラベルプリンタ400は、ラベル情報を含む印刷指示を店舗端末300から受け付けたことに応答して、ラベルLを印刷する。ラベルLは、例えば、店舗の従業員によって調理品Pの蓋などに貼付される。なお、ラベルプリンタ400は、判定装置200からラベル情報や印刷指示を直接受け付けてもよい。
【0046】
[本部端末500の構成]
本部端末500は、各店舗で販売される調理品Pのマスタデータを保有する端末である。本部端末500は、例えば、各店舗を統括する事業本部などに設置される。本部端末500は、機能部として取得部、処理部、記憶部、及び出力部を含む。
図3に示すように、本部端末500は、調理品Pのマスタデータが更新された場合に、更新された調理品Pの情報を判定装置200、サーバ600などに出力する。例えば、本部端末500は、調理品データベース218を更新して、更新された調理品データベース218を判定装置200に出力する。また、本部端末500は、新商品である調理品Pの画像と当該調理品Pを構成する要素Cの種類との組合せを示す学習用データセットをサーバ600に出力する。
【0047】
[サーバ600の構成]
サーバ600は、推定部210において使用される学習済みモデル216の生成及び更新を行う。具体的には、
図2に示すように、サーバ600は、取得部602、処理部604、記憶部606、及び出力部608を、その機能部として含む。
【0048】
取得部602は、入出力インタフェースを含んで構成され、サーバ600に入力された情報を取得する。例えば、
図3に示すように、取得部602は、本部端末500から供給された商品情報(例えば、既存商品又は新商品の学習用データセット、既存商品の内容変更又は廃止の情報など)を取得する。また、取得部602は、判定装置200または店舗端末300から供給された追加学習情報を取得する。
【0049】
処理部604は、取得部602が取得した入力情報に対して所定の演算処理を行う。具体的には、処理部604は、機械学習を行う学習部610を含む。学習部610は、調理品Pの画像と当該調理品Pを構成する要素Cの種類との組合せを示す大量の学習用データセットを使用して、調理品Pの画像と当該調理品Pを構成する要素Cの種類との関係を学習した学習済みモデル216を生成することができる。使用するアルゴリズムとしては、ニューラルネットワーク、ディープラーニング(例えば、畳み込みニューラルネットワーク)、サポートベクターマシン(SVM)など、既知の任意のモデルが使用可能である。なお、学習方法は学習用データセットを用いた教師あり学習に限定されず、教師なし学習、強化学習など任意の手法を使用することができる。
【0050】
また、学習部610は、本部端末500から供給された新商品の学習用データセット、判定装置200または店舗端末300から供給された追加学習情報などに基づいて、生成した学習済みモデル216に追加の学習を行うことにより、学習済みモデル216を更新することができる。これにより、学習部610は、更新された学習済みモデル216を生成することができる。
【0051】
記憶部606は、サーバ600のプロセッサに所定の命令を実行させるプログラム、学習モデル、学習用データセットなどを記憶する。
【0052】
出力部608は、入出力インタフェースを含んで構成され、処理部604における演算処理の結果などを出力する。例えば、出力部608は、更新された学習済みモデル216を判定装置200に出力する。
【0053】
[判定方法のフロー]
次いで、
図5及び
図6を参照して、判定システム1の処理の流れを説明する。
図5は、第1実施形態に係る判定システム1による処理を示すフローチャートである。
図6は、第1実施形態に係る判定装置200による判定方法を示すフローチャートである。
【0054】
図5に示すように、ステップS0501では、カメラ100が、調理品Pの画像を取得する。ステップS0502では、カメラ100が、画像データを判定装置200に送信する。ステップS0503では、判定装置200の推定部210が、例えば学習済みモデル216を使用して、調理品Pの画像から、当該調理品Pを構成する要素Cの種類を要素Cごとに推定する。ステップS0504では、判定装置200の判定部212が、調理品データベース218と推定部210により推定された要素Cの種類とに基づいて、画像に含まれる調理品Pの種類を判定する。判定部212が特定の調理品Pを示す判定結果を出力した場合には、ステップS0505で、判定装置200のラベル情報生成部214が、判定部212により判定された調理品Pに対応するラベル情報を生成する。ステップS0506では、判定装置200の出力部208が、判定部212による判定結果及びラベル情報生成部214により生成されたラベル情報を、店舗端末300に送信する。ステップS0507では、店舗端末300の表示部310が、判定装置200から取得した判定結果をユーザに対して表示する。ステップS0508では、店舗端末300の出力部308が、判定装置200から取得したラベル情報に基づく印刷指示をラベルプリンタ400に送信する。ステップS0509では、ラベルプリンタ400が、店舗端末300から取得した印刷指示に基づいて、識別コードIを含むラベル情報が記載されたラベルLを印刷する。
【0055】
図6を参照して、ステップS0505の前の分岐処理について、より詳細に説明する。
図6に示すように、判定装置200は、ステップS0601において、カメラ100から調理品Pの画像を取得する。ステップS0602では、推定部210が、画像に含まれる調理品Pを構成する要素Cの種類を推定する。ステップS0603では、判定部212が、推定部210により推定された要素Cの組合せが調理品データベース218の「要素」の列に存在するか否かを判定する。判定部212が、推定された要素Cの組合せが調理品データベース218に存在すると判定した場合には(ステップS0603:Yes)、判定部212は、ステップS0604において、調理品データベース218において推定された要素Cの組合せに対応する調理品Pが、画像に含まれる調理品Pであると判定する。ステップS0605では、ラベル情報生成部214が、判定部212により判定された調理品Pに対応するラベル情報を生成する。その後、ステップS0606において、出力部208が、判定結果及びラベル情報を店舗端末300に送信する。
【0056】
一方、判定部212が、推定された要素Cの組合せが調理品データベース218に存在しないと判定した場合には(ステップS0603:No)、判定部212は、ステップS0606において、画像に含まれる調理品Pに対応する調理品Pは存在しないと判定する。その後、ステップS0606において、出力部208が、判定結果を店舗端末300に送信する。この場合、ラベル情報生成部214は、具体的な調理品Pに対応するラベル情報を生成せず、その結果としてラベルプリンタ400によるラベルLの印刷も行われない。
【0057】
このようにして、判定装置200は、撮影された調理品Pが調理品データベース218に存在するか否かを判定することができる。これにより、判定装置200は、画像に含まれる調理品Pの構成に異常があるか否かを判定する。すなわち、判定装置200は、撮影された調理品Pが調理品データベース218に存在すると判定した場合には、当該調理品Pの構成に異常がないと判定し、撮影された調理品Pが調理品データベース218に存在しないと判定した場合には、当該調理品Pの構成に異常があると判定することができる。ここで、本明細書において、「調理品の構成」は、調理品Pに含まれる要素Cの組合せ(例えば、要素Cの種類や数)及び調理品Pにおける要素Cの配置(例えば、要素C同士の位置関係や要素Cの向き)を含む。本実施形態では、調理品データベース218が調理品Pと要素Cの種類との対応関係についての情報を含むので、判定装置200は、調理品データベース218を参照して、撮影された調理品Pを構成する要素Cの種類に異常があるか否かを判定することができる。なお、「調理品の構成の異常」としては、要素Cの種類の過不足だけでなく、要素Cの数の過不足、要素Cの配置の誤りなども挙げられる。
【0058】
本実施形態によれば、判定装置200は、画像に含まれる調理品Pの要素Cを要素Cごとに推定し、調理品データベース218によって推定された要素Cの組合せに対応する調理品Pの種類を特定する。ここで、要素Cごとの推定を行わずに調理品Pの全体画像から調理品Pの種類を判定する場合には、要素Cの種類は同一だが配置が異なる2つの調理品Pの画像が与えられたときに、これらを同一の調理品Pであると判定することは容易ではない。また、機械学習によって要素Cの配置に依存せずに調理品Pを判定できるようにするためには、大量の学習が必要となる。これに対し、判定装置200は、要素Cの種類を要素Cごとに推定するので、要素Cの配置にかかわらず調理品Pの種類を判定することが容易である。したがって、本実施形態によれば、調理品Pの全体画像から調理品Pの種類を直接判定する場合と比較して、調理品Pの判定における信頼性が向上する。また、判定装置200の学習負荷を軽減することができる。
【0059】
また、例えば、検査対象の画像が入力されたことに応答して当該検査対象の良否の判定結果を出力する学習モデルを使用した場合には、良否の結果のみが出力されるので、非良品と判定された検査対象が具体的にどのような問題を有するのかを特定することは容易ではない。これに対し、本実施形態では、撮影された調理品Pの内容が要素Cごとに推定されるので、調理品Pに要素Cの過不足がある場合において、不良の原因である要素Cの特定が容易である。
【0060】
<第1実施形態:第1変形例>
次いで、
図7を参照して、第1実施形態の第1変形例について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0061】
上記実施形態では、判定部212は、調理品データベース218の「要素」の列において、推定部210が推定した要素Cの組合せ(以下、「推定結果」という。)と完全に一致する行がないと判定した場合には、画像に含まれる調理品Pに対応する調理品Pは存在しないと判定する。これに対し、本変形例では、判定部212は、推定結果と完全に一致する行がない場合に、調理品データベース218の「要素」の列において、推定結果に最も近いものに対応する調理品Pが、画像に含まれる調理品Pであると推測する。
【0062】
図7は、第1実施形態の第1変形例に係る判定装置200による判定方法を示すフローチャートである。
図7に示すように、ステップS0701~S0706は、判定部212が、推定結果が調理品データベース218に存在すると判定した場合(ステップS0703:Yes)のフローに相当し、第1実施形態における
図6のステップS0601~S0606と同様である。
【0063】
一方、判定部212が、推定結果が調理品データベース218に存在しないと判定した場合には(ステップS0703:No)、ステップS0707において、判定部212は、調理品データベース218における要素Cの組合せのうち推定結果に最も近いものに対応する調理品Pの種類を「撮影された調理品Pに最も類似する調理品P」(以下、「最類似調理品」という。)として出力する。例えば、判定部212は、調理品データベース218に記載された要素Cの各組合せを推定結果と比較して、推定結果と一致する要素Cの数が最も多かった調理品Pを、推定結果に最も近い調理品Pとする。あるいは、判定部212は、推定結果と一致しない要素Cの数が最も少なかった調理品Pを、推定結果に最も近い調理品Pとしてもよい。判定部212は、推定結果に最も近い調理品Pを決定するにあたり、要素Cの種類や大きさなどに応じて適宜重みづけを行ってもよい。
【0064】
次いで、ステップS0708において、判定部212は、判定結果として出力した最類似調理品(すなわち、推定結果に最も近い調理品P)を構成する要素Cとして調理品データベース218に記載された要素Cの組合せと、推定部210により推定された各要素Cの組合せとを比較して、その相違点を出力する。例えば、判定部212は、調理品データベース218において最類似調理品に対応する要素Cのうち、画像からは推定されなかった要素Cが存在する場合には、撮影された調理品Pに当該要素Cが不足していると判定する。また、判定部212は、調理品データベース218において最類似調理品に対応する要素C以外に、別の要素Cが画像から推定された場合には、撮影された調理品Pに当該要素Cが余分に含まれていると判定する。このようにして、判定部212は、撮影された調理品Pと、判定部212により出力された最類似調理品との相違点を出力することができる。
【0065】
その後、ステップS0706において、出力部208が、判定結果を店舗端末300に送信する。例えば、判定結果は、撮影された調理品Pと完全に一致する調理品Pは存在しないこと、最類似調理品の種類、及び撮影された調理品Pと最類似調理品との相違点を含む。
【0066】
本変形例によれば、要素Cが推定結果と完全に一致する調理品Pが存在しない場合でも、最も類似する調理品Pをユーザに示すとともに、調理品データベース218に含まれる調理品Pとの相違点を抽出することができる。これにより、ユーザによる調理品Pの確認が容易になるので、ユーザの利便性が向上する。
【0067】
<第1実施形態:第2変形例>
次いで、
図8を参照して、第1実施形態の第2変形例について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0068】
上記実施形態では、判定装置200が参照する調理品データベース218には、調理品Pと調理品Pの要素Cとの対応関係について単一の情報が含まれる例を説明した。これに対し、本変形例では、調理品データベース218は、調理品Pと調理品Pの要素Cとの対応関係について2以上の情報を含む。判定装置200は、時期などの条件に応じて、どの情報を参照するかを変更することができる。すなわち、判定装置200は、第1条件が満たされる場合には第1条件に対応する情報Aを参照し、第1条件と異なる第2条件が満たされる場合には第2条件に対応する情報Bを参照することができる。ここで、情報Bは情報Aとは異なる情報である。
【0069】
図8に示すように、本変形例に係る調理品データベース218は、調理品Pと調理品Pの要素Cとの対応関係として、時期に応じて切り替わる2種類の対応関係を含む。判定装置200は、第1期間(
図8では1月~9月、11月、及び12月)は、第1対応関係218aを参照して判定処理を行い、第2期間(
図8では10月)は、第2対応関係218bを参照して判定処理を行う。例えば、
図8では、第2対応関係218bを第1対応関係218aと比較すると、「厚切り鮭弁当」の要素が「梅干し」から「栗」に変更され、「販促シールA」が要素として追加され、「価格」が550円から500円に変更されている。なお、上記例では、調理品データベース218が第1期間の情報と第2期間の情報とを含むが、期間ごとの情報が別々のデータベースに格納されて、判定装置200が期間に応じて参照するデータベースを変更してもよい。また、調理品データベース218の内容が、本部端末500からの情報などに基づいて、期間に応じて更新されてもよい。
【0070】
本変形例によれば、特定時期だけ調理品Pの内容を変更したり、特定時期だけキャンペーン用に販促シールを貼ったりする場合にも、判定装置200が調理品Pの種類を適切に判定できる。従業員による調理品Pのチェックでは、このような特定時期限定の変更点に留意しながら調理品Pを確認する負担が大きく、確認漏れが生じることもある。これに対し、上記構成によれば、ユーザの負担を軽減するとともに、確認漏れによる調理品Pの品質低下を低減し、ひいては企業の信頼性やブランドイメージを向上させることができる。
【0071】
<第1実施形態:第3変形例>
次いで、
図9~
図11を参照して、第1実施形態の第3変形例に係る判定システム1について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0072】
上記実施形態では、判定装置200は、調理品データベース218における調理品Pと調理品Pの要素Cとの対応関係を参照して、推定部210により推定された要素Cから調理品Pの種類を判定する。これに対し、本変形例では、調理品Pと当該調理品Pを特徴づける特定の要素との対応関係を示す特定要素テーブル222を参照して、推定部210により推定された要素Cから調理品Pの種類を判定する。
【0073】
図9は、第1実施形態の第3変形例に係る特定要素テーブル222のデータ構造を示す図である。
図10は、第1実施形態の第3変形例に係る判定システム1におけるデータの流れを示す図である。
図11は、第1実施形態の第3変形例に係る判定システム1による処理を示すフローチャートである。
【0074】
特定要素テーブル222は、調理品Pと当該調理品Pを特徴づける特定の要素C(以下、「特定要素」という。)との対応関係の情報を含む。
図9に示すように、特定要素テーブル222は、「調理品」及び「特定要素」の項目を含む。「調理品」の列には、調理品Pの種類の名称が記載されている。「特定要素」の列には、調理品Pに含まれる要素Cのうち特定要素が記載されている。特定要素は、調理品Pを構成する要素Cのうちの1以上である。好ましくは、特定要素テーブル222において、調理品Pと特定要素とは一対一に対応し、同一の特定要素に対応する調理品Pは1つしか存在しない。これにより、判定装置200は、特定要素をキーとして、調理品Pの種類を一意に判定することができる。特定要素テーブル222は、判定装置200の記憶部206に記憶され、判定部212によって参照される。なお、特定要素テーブル222は、調理品データベース218の一部に組み込まれてもよく、判定装置200以外の装置に記憶されてもよい。
図10に示すように、特定要素テーブル222は、本部端末500によって適宜更新されてよい。特定要素テーブル222における「調理品」と「特定要素」との対応関係についての情報は、「第1情報」の一例である。
【0075】
図11を参照して、本変形例に係る判定装置200の処理の流れを説明する。
図11に示すように、判定装置200は、ステップS1101において、カメラ100から調理品Pの画像を取得する。ステップS1102では、推定部210が、画像に含まれる調理品Pを構成する要素Cの種類を推定する。ステップS1103では、
図10に示すように、判定部212が、推定された要素Cと特定要素テーブル222とを比較し、特定要素テーブル222の「特定要素」の列の各項目のうち、推定部210により推定された要素Cに対応するものが存在するか否かを判定する。判定部212が、推定された要素Cに対応する特定要素が特定要素テーブル222に存在しないと判定した場合(
図11のステップS1103:No)、ステップS1104において、判定部212は、画像に含まれる調理品Pに対応する調理品Pは存在しないと判定する。この場合には、出力部208が「該当なし」などの判定結果を店舗端末300に送信する。
【0076】
一方、判定部212が、推定された要素Cに対応する特定要素が特定要素テーブル222に存在すると判定した場合には(ステップS1103:No)、ステップS1104において、判定部212は、特定要素テーブル222において当該特定要素に対応する調理品Pが、撮影された調理品Pであると判定する。ステップS1105では、判定部212が、調理品データベース218と推定された要素Cとに基づいて、撮影された調理品Pの要素Cに過不足があるか否かを判定する。すなわち、判定部212は、判定部212が判定した調理品Pの種類と、推定部210が推定した要素Cの組合せとが、調理品データベース218に記載された調理品Pと要素Cとの対応関係を満足するか否かを判定する。例えば、判定部212は、
図10に示すように、調理品データベース218を参照して、判定された調理品Pに含まれるべき要素Cの組合せについての情報(以下、「第1要素情報」という。)を取得する。次いで、判定部212は、実際に撮影された画像から推定部210が推定した要素Cの組合せと第1要素情報とを比較する。これにより、判定部212は、撮影された調理品Pの要素Cの組合せが、調理品データベース218で特定された当該調理品Pの要素Cの組合せ(すなわち、第1要素情報の組合せ)と一致するか否かを判定することができる。判定部212は、撮影された調理品Pの要素Cの組合せが第1要素情報の組合せと一致しない場合には、要素Cを比較することにより、撮影された調理品Pにおいてどの要素Cが不足しているか、及びどの要素Cが余分に含まれているかを判定することができる。
【0077】
判定部212が、判定された調理品Pの要素Cに過不足がないと判定した場合には(
図11のステップS1106:No)、ステップS1107において、ラベル情報生成部214が、判定部212により判定された調理品Pに対応するラベル情報を生成する。その後、ステップS1108において、出力部208が、判定結果及びラベル情報を店舗端末300に送信する。一方、判定された調理品Pの要素Cに過不足があると判定した場合には(ステップS1106:Yes)、ステップS1109において、判定部212が、判定された調理品P及び要素Cの過不足についての情報を判定結果として出力する。例えば、判定部212は、調理品Pの種類と、不足している要素C又は過剰な要素Cの種類とを判定結果として出力する。その後、ステップS1108において、出力部208が、判定結果を店舗端末300に送信する。この場合、ラベル情報生成部214は、具体的な調理品Pに対応するラベル情報を生成せず、その結果としてラベルプリンタ400によるラベルLの印刷も行われない。
【0078】
本変形例によれば、判定装置200は、調理品Pと特定要素とが対応付けられた特定要素テーブル222を参照して、調理品Pの種類を判定する。特定要素テーブル222を使用しない場合には、撮影された調理品Pに要素Cの過不足があると、第1実施形態の第1変形例のように、最も類似の調理品Pを探索する処理が必要になる場合がある。これに対し、上記構成によれば、特定要素をキーとして調理品Pの種類を判定できるので、調理品Pに要素Cの過不足がある場合でも、類似の調理品Pを探索する必要がなく、計算負荷が軽減され得る。また、判定装置200は、調理品Pの種類を判定するだけでなく、不足している要素Cや過剰な要素Cを出力することができる。これにより、店舗の従業員のチェック負担を軽減するとともに、確認漏れによる調理品Pの品質低下を低減することができる。
【0079】
<第1実施形態:第4変形例>
次いで、
図12を参照して、第1実施形態の第4変形例について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0080】
上記実施形態では、判定装置200が調理品Pを構成する要素Cの種類の過不足を判定する例を説明した。これに対し、本変形例では、判定装置200は、要素Cの種類の過不足だけでなく、同じ種類の要素Cの数の過不足も判定する。
【0081】
図12は、第1実施形態の第4変形例に係る調理品データベース218のデータ構造を示す図である。上記実施形態における調理品データベース218との相違点は、
図12に示す調理品データベース218は、調理品Pに含まれる各要素Cの個数の情報も含む点である。例えば、
図12では、「ハンバーグ弁当」の「要素」欄には「人参」が2個含まれる旨が示されており、「餃子弁当」の「要素」欄には「餃子」が6個含まれる旨が示されている。なお、調理品データベース218において、必ずしも全調理品Pの全要素Cについて数が特定されなくてもよい。
【0082】
本変形例では、
図11のステップS1102において、推定部210は、撮影された調理品Pの要素Cを推定する際に、要素Cの種類だけでなく、各要素Cの数も併せて推定する。また、
図11のステップS1105において、判定部212は、調理品データベース218を参照して、撮影された調理品Pの要素Cの種類及び数に過不足があるか否かを判定する。すなわち、判定部212は、判定部212が判定した調理品Pの種類と、推定部210が推定した要素Cの種類及び数とが、
図12の調理品データベース218に記載された調理品Pと要素Cの種類及び数との対応関係を満足するか否かを判定する。要素Cの数に過不足があると判定された場合には、判定部212は、判定された調理品Pと、要素Cの数の過不足についての情報とを判定結果として出力する。
【0083】
本変形例によれば、判定装置200は、要素Cの種類だけでなく要素Cごとの個数も過不足を判定することができる。これにより、同じ種類の要素Cが複数個含まれる調理品Pについても、従業員のチェック負担を軽減するとともに、確認漏れによる品質低下を抑制することができる。
【0084】
<第1実施形態:第5変形例>
次いで、
図13を参照して、第1実施形態の第5変形例について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0085】
上記実施形態では、判定装置200が調理品Pを構成する要素Cの種類及び数の過不足を判定する例を説明した。これに対し、本変形例では、調理品Pにおける要素Cの配置が適切か否かも判定する。
【0086】
図13は、第1実施形態の第5変形例に係る店舗端末300の画面例を示す図である。本変形例では、調理品データベース218が、調理品Pにおける要素Cの配置の情報を含む。
図13に示された「寿司弁当」の例で説明すると、例えば、調理品データベース218は、「いか握り」、「まぐろ握り」、「サーモン握り」などの要素Cの種類や数だけでなく、調理品Pの容器の一側で「いか握り」→「まぐろ握り」→「サーモン握り」→……という順番で配置されるという情報を含む。調理品データベース218における配置情報は、任意の形式で表されてよい。例えば、配置情報は、配置の順番や隣接関係として表されてもよく、図データとして表されてもよく、その他の形式で表されてもよい。なお、調理品データベース218において、必ずしも全調理品Pの全要素Cについて配置が特定されなくてもよい。
【0087】
本変形例では、
図11のステップS1102において、推定部210は、撮影された調理品Pの要素Cの種類や数を、画像の調理品Pにおける要素Cの配置と関連付けて推定する。
図13に示すように、推定部210による要素Cの推定結果は、撮影された調理品Pにおける要素Cの配置に関する情報とともに出力される。また、
図11のステップS1105において、判定部212は、調理品データベース218を参照して、撮影された調理品Pの要素Cの配置が、調理品データベース218に記載された調理品Pにおける要素Cの配置を満足するか否かを判定する。すなわち、判定部212は、判定部212が判定した調理品Pの種類と、推定部210が推定した要素Cの配置とが、調理品データベース218に記載された調理品Pと要素Cの配置との対応関係を満足するか否かを判定する。要素Cの配置に誤りがあると判定された場合には、判定部212は、判定された調理品Pと、要素Cの配置の誤りについての情報とを判定結果として出力する。
【0088】
店舗端末300は、判定装置200から供給された判定結果を取得して、表示部310において
図13のような画像1300をユーザに表示する。処理部304は、判定装置200から取得した判定結果に基づいて、表示部310に表示させる画像1300を生成する。画像1300は、その左側領域1310に、撮影された調理品Pの画像1311と、配置の誤りが検出された部分を示す枠線1312と、警告メッセージ1313と、を含む。また、画像1300は、その右側領域1320に、調理品データベース218の配置情報から生成された正しい配置を示す
図1321と、配置の誤りが検出された部分を示す枠線1322と、を含む。
【0089】
本変形例によれば、判定装置200は、要素Cの種類や数だけでなく、調理品Pにおける要素Cの配置の誤りの有無を判定することができる。これにより、要素Cの配置が重要な調理品Pについても、従業員のチェック負担を軽減するとともに、確認漏れによる品質低下を抑制することができる。
【0090】
<第1実施形態:第6変形例>
次いで、
図14を参照して、第1実施形態の第6変形例について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0091】
上記実施形態では、カメラ100が1個の調理品Pを撮影する例を説明した。これに対し、本変形例では、カメラ100が複数の調理品Pを撮影し、判定装置200が、複数の調理品Pが含まれる画像に対して、各調理品Pの種類を判定する。
【0092】
本変形例では、画像に複数の調理品Pが含まれる場合において、推定部210は、画像に含まれる調理品Pの要素Cの種類を推定するにあたり、個々の調理品Pを互いに識別する。例えば、推定部210は、調理品Pの画像と当該調理品Pの外縁の位置との関係を学習した学習済みモデル216を使用して、画像に含まれる個々の調理品Pの外縁を認識することができる。推定部210は、個々の調理品Pの外縁を認識することにより、画像中の個々の調理品Pを互いに識別することができる。学習済みモデル216の学習は、上記実施形態と同様の手法で行ってもよく、別の手法で行ってもよい。なお、推定部210は、機械学習モデル以外の任意の画像認識方法を使用してもよい。また、個々の調理品Pの識別方法は、上記例に限定されない。例えば、調理品Pが載置されるトレイTに所定の仕切りや窪みなどの位置決め特徴部が設けられてもよい。この場合には、推定部210は、当該位置決め特徴部を基準として、個々の調理品Pを互いに識別することができる。推定部210が個々の調理品Pを互いに識別した後、推定部210は、調理品Pごとに上記実施形態と同様の推定処理を行う。その後、判定部212が、調理品Pごとに上記実施形態と同様の判定処理を行う。
【0093】
図14は、第1実施形態の第6変形例に係る店舗端末300の画面例を示す図である。店舗端末300は、判定装置200から供給された各調理品Pの判定結果を取得して、表示部310において
図14のような画像1400をユーザに表示する。処理部304は、判定装置200から取得した判定結果に基づいて、表示部310に表示させる画像1400を生成する。画像1400は、撮影された4個の調理品P1~P4の画像1401と、画像1401に重ねて表示された調理品P1~P4の外縁を示す枠線1411、1412、1413、1414と、調理品P1~P4についての判定結果を示すメッセージ1421、1422、1423、1424と、を含む。
図14に示す例では、調理品P1~P3は、要素Cの過不足がなく、調理品データベース218の対応関係を満足している。これに対し、調理品P4は、「漬物」(調理品P1~3の要素C1~C3)が不足しているので、調理品データベース218の対応関係を満足しない。このため、調理品P1~P3には異常がない旨のメッセージ1421~1423が表示されているのに対し、調理品P4には警告メッセージ1424が表示されている。
【0094】
本変形例によれば、判定装置200は、複数の調理品Pの種類をまとめて判定することができる。これにより、調理品Pを1つ1つ判定する場合に比べて、判定処理の効率性が向上する。
【0095】
<第2実施形態>
次いで、
図15及び
図16を参照して、第2実施形態に係る判定システム1について説明する。以下では、主に上記実施形態との相違点について説明し、上記実施形態と共通する点についての説明は繰り返さない。
【0096】
上記実施形態では、判定装置200が、撮影された画像から要素Cを推定するとともに調理品Pの種類を判定し、調理品Pと要素Cとの対応関係が適切か否かを判定する例を説明した。これに対し、第2実施形態では、判定装置200が、調理品Pに識別コードIを含むラベルLが付されている場合において、撮影された画像から判定された調理品Pの種類が、識別コードIに対応する調理品Pに対応しているか否かを判定する。
【0097】
図15は、第2実施形態に係る判定システム1を示す概略図である。
図16は、第2実施形態に係る判定システムにおけるデータの流れを示す図である。
図17は、第2実施形態に係る判定システム1による処理を示すフローチャートである。
【0098】
図15に示す判定システム1は、トレイTに載置された調理品Pに蓋がされ、識別コードIが印刷されたラベルLが蓋に貼付されている点を除き、
図1に示す判定システム1と同様である。カメラ100は、ラベルLが貼付された蓋が取り付けられた調理品Pを撮影する。
【0099】
本実施形態では、
図16に示すように、判定装置200は、識別コード解析部224を含む。識別コード解析部224は、調理品Pの種類を識別する識別コードIを含む画像データから識別コードIを取得し、調理品データベース218を参照して、取得した識別コードIに対応する調理品Pを判定する。
【0100】
図16及び
図17を参照して、判定システム1による処理の流れを説明する。ステップS1701では、カメラ100が、ラベルLが付与された調理品Pを撮影する。ステップS1702では、カメラ100が、取得した画像データを判定装置200に送信する。ステップS1703では、推定部210が、第1実施形態と同様に、画像データを取得し、学習済みモデル216を使用して、当該画像データに含まれる調理品Pの要素Cの種類を、要素Cごとに推定する。ステップS1704では、判定部212が、調理品データベース218を参照して、推定部210により推定された要素Cに対応する調理品Pの種類を第1判定結果として取得する。
【0101】
一方、
図16に示すように、識別コード解析部224も、カメラ100からの画像データを取得し、当該画像データに含まれるラベルLの識別コードIを取得する。
図17のステップS1705では、識別コード解析部224が、調理品データベース218を参照して、取得した識別コードIに対応する調理品Pについての情報を取得する。判定部212は、この識別コードIに対応する調理品Pの種類を、識別コード解析部224から第2判定結果として取得する。
【0102】
ステップS1706では、判定部212が、推定部210の推定結果から導出された第1判定結果による調理品Pの種類と、識別コードIから導出された第2判定結果による調理品Pの種類とを比較し、両者が一致するか否かを判定する。ステップS1707では、出力部208が、店舗端末300に判定結果を送信する。ステップS1708では、店舗端末300の表示部310が、判定装置200から取得した判定結果をユーザに対して表示する。これにより、判定装置200は、調理品PのラベルLに印刷された識別コードIと、当該調理品Pの内容とが一致しているか否かを判定することができる。なお、判定装置200は、上記の判定処理に加えて、第1実施形態の各変形例で説明したように要素Cの構成に異常があるか否かを判定してもよい。例えば、判定装置200は、調理品Pの蓋に販促シールなど所定の要素Cが適切に付されているか否かを判定することができる。
【0103】
本実施形態によれば、調理品Pに不適切な識別コードIが印刷されたラベルLが貼付されている場合に、調理品Pの種類が識別コードIと一致していないことを自動的に検出することができる。誤ったラベルLが貼付された調理品Pが販売された場合、調理品Pの内容がラベルLと異なることにより顧客からのクレームが発生したり、企業の信頼性やブランドイメージが低下したりするだけでなく、食品アレルギーに起因する事故に繋がるおそれもある。しかしながら、店舗の従業員によるコードリーダ及び目視によるチェックは、従業員の負荷が大きく、確認漏れなどのヒューマンエラーを完全になくすことも困難である。これに対し、上記構成によれば、調理品Pの内容とラベルLの識別コードIとが対応するか否かを自動的に判定することができる。これにより、ユーザの負担を軽減するとともに、確認漏れによる調理品Pの品質低下を低減し、ひいては企業の信頼性やブランドイメージを向上させることができる。
【0104】
なお、上記実施形態では、識別コード解析部224がカメラ100により撮影された画像から識別コードIを読み取る例を説明したが、カメラ100ではなく任意の構成のコードリーダを用いて識別コードIが撮影されてもよい。コードリーダは、撮影した識別コードIの情報を取得し、当該情報を、例えば店舗端末300や判定装置200に送信する。
【0105】
上記例において説明した取得部、処理部、記憶部、出力部などの各機能部は、情報処理装置が備えるプロセッサ、メモリ、ストレージ、入出力インタフェース、通信インタフェース、これらを相互接続するバスなどを含むハードウェア構成の協働により実現される機能部である。
【0106】
上記例において説明したプログラムは、判定装置200などの各情報処理装置に予めインストールされてよい。あるいは、当該プログラムは、コンピュータで読み取り可能な不揮発性の記憶媒体に記憶され、又は外部サーバなどからネットワークを介して配布されて、判定装置200などの各情報処理装置に適宜インストールされてもよい。記憶媒体としては、例えば、磁気記録媒体、光学記録媒体、半導体メモリデバイスなどが挙げられる。具体的には、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、光磁気ディスク、HDD(Hard Disk Drive)、フラッシュメモリ、メモリカードなどが挙げられる。
【0107】
上記実施形態においては、単一の判定装置200が推定部210及び判定部212を含む例を説明したが、推定部210と判定部212とが別々の情報処理装置に備えられてもよい。他の任意の機能部についても同様に、複数の情報処理装置の協働で実現されてもよい。
【0108】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0109】
1…判定システム、100…カメラ、200…判定装置、202…取得部、204…処理部、206…記憶部、208…出力部、210…推定部、212…判定部、214…ラベル情報生成部、216…学習済みモデル、218…調理品データベース、220…プログラム、222…特定要素テーブル、224…識別コード解析部、300…店舗端末、400…ラベルプリンタ、500…本部端末、600…サーバ