この発明を実施するための形態について添付の図面を参照しながら説明する。各図において、同一又は相当する部分には同一の符号を付して、重複する説明は適宜に簡略化又は省略する。なお、本発明は以下の実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲で種々変形することが可能である。
実施の形態1.
図1から図14は、この発明の実施の形態1に係るものである。図1は冷蔵庫システムの構成を示すブロック図である。図2は冷蔵庫システムが備える冷蔵庫の正面図である。図3は冷蔵庫の縦断面図である。図4は冷蔵庫のカメラ移動装置の斜視図である。図5はカメラ移動装置の要部を透視して示す拡大斜視図である。図6は冷蔵庫の制御系統の構成を示すブロック図である。図7は図6の制御装置の構成を示すブロック図である。図8は冷蔵庫システムが備えるサーバ装置の構成を示すブロック図である。図9は冷蔵庫システムの学習済みデータの内容の一例を示す図である。図10及び図11は冷蔵庫システムの複数視点画像を用いた再学習について説明する図である。図12は冷蔵庫の画像アップロード動作の一例を示すフロー図である。図13はサーバ装置の画像受信時の動作の一例を示すフロー図である。そして、図14は冷蔵庫システムの食材リスト表示時の動作の一例を示すフロー図である。
なお、各図では各構成部材の寸法の関係や形状等が実際のものとは異なる場合がある。また、明細書中における各構成部材同士の位置関係(例えば、上下関係等)は、原則として、冷凍冷蔵庫を使用可能な状態に設置したときのものである。
図1に示すように、この発明の実施の形態1に係る冷蔵庫100を備えた冷蔵庫システムは、冷蔵庫100と、サーバ装置200とを備えている。冷蔵庫100とサーバ装置200とは、相互に通信可能に接続されている。
冷蔵庫100は、例えば、冷蔵庫100の使用者の家宅内に設置される。サーバ装置200は、例えば、使用者の家宅内に設置されるコンピュータ等である。サーバ装置200は、使用者の家宅外に設置されていてもよい。
サーバ装置200と通信可能に接続される冷蔵庫100の数は、1つに限られず複数であってもよい。また、サーバ装置200は、複数のサーバ(サーバ群)からなるクラウドサーバであってもよい。
まず、図2から図6を参照しながら、この発明の実施の形態1に係る冷蔵庫100の構成について説明する。冷蔵庫100は、図3に示すように断熱箱体1を有している。断熱箱体1は、前面(正面)が開口されて内部に貯蔵空間が形成されている。断熱箱体1は、外箱、内箱及び断熱材を有している。外箱は鋼鉄製である。内箱は樹脂製である。内箱は外箱の内側に配置される。断熱材は、例えば発泡ウレタン等であり、外箱と内箱との間の空間に充填されている。断熱箱体1の内部に形成された貯蔵空間は、1つ又は複数の仕切り部材により、食品を収納保存する複数の貯蔵室に区画されている。
図2及び図3に示すように、ここでは、冷蔵庫100は、複数の貯蔵室として、例えば、冷蔵室10、切替室20、製氷室30、冷凍室40及び野菜室50を備えている。これらの貯蔵室は、断熱箱体1において上下方向に4段構成となって配置されている。
冷蔵室10は、断熱箱体1の最上段に配置されている。切替室20は冷蔵室10の下方における左右の一側に配置されている。切替室20の保冷温度帯は、複数の温度帯のうちのいずれかを選択して切り替えることができる。切替室20の保冷温度帯として選択可能な複数の温度帯は、例えば、冷凍温度帯(例えば−18℃程度)、冷蔵温度帯(例えば3℃程度)、チルド温度帯(例えば0℃程度)及びソフト冷凍温度帯(例えば−7℃程度)等である。製氷室30は、切替室20の側方に隣接して切替室20と並列に、すなわち、冷蔵室10の下方における左右の他側に配置されている。
冷凍室40は、切替室20及び製氷室30の下方に配置されている。冷凍室40は、主に貯蔵対象を比較的長期にわたって冷凍保存する際に用いるためのものである。野菜室50は、冷凍室40の下方の最下段に配置されている。野菜室50は、主に野菜や容量の大きな(例えば2L等)の大型ペットボトル等を収納するためのものである。
冷蔵室10の前面に形成された開口部には、当該開口部を開閉する回転式の冷蔵室扉7が設けられている。ここでは、冷蔵室扉7は両開き式(観音開き式)であり、右扉7a及び左扉7bにより構成されている。冷蔵庫100の前面の冷蔵室扉7(例えば、右扉7a)の外側表面には、操作パネル6が設けられている。
冷蔵室10以外の各貯蔵室(切替室20、製氷室30、冷凍室40及び野菜室50)は、それぞれ引き出し式の扉によって開閉される。これらの引き出し式の扉は、扉に固定して設けられたフレームを各貯蔵室の左右の内壁面に水平に形成されたレールに対してスライドさせることにより、冷蔵庫100の奥行方向(前後方向)に開閉できるようになっている。
図3に示すように、冷蔵室10は、前面側(同図に向かって左側)を冷蔵室扉7によって塞がれている。なお、図3に示す断面図は、図2中の断面A−A’によるものである。冷蔵室10の内部には、1以上の冷蔵室棚板11が設けられている。ここでは、冷蔵室棚板11が複数設けられている場合を例に挙げている。冷蔵室10の内部は、これらの冷蔵室棚板11によって、上下方向に複数の空間(棚)に仕切られている。冷蔵室棚板11の上には、食品が載置される。
それぞれの冷蔵室棚板11は、棚板支持部12によって、冷蔵室10内の予め定められた位置で支持されている。棚板支持部12は、冷蔵室10の側壁内面から冷蔵室10の内側に突出して形成されている。なお、1つの冷蔵室棚板11の上下位置を変更できるように棚板支持部12を構成してもよい。
最下段の冷蔵室棚板11の下側の空間は、チルド室14である。チルド室14の内部には、チルドケース15が設置されている。チルドケース15は、レール等の案内部材(図示せず)に沿って、前方へ引き出すことができる。また、冷蔵室扉7の内側の面には、ドアポケット13が設けられている。このドアポケット13にも食品を載置、収納することができる。
冷蔵室扉7の内側の面には、カメラ9が設置されている。カメラ9は、冷蔵室扉7の側から貯蔵室(ここでは冷蔵室10)の内部の画像を撮影し、貯蔵室画像として出力する。この実施の形態に係る冷蔵庫100は、カメラ移動装置90を備えている。カメラ移動装置90は、カメラ9を上下方向に移動させる装置である。カメラ移動装置90は、冷蔵室扉7の内側の面に設けられている。
カメラ移動装置90は、カメラ9を可動範囲内で上下方向に移動させる。可動範囲は、予め設定された範囲である。ここでは、可動範囲の上端は、冷蔵室10内の上端部である。また、可動範囲の下端は、最も下にあるドアポケット13の直上の位置である。
次に、図4及び図5を参照しながら、カメラ移動装置90の構成について説明する。カメラ移動装置90は、ステッピングモータ91、ウォームギヤ92、ピニオン93、ラック94、ガイド部95及びカメラ支持部98を備えている。カメラ9は、カメラ支持部98に固定されている。ガイド部95は、冷蔵室扉7に固定されている。カメラ支持部98は、ガイド部95に対して移動可能である。ガイド部95は、少なくとも前述した可動範囲にわたって上下方向に沿って配置されている。ガイド部95は、前述した可動範囲にわたるカメラ9及びカメラ支持部98の移動を案内する。
図4に示すように、カメラ支持部98には、ステッピングモータ91、ウォームギヤ92及びピニオン93が取り付けられている。ガイド部95には、ラック94が取り付けられている。ラック94は、前述した可動範囲にわたって上下方向に沿って配置されている。
ステッピングモータ91は、カメラ9の移動を駆動する。ステッピングモータ91の駆動軸には、ウォームギヤ92が固定されている。ピニオン93は、大ギヤと小ギヤとが一体に構成されている。ピニオン93の大ギヤと小ギヤとは回転軸が同一となるように固定されている。ピニオン93の大ギヤは、ウォームギヤ92と噛み合っている。ピニオン93の小ギヤは、ラック94と噛み合っている。
ステッピングモータ91によりウォームギヤ92を回転させると、ピニオン93が回転する。ラック94と噛み合った状態のピニオン93が回転することで、ピニオン93の回転軸がラック94に沿って直線状に移動する。ピニオン93の回転軸は、カメラ支持部98に回転可能に支持されている。したがって、このようなラック・アンド・ピニオン機構により、カメラ移動装置90は、ステッピングモータ91の回転運動をガイド部95に対するカメラ支持部98の直線運転に変換し、冷蔵室扉7に対してカメラ9を上下方向に移動させる。
図3に示すように、冷蔵庫100は、制御装置8を備えている。制御装置8は、例えば、冷蔵庫100の背面側の上部に収容されている。制御装置8には、冷蔵庫100の動作に必要な各種の制御を実施するための制御回路等が備えられている。
次に、図6を参照しながら、冷蔵庫100の制御系統の構成を説明する。制御装置8は、例えばマイクロコンピュータを備えており、プロセッサ8a及びメモリ8bを備えている。制御装置8は、メモリ8bに記憶されたプログラムをプロセッサ8aが実行することにより、予め設定された処理を実行し、冷蔵庫100を制御する。
冷蔵庫100は、各貯蔵室へ供給する空気を冷却する冷凍サイクル回路を備えている。冷凍サイクル回路は、圧縮機2と、いずれも図示しない凝縮器、絞り装置及び冷却器等とによって構成されている。圧縮機2は、冷凍サイクル回路内の冷媒を圧縮し吐出する。凝縮器は、圧縮機2から吐出された冷媒を凝縮させる。絞り装置は、凝縮器から流出した冷媒を膨張させる。冷却器は、絞り装置で膨張した冷媒によって各貯蔵室へ供給する空気を冷却する。圧縮機2は、例えば、冷蔵庫100の背面側の下部に配置される。
冷蔵庫100には、冷凍サイクル回路によって冷却された空気を各貯蔵室へ供給するための図示しない風路が形成されている。この風路は、主に冷蔵庫100内の背面側に配置されている。冷凍サイクル回路の冷却器は、この風路内に設置される。また、風路内には、冷却器で冷却された空気を各貯蔵室へ送るための送風ファン4も設置されている。
送風ファン4が動作すると、冷却器で冷却された空気(冷気)が風路を通って冷凍室40、切替室20、製氷室30及び冷蔵室10へと送られ、これらの貯蔵室内を冷却する。野菜室50は、冷蔵室10からの戻り冷気を冷蔵室用帰還風路を介して野菜室50内に導入することで冷却される。野菜室50を冷却した冷気は、野菜室用帰還風路を通って冷却器のある風路内へと戻される(これらの帰還風路は図示していない)。そして、冷却器によって再度冷却されて、冷蔵庫100内を冷気が循環される。
風路からそれぞれの貯蔵室へと通じる中途の箇所には、図示しないダンパが設けられている。各ダンパは、風路の各貯蔵室へと通じる箇所を開閉する。ダンパの開閉状態を変化させることで、各貯蔵室へと供給する冷気の送風量を調節することができる。また、冷気の温度は圧縮機2の運転を制御することで調節することができる。
以上のようにして設けられた圧縮機2及び冷却器からなる冷凍サイクル回路、送風ファン4、風路及びダンパは、貯蔵室の内部を冷却する冷却手段を構成している。
操作パネル6は、操作部6a、表示部6b及びスピーカ6cを備えている。操作部6aは、各貯蔵室の保冷温度及び冷蔵庫100の動作モード(解凍モード等)を設定するための操作スイッチである。表示部6bは、各貯蔵室の温度等の各種情報を表示する液晶ディスプレイである。また、操作パネル6は、操作部6aと表示部6bを兼ねるタッチパネルを備えていてもよい。スピーカ6cは、冷蔵庫100の周囲、特に冷蔵室扉7の前に立つ使用者に対して、音声を鳴らすための音声出力装置である。
冷蔵庫100は、サーミスタ81及び扉開閉検知スイッチ82を備えている。サーミスタ81は、各貯蔵室内の温度を検出する。サーミスタ81は、それぞれの貯蔵室に設置される。扉開閉検知スイッチ82は、貯蔵室の扉の開閉を検知する開閉検知手段である。扉開閉検知スイッチ82は、例えば、冷蔵室10の冷蔵室扉7の開閉を検知する。扉開閉検知スイッチ82は、例えば、一般的なマグネット方式のスイッチである。すなわち、扉開閉検知スイッチ82は、例えば、冷蔵室扉7に埋め込まれた磁石の近接を、冷蔵庫100本体側に設置された一対のリードスイッチによって検出する。
制御装置8には、サーミスタ81から各貯蔵室の内部の温度の検知信号が入力される。また、制御装置8には、操作パネル6の操作部6aからの操作信号も入力される。さらに、制御装置8には、扉開閉検知スイッチ82からの検知信号も入力される。
制御装置8は、入力された信号に基づいて、各貯蔵室の内部が設定された温度に維持されるように、圧縮機2及び送風ファン4等の動作を制御する処理を実行する。すなわち、制御装置8は前述した冷却手段等を制御して、冷蔵庫100の動作を制御する。また、制御装置8は、カメラ9の撮影動作及びカメラ移動装置90によるカメラ9の移動についても制御する。カメラ9が撮影した画像データは、制御装置8に入力される。
次に、図6に加えて図7及び図8も参照して、以上のように構成された冷蔵庫100を備えた冷蔵庫システムの構成について説明する。前述したように、冷蔵庫システムは、冷蔵庫100とサーバ装置200とを備えている。図7に示すように、冷蔵庫100の制御装置8は、カメラ制御部101、庫内変化判定部102、画像アップロード部103及び冷蔵庫通信部110を備えている。また、図8に示すように、サーバ装置200は、記憶部201、特徴量抽出部203、食材識別部204、再学習部207及びサーバ通信部210を備えている。
冷蔵庫通信部110は、冷蔵庫100とサーバ装置200との間で、データを双方向に通信するためのものである。また、サーバ通信部210は、サーバ装置200と冷蔵庫100との間で、データを双方向に通信するためのものである。
冷蔵庫100の制御装置8が備えるカメラ制御部101は、カメラ9とカメラ移動装置90の動作を制御する。カメラ制御部101は、例えば、冷蔵室扉7が開閉された時にカメラ9に冷蔵室10内を撮影させる。冷蔵室扉7が開閉されると、冷蔵室10内の食品が出し入れされ、冷蔵室10内の収納状態が変化する可能性があるためである。カメラ制御部101は、例えば、扉開閉検知スイッチ82により開かれていた冷蔵室扉7が閉じられたことを検知した後、冷蔵室10内が照明されている間にカメラ9に撮影を行わせる。
カメラ制御部101は、カメラ9による冷蔵室10内の撮影を、カメラ移動装置90によるカメラ9の移動と連係して行わせる。次に、カメラ9とカメラ移動装置90との連係した撮影動作について説明する。冷蔵室10内の撮影を行う際、カメラ移動装置90は、途中でカメラ9の移動を停止させながら、前述の可動範囲の一端から他端までカメラ9を移動させる。そして、カメラ9は、カメラ移動装置90がカメラ9の移動を停止させる毎に撮影を行う。
例えば、カメラ移動装置90は、カメラ9を前述の可動範囲の上端から下端までカメラ9を下方向に移動させる。この際、カメラ移動装置90は、冷蔵室10の上端内面と、この上端内面の隣の冷蔵室棚板11との間のにおける少なくとも1箇所でカメラ9を停止させる。そして、この位置で停止している間にカメラ9は画像を撮影する。この時にカメラ9が撮影した画像は、冷蔵室10の上端内面の隣の冷蔵室棚板11すなわち最上段の冷蔵室棚板11の収納状況を示すものである。カメラ9が画像を撮影したら、カメラ移動装置90は、カメラ9の下降を再開する。
また、カメラ移動装置90は、隣り合う冷蔵室棚板11同士の間のそれぞれの少なくとも1箇所でカメラ9を停止させる。そして、この位置で停止している間にカメラ9は画像を撮影する。この時にカメラ9が撮影した画像は、カメラ9の位置のすぐ下にある冷蔵室棚板11の収納状況を示すものである。カメラ9が画像を撮影したら、カメラ移動装置90は、カメラ9の下降を再開する。
これを繰り返し、カメラ9が冷蔵室10の内の最下段の収納状況の画像まで撮影したら、カメラ制御部101は、一連の撮影を終了させる。なお、カメラ9の移動方向は、以上で説明した下方向に限られない。すなわち、カメラ制御部101は、カメラ移動装置90によりカメラ9を前述の可動範囲の下端から上端までカメラ9を上方向に移動させながら、カメラ9による撮影を行ってもよい。
なお、カメラ9の移動量はステッピングモータ91の回転量に比例する。そして、ステッピングモータ91の回転量は、ステップ数を用いて制御することができる。この実施の形態では、カメラ制御部101は、カメラ移動装置90のステッピングモータ91のステップ数を用いてカメラ9の移動量を制御している。すなわち、カメラ制御部101は、カメラ9を停止させる位置を、ステッピングモータ91のステップ数を計数することで特定する。
カメラ制御部101は、扉開閉検知スイッチ82が冷蔵室扉7の閉動作を検知した場合に、前述の可動範囲の一端にカメラ9を移動させてステッピングモータ91のゼロ点補正を行うようにするとよい。すなわち、扉開閉検知スイッチ82が冷蔵室扉7の閉動作を検知した場合、カメラ制御部101は、まず最初にカメラ移動装置90にカメラ9を前述の可動範囲の例えば上端に移動させる。そして、カメラ制御部101は、ステッピングモータ91のステップ数の計数値を0にする。このようにすることで、ステッピングモータ91のステップ数と実際のカメラ9の位置とのずれを修正することができる。
なお、冷蔵室棚板11の位置が固定されていて変更できない場合、カメラ9を停止させる位置も固定できる。したがって、例えば、カメラ制御部101は、カメラ9を停止させる位置についての情報、例えばステッピングモータ91のステップ数を予め記憶しておく。そして、ステッピングモータ91のステップ数が、予め記憶していた値になったときに、カメラ制御部101は、カメラ移動装置90によるカメラ9を停止させることが考えられる。
カメラ制御部101は、以上のようにしてカメラ9が撮影した冷蔵室10内の画像を取得する。庫内変化判定部102は、カメラ9が撮影した冷蔵室10内の画像について、前回の撮影時から変化があったか否かを判定する。このため、制御装置8のメモリ8bには、少なくとも前回にカメラ9が撮影した冷蔵室10内の画像が保持されている。そして、庫内変化判定部102は、前回の画像と、今回カメラ9が撮影した画像とを比較し、前回の撮影時から変化があったか否かを判定する。
画像アップロード部103は、前回の撮影時からカメラ9が撮影した画像に変化があったと庫内変化判定部102が判定した場合に、今回カメラ9が撮影した画像をサーバ装置200にアップロードする。画像アップロード部103が、サーバ装置200にアップロードする画像は、冷蔵庫通信部110を介してサーバ装置200へと送信される。このようにして、画像アップロード部103及び冷蔵庫通信部110は、カメラ9が撮影した画像をサーバ装置200に送信する送信部を構成している。
サーバ装置200のサーバ通信部210は、冷蔵庫100から送信された画像を受信する。特徴量抽出部203は、サーバ通信部210が受信した画像の特徴量を抽出する。すなわち、特徴量抽出部203は、カメラ9が撮影した画像の特徴量を抽出する。食材識別部204は、特徴量抽出部203が抽出した特徴量から食材を識別する。食材の識別には、食材の画像の特徴量と当該食材との対応関係を学習した学習済みデータが用いられる。学習済みデータは、記憶部201に予め記憶されている。
図9に、この学習済みデータの一例を示す。学習済みデータは、食材のそれぞれに、当該食材の形状、大きさ、色及び外装ラベルの少なくとも1つを対応付けられたデータの集合である。この意味で、記憶部201は、食材のそれぞれに、当該食材の形状、大きさ、色及び外装ラベルの少なくとも1つを対応付けて予め記憶している。
学習済みデータは、食材のそれぞれについて、当該食材を他の食材と区別することができる特徴的な属性を記憶している。ここでは、当該食材自体又は当該食材が入った容器の特徴量を、当該食材に対応付けて記憶している。具体的には、各食材種類について、形状(輪郭)、直軸の大きさ、代表色(RGB値)及びラベル(文字)等の情報を特徴量としている。
なお、学習済みデータに記憶する食材毎の形状としては、ここで例に挙げた輪郭の他、例えば、当該食材の外形に最も近い幾何学的形状(例えば、円柱、台形等)としてもよい。この場合、食材識別部204による識別においては、例えば、パターンマッチング等の手法により学習済みデータに記憶されている形状との照合を行う。また、色については、代表色のRGB値の他、例えば明度、彩度等の他の指標値を用いるようにしてもよい。
食材識別部204は、特徴量抽出部203が抽出した特徴量について、以上のような学習済みデータにおける、どの食材の特徴量と合致するかを照合する。そして、学習済みデータにおける特徴量との合致度が最大となる食材を識別結果とする。この際、合致度の最大値が一定の基準値以上でない場合、換言すれば、特徴量の合致度が基準値以上となる食材が学習済みデータ中に存在しない場合、当該特徴量の画像については食材識別不能としてもよい。
なお、図9に例示した学習済みデータでは、食材の種類を識別するものであったが、他にも例えば食材の商品名まで識別できるようにしてもよい。1つの食材の種類又は商品名について対応付けられる特徴量は、各属性につき1つの値とする必要はない。例えば、各属性につき複数の値を対応付けてもよいし、一定範囲の値を対応付けてもよい。
また、食材識別部204が用いる識別手法は、以上で説明したパターンマッチング等に限られない。他に例えば、ニューラル・ネットワーク等の手法を用いてもよい。この際、学習済みデータは食材識別部204が用いる識別手法に合わせて適切なものが用意される。
再学習部207は、食材識別部204が食材を識別した場合に、今回の識別に係る特徴量を当該食材と対応させた再学習を行う。そして、再学習部207は、この再学習によって、記憶部201に記憶された前述の学習済みデータを更新する。
このように、食材を識別する度に、食材の画像の特徴量と当該食材との対応関係を学習させるためのデータセットを自動的に取得できる。そして、今回の食材の識別に用いた画像を学習用データとして再学習を自動的に行って学習量を増加させ、食材識別精度の向上及び識別可能な食材の範囲の拡大を図ることが可能である。
この実施の形態で説明する構成例では、図8に示すように、サーバ装置200は、食材リスト出力部205及び正誤入力部206をさらに備えている。食材リスト出力部205は、食材識別部204による食材の識別結果を食材リストとして出力する。食材リスト出力部205が出力した食材リストは、サーバ通信部210から冷蔵庫100へと送信される。
サーバ装置200から送信された食材リストは、冷蔵庫100の冷蔵庫通信部110により受信される。冷蔵庫通信部110が受信した食材リストは、冷蔵庫100の操作パネル6により使用者に報知される。例えば、制御装置8は、冷蔵庫通信部110が受信した食材リストの内容をスピーカ6cに再生させ、使用者に食材リストの内容を音声で知らせる。また、他に例えば、制御装置8は、冷蔵庫通信部110が受信した食材リストの内容を表示部6bに文字メッセージ等で表示させてもよい。さらに他にも、例えば、使用者が使用するスマートフォン等の携帯端末、使用者の家宅内に設置されたテレビ又はパソコン等を用いて、音声及び文字の一方又は両方により食材リストの内容を知らせてもよい。なお、食材リストの内容を知らせる際、食材リストの項目毎に後述する領域特定部202が特定した領域の画像を例えば表示部6b等に併せて表示するようにしてもよい。
正誤入力部206は、食材リスト出力部205が出力した食材リストの各項目の正誤を使用者が入力可能である。この実施の形態の構成例では、使用者は、サーバ装置200の正誤入力部206に直接に入力するのではなく、冷蔵庫100の操作パネル6、又は、スマートフォン等の携帯端末、テレビ、パソコン等の入力インターフェースを介して、食材リストの各項目について正誤を入力する。すなわち、使用者は、例えば操作パネル6の操作部6a等を操作して、食材リストの各項目について、識別結果が正解であるか誤りであるかの正誤情報を入力する。この際、食材リストに含まれる識別結果が誤りである場合、単に誤りであることを入力できるだけでなく、使用者が識別結果を訂正できるようにしてもよい。
冷蔵庫100の操作パネル6に入力された正誤情報は、冷蔵庫通信部110からサーバ装置200へと送信される。冷蔵庫100から送信された正誤情報は、サーバ装置200のサーバ通信部210により受信される。サーバ通信部210が受信した正誤情報は、正誤入力部206に入力される。
再学習部207は、正誤入力部206への入力内容を用いた再学習を行う。そして、再学習部207は、この再学習によって記憶部201に記憶された前述の学習済みデータを更新する。正誤入力部206への入力内容を用いた再学習において、再学習部207は、正誤入力部206に正解であると入力された食材について、今回の識別に係る特徴量と当該食材との対応(結び付き)をより強くする。
一方、再学習部207は、正誤入力部206に誤りであると入力された食材について、今回の識別に係る特徴量を前述した学習済みデータから削除する。なお、正誤入力部206に訂正後の食材情報が入力された場合、再学習部207は、まず誤判定に繋がった今回の特徴量を前述の学習済みデータから削除した上で、訂正された食材と今回の特徴量とを対応付けて再学習を行う。
正誤入力部206は、食材リスト出力部205が食材リストを出力してから予め設定された一定時間が経過した時に正誤が入力されていない項目について、「正解」が入力されたとするようにしてもよい。例えば、正誤情報の入力画面において、食材リストの各項目についてデフォルトで「正解」が選択されているようにする。そして、一定時間経過時にその時点で選択されている正誤情報を正誤入力部206に入力する。こうすれば、デフォルトの選択状態から変更されて「誤り」が選ばれていない項目については、自動的に「正解」が入力されるようにすることができる。このようにすることで、使用者が正誤情報を入力する労力を軽減できる。
この実施の形態で説明する構成例では、図8に示すように、サーバ装置200は領域特定部202をさらに備えている。領域特定部202は、カメラ9が撮影した画像中の食材が存在する領域を特定する。この領域の特定は、具体的に例えば、画像中のエッジを検出することで行うことができる。そして、特徴量抽出部203は、領域特定部202が特定した領域毎に特徴量を抽出する。また、食材識別部204は、領域特定部202が特定した領域毎に食材を識別する。
そして、カメラ9は、領域特定部202が特定した同一領域について異なる複数視点から画像を撮影可能である。具体的には、この実施の形態の構成例では、前述したように、カメラ9の位置をカメラ移動装置90により移動できる。このカメラ移動装置90によって、カメラ9は、前述の同一領域について上下方向において異なる複数視点から撮影可能である。
なお、カメラ9を左右方向に移動させるようにしてもよい。このようにすることで、カメラ9は、前述の同一領域について左右方向において異なる複数視点から撮影可能にできる。さらに、カメラ9を複数の異なる位置に配置してもよい。
特徴量抽出部203は、複数視点画像のそれぞれの特徴量を抽出する。複数視点画像とは、領域特定部202が特定した前述の同一領域について前述した複数視点からカメラ9が撮影した画像である。再学習部207は、食材識別部204が食材を識別した場合に、特徴量抽出部203が抽出した前述の複数視点画像のそれぞれの特徴量を当該食材と対応させた再学習を行う。そして、この再学習によって、記憶部201に記憶された前述の学習済みデータを更新する。
このように前述の複数視点画像のそれぞれの特徴量を再学習の際のデータセットとして使用することで、さらに多くの学習用データを自動的に取得できる。そして、再学習による学習量をさらに増加させ、さらなる食材識別精度の向上及び識別可能な食材の範囲の拡大を図ることが可能である。
次に、図10及び図11を参照しながら、このような同一領域について複数の視点から撮影した画像を用いて再学習することで得られる作用について説明する。図10は、再学習前の学習済データにより識別可能な範囲を説明する例である。図11は、図10の例から再学習を行った後の学習済データにより識別可能な範囲を説明する例である。これらの図10及び図11では、識別対象の食材を、いわゆるゲーブルトップ型の紙パック入り牛乳とした場合の例である。
再学習前の学習済データでは、図10に太線で囲って示すA面を正面から見た状態での特徴量のみが牛乳に対応付けられているとする。この場合、カメラ9が撮影した画像にA面を正面から見た状態が写っていれば、食材識別部204は当該食材を牛乳として識別できる。
また、図10に破線で囲って示すように、A面を正面から多少斜めとなる視点から撮影した画像では、A面は歪んで変形しA′面として写る。このようなA′面が写った画像でも、A′面の特徴量とA面の特徴量との合致度が一定以上であれば、食材識別部204は当該食材を牛乳として識別できる。
一方、前述したように、図10の状態における学習済データにはA面を正面から見た状態での特徴量しか牛乳に対応付けられていない。このため、それぞれA面の隣の面である、B面を正面から見た視点の画像、及び、C面を正面から見た視点の画像からは食材識別部204は当該食材を牛乳として識別できない。したがって、図10の再学習前の状態では同図に破線で囲って示す範囲が牛乳として識別可能な範囲となる。
この識別可能なA′面が写った画像では、B面が変形したB′面、又は、C面が変形したC′面も写っている。この実施の形態の冷蔵庫システムでは、A′面及びB′面が写った画像から牛乳を識別した際に、このA′面及びB′面が写った画像から抽出した特徴量と牛乳とを対応付けた再学習が再学習部207により行われる。また、A′面及びC′面が写った画像から牛乳を識別した際には、このA′面及びC′面が写った画像から抽出した特徴量と牛乳とを対応付けた再学習が再学習部207により行われる。
このようにして、再学習後の学習済データでは、図11に示す太線で囲って示す範囲の特徴量が、牛乳に対応付けられている。すなわち、A面を正面から見た状態での特徴量の他にも、A面を斜めから見たA′面、B面を斜めから見たB′面、及び、C面を斜めから見たC′面のそれぞれの特徴量が、再学習後の学習済データでは牛乳に対応付けられる。
このような再学習後の学習済データを用いた識別では、特にB′面の特徴量との合致度が再学習前より大きくなることで、B面を正面から見た視点の画像からも、食材識別部204は当該食材を牛乳として識別できる。また、C面を正面から見た視点の画像からは、C′面の特徴量との合致度が再学習前より大きくなることで、食材識別部204は当該食材を牛乳として識別できる。したがって、図11の再学習後の状態では同図に破線で囲って示す範囲まで牛乳として識別可能になる。
このようにして、この実施の形態に係る冷蔵庫システムによれば、再学習により学習済みデータを更新していくことで、識別可能範囲の拡大を図ることができる。そして、このような再学習を繰り返すことで、最終的には、冷蔵室10内にどのような向きで食品が置かれたとしても、当該食品を識別できるようになる。
なお、カメラ9が同一の視点からの画像しか撮影できない場合であっても、使用者が冷蔵室10内の食品を出し入れした際に、冷蔵室10に置かれる当該食品の向きが変われば、カメラ9が撮影した画像に写る当該食品の面も変化する。したがって、カメラ9が同一の視点からの画像しか撮影できない場合にも、再学習により識別可能範囲の拡大を一定程度図ることが可能である。
次に、図12から図14を参照しながら、以上のように構成された冷蔵庫システムの主要な動作の例について説明する。まず、図12に示すのは、冷蔵庫100からサーバ装置200に冷蔵室10内の画像をアップロードする動作の一例である。
ステップS11において、カメラ制御部101は、冷蔵室扉7の開閉があったか、又は、前回の庫内撮影から予め設定された一定時間が経過したかを確認する。冷蔵室扉7の開閉があったか否かは扉開閉検知スイッチ82の検知結果に基づいて行う。冷蔵室扉7の開閉がなく、かつ、前回の庫内撮影から一定時間が経過していない場合、このステップS11の処理が繰り返される。そして、冷蔵室扉7の開閉があった、又は、前回の庫内撮影から一定時間が経過した場合、処理はステップS12へと進む。
ステップS12においては、カメラ制御部101は、カメラ9及びカメラ移動装置90を制御して、冷蔵室10の内部を撮影させる。ステップS12の後、処理はステップS13へと進む。
ステップS13において、庫内変化判定部102は、ステップS12でカメラ9が撮影した画像と前回撮影した画像とを比較する。そして、画像に前回から変化がない場合は今回撮影した画像はアップロードされずに一連の動作は終了する。一方、画像が前回から変化した場合、処理はステップS14へと進む。
ステップS14において、画像アップロード部103は、ステップS12でカメラ9が撮影した画像を冷蔵庫通信部110を介してサーバ装置200へと送信する。ステップS14の処理が完了すれば、一連の動作は終了となる。
次に、図13に示すのは、サーバ装置200にアップロードされた冷蔵室10内の画像から食材を識別する動作の一例である。サーバ装置200のサーバ通信部210が、冷蔵庫100から送信された画像を受信すると、ステップS21において、領域特定部202は、画像中の食材が存在する領域を特定する。ステップS21の後、処理はステップS22へと進む。
ステップS22において、特徴量抽出部203は、ステップS21で領域特定部202が特定した領域毎に、画像から特徴量を抽出する。ステップS22の後、処理はステップS23へと進む。
ステップS23において、食材識別部204は、記憶部201に記憶された前述の学習済データを用いて、領域特定部202が特定した領域毎に、ステップS22で特徴量抽出部203が抽出した特徴量から食材を識別する。ステップS23の後、処理はステップS24へと進む。
ステップS24において、再学習部207は、ステップS23で食材識別部204が識別した食材と、ステップS22で特徴量抽出部203が抽出した特徴量とを対応させた再学習を行う。そして、再学習部207は、この再学習によって、記憶部201に記憶された前述の学習済みデータを更新する。ステップS24の後、処理はステップS25へと進む。
ステップS25において、食材リスト出力部205は、ステップS23での食材識別部204による食材の識別結果をリスト化し、食材リストとして出力する。食材リスト出力部205が出力した食材リストは、サーバ通信部210から冷蔵庫100へと送信され、使用者に知らされる。ステップS25の処理が完了すれば、一連の動作は終了となる。
次に、図14に示すのは、図13のステップS25で食材リスト出力部205が食材リストを出力した後の動作の一例である。出力された食材リストは、前述したように冷蔵庫100へと送信されて使用者に知らされる。使用者は、操作パネル6等で食材リストの内容を確認し、食材リストの各食材項目について識別結果が正しいか否かの正誤情報を入力できる。使用者が正誤情報を入力すれば、当該正誤情報はサーバ装置200へと送られて正誤入力部206に入力される。ステップS31においては、正誤入力部206は、正誤入力部206に正誤情報の入力があったか否かを確認する。正誤入力部206に入力があった場合、処理はステップS32へと進む。
ステップS32において、再学習部207は、正誤入力部206への入力内容が、食材リストに誤りがあるというものであるか否かを確認する。正誤入力部206への入力内容が食材リストに誤りがあるというものでない場合、処理はステップS33へと進む。
正誤入力部206への入力内容が食材リストに誤りがあるというものでない場合、食材リストとして出力された食材識別部204の識別結果は正しいと使用者に判断されたことになる。したがって、ステップS33では、再学習部207は、正誤入力部206に正解であると入力された食材について、今回の識別に係る特徴量と当該食材との対応(結び付き)を強化する。そして、再学習部207は、記憶部201の前述した学習済みデータを強化後の内容に更新する。ステップS33の処理が完了すれば、一連の動作は終了となる。
一方、ステップS32で正誤入力部206への入力内容が食材リストに誤りがあるというものである場合、処理はステップS34へと進む。ステップS34において、再学習部207は、正誤入力部206に誤りであると入力された食材について、今回の識別に係る特徴量を前述した学習済みデータから削除する。そして、再学習部207は、記憶部201の前述した学習済みデータを削除後の内容に更新する。ステップS34の処理が完了すれば、一連の動作は終了となる。
また一方、ステップS31で正誤入力部206に入力がない場合、処理はステップS35へと進む。ステップS35において、正誤入力部206は、食材リスト出力部205が食材リストを出力してから予め設定された一定時間が経過したか否かを確認する。食材リストの出力後に一定時間が経過していない場合、処理はステップS31へと戻る。
一方、食材リストの出力後に一定時間が経過した場合、正誤入力部206は食材リストの識別結果は正しい旨の入力がなされたものとする。したがって、この場合、処理はステップS33へと進み、前述した結び付きを強化する再学習と学習済みデータの更新が行われる。
実施の形態2.
図15及び図16は、この発明の実施の形態2に係るものである。図15は冷蔵庫システムが備えるサーバ装置の構成を示すブロック図である。そして、図16はサーバ装置の棚位置検知に係る動作の一例を示すフロー図である。
ここで説明する実施の形態2は、前述した実施の形態1の構成において冷蔵室棚板の位置を変更可能な場合に、カメラが撮影した画像から冷蔵室棚板の位置を検出して、カメラの移動量を調整するようにしたものである。以下、この実施の形態2に係る冷蔵庫について、実施の形態1との相違点を中心に説明する。説明を省略した他の構成については実施の形態1と基本的に同様である。
この実施の形態に係る冷蔵庫システムにおいては、図15に示すように、サーバ装置200には、さらに棚位置検出部208を備えている。棚位置検出部208は、カメラ9が撮影した画像から、貯蔵室すなわちここでは冷蔵室10内の棚の位置を検出する。この実施の形態では、まず、最初にカメラ移動装置90で前述の可動範囲の全体にカメラ9を移動させながら、カメラ9で画像を撮影する。この際の撮影位置は、最終的にカメラ9で撮影可能な冷蔵室10の全範囲を網羅できれば、特に限定されない。そして、冷蔵庫通信部110は、こうして撮影した画像をサーバ装置200へと送信する。
サーバ装置200のサーバ通信部210は、冷蔵庫100から送信された画像を受信する。そして、棚位置検出部208は、サーバ通信部210が受信した画像を解析し、現在の冷蔵室棚板11の位置を検出する。棚位置検出部208が検出した冷蔵室棚板11の位置に関する情報は、サーバ通信部210により冷蔵庫100へと送信される。
冷蔵庫通信部110は、サーバ装置200から送信された冷蔵室棚板11の位置に関する情報を受信する。そして、カメラ制御部101は、カメラ移動装置90を制御して棚位置検出部208が検出した棚の位置に合わせてカメラ9を上下方向に移動させる。
次に、図16を参照しながら、棚位置の検出動作の一例について説明する。サーバ装置200のサーバ通信部210が、冷蔵庫100から送信された画像を受信すると、ステップS41において、棚位置検出部208は、画像から冷蔵室棚板11の位置を検出する。ステップS41の後、処理はステップS42へと進む。ステップS42において、サーバ通信部210は、ステップS41で棚位置検出部208が検出した冷蔵室棚板11の位置に関する情報を冷蔵庫100へと送信する。ステップS42の処理が完了すれば、一連の動作は終了となる。
なお、カメラ9から冷蔵室棚板11の冷蔵室扉7側の先端までの距離を赤外線センサ等で計測することで、冷蔵室棚板11の位置を検出してもよい。また、冷蔵室棚板11の冷蔵室扉7側の先端部に、蛍りん光体をつけ、冷蔵室10の照明を消してカメラ9で撮影し、光る場所から冷蔵室棚板11の位置を検出してもよい。
以上のように構成された冷蔵庫シムテムにおいても、実施の形態1と同様の効果を奏することができる。さらに、冷蔵室棚板11の位置が変更されたり、冷蔵室棚板11が取り外されたりしても、冷蔵室棚板11の位置に合わせて適切な庫内画像を撮影できる。
実施の形態3.
図17及び図18は、この発明の実施の形態3に係るものである。図17は冷蔵庫システムが備えるサーバ装置の構成を示すブロック図である。そして、図18はサーバ装置の食材識別動作の一例を示すフロー図である。
ここで説明する実施の形態3は、前述した実施の形態1又は実施の形態2の構成において、食材の種類と商品名のどちらを識別するのか、又は、学習済みデータの量に応じて識別に使用する手法を変更するようにしたものである。以下、この実施の形態3に係る冷蔵庫について、実施の形態1の構成を元にした場合を例に挙げ、実施の形態1との相違点を中心に説明する。説明を省略した構成については実施の形態1又は実施の形態2と基本的に同様である。
この実施の形態に係る冷蔵庫システムにおいては、図17に示すようにサーバ装置200は、識別手法決定部209を備えている。識別手法決定部209は、食材識別部204で用いる識別手法を決定する。そして、食材識別部204は、識別手法決定部209が決定した識別手法を用いて、カメラ9が撮影した画像からの食材の識別を行う。なお、食材識別部204で用いる識別手法に応じて、使用する学習済みデータ、及び、特徴量抽出部203における特徴量の抽出手法も変更される。
まず、食材識別部204は、食材の種類を識別する場合と食材の商品名を識別する場合とで異なる識別手法を用いる。具体的には、食材の種類を識別する場合、識別手法決定部209は、識別手法をディープラーニングに決定する。そして、食材識別部204はディープラーニング用の学習済みデータを記憶部201から取得して、食材を識別する。
一方、食材の商品名を識別する場合、識別手法決定部209は、識別手法をSIFT(Scale−Invariant Feature Transform)又はSURF(Speeded Up Robust Features)等を用いたパターンマッチングに決定する。この場合、特徴量抽出部203は、カメラ9が撮影した画像について、SIFT等の手法を用いて、特徴点を検出し、特徴点から特徴量を抽出する。この特徴量はベクトル量である。そして、食材識別部204は例えばSIFT用の学習済みデータを記憶部201から取得して、食材を識別する。食材の種類と商品名のどちらを識別するかについては、例えば操作パネル6により使用者が選択できるようにすることが考えられる。
次に、食材識別部204は、記憶部201に記憶された前述の学習済みデータの量が予め設定された基準量以上か否かに応じて、異なる識別手法を用いる。具体的には、記憶部201に記憶された前述の学習済みデータの量が前述の基準量以上の場合、識別手法決定部209は、識別手法をディープラーニングに決定する。そして、食材識別部204はディープラーニング用の学習済みデータを記憶部201から取得して、食材を識別する。
一方、記憶部201に記憶された前述の学習済みデータの量が前述の基準量未満の場合、識別手法決定部209は、識別手法をSIFT又はSURF等を用いたパターンマッチングに決定する。この場合、特徴量抽出部203は、カメラ9が撮影した画像について、SIFT等の手法を用いて特徴量を抽出する。そして、食材識別部204は例えばSIFT用の学習済みデータを記憶部201から取得して、食材を識別する。
次に、図18を参照しながら、識別手法の決定に係る動作の一例について説明する。食材の識別処理を開始するとき、まず、ステップS51において、識別手法決定部209は、画像から食材の商品名を識別するか否かを確認する。画像から食材の商品名を識別する場合、処理はステップS52へと進む。そして、ステップS52で、識別手法決定部209は、識別手法を第1の識別手法に決定する。第1の識別手法は、具体的にはSIFT又はSURF等を用いたパターンマッチングである。
一方、ステップS51で画像から食材の商品名を識別せず、食材の種類を識別する場合、処理はステップS53へと進む。ステップS53において、識別手法決定部209は、記憶部201に記憶された前述の学習済みデータの量が前述の基準量未満か否かを確認する。学習済みデータの量が基準量未満の場合、処理はステップS54へと進む。そして、ステップS54で、識別手法決定部209は、識別手法を第2の識別手法に決定する。第2の識別手法は、具体的にはSIFT又はSURF等を用いたパターンマッチングである。
一方、ステップS53で学習済みデータの量が基準量以上の場合、処理はステップS55へと進む。そして、ステップS55で、識別手法決定部209は、識別手法を第3の識別手法に決定する。第3の識別手法は、具体的にはディープラーニングである。そして、以上のようにして識別手法決定部209が決定した手法に応じて、特徴量抽出部203及び食材識別部204は処理を行う。
以上のように構成された冷蔵庫においても、実施の形態1又は実施の形態2と同様の効果を奏することができる。さらに、食材の種類と商品名のどちらを識別するのか、又は、学習済みデータの量に応じて識別に使用する手法を変更することで、より状況に応じて適した識別手法を用いることができ、識別精度を向上できる。
実施の形態4.
図19及び図20は、この発明の実施の形態4に係るものである。図19は冷蔵庫システムが備える第2サーバ装置の構成を示すブロック図である。そして、図20は冷蔵庫システムが備えるサーバ装置の注文履歴受信時の動作の一例を示すフロー図である。
ここで説明する実施の形態4は、前述した実施の形態1から実施の形態3のいずれかの構成において、食材の識別に使用者のインターネットのショッピングサイト等での注文履歴も用いるようにしたものである。以下、この実施の形態4に係る冷蔵庫について、実施の形態1の構成を元にした場合を例に挙げ、実施の形態1との相違点を中心に説明する。説明を省略した構成については実施の形態1から実施の形態3のいずれかと基本的に同様である。
この実施の形態に係る冷蔵庫システムは、第2サーバ装置300を備えている。第2サーバ装置300は、例えばインターネットのショッピングサイトの注文履歴管理サーバである。使用者は、例えば、冷蔵庫100の操作部6a、自身が所有するスマートフォン等の携帯端末、パソコン等を操作し、例えば、第2サーバ装置300を通じて所望する商品(食材)を注文できる。
図19に示すように、第2サーバ装置300は、注文履歴記憶部301及び注文履歴送信部302を備えている。注文履歴記憶部301は、使用者が注文した商品の注文履歴を記憶している。注文履歴送信部302は、注文履歴記憶部301に記憶されている使用者の注文履歴を、サーバ装置200に送信する。第2サーバ装置300から送信された注文履歴は、サーバ装置200のサーバ通信部210により受信される。食材識別部204は、サーバ通信部210が受信した注文履歴により、識別に使用する学習済データの範囲を調整する。具体的に例えば、食材識別部204は、注文履歴記憶部301に記憶された注文履歴にある商品の範囲内で食材を識別する。
次に、図20を参照しながら、注文履歴を用いた食材識別の調整動作の一例について説明する。サーバ装置200のサーバ通信部210が、第2サーバ装置300から送信された注文履歴を受信すると、ステップS61において、食材識別部204は、サーバ通信部210が受信した注文履歴を用いて、識別に使用する学習済データの範囲を調整する。ステップS61の処理が完了すれば、一連の動作は終了となる。
以上のように構成された冷蔵庫においても、実施の形態1から実施の形態3のいずれかと同様の効果を奏することができる。また、冷蔵庫100の貯蔵室内には、基本的に使用者が購入した食材が格納されると考えられる。したがって、注文履歴記憶部301に記憶された注文履歴にある商品の範囲内で食材を識別するようにすることで、識別精度の向上が期待できる。