(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022149940
(43)【公開日】2022-10-07
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、及びプログラム。
(51)【国際特許分類】
G06N 20/00 20190101AFI20220929BHJP
G06N 3/08 20060101ALI20220929BHJP
G06Q 30/02 20120101ALI20220929BHJP
G06T 7/00 20170101ALI20220929BHJP
【FI】
G06N20/00 130
G06N3/08
G06Q30/02
G06T7/00 350C
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021052299
(22)【出願日】2021-03-25
(71)【出願人】
【識別番号】800000068
【氏名又は名称】学校法人東京電機大学
(74)【代理人】
【識別番号】110002343
【氏名又は名称】弁理士法人 東和国際特許事務所
(72)【発明者】
【氏名】中村 明生
(72)【発明者】
【氏名】宮本 將輝
(72)【発明者】
【氏名】森田 慎一郎
【テーマコード(参考)】
5L049
5L096
【Fターム(参考)】
5L049BB08
5L096AA02
5L096AA06
5L096BA18
5L096CA18
5L096HA11
5L096JA03
5L096JA22
5L096KA04
(57)【要約】
【課題】ウェブサイト等からより信頼性の高い料理情報を出力する情報処理装置を提供する。
【解決手段】本発明に係る情報処理装置100は、電気通信回線を介して複数の元料理情報10を取得する情報収集部110と、元料理情報に含まれる料理名称についての正解データを教師データ20として予め学習をすることによって生成されたニューラルネットワーク120の学習済みモデル125と、学習済みモデルを記憶するとともに、料理画像を学習済みモデルによって料理名称を推論する推定部130と、料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算した値が所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定151と、第1料理情報に含まれる料理名称と料理名称についての正解データが一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定152と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報を取得する情報収集部と、
前記元料理情報に含まれる前記料理画像と前記料理画像に対応する料理名称についての正解データを教師データとして予め学習をすることによって生成されたニューラルネットワークの学習済みモデルと、
該学習済みモデルを記憶するとともに、前記料理画像を前記学習済みモデルによって前記料理画像のそれぞれに対して料理名称を推論する推定部と、
前記料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定と、
前記第1料理情報に含まれる料理名称と前記料理名称についての正解データとを比較し、両者が一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定と、を含むことを特徴とする情報処理装置。
【請求項2】
前記元料理情報には、レシピ、材料が含まれる、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2料理情報から所定の数のデータをランダムに選択された第3料理情報を出力する出力部を含む、ことを特徴する請求項1または2に記載の情報処理装置。
【請求項4】
前記第3料理情報から任意に選択された選択料理情報に対して、該選択料理情報に含まれる料理画像、レシピ、材料を出力する、ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記第2料理情報について同じ料理名称を有する料理情報を蓄積数によって並び替えを行い、最も前記蓄積数が多い順から、所定の順位までをレコマンド情報として出力する、ことを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
【請求項6】
電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報を取得する情報収集工程と、
前記元料理情報に含まれる前記料理画像と前記料理画像に対応する料理名称についての正解データを教師データとして予め学習をすることによって生成されたニューラルネットワークの学習済みモデルを作成する学習済みモデル作成工程と、
該学習済みモデルを記憶するとともに、前記料理画像を前記学習済みモデルによって前記料理画像のそれぞれに対して料理名称を推論する推定工程と、
前記料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定工程と、
前記第1料理情報に含まれる料理名称と前記料理名称についての正解データとを比較し、両者が一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定工程と、を含むことを特徴とする情報処理装置の制御方法。
【請求項7】
請求項1ないし請求項6のいずれか1項に記載の情報処理装置の各部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに係り、詳しくは電気通信回線を介して取得する料理情報の情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
様々な料理の画像、レシピ等は、インターネット等を介して取得することができ、これらの料理に関する情報は一般の家庭で利用されている。料理を扱うウェブサイトは非常に多く、料理の専門家が監修するような管理されたウェブサイトもあれば、インスタグラム等によって個人的に情報を発信しているものもある。
【0003】
これらの料理情報を効率良く取得するために、自動収集する技術が開示されている(特許文献1参照)。また、取得した情報をより客観的に把握するために料理の量を料理画像から算出する技術が開示されている(特許文献2参照)。
【0004】
一方、これらの技術をさらに発展させて、ウェブサイトのユーザが望むような栄養摂取に基づいて、有益となるリコマンド情報を提供する技術も開示されている(特許文献3参照)。
【0005】
これらには、ニューラルネットワークに基づく回帰学習モデルを利用した情報処理技術が多く活用されている。
【0006】
料理データセットに関する研究ではLukas Bossardらがランダムフォレストを用いた認識の性能を測定するために、foodspottingという料理画像投稿サイトから上位101位までの料理を選択し、そのサイトから101クラス、101,000枚の画像を収集してFood-101というデータセットを構築したものが開示されている(非特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009-100351
【特許文献2】特開2017-211691
【特許文献3】特開2020-101932
【非特許文献】
【0008】
【非特許文献1】Lukas Bossard, Matthieu Guillaumin and Luc Van Gool,“Food-101 - Mining Discriminative Components with Random Forests,” ECCV, pp. 446-461, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、前記したようにそれぞれの管理内容が異なるウェブサイト、SNSなどの投稿サイトが提供する料理情報は様々であり、料理画像と一致しない料理名がタグ付けされている場合がある。また,料理画像のみについて学習済みモデルを使って推論したときには盛り付けや色彩の具合などの影響もあり、他の料理名を誤ってその料理画像に付与してしまう場合もある。さらに料理情報の投稿者は、自己の情報を検索されやすくするためにより広い料理情報をタグ付けすることも良くみられる。
【0010】
このような状況において、情報を収集・分析する際に、料理とその料理に紐づけされた情報との間に、誤認識・誤判断が発生した場合、多くのノイズとなる情報が混入されて、先行技術文献にて開示された技術が提供する結果の信頼性は著しく低下するおそれがある。
【0011】
また、非特許文献1にて開示されたデータセットは欧米においては高い汎用性を有すると考えられる。しかしながら、このデータセットを日本における自動精算や健康管理などの実利用に適用した場合を想定すると、文化の違いもあり、例えば、社員食堂や学生食堂といった安価かつ庶民的な食堂のメニューとは異なる、和食などが含まれない、あるいは家庭料理が少ない、といった傾向が散見される。このことは、欧米以外の各国において、自動精算やカロリー計算の根拠となるデータセットとしての信頼性・精度は低いものとなるおそれがあった。
【0012】
本発明は、前記背景におけるこれらの実情に鑑みてなされたものであり、ウェブサイト等から取得した料理情報のノイズを削除して、より信頼性の高い料理情報を出力するための情報処理装置、情報処理装置の制御方法、及びプログラムを提供することをその目的とする。
【課題を解決するための手段】
【0013】
本発明に係る情報処理装置は、電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報を取得する情報収集部と、前記元料理情報に含まれる前記料理画像と前記料理画像に対応する料理名称についての正解データを教師データとして予め学習をすることによって生成されたニューラルネットワークの学習済みモデルと、該学習済みモデルを記憶するとともに、前記料理画像を前記学習済みモデルによって前記料理画像のそれぞれに対して料理名称を推論する推定部と、前記料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定と、前記第1料理情報に含まれる料理名称と前記料理名称についての正解データとを比較し、両者が一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定と、を含むことを特徴とする。
【0014】
前記構成は、教師データによる学習済みモデルを使うことにより、ウェブサイト等から自動収集した料理画像の推論を行い、この結果に対して推論された上位の結果に対する推定確率値の数値的差異および推定された料理タグと正解データとの整合という2段階の判別をするものである。
【0015】
前記構成によれば、第1判定において推論された上位の結果に対する推定確率値の数値的差異について、所定の閾値を設けることで、相当数のノイズを排除することができる。さらに第2判定において第1判定部でノイズが排除された情報に対して、記述的内容が不整合である情報をノイズとして排除することができる。このような2段階のノイズ排除手段を備えることで、構成を複雑化させずにより信頼性の高い料理情報のデータセットを提供することができる。
【0016】
前記構成において、前記元料理情報には、レシピ、材料が含めることができる。
【0017】
前記構成によれば、料理画像と料理名との整合性のとれた料理情報に基づき、ユーザはその料理の詳しい情報を取得することができる。
【0018】
前記構成において、前記第2料理情報から所定の数のデータをランダムに選択された第3料理情報を出力する出力部を含む構成とすることができる。
【0019】
前記構成によれば、ユーザが膨大なデータを扱うことなく、料理画像と料理名との整合性のとれた信頼性の高い料理情報を取得することでき、利用者の利便性を高めることができる。例えば、第3料理情報とは各クラスの画像枚数をそろえることで、利用者が一定数の料理情報を眺めて、直感的に料理情報の傾向・状況等を判断するために有用となる。
【0020】
前記構成において、前記第3料理情報から任意に選択された選択料理情報に対して、該選択料理情報に含まれる料理画像、レシピ、材料を出力する構成とすることができる。
【0021】
前記構成によれば、ユーザが選択した料理を実際に調理するときの利便性を図ることができる。さらにこれらの情報に基づいて、該当する料理の材料費や時間等から、費用を算出して自動精算を行ったり、カロリー計算を行ったりすることができる。
【0022】
前記構成において、前記第2料理情報について同じ料理名称を有する料理情報を蓄積数によって並び替えを行い、最も前記蓄積数が多い順から、所定の順位までをレコマンド情報として出力する構成とすることができる。
【0023】
前記構成によれば、料理のトレンドやランキングを把握することができる。また、ユーザに好まれる料理情報を把握することができることから、具材や調理器具の提供者側にとって有用な情報となる。
【0024】
本発明に係る情報処理装置の制御方法は、電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報を取得する情報収集工程と、前記元料理情報に含まれる前記料理画像と前記料理画像に対応する料理名称についての正解データを教師データとして予め学習をすることによって生成されたニューラルネットワークの学習済みモデルを作成する学習済みモデル作成工程と、該学習済みモデルを記憶するとともに、前記料理画像を前記学習済みモデルによって前記料理画像のそれぞれに対して料理名称を推論する推定工程と、前記料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定工程と、前記第1料理情報に含まれる料理名称と前記料理名称についての正解データとを比較し、両者が一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定工程と、を含むものとすることができる。
【0025】
前記構成によれば、方法の発明として、2段階のノイズ排除手段を備える、構成を複雑化させずにより信頼性の高い料理情報のデータセットを提供することができる。
【0026】
本発明は、前記した構成を含むコンピュータを機能させるプログラムとすることができる。
【0027】
前記構成によれば、2段階のノイズ排除手段を備える、構成を複雑化させずにより信頼性の高い料理情報のデータセットを提供するプログラムを提供することができる。
【発明の効果】
【0028】
本発明は、ウェブサイト等から取得した料理情報のノイズを削除して、より信頼性の高い料理情報を出力するための情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。さらに、出力された料理情報は、具材・材料・調理器具を提供する事業者にとって有用な情報となる。また、これらは料理提供者にとっても、料理のトレンドや、その調理に係るコスト・時間を見積もるための有用な情報となる。さらに、信頼性の高いウェブサイト等から取得した料理情報に基づき、自動精算や健康管理(カロリー計算)などの実利用に適用することができる。
【図面の簡単な説明】
【0029】
【
図1】本発明の一実施形態に係る全体構成図である。
【
図2】元料理情報を提供するウェブサイトの料理画像の例である(クックパッド社のウェブサイトから引用)。
【
図3】元料理情報を提供するウェブサイトの検索例である(クックパッド社のウェブサイトから引用)。
【
図4】本発明の一実施形態に係る元料理情報の自動収集のフローである。
【
図5】料理情報の検索の例である(クックパッド社のウェブサイトからの検索結果)。
【
図6】判定部を備えない場合の認識結果を示す混同行列の例である。
【
図7】料理画像・料理名称の誤認識・誤判断の例である。
【
図8】料理画像・料理名称の誤認識・誤判断の例である。
【
図11】判定部を備えた場合の認識結果を示す混同行列の例である。
【発明を実施するための形態】
【0030】
最初に、
図1の全体構成図に基づき、本発明の一実施形態について説明する。以下の説明において、異なる図面においても同じ符号を付した構成は同様のものであるとして、その説明を省略する場合がある。
【0031】
本発明に係る情報処理装置100は、電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報10を取得する情報収集部110と、前記元料理情報に含まれる前記料理画像と前記料理画像に対応する料理名称についての正解データを教師データ20として予め学習をすることによって生成されたニューラルネットワーク120の学習済みモデル125と、該学習済みモデルを記憶するとともに、前記料理画像を前記学習済みモデルによって前記料理画像のそれぞれに対して料理名称を推論する推定部130と、前記料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報として蓄積する第1判定151と、前記第1料理情報に含まれる料理名称と前記料理名称についての正解データとを比較し、両者が一致するときに、当該第1料理情報を第2料理情報として蓄積する第2判定152と、を含むことを特徴とする構成であれば、その具体的態様はいかなるものであっても構わない。
【0032】
なお、本発明に係る情報処理装置100に含まれる情報収集部110、ニューラルネットワーク120、学習済みモデル125、推定部130、第1判定151、第2判定152の演算処理、通信処理、データ蓄積処理、出力処理等の部分は、それぞれマイクロコンピュータで構成されており、演算を行うプロセッサCPU、制御プログラムおよび各種データのリスト、テーブル、マップを格納するROM、およびCPUによる演算結果などを一時記憶するRAMを有する。そして、これらの構成には、不揮発性のメモリが備えられており、必要なデータなどをこの不揮発性メモリに保存する。不揮発性メモリは、書き換え可能なROMであるEEPROM、または電源がオフにされていても保持電流が供給されて記憶を保持するバックアップ機能付きのRAMで構成することができる。以下では、これらの構成を個別の手段として説明するが、一つのマイクロコンピュータとして機能を備える構成としても良いし、プロブラム、方法として実現しても良い。
【0033】
情報収集部110は、電気通信回線を介して料理画像及び該料理画像に対応する料理名称を少なくとも含む複数の元料理情報10を取得する。電気通信回線にはインターネットのウェブサイト、SNS(Social Networking Service)、LAN(Local Area Network)、WAN(Wide Area Network)等が含まれ、これらの電気通信回線による投稿サイトに掲示等された料理情報全般が該当する元料理情報10の対象となる。
【0034】
以下ではウェブサイトからの情報の収集について、
図2~5も併せて参照して説明する。
図2は、元料理情報を提供するウェブサイトの料理画像の例である(クックパッド社のウェブサイトから引用)。
図3は、元料理情報を提供するウェブサイトの検索例である(クックパッド社のウェブサイトから引用)。
図4は、本発明の一実施形態に係る元料理情報の自動収集のフローである。
図5は、料理情報の検索の例である(クックパッド社のウェブサイトからの検索結果)。
【0035】
元料理情報10は、電気通信回線による投稿サイトに掲示等された料理情報全般であり、例えばクックパッド社のウェブサイト(https://cookpad.com/)から、取得する料理情報が該当する。クックパッド(Cookpad)は、クックパッド株式会社が運営する料理レシピのコミュニティウェブサイトである。このウェブサイトは、個人が会員登録を行うことでコミュニティーに参加できる。コミュニティーに参加した会員は、自作の料理レシピを載せたり、他者の考案によるレシピを実用した料理を写真付きで公開したりすること等ができるものである。クックパッドのウェブサイトで公開されている料理画像の一例を
図2に示す。
【0036】
当該ウェブサイトを使い、「カレーライス」という言葉で検索した結果の一部例を
図3に示している。検索されたページ(以下「レシピページ」と称する場合がある。)にはカレーライスの料理画像とともにその名称、レシピが一覧となっている。さらに検索したレシピページには、そのタイトル(料理名)、料理画像、レシピ、当該レシピが登録されているカテゴリー等のタグ情報が、HTML(Hyper Text Markup Language)タグとして保管されている。
【0037】
次に
図4を参照して、情報収集部110による料理画像の自動収集について説明する。自動収集の対象は、上述した元料理情報10である。最初に料理情報を提供するウェブサイトを利用して、料理名にて検索する(ステップ S10)。
【0038】
次に、検索された結果のページからすべてのレシピページのURL(Uniform Resource Locator)を取得し、メモリに蓄積する(ステップ S11)。
【0039】
次に、メモリに蓄積されたレシピページのHTMLタグを取得し、メモリに蓄積する(ステップ S12)。
【0040】
次に、ステップS12にてメモリに蓄積されたレシピページからタイトルタグを検索し、これらを取得し、メモリに蓄積する(ステップ S13)。
【0041】
次に、ステップS13にてメモリに蓄積されたレシピページから料理画像を検索し、これらを取得し、メモリに蓄積する(ステップ S14)。
【0042】
次に、ステップS14にてメモリに蓄積されたレシピページからその他のタグ情報を検索し、これらを取得し、メモリに蓄積する(ステップ S15)。
【0043】
次に、ステップS13のタイトルタグの検索結果にて、検索されていないタイトルタグの有無を判断し、検索されていないタイトルがあれば、再度ステップS12~S16のステップを繰り返す(ステップ S16)。
【0044】
全レシピデータに対して、ステップS10~S16の手順が終了したら、メモリに蓄積されたそれぞれのタグ情報を保存する(ステップ S17)。このようにウェブサイトを巡回して自動的に料理情報を収集することができる。収集された料理情報が収集料理情報12となる。以上が自動収集の手順となるが、これは一例であり、この手順に限定されることはない。
【0045】
元料理情報10は、例えば
図5に示すようにレシピページにレシピタイトル,料理画像,タグ情報として表示することができる。最終的に保存するデータとしては、例えば検索に用いた料理名をフォルダ名としてその中に料理画像とその他情報をCSV(Comma Separated Value)形式で保存しても良い。
図5は、保存したCSVの一部であり、この例では、保存された元料理情報10は、左から順に検索に用いた料理名、レシピタイトル、画像の名前、タグ情報としている。
【0046】
次に、教師データ20、ニューラルネットワーク120、学習済みモデル125について説明する。教師データ20は、機械学習の教師あり学習において、人工知能のニューラルネットワーク120にあらかじめ与えられる、例題と答えについてのデータである。
【0047】
ニューラルネットワーク120は入力を抽象層に分解するものであり、教師データ20のような例題と答えについてのデータで学習させることにより、人間の脳と同じように、音声や画像のパターンを認識することができるようになる。ニューラルネットワーク120では、ネットワークの個々の要素をどのように繋げるか、そしてそれらの接続の強度または重みを定義することで動作させる。なお、通常重みは、ニューラルネットワーク120がタスクを正しく実行するまで、指定された学習のルールに従って調整する構成となっている。
【0048】
本実施形態における教師データ20の開発においては、より精度を高めるとともに汎用性能を向上させるため、データセットをいくつかのグループ(Trainデータ、Validationデータ、Testデータ)に分割して検証をすること手段を適用することもできる。以下簡単にこれらのデータのグループについて説明する。
【0049】
Trainデータセットは、学習に用いるデータセットを指している。このモデルによる学習(重みを更新していくこと)は、このデータセットのみを行う。
【0050】
Validationデータセットは、検証用のデータセットである。機械学習においてハイパーパラメータのチューニングや学習の早期打ち切りなどを行う際に利用する。すなわち、モデルの精度を向上させるということでは、Trainデータセットと同様であるが、Validationデータセットはこのように重みの更新以外の用途に利用される。
【0051】
Testデータセットは、精度検証に用いるデータセットをいう。TestデータセットはValidationデータセットとは異なり、学習には使用せずに、最終的なモデルの精度確認のために使用される。このTestデータセットを用いることで学習したモデルに対してより正当な精度検証を行うことができる。
【0052】
このように教師データ20によってニューラルネットワーク120にて学習させることで、高い精度で入力に対する出力を推測できる学習済みモデル125を生成することができる。
【0053】
学習済みモデル125は、上述のように教師データ20を使い、ニューラルネットワーク120によって回帰学習を行ったモデルであり、ニューラルネットワーク等によって生成されたものである。この学習済みモデル125は、大量のデータに対して適切な推論・予測・推定が行えるように構成されたものである。
【0054】
推定部130は、学習済みモデル125に自動収集部110が収集した収集料理情報12を入力することにより、収集料理情報12の定量的な情報を学習モデル125に推定させる。この推定された情報は料理画像に料理名等がタグ付けされた推定料理情報14とされ、判定部150へ送出される。
【0055】
判定部150は、推定料理情報14の料理画像のそれぞれに対して推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報16として蓄積する第1判定151と、この第1料理情報16に含まれる料理名称と料理名称についての正解データとを比較し、両者が一致するときに、第1料理情報16を新たに第2料理情報18として蓄積する第2判定152から構成されている。
【0056】
出力部160は、第2料理情報18に含まれたレシピ、材料が含めたデータセットを出力させる。このように、料理画像と料理名との整合性のとれた料理情報に基づき、ユーザはその料理の詳しい情報を取得することができる。また、出力部160は、第2料理情報18から所定の数のデータをランダムに選択された第3料理情報を出力するようにしても良い。こうすることで、ユーザが膨大なデータを扱うことなく、料理画像と料理名との整合性のとれた信頼性の高い料理情報を取得することでき、利用者の利便性を高めることができる。
【0057】
さらに出力部160は、第3料理情報から任意に選択された選択料理情報に対して、該選択料理情報に含まれる料理画像、レシピ、材料を出力する構成とする構成としても良い。ユーザが選択した料理を実際に調理するときの利便性を図ることができる。さらにこれらの情報に基づいて、該当する料理の材料費や時間等から、費用を算出して自動精算を行ったり、カロリー計算を行ったりすることができる。
【0058】
他にも、第2料理情報について同じ料理名称を有する料理情報を蓄積数によって並び替えを行い、最も前記蓄積数が多い順から、所定の順位までをレコマンド情報として出力するようにしても良い。前記構成によれば、料理のトレンドやランキングを把握することができる。また、ユーザに好まれる料理情報を把握することができることから、具材や調理器具の提供者側にとって有用な情報となる。
【0059】
<判定例の説明>
以下、第1判定151と第2判定152の具体的な判定手段について、
図6~11を併せて参照して説明する。
図6は、判定部を備えない場合の認識結果を示す混同行列の例である。
図7、8は、料理画像・料理名称の誤認識・誤判断の例である。
図9は、第1判定部の判定例である。
図10は、第2判定部の判定例である。
図11は、判定部を備えた場合の認識結果を示す混同行列の例である。
【0060】
<判定部を備えない場合の実施例の説明>
判定部150を備えない構成については、まず
図4にて説明した情報収集部110の収集手順によってクックパッド社のウェブサイト(https://cookpad.com/)から、元料理情報10の自動収集を実施し、収集料理情報12に当たる274,392枚の料理画像及び情報を入手した。
【0061】
ここで、検索名は「料理名」として、それぞれの料理名で検索した結果を「クラス」と称して、データセットを構築している。「クラス」は、例えば、「1 コロッケ」「2 カレーライス」「3 フィッシュフライ」・・としている。なお、クラス間の画像枚数のばらつきを排除するため、各クラスは1,000枚に統一している。この検索結果として31クラス(31種類の料理情報)、すなわち31,000枚のデータセットを構築した。
【0062】
教師データ20のデータセットは、データセットの各クラス1,000枚のうち、Trainに720枚、Validationに80枚、Testに200 枚使用した。
【0063】
この実施例では、これらのデータセットについて、ニューラルネットワークの一つである畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)で学習・認識を行った。学習の仕組みを含む全体的な構造となるアーキテクチャとしてはEfficientNet(2019年5月にGoogle Brainから発表されたモデル:掲載論文:Mingxing Tan and Quoc V. Le, “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks,” ICML,2019.)を適用した。なお、アーキテクチャは、ここで説明するEfficientNetに限定されることはなく、複数のアーキテクチャを使用して学習・認識の結果から判断して、適宜選択することができる。
【0064】
EfficientNetは種類がB0からB7まであり、これらの違いは層の大きさ、層の数、入力画像の解像度である.この中から採用するアーキテクチャを決定するために事前実験を行った。このときのデータセットは、整理前の構築したデータセットを使用して,B0からB7までについて、それぞれ学習、認識を行った。
【0065】
画像認識における認識率の性能評価には、Top-k accuracyという量を使う場合が多く、ここでもこの量を使うことにする。Top-k accuracyとは、モデルが予測した分類のうち、確率の高いものを上位k位までに正解がある確率をいい、百分率で表している。
【0066】
B0からB7までについて、それぞれ学習、認識を行った結果、それぞれTop-1の認識率(%)は、B0:62.1%、B1:63.7%、B2:63.8%、B3:66.1%、B4:64.9%、B5:65.3%、B6:65.8%、B7:66.1%となり、B3とB7で認識率が66.1%で最も高かった。認識率に加えて学習時間を併せて考慮するとB3が短時間で学習できることから、以降B3を適用して学習・認識を行った。
【0067】
EfficientNetのB3によって自動収集した収集料理情報12の料理画像を用いて構築したデータセットを学習・認識を行った結果、Top-1で68.4%、Top3 で84.2%、Top5 で89.7%の認識率となった。すなわち、確率が最も高い料理名が1位となっているものが68.4%であり、上位3位までにこの料理名が含まれているものが84.2%であり、上位5位以内にこの料理が含まれているものが89.7%という認識結果であった。この結果からは、自動精算や健康管理(カロリー計算)などの実利用に適用することができる信頼性の高い認識とは言いにくい。
【0068】
図6は、認識時の混同行列(Confusion Matrix)である。混同行列とは、あるデータを分類したときに、その正解・不正解の数を整理しておく表をいう。この混同行列の状態を検討することで、どのような誤検知等が生じているか推測することができる。
【0069】
判定部を備えない構成における本例の認識率は最高でも66.1%(Top-1)と低く、この原因としては、
図6において、認識率が50%以下となっているクラスが2つ存在していることと推定される。
図6の枠で囲った行列の8行目「ハヤシライス」および22行目「そば」が該当する。この状況について
図7及び
図8を参照して、さらに詳しく説明する。なお、
図7は「ハヤシライス」、
図8は「そば」が正解クラスである。
【0070】
「ハヤシライス」では、
図7(a)は「オムライス」と誤認されていた。これは料理画像投稿の際に「オムハヤシ」という料理名が付されていたためであると推定される。次に
図7(b)は、「ヨーグルト」と誤認されていた。「ハヤシライス」は、外観上は白が強調されることが多いため,ヨーグルトとして認識されたと推定される。
【0071】
次に「そば」では、
図8(a)は「うどん」と誤認されていた。これは具が多く、「そば」と「うどん」において特徴的な麺が良く見えない状況であったため誤認されたと推定される。次に
図8(b)は「焼きそば」と誤認されており、これは「そば」という文言が含まれていたことから「あんかけ焼きそば」が料理画像の自動収集時にそばの検索結果として情報が保存されて、誤認識されたと推定される。
【0072】
このように,従来行われている判定部を備えない画像認識では、教師データを使っても外観上類似していた料理が別クラスにある、もしくは不要な情報となるノイズが多いために誤認識されるおそれがあった。
【0073】
<判定部を備えた場合の実施例の説明>
次に判定部150を備えた構成について説明する。判定部150は、第1判定151とこの第1判定151にてノイズを削除したデータセットに対してさらなる判定を行う第2判定152からなる。
【0074】
第1判定151は、推定部130によって推論された料理名称の推定確率が最も高い料理名称の確率値から次位の料理名称の確率値を減算して、その値が予め設定された所定値よりも大きいときに、当該料理情報を第1料理情報16として蓄積する。
【0075】
第2判定152は、この第1料理情報16に含まれる料理名称と料理名称についての正解データとを比較し、両者が一致するときに、第1料理情報16を新たに第2料理情報18として蓄積する。
【0076】
以下、詳細について説明すると、最初に教師データ20のデータセットを構築する。ここでは、判定部を備えない場合に比べてデータセットの数を少なくし、教師データ20のデータセットは、データセットの各クラス100枚のうち、Trainに75枚、Validationに5枚、Testに2枚とした。
【0077】
これらのデータセットについて、ニューラルネットワークの一つであるCNNで学習・認識を行った。学習の仕組みを含む全体的な構造となるアーキテクチャとしては、前例と同様にEfficientNetを適用した。
【0078】
教師データ20のデータセットによるニューラルネットワーク120によって識別された学習済みモデル125によるTestの結果は、Top-1が88.8%、Top3が97.8%であり、学習済みモデル125として適用できると判断した。
【0079】
この実施例においては、判定部を備えない場合との比較をするため、第1判定151および第2判定152には具体的な数値を設定する。以下、その具体例を挙げて、簡単に説明する。
【0080】
第1判定151では、推定結果(推定確率)の上位1位と2位との確率の差異を算出する。そして、この実施例では、この差が10%以下となった場合には、このデータは正解となる料理名となっておらず、ノイズ(誤認識等)であると判断して削除することとした。これは、推定時に出力される推定確率上位1位と2位との差が小さい画像は、正解となるクラスに属さないことが多いという知見に基づいている。
【0081】
図9にその一例を示している。すなわち、正解クラスは
図9の左に示すように「ハンバーグ」であるのにかかわらず、
図9の右のように画像認識による推定確率の結果は、推定順位1位が「野菜炒め」でその推定確率は40%であり、一方正解クラスとなる「ハンバーグ」は推定順位が2位でその推定確率は30%であった。
【0082】
推定確率の差は40%-30%で、10%となり、このデータはノイズとして削除される。
【0083】
第2判定152では、推定された結果の第1位に正解クラスが存在しないときノイズと判断することとしている。
【0084】
図10にその一例を示している。すなわち、正解クラスは
図10の左に示すように「ハンバーグ」であり、
図10の右のように推定順位の1位が「ハンバーグ」となっており、このデータは正解と判断される。例えば、推定順位1位が「焼きそば」や「おにぎり」であるならば、このデータはノイズとして削除される。
【0085】
第1判定151と第2判定152を備えた判定部150について、判定部を備えない場合の実施例と同様に
図4にて説明した情報収集部110によってクックパッド社のウェブサイト(https://cookpad.com/)から、元料理情報10の自動収集を実施し、収集料理情報12に当たる274,392枚の料理画像及び情報を入手し、これらについて判定を行った。
【0086】
その結果、判定部150を備えることにより、274,392枚の料理画像及び情報は、73,767枚まで削減された。推定結果は、Top-1が92.7%、Top3が99.7%となり、判定部を備えない場合のTop-1で68.4%、Top3で84.2%と比べて、認識率の向上が実現された。
【0087】
また、判定部150を備えた場合の教師データ20のデータセットは1クラスにつき100枚であり、判定部を備えない場合の1,000枚と比べ、データ構築に係る生産性を格段に向上させることができた。
【0088】
図11は、認識時の混同行列である。
図11は判定部を備えない場合の結果である
図6と比較して、認識率が50%以下となっているクラスは存在せず、認識率が向上していることが示されている。
【0089】
以上説明したように、このように本発明は、ウェブサイト等から取得した料理情報のノイズを削除して、より信頼性の高い料理情報を出力するための情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。さらに、具材・材料・調理器具を提供する事業者にとって有用な情報となる。また、料理提供者にとって、料理のトレンドや、その調理に係るコスト・時間を見積もるための有用な情報となる。さらに、信頼性の高いウェブサイト等から取得した料理情報に基づき、自動精算や健康管理(カロリー計算)などの実利用に適用することができる。
【符号の説明】
【0090】
10・・・元料理情報
12・・・収集料理情報
14・・・推定料理情報
16・・・第1料理情報
18・・・第2料理情報
20・・・教師データ
100・・・情報処理装置
110・・・情報収集部
120・・・ニューラルネットワーク
125・・・学習済みモデル
130・・・推定部
150・・・判定部
151・・・第1判定
152・・・第2判定
160・・・出力部