(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-18
(45)【発行日】2024-09-27
(54)【発明の名称】食事の識別システムと識別プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240919BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2020145691
(22)【出願日】2020-08-31
【審査請求日】2023-06-14
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)実証試験による公開 公開場所 学校法人立命館 びわこ・くさつキャンパス(滋賀県草津市野路東1丁目1-1)ユニオンカフェテリア 公開日 2020年3月11日から同年3月27日まで、本発明の食事認証システムを用いずに、食事画像の事前学習を行って試験し、2020年6月15日から同年9月1日まで本発明の食事認証システムを用い、食事画像を事前学習せずに食事識別の実証試験をしている。
(73)【特許権者】
【識別番号】599024540
【氏名又は名称】株式会社ブレイン
(74)【代理人】
【識別番号】100086830
【氏名又は名称】塩入 明
(74)【代理人】
【識別番号】100096046
【氏名又は名称】塩入 みか
(72)【発明者】
【氏名】水野 寿教
(72)【発明者】
【氏名】中道 護仁
【審査官】吉田 千裕
(56)【参考文献】
【文献】特開2015-005172(JP,A)
【文献】特開2012-113627(JP,A)
【文献】特開2019-023850(JP,A)
【文献】特開2019-125166(JP,A)
【文献】食品の画像認識システム パンの画像認識レジの開発と展開,システム/制御/情報 第62巻 第9号,日本,一般社団法人システム制御情報学会,2018年09月15日,32~37
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
カメラと、以下の3機能を備えるコンピュータシステムを備える食事識別システムにおいて、
i) カメラの画像に基づき、食器の種類を識別する機能と;
ii) 識別した食器の種類に対応する食事の種類のリストを、記憶データから抽出する機能; 及び
iii) 抽出した食事の種類のリストから、前記カメラの画像と記憶データでの食事の画像に基づき、食事の種類を識別する機能:
前記コンピュータシステムは、
食事の画像を未学習で、食事の種類を含み、かつ食器の種類に対応付けされているデータも、記憶データとして記憶する機能と、
食事の種類のリストをディスプレイに表示し、食事の種類をユーザにリストから選択させる機能と、
ユーザが選択した食事の種類に応じて、カメラの画像から食事の画像を切り出し記憶データに追加する機能と、
食事の画像を未学習の段階では、食事の種類のリストを所定の順序でディスプレイに表示し、かつ食事の画像を学習すると、
カメラの画像と記憶データでの食事の画像に基づき食事の種類を識別すると共に、リストの表示順序を食事の識別結果に応じて変更する機能、をさらに備えていることを特徴とする、食事識別システム。
【請求項2】
食事の画像の学習が進むと、前記表示に対して、
食事の種類のリストを表示するモードと、
食事識別手段で識別した1種類の食事のみを表示するモード、の2つのモードが選択自在になる、請求項1の食事識別システム。
【請求項3】
赤外光を遮断しかつ正面と両側面とが開いており、食器を載せたトレイを正面及び両側面から出し入れ自在なフードを備え、
フードの上部内側に、前記カメラと、可視光の照明部と、赤外線画像から深度画像を撮像する赤外線カメラとを備え、
フードの正面での上部外側に前記ディスプレイを備えている、請求項1または2の食事識別システム。
【請求項4】
カメラと、以下の3機能を備えるコンピュータシステムを備える食事識別システムのプログラムにおいて、
i) カメラの画像に基づき、食器の種類を識別する機能と;
ii) 識別した食器の種類に対応する食事の種類のリストを、記憶データから抽出する機能; 及び
iii) 抽出した食事の種類のリストから、前記カメラの画像と記憶データでの食事の画像に基づき、食事の種類を識別する機能:
前記コンピュータシステムに、
食事の画像を未学習で、食事の種類を含み、かつ食器の種類に対応付けされているデータも、記憶データとして記憶する機能と、
食事の種類のリストをディスプレイに表示し、食事の種類をユーザにリストから選択させる機能と、
ユーザが選択した食事の種類に応じて、カメラの画像から食事の画像を切り出し記憶データに追加する機能と、
食事の画像を未学習の段階では、食事の種類のリストを所定の順序でディスプレイに表示し、かつ食事の画像を学習すると、
カメラの画像と記憶データでの食事の画像に基づき食事の種類を識別すると共に、リストの表示順序を食事の識別結果に応じて変更する機能、を実現させる、食事識別プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は食事の識別に関する。
【背景技術】
【0002】
画像識別により食事の種類を識別することが研究されている。特許文献1(JP2009-176209)では、食事の精算のために食器の3D画像を撮像し、食器の種類を識別することを提案している。食事の種類あるいは価格が食器の種類と1対1に対応すれば、食器の種類を識別できれば、食事の料金を精算できる。しかしながらこの技術では、価格の種類と同じだけの食器を用意するか、食事の種類か単価を食器の種類に応じて決めるかが、必要である。
【0003】
出願人らは、食器の種類を識別することにより食事の種類の候補を抽出する前処理を行い、次いで食事の画像から食事の種類を識別することを提案した(特許文献2:JP2018-147416)。食事が盛付られた食器の識別では、食器の輪郭の情報から食器を識別する必要がある。出願人は、食器の輪郭付近の画像から食器を識別する方法を提案した(特許文献3:JP2019-148868)。
【先行技術文献】
【特許文献】
【0004】
【文献】JP2009-176209
【文献】JP2018-147416
【文献】JP2019-148868
【発明の概要】
【発明が解決しようとする課題】
【0005】
食器の種類から食事の種類の候補を抽出し、次いで食事自体を画像識別するには、食事の画像を事前に学習する必要がある。画像上の特徴を事前に学習し、次いで実際に識別を開始することは、画像識別では常識的なことである。しかしながら食堂やレストランで提供されるメニューは作り置きができないものが多いため、事前の学習に用いた食事は、大部分無駄になる。一方で、お客様に提供する前に、食事の画像を撮像し学習を完了しておかなければ、画像識別は不可能である。また新メニューの追加時には、新メニューの食事の撮像と学習が必要なため、新メニューの追加頻度が高くなると、負担は一層大きくなる。
【0006】
この発明の課題は、
1) 食事の画像を事前に学習しなくても食事を識別できるようにし、即ち事前の学習なしでも食事の識別を開始できるようにし、かつ
2) 食事の識別を繰り返し食事の識別精度が向上すると、識別した食事の候補の提示順序を変化させることにより、識別結果を提示した後お客様が確認するまでの時間を短縮できるようにした、食事の識別システムと識別プログラムを提供することにある。
【課題を解決するための手段】
【0007】
この発明の食事識別システムは、カメラと、以下の3機能を備えるコンピュータシステムを備えている。
i) カメラの画像に基づき、食器の種類を識別する機能と;
ii) 識別した食器の種類に対応する食事の種類のリストを、記憶データから抽出する機能; 及び
iii) 抽出した食事の種類のリストから、前記カメラの画像と記憶データでの食事の画像に基づき、食事の種類を識別する機能
そしてコンピュータシステムは、
食事の画像を未学習で、食事の種類を含み、かつ食器の種類に対応付けされているデータも、記憶データとして記憶する機能と、
食事の種類のリストをディスプレイに表示し、食事の種類をユーザにリストから選択させる機能と、
ユーザが選択した食事の種類に応じて、カメラの画像から食事の画像を切り出し記憶データに追加する機能と、
食事の画像を未学習の段階では、食事の種類のリストを所定の順序でディスプレイに表示し、かつ食事の画像を学習すると、リストの表示順序を食事の識別結果に応じて変更する機能、をさらに備えていることを特徴とする。
【0008】
この発明の食事識別プログラムは、カメラと、以下の3機能を備えるコンピュータシステムを備える食事識別システムに記憶される。
i) カメラの画像に基づき、食器の種類を識別する機能と;
ii) 識別した食器の種類に対応する食事の種類のリストを、記憶データから抽出する機能; 及び
iii) 抽出した食事の種類のリストから、前記カメラの画像と記憶データでの食事の画像に基づき、食事の種類を識別する機能
そしてこの発明のプログラムは、前記コンピュータシステムに、
食事の画像を未学習で、食事の種類を含み、かつ食器の種類に対応付けされているデータも、記憶データとして記憶する機能と、
食事の種類のリストをディスプレイに表示し、食事の種類をユーザにリストから選択させる機能と、
ユーザが選択した食事の種類に応じて、カメラの画像から食事の画像を切り出し記憶データに追加する機能と、
食事の画像を未学習の段階では、食事の種類のリストを所定の順序でディスプレイに表示し、かつ食事の画像を学習すると、リストの表示順序を食事の識別結果に応じて変更する機能、を実現させる。
【0009】
この発明では、食事の画像を未学習で、食事の種類を含み、かつ食器の種類に対応付けされているデータも、記憶データとして記憶する。そして食器の種類を識別することにより、食事の種類のリストを抽出してディスプレイに表示し、ユーザに食事を選択させる。このため事前の学習なしで、食事の識別を開始できる。システムの運用を開始すると、ユーザの選択した食事の種類を正しいものとして食事の画像を学習し、食事を識別する。学習が進むと、リストでの食事の表示順序を変更し、正しい食事の種類が最初から現れるようにできる。なお記憶済みの食事の画像に基づき種類を識別するとは、識別の都度、記憶済みの画像から特徴量を抽出して、識別対象の食事の画像の特徴量と比較し識別することも、予め特徴量を抽出しておいて識別することも含んでいる。
【0010】
なおシステムの運用開始前に、食事の画像を学習しても良い。この場合は、食事の種類のリストを表示せずに、識別した食事の種類を提示し、ユーザの確認を求めても良い。この発明では、食事の種類のリストを表示するモードと、識別結果を表示するモードを、事前学習の有無により選択できる。
【0011】
好ましくは、食事の画像の学習が進むと、前記表示に対して、食事の種類のリストを表示するモード(都度選択モード)と、食事識別手段で識別した1種類の食事のみを表示するモード(誤識別訂正モード)、の2つのモードを選択自在にする。なお事前の学習を行った場合、最初から誤識別訂正モードを実行しても良い。都度選択モードでは、ユーザはリストから食事の種類を選択するので誤りは少ないが、混雑時にレジ付近に行列ができる可能性がある。誤識別訂正モードでは、ユーザの確認時間が短く、行列ができるおそれは少ないが、誤識別を見逃す確率が増す。そこで、学習状況と、カフェテリア、社員食堂、学生食堂等の混雑状況、誤識別の発生状況などに応じて、モードを選択できるようにする。
【0012】
また好ましくは、赤外光を遮断しかつ正面と両側面とが開いており、食器を載せたトレイを正面及び両側面から出し入れ自在なフードを備え、フードの上部内側に、前記カメラと、可視光の照明部と、赤外線画像から深度画像を撮像する赤外線カメラとを備え、フードの正面での上部外側に前記ディスプレイを備えている。環境からの赤外光をフードで遮断するので、赤外線カメラで撮像した深度画像の誤差が小さくなる。照明部によりトレイを可視光で照らし、カメラの画像を明るくする。そしてフードの正面から左右両側面にかけて大きな開口を設け、トレイを素早く出し入れできるようにし、混雑を緩和する。
【図面の簡単な説明】
【0013】
【
図4】実施例の識別アルゴリズムを示すフローチャート
【
図5】
図4に続く識別アルゴリズムを示すフローチャート
【発明を実施するための形態】
【0014】
以下に最適実施例を示す。この発明の範囲は、特許請求の範囲の記載に基づき、明細書の記載とこの分野での周知技術とを参酌し、当業者の理解に従って定められるべきである。
【実施例】
【0015】
図1~
図7に実施例の食事識別システム2を示す。
図1,
図2において、食事識別システム2は台3とフード4を備え、フード4の上部正面外側にタッチパネル6などのディスプレイを設ける。フード4は正面から両側面にかけて大きな開口8を備え、レーン15上のトレイ20を正面のみでなく両側面からも台3上に出し入れできるようにしてある。フード4は不透明で、特に赤外線に関して不透明で、フード4の上部の内側に、LED,蛍光灯等の照明10,カラーカメラ11,及び赤外線深度画像を撮像するための赤外線カメラ12を配置する。赤外線カメラ12は例えばカメラの他に赤外線光源を備え、トレイ20上の食器21~23及び食器に盛りつけた食事までの深度画像を撮像する。なおカラーカメラ11を複数配置して、深度画像を作成しても良く、あるいは深度画像を撮像せずに、カラー画像のみから食器の種類と食事の種類を識別しても良い。14は照明10~赤外線カメラ12の支持部で、台3から上向きに伸び、食事識別用のコンピュータシステムは例えば台3の内部などに配置されている。
【0016】
16はレーン15の台である。17は現金支払機で、カードを用いて食事代金を精算するためのリーダライタなどを設けても良い。また現金支払機17等を設けず、食事識別システム2で求めた食事の代金を図示しないレジなどに送信し、そこで精算しても良い。
【0017】
食事識別システム2は、カフェテリア、社員食堂、学生食堂などで、食事代金の精算などのために使用する。食事は食器21~23に盛付られ、トレイ20に載せられて、レーン15に沿って移動して来る。レーン15から台3へ素早くトレイ20を移せるように、フード4の正面から両側面に拡がる大きな開口8をフード4に設ける。赤外線カメラ12は環境中の赤外線により影響を受けるので、フード4により外来の赤外線を遮断し、照明10を設けてカラーカメラ11の撮像を容易にする。カラーカメラ11が暗い環境でも撮像できる場合、照明10は不要である。
【0018】
図3は食事識別システム2のコンピュータシステム24を示す。システム24への入力は、
・ カメラ11,12からの画像、
・ データ入力40からの食事等の画像、食事の名前(種類)、単価、使用する食器の種類等のデータ、
・ 設定インターフェース38からのシステム24の設定に関するデータ、及び
・ タッチパネル6とユーザインターフェース36からの食事の種類の情報(教師データ)である。
【0019】
システム24からの出力は、タッチパネル6への出力と、有人のレジ、現金支払機17等への出力である。システム24は1台の専用コンピュータから成っていても、あるいは台3内の端末と図示しない外部のサーバとから成っていても良い。
【0020】
システム24はML(機械学習部)30を備え、これにより、カラー画像と深度画像から食器の種類を識別する食器識別機能31と、リストされた食事の種類の範囲で、カラー画像と深度画像から食事の種類を識別する食事識別機能32を実現する。食器識別機能31は、カメラ11,12の画像(カラー画像と深度画像)とから、画像上での食器の特徴量を求め、教師データ(食器の種類が分かっている画像の特徴量)と比較し、食器の種類を識別する。食事識別機能32は、カメラ11,12の画像での食事の特徴量を求め、教師データ(食事の種類が分かっている画像での特徴量)と比較し、食事の種類を識別する。食器識別機能31の識別アルゴリズムは例えば特許文献2のものを、食事識別機能32では例えば特許文献3のものを用いる。
【0021】
記憶部34は、ML30が必要なデータと、食事代金の精算に必要なデータ(食事の単価など)を記憶する。記憶部34は、食器の種類毎に画像の特徴量を記憶し、食器に対応する食事のリストを記憶する。1種類の食器に対応する食事の種類は、例えば数種類程度であるが、店舗の運用によっては20種類程度になることもある。一種類の食事分の記憶データ35として、タッチパネル6に表示する食事の画像、食事の名前、単価、対応する食器の種類、販売された頻度、食事の画像上の特徴量(画像識別用の特徴量)等を記憶する。
【0022】
図4~
図7により、食事の識別を説明する。識別の準備として、食器を赤外線カメラで撮像した深度画像を入力し、または食器のCADデータに基づく3次元形状を入力し、食器を識別できるようにする。食事の種類毎に、単価、対応する食器の種類などのデータを入力し記憶する(ステップ1)。食事の画像を入力できる場合(事前の学習が可能な場合)、例えば1種類の食事に対し3個程度の食事を用意し、撮像角度などを変えて合計10枚程度の画像を入力する(ステップ2)。撮像に用いた食事は基本的にお客様(ユーザ)に提供できないことと、撮像自体が手間なことのため、ステップ2は省略しても良い。即ち、事前の学習なしでお客様の食事の識別を開始することができる。
【0023】
実際の識別では、トレイが台に置かれたことを重量センサ、光センサ、カラーカメラ11等により検出し、識別を開始する。最初に食器の種類を識別し(ステップ3)、食事の種類の候補のリストを抽出する(ステップS4)。ここでのリストは単に一連のデータを意味し、リスト形式でデータを記憶すること等の意味ではない。
【0024】
食事の識別には、都度選択(
図6)と、誤識別訂正(
図7)の2モードがある(ステップ5)。これらのモードは、例えば
図3の設定インターフェース38から設定する。都度選択モードでは、食器毎に候補となる食事のリストを表示し、ユーザに選択させる。ここでトレイ上の食器に盛りつけられた食事を識別し(ステップ6)、識別結果(識別により得られたスコア)に応じて、食事の種類をリスト内で並び替え、例えばスコアの高いものから低いものへの順に表示する(ステップ7)。表示は複数ページに渡ることがあるので、スコアが高いものから順に表示すると、お客様はより素早く食事の種類を選択できるようになる。またスコアに食事の種類毎の販売頻度を加味し、スコアが低くても良く販売される食事は先頭のページに表示する、新メニューの食事は学習を速めるため先頭ページに表示する、などの処理を追加しても良い。そしてユーザ(お客様)が指定した食事の種類を教師データとし、即ち、お客様の指定した食事の種類が正しいものとして、食事の画像と種類等を記憶する。教師データが増えると、追加学習により特徴量のデータを更新する(ステップ8,14)。
【0025】
ステップ2を省略した場合(事前の学習を行わなかった場合)、リストには食事の種類名(名前)のみが表示され、食事の画像を表示しない。この場合、ユーザが選択した食事の種類に従って、カラーカメラ11で撮像した画像を食事名関連付けて記憶し、以降の表示で使用する。またカメラ11,12からの画像の特徴量を、以降の識別に使用する。従って、ステップ2の事前の学習を省略しても、食事の識別を開始できる。食事毎の識別が完了すると、
図6の右下の画面で最終の確認を求めて、識別した食事の種類を確定させる。このように、事前の学習なしで食事の識別を開始できる点が、実施例の大きなメリットである。頻繁に新メニューを投入する、メニューの種類が多い等の場合に、実施例は大きな効果がある。
【0026】
誤識別訂正モードは、事前の学習を行った場合と、事前の学習は行わなかったが、食事識別機能32の学習が進んだ場合に可能である。食事の種類を識別した(ステップ6)後、識別スコアが最高の食事の種類のみを表示する(ステップ10)。表示では、例えば「OK」と「訂正」の2つのアイコンを表示し(ステップ11)、「OK」の場合でも確認入力を求めて、誤識別が見逃されないようにする。これとは逆に、「訂正」アイコンのみを表示し、「訂正」が入力されないと識別が正しいものとしても良い。この方が処理時間は短くなるが、誤識別を見逃す確率は増加する。「訂正」が入力されると、リストでの残りの食事の候補を表示し、都度選択モードと同様に処理する(ステップ12,13)。どのモードでも、食事の種類を識別すると、ユーザの入力を教師データとして、食事の種類の学習(特徴量の追加)を進める(ステップ14)。
【0027】
メニュー追加時の処理(ステップ15)を説明する。ステップ1,2を新メニューに対し実行する。新メニューの学習を速めるため、例えば新メニューは先頭ページに表示しても良い。モードの変更が有れば(ステップ16)、モードを変更する(ステップ17)。
【0028】
食事識別システム2は、食後に決済する場合にも使用できる。例えば同じ種類の食器には同じ単価の食事を盛りつける等のルールを採用すると、食事自体を識別せずに、決済ができる。ただしこのような使い方は、本発明には属さない。
【符号の説明】
【0029】
2 食事識別システム
3 台
4 フード
6 タッチパネル
8 開口
10 照明
11 カラーカメラ
12 赤外線カメラ
14 支持部
15 レーン
16 台
17 現金支払機
20 トレイ
21~23 食器
24 コンピュータシステム
30 ML(機械学習部)
31 食器識別機能
32 食事識別機能
34 記憶部
35 一種類の食事分の記憶データ
36 ユーザインターフェース
38 設定インターフェース
40 データ入力
42 外部出力