(57)【要約】      （修正有）【課題】食品の量をより正確に測定する食事の識別システムとそのプログラムを提供する。【解決手段】食事識別システムは、食器に盛られた食品の距離画像とカラー画像とを出力する2.5Dカメラ４と、2.5Dカメラ４からの距離画像とカラー画像とを入力として、食品の種類と量とを求める情報処理装置２とを備える。情報処理装置２は、食品の距離画像とカラー画像とから食品の種類を識別する食品識別部２７と、食品の距離画像から、食品の体積を求める体積計算部２５、とを備えている。【選択図】図１
2018147414.tif 000002
【特許請求の範囲】
【請求項１】
食器に盛られた食品の距離画像とカラー画像とを出力する2.5Dカメラと、
2.5Dカメラからの距離画像とカラー画像とを入力として、食品の種類と量とを求める情報処理装置とを備え、
前記情報処理装置は、
食品の距離画像とカラー画像とから食品の種類を識別する食品識別部と、
食品の距離画像から、食品の体積を求める体積計算部、とを備えている、食事識別システム。
【請求項２】
距離画像において、食品までの距離が不連続に変化するラインを食品の輪郭として抽出すると共に、
距離画像において、食品までの距離が不連続に変化し、かつ両端が食品の輪郭に繋がっているラインを食品の輪郭に追加することにより、互いに重なっている食品を個々の食品へ切り分ける輪郭抽出部を、前記情報処理装置がさらに備えていることを特徴とする、請求項１の食事識別システム。
【請求項３】
2.5Dカメラからの、食器に盛られた食品の距離画像とカラー画像とを入力として、情報処理装置により食品の種類と量とを求める、食事識別システムのためのプログラムであって、
前記情報処理装置を、
食品の距離画像とカラー画像とから食品の種類を識別する食品識別部と、
2.5Dカメラから入力された食品の距離画像から、食品の体積を求める体積計算部、として機能させる食事識別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像認識を用いた食事の識別に関する。
【背景技術】
【０００２】
食事に含まれる食品の種類と量を画像から識別できれば、人などが摂取している栄養価を推定でき、健康の増進に有効である。またアレルギーの有無、咀嚼能力等に応じて、人ごとに異なる食事を提供している場合、食品の種類等を識別すると、その人に応じた正しい食事であることを確認できる。食事の識別は、カフェテリア、食堂などでの精算にも有効である。カフェテリアなどでの精算では、食器にRFIDを取り付けて食器の種類を識別すると共に、食器の種類毎に価格を統一することにより、精算を容易にすることが行われている。しかしRFID付きの食器は高価であるし、同じ種類の食器には同じ価格の料理を載せることにも無理がある。  
【０００３】
特許文献１は、食事を撮像し、画像から食品を識別すると共に、食品量も識別し、食事に含まれる栄養価を解析することを提案している。また特許文献２は、食品の種類と量の識別を不要にしながら、栄養価を解析することを提案している。特許文献２では、食事の画像を複数の参照画像と比較し、類似する画像の栄養価を統計的に当てはめることにより、食事の栄養価を求める。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-122311
【特許文献２】特開2012-14678
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１，２のようにすると、食品の種類と量を推定できる。しかしながら発明者は、食品の見かけの大きさが同じでも、食品量にはバラツキがあることを見出した。
【０００６】
この発明の課題は、食品の量をより正確に測定できるようにすることにある。
【課題を解決するための手段】
【０００７】
この発明の食事識別システムは、
食器に盛られた食品の距離画像とカラー画像とを出力する2.5Dカメラと、
2.5Dカメラからの距離画像とカラー画像とを入力として、食品の種類と量とを求める情報処理装置とを備え、
前記情報処理装置は、
食品の距離画像とカラー画像とから食品の種類を識別する食品識別部と、
食品の距離画像から、食品の体積を求める体積計算部、とを備えている。
【０００８】
この発明の食事識別プログラムは、2.5Dカメラからの、食器に盛られた食品の距離画像とカラー画像とを入力として、情報処理装置により食品の種類と量とを求める、食事識別システムのためのプログラムであって、
前記情報処理装置を、
食品の距離画像とカラー画像とから食品の種類を識別する食品識別部と、
2.5Dカメラから入力された食品の距離画像から、食品の体積を求める体積計算部、として機能させる。
【０００９】
この発明では、食品の距離画像とカラー画像の双方から食品の種類を識別するので、カラー画像のみを用いる場合に比べ、より正確に食品の種類を識別できる。そして食品の距離画像が求まると、2.5Dカメラから見た食品の立体的な形状が分かり、これから食品の体積を求めることができる。体積が分かれば、比重を掛けて、重量を求めることができる。
【００１０】
好ましくは、距離画像において、食品までの距離が不連続に変化するラインを食品の輪郭として抽出すると共に、距離画像において、食品までの距離が不連続に変化し、かつ両端が食品の輪郭に繋がっているラインを食品の輪郭に追加することにより、互いに重なっている食品を個々の食品へ切り分ける輪郭抽出部を、前記情報処理装置がさらに備えている。このようにすると、複数の食品が互いに重なっている場合でも、個々の食品へ切り分けることができる。
【００１１】
好ましくは、食品の距離画像から、食品が中実である程度を表す中実度を求める中実度計算部と、体積計算部で求めた体積の測定値を中実度で補正することにより、食品の量を求める食品量計算部、とをさらに設ける。
【００１２】
食品の距離画像から、食品表面の凹凸やシワの程度、表面法線の方向、重心から表面までの距離の分布などを求めると、食品が中実である程度を表す中実度を求めることができる。そして中実度により体積を補正すると、食品の体積をより正確に求めることができるので、食事に含まれる食品の量をより正確に求めることができる。
【図面の簡単な説明】
【００１３】
【図１】実施例の食事識別システムのハードウェアを示す図
【図２】変形例の食事識別システムのブロック図
【図３】実施例での食事識別アルゴリズムを示すフローチャート
【図４】実施例での準備段階のアルゴリズムを示すフローチャート
【図５】実施例での食品の切り分けと重量推定アルゴリズムを示すフローチャート
【図６】食品の輪郭抽出の説明図
【図７】食品の中実度の説明図
【図８】実施例での食品の体積推定を示す図
【図９】重なり合った食品の体積推定を示す図
【図１０】丼内の食品の体積推定を示す図
【図１１】食事の例を示す写真
【図１２】唐揚げの写真で、（ａ）はカラー画像を、（ｂ）は距離画像を示す。
【図１３】唐揚げの体積の測定値と真の重量の分布を示す図
【図１４】白飯の体積の測定値と真の重量の分布を示す図
【発明を実施するための形態】
【００１４】
以下に最適実施例を示す。この発明の範囲は、特許請求の範囲の記載に基づき、明細書の記載とこの分野での周知技術とを参酌し、当業者の理解に従って定められるべきである。
【実施例】
【００１５】
図１〜図１４に実施例とその変形とを示す。図１は、配膳用のワゴン車１２に2.5Dカメラ４を取り付けた例を示す。カメラ４は図１の左上に示すように、カラーカメラ５と、線分状のパターン光を線分と直角な方向にスキャンするように照射するIRレーザ６と、パターン光の像を撮像するIRカメラ７とを備えている。IRレーザ６はパターン光を図の矢印のようにスキャンし、IRカメラ７は受光したパターン光の歪み（線分からの歪み）を検出して、物品表面までの距離画像を作成する。パターン光を撮像する代わりに、レーザ光で物品表面をスキャンし、反射光を受光するまでの時間から、距離画像を作成しても良い。ワゴン車１２は通路１０に沿って移動し、配膳及び食器の回収などを行い、食事はトレー１４上の食器１７に盛られ、１６はトレー１４の上面となる平面である。なおこの明細書で、食事は人などが食べる食物を意味する。
【００１６】
情報処理装置２は、2.5Dカメラからの距離画像とカラー画像とにより、食事を構成する食品の種類と、食品毎の量を識別する。情報処理装置２は、2.5Dカメラ４と一体でも良く、あるいはサーバとして別の位置に設けられていても良い。２０はバスで、必要に応じてバーコードリーダ２１などのＩＤリーダを接続し、トレー１４のＩＤ，食事の届け先の人のＩＤなどを読み取る。平面検出部２２は、トレー１４の距離画像から、トレー１４上部の平面１６までの距離を検出する。輪郭抽出部２３は、距離画像に基づき食品の輪郭を抽出し、特に食品が重なっている場合に、これらを切り分けるように輪郭を抽出する。揚げ物と付け合わせのキャベツなどのように、食品によりカラー画像の特徴が異なる場合、輪郭抽出部２３はカラー画像も使用する。
【００１７】
特徴量抽出部２４は、食品の距離画像から特徴量を抽出する。抽出する特徴量は、食品の重心等、食品の中心を表す点から表面までの距離の分布、特にその平均値と標準偏差などで有る。これらの特徴量は、食品の見かけの面積の平方根など、食品の大きさを表す量との比として用いても良い。また食品表面での法線の向きが保たれる距離、例えば法線の向きの自己相関距離、食品表面での凹凸の程度、シワの程度なども特徴量となる。自己相関距離、凹凸の程度、シワの程度は、大きな食品であれば自然と大きくなるものではないので、食品の大きさで正規化する必要はない。これらの特徴量は、物品表面の形態が球、直方体などの中実で平滑な形状に近いか、凹凸や空隙が多い複雑な形状に近いかを表している。そして中実な形状では体積の測定値当たりの重量が大きく、凹凸や空隙の多い形状では体積の測定値当たりの重量が小さい。
【００１８】
体積計算部２５は食品の距離画像から、食品の体積の測定値を求める。カメラ４では食品の底面などは見えないので、平皿の上の食品に対しては、距離画像での食品の縁から鉛直下向きに皿の表面まで食品がある、丼内の食品では、食品の底面は丼の表面と同じである、などを仮定して、体積の測定値を求める。  
【００１９】
中実度計算部２６は、食品の特徴量に基づいてその中実度を求める。ここに中実度は、食品が体積の測定値内を中実に充たしていると大きく、空隙が多いと小さくなるパラメータで有る。体積の測定値に中実度と比重を乗算し、あるいは体積の測定値を第１主成分、中実度を第２主成分とする主成分分析を行い、比重を乗算すると、食品の重量が得られる。なお中実度計算部２６は必ずしも設けなくても良い。
【００２０】
食品識別部２７は、前処理として、食器の形状、あるいは形状と色彩により、食品の種類を絞り込み、距離画像及びカラー画像により食品の種類を識別する。食器の形状等による前処理は省略しても良い。食品量計算部２８は、体積計算部２５で求めた食品の体積の測定値と、食品の種類で定まる比重の積を、中実度により補正し、食品の量、例えば重量を求める。重量の代わりに、食品の真の体積を求めても良い。
【００２１】
情報処理装置２は、これらの他に、図示しないＣＰＵとプログラムメモリ、食器データのメモリ、学習データのメモリ、画像データのメモリ、及び作業用データのメモリ、入出力、通信機能、等を備えている。メモリ３０は食器のデータ、例えば食器毎の形状と色彩、及び盛付る食品の種類を記憶する。食器の形状は、円形、長方形、正方形などの輪郭形状の他に、食品を盛る面の形状（皿ではほぼ平面でその高さをデータに含む、丼ではほぼ半球面でその高さをデータに含む）を含んでいる。さらに食器を距離画像で見たときの、食器が占める体積の測定値を記憶する。食器から対応する食品の種類が制限され、これらを食品識別での食品の種類の候補として使用する。
【００２２】
メモリ３１は学習データを記憶し、既知の食品の2.5Dデータ（距離画像とカラー画像）、食品の種類、量、距離画像とカラー画像の特徴量、中実度などのデータを記憶する。これらのデータは、2.5Dカメラからの距離画像とカラー画像と比較し、食品の種類と量へ換算するためのものである。通信部３２は、外部のサーバなどと通信し、例えばバーコードリーダ２１により読み取った、食事をする人のＩＤと、食品の種類と量などを送信する。図示しない外部のサーバは、食事をする人のＩＤと、食品の種類と量などを照合し、その人に合った食事であることを確認する。あるいは食品の種類と量などのデータを料金に変換し、また利用者毎の食事の内容と栄養価などを記憶する。
【００２３】
メモリ３４は食品の種類毎に、重量当たりの栄養価を記憶し、図示しないＣＰＵにより食事に含まれる栄養価を求める。
【００２４】
図１は病院、介護施設、ホテルなどでの配膳に適したシステムを示している。しかし例えば利用者が食品を取ってトレーに載せ、ワゴン車１２とは独立したスタンドアローンの2.5Dカメラ４と、情報処理装置２により、食品の種類と量を求めると、料金の精算に利用できる。このようなシステムを、社員食堂、学生食堂など、利用者が固定の食堂に設けると、利用者毎の栄養の管理に利用できる。利用者が不定の食堂でも、情報処理装置２から利用者のスマートフォンなどに送信し、利用者のスマートフォンで栄養管理を行うことができる。さらに、バイキング形式などの食堂では、皿に取った食品の種類と量毎の課金ができる。
【００２５】
図２は、スマートフォン４０に2.5Dカメラ４を実装し、外部の情報処理装置２と通信する食事識別システムを示している。情報処理システム２から返信される食品の種類と量、及び栄養価を、スマートフォン４０が記憶し表示する。このシステムでは、摂取した食品の種類と量と栄養価を例えば毎食計測し、健康の増進に役立てる。またスマートフォンで撮像する場合は、食器データを事前に記憶することが困難なので、食器データによる食品の種類の制限は行わなくても良い。
【００２６】
図３は食事の識別アルゴリズムの概要を示し、準備では、食器の種類を識別し、食品の体積の測定値を求める。食品の切り分けでは、１つの食器に複数の食品が盛られている場合に、個々の食品の輪郭を抽出し、抽出した食品の種類を識別すると共に、食品毎の体積を測定する。食品の重量推定では、好ましくは食品の体積の測定値を中実度で補正し、食品の種類毎の重量と栄養価を求める。
【００２７】
図４は準備のアルゴリズムを示し、ステップ１でトレーあるいは食器を載せたテーブルなどを2.5Dカメラで撮像する。ステップ２で、トレーの平面あるいはテーブルの平面などを検出し、カメラからの距離画像を、トレーの平面、テーブルの平面などからの高さを表す距離画像に変換する。ステップ３で食器の縁を距離画像から求め、食器の輪郭を高さを含めて抽出する。必要に応じて食器表面のカラー画像を参照し、食器データと比較して、食器の種類を識別する。トレー上の食事の例を図１２に示す。
【００２８】
ステップ４では、距離画像を用いて、食器を含む体積を求め、食器データとして記憶している食器の体積の測定値を引いて、食品の体積の測定値を求める。またステップ５で、食器の種類から食品の候補を抽出する。例えば食器が長皿であれば魚料理などが候補となり、小鉢、丸い大皿、小皿、碗、丼などの食器の種類、及び、必要な場合、食器の種類と色彩の模様により、食品の種類の候補を制限できる。
【００２９】
図５は、食品の切り分けと重量推定アルゴリズムを示す。ステップ６で、距離画像から食品の境界を抽出する。ここで問題になるのは、同種の食品が接触している場合で、この状況を図６に示す。食品６０，６１は唐揚げなどで、互いに接触している。食品が互いに接触していない部分の輪郭P1，P2は、食器との間で高さが不連続に変化するため、容易に抽出できる。食品６０の輪郭P3が食品６１上に重なっている場合、輪郭P3の内外での高さの変化はシワP5の両側での高さの変化よりも通常は大きい。
【００３０】
ここで、
・  輪郭P3の内外での高さの変化は、シワP5での高さの変化よりも大きい場合が多いこと、
・  輪郭P3は輪郭P1，P2につながり、食品６０，６１を１個の物体と見たときに、物体を横断しているが、シワP5は食品６０，６１を横断することは少ないこと、及び
・  輪郭P3との境目で、輪郭P1，P2は一般に鋭角で交わり、
・  輪郭P3は輪郭P1，P2のいずれか一方と向きが連続するように繋がること、を加味すると、シワP5と区別して、輪郭P3を抽出できる。そして輪郭P3の両側での高さから、輪郭P3は食品６０の輪郭であることも識別できる。必要であれば、輪郭P2の上下の端部を接続するように、食品６１の輪郭P4を推定できる。なお唐揚げと付け合わせのキャベツが重なっているような場合、唐揚げとキャベツでは色彩の特徴が異質なので、より簡単に輪郭を抽出できる。  
【００３１】
図６で、個々の食品６０，６１への切り分けが完了すると、食品６０，６１の大きさ、高さ、距離画像でのテクスチャー（凹凸の程度）、色彩と色彩上のテクスチャーなどから、食品の種類を決定する。
【００３２】
ステップ７で距離画像から食品の中実度を求め、ステップ９で中実度による補正を行う。なおステップ７，９は省略しても良い。中実度のモデルを図７に示す。７０は食器の面で、７１，７２は唐揚げなどの同種の食品とする。発明者の経験によると、食品の体積の測定値が同じでも、凹凸あるいはシワが多い食品７１は、凹凸あるいはシワが少ない食品７２よりも軽い。食品７１で凹凸あるいはシワが多いことは、その表面Ｓが変化に富むことを意味する。そして凹凸あるいはシワが多いことは、距離画像で食品の表面までの距離が不連続に変化すること、即ち高さの段差があること、食品の重心から表面までの距離の分布が広いこと、あるいは図に矢印で示す表面の法線方向が不規則に変化すること、などから検出できる。凹凸あるいはシワの少ない食品７２では、表面Ｓ'は平滑で、重心から表面までの距離の分布は狭く、表面からの法線方向は連続的にゆっくりと変化する。
【００３３】
距離画像から食品７１の重心Ｇ、食品７２の重心Ｇ'を推定できる。食品７１について、表面Ｓの各点に対し、重心Ｇからの距離を求め、距離の平均値、標準偏差などの統計量を求める。同様に、食品７２の表面Ｓ'の各点に対し、重心Ｇ'からの距離の平均値、標準偏差などの統計量を求める。距離の標準偏差は食品７１では、食品７２によりも大きくなる。
【００３４】
重心Ｇ，Ｇ'からの距離に代えて、表面での法線方向の自己相関距離などを求めても、表面Ｓ，Ｓ'の変化の程度を求めることができる。食品７１では法線方向の相関が保たれる距離は短く、食品７２では長い。そこで表面Ｓ'の変化が小さい食品７２では中実度が高く、表面Ｓの変化が激しい食品７１では中実度が低くなるように、中実度を定める。
【００３５】
ステップ８では、図８〜図１０のようにして、食品毎の体積の測定値を求める。図８では、カメラ４により食品７３の距離画像を取得する。ここで食品７３の底面などは撮像できないので、食品７３の縁（輪郭）から鉛直下向きに面７０まで食品７３が存在するなどのことを仮定し、体積の測定値を求める。
【００３６】
図９では、キャベツなどの付け合わせから成る食品７４の上に、唐揚げなどの食品７３が乗っている。距離画像とカラー画像とから、キャベツと唐揚げの境界は簡単に抽出できる。そこでキャベツから成る食品７４の露出部から図の破線のように、その上面を推定できる。唐揚げからなる食品７３は互いに接触しているが、例えば図６のアルゴリズムにより、個別の唐揚げの境界を抽出する。そしてキャベツから成る食品７４の上面からの見かけの総体積を求め、比重を乗算する。
【００３７】
なお多数の唐揚げが積み重なり、個々の唐揚げに切り分けることが難しい場合、唐揚げの見かけの総体積を求めて、個々の唐揚げに切り分けることを省略しても良い。この場合、例えば唐揚げが積み重なっている場合の学習データを参照し、体積の測定値と、図７と同様に求めた中実度と、比重から、唐揚げの真の重量を推定する。
【００３８】
図１０では、丼７６に盛られた食品７７の体積を推定する。丼７７の形状を食器データから読み出し、食品７７の体積を推定する。図１１にトレー上の食事の例を示す。
【００３９】
ステップ９で、食品毎の体積の測定値を中実度で補正し、比重を乗算して、食品毎の重量を求める。ステップ１０では、食品の種類と重量から栄養価を求める、あるいは食事の料金を求める、などの処理を行う。またアレルギーなどの問題のため、人ごとに異なる食事を提供する場合、食品の種類、外観、量などから、どの人の食事であるか区別できるようにするのが普通である。そこで食品の種類と量から、その人に合った食事であることを確認できる。食事の識別システムの利用者が限られている場合、利用者毎に食品の種類と量、栄養価などを記憶し、健康の増進に役立てる。
【００４０】
図１１にトレー上の食事の例を示す。図１２に３個の唐揚げのカラー画像（ａ）と距離画像（ｂ）を示し、中実度の補正なしでの体積の測定値と、真の重量の関係とを図１３に示す。重量誤差の平均値は約５％、誤差の最大値は１６％であった。測定した体積を中実度により補正すると、誤差の平均値は約４％、誤差の最大値は１１％に減少した。  
【００４１】
図１４は、白飯での体積の測定値（中実度の補正なし）と真の重量との関係を示す。中実度の補正なしで、極めて正確に白飯の重量を推定できた。  
【００４２】
実施例では、食品の種類と体積を求めることができ、RFID付きの食器などを要しない。また距離画像から食品の輪郭を抽出すると、食品が互いに重なっている場合でも、個々の食品へ切り分けることができる。さらに不規則な形状の食品でも、中実度により補正すると、より正確に食品の体積を求めることができる。
【符号の説明】
【００４３】
２      情報処理装置
４      2.5Dカメラ
５      カラーカメラ
６      IRレーザ
７      IRカメラ
１０    通路
１２    ワゴン車  
１４    トレー
１６    平面
１７    食器
２０    バス
２１    バーコードリーダ
２２    平面検出部
２３    輪郭抽出部
２４    特徴量抽出部
２５    体積計算部
２６    中実度計算部
２７    食品識別部
２８    食品量計算部
３０    メモリ      
３１    メモリ      
３２    通信部      
３４    メモリ      
４０    スマートフォン
６０，６１  食品
７０        食器の面
７１，７２  食品
７３，７４  食品
７６        丼
７７        米飯
P1〜P4      輪郭
P5          シワ
Ｓ，Ｓ’    表面    
【図１】
2018147414.tif 000003
【図２】
2018147414.tif 000004
【図３】
2018147414.tif 000005
【図４】
2018147414.tif 000006
【図５】
2018147414.tif 000007
【図６】
2018147414.tif 000008
【図７】
2018147414.tif 000009
【図８】
2018147414.tif 000010
【図９】
2018147414.tif 000011
【図１０】
2018147414.tif 000012
【図１１】
2018147414.tif 000013
【図１２】
2018147414.tif 000014
【図１３】
2018147414.tif 000015
【図１４】
2018147414.tif 000016