以下、本発明による情報処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による情報処理装置及び情報処理方法について、図面を参照しながら説明する。本実施の形態による情報処理装置及び情報処理方法は、商品の撮影画像を用いて、特定したい商品の商品関連情報を取得し、その商品関連情報に対応する商品識別子である商品識別子候補を取得し、特定したい商品について、商品識別子候補で識別される商品に関する画像認識を行って商品を特定するものである。
図1は、本実施の形態による情報処理装置1の構成を示すブロック図である。本実施の形態による情報処理装置1は、受付部11と、取得部12と、記憶部13と、候補特定部14と、画像認識部15と、出力部16とを備える。情報処理装置1は、例えば、スマートフォンやタブレット端末、モバイルパーソナルコンピュータなどのように、持ち運び可能な情報処理端末であってもよく、サーバであってもよく、その他の装置であってもよい。本実施の形態では、情報処理装置1がサーバである場合について主に説明する。
受付部11は、商品の撮影画像を受け付ける。受付部11は、例えば、カメラ等の撮影部から撮影画像を受け付けてもよく、撮影機能を有するデバイス(例えば、スマートフォンやタブレット端末、監視システム等)から撮影画像を受信してもよい。前者の場合には、情報処理装置1が撮影部を備えていてもよい。商品は、例えば、食品であってもよく、日用品であってもよく、家電製品であってもよく、その他の商品であってもよい。商品は、通常、店舗における販売対象となる商品である。
撮影画像は、店舗において撮影された商品の撮影画像であってもよい。撮影画像は、例えば、陳列棚などに陳列されている複数の商品の撮影画像であってもよく、購入者が陳列棚などから手に取った商品の撮影画像であってもよく、レジにおいて並べられた商品の撮影画像(例えば、レジのカウンターやレジのベルトコンベア等に並べられた商品の撮影画像)であってもよい。陳列棚の商品の撮影画像は、例えば、撮影者によって手動で撮影されたものであってもよい。購入者が手に取った商品の撮影画像は、例えば、あらかじめ店舗に配置されているカメラによって撮影されたものであってもよい。レジにおいて並べられた商品の撮影画像は、例えば、レジの上方等に配置されたカメラによって撮影されたものであってもよい。また、撮影画像は、通常、静止画像であるが、動画像であってもよい。撮影画像が動画像である場合には、動画像に含まれる少なくとも1つのフレームについて、後述する各処理が行われてもよい。撮影画像は、カラーの画像であることが好適であるが、白黒の画像であってもよい。
受付部11は、例えば、カメラなどの撮影部からの撮影画像を受け付けてもよく、有線または無線の通信回線を介して送信された撮影画像を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された撮影画像を受け付けてもよい。なお、受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、受付部11は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
取得部12は、撮影画像に含まれる商品(厳密には「商品の画像」であるが、簡単のために「商品」と呼ぶことにする。)に関連する商品関連情報を、撮影画像を用いて取得する。取得される商品関連情報は、1種類でもよく、または、2種類以上であってもよい。取得部12によって取得される商品関連情報は、撮影画像を用いて取得することができる情報である。取得部12は、例えば、商品のサイズを示すサイズ情報である商品関連情報を取得してもよく、商品の色に関する色情報である商品関連情報を取得してもよく、商品の形状を示す形状情報である商品関連情報を取得してもよく、商品に表示された文字を示す文字情報である商品関連情報を取得してもよく、それら以外の商品関連情報を取得してもよい。撮影画像から各商品関連情報を取得する方法については後述する。
1以上の商品関連情報の取得する対象となる商品は、例えば、撮影画像に含まれるすべての商品であってもよく、特定の商品であってもよい。撮影画像に含まれるすべての商品について商品関連情報を取得する場合には、取得部12は、撮影画像において物体検出を行い、検出したすべての物体について商品関連情報を取得してもよい。物体検出は、例えば、パターンマッチングやCNNの学習済みモデル等を用いて行われてもよい。撮影画像に含まれる特定の商品について商品関連情報を取得する場合には、例えば、取得部12は、物体検出によって検出した物体のうち、販売対象の商品についてのみ商品関連情報の取得を行ってもよく、購入者が手に取った商品についてのみ商品関連情報の取得を行ってもよい。検出された物体が販売対象の商品であるのかどうかについては、例えば、あらかじめ登録されている販売対象ではない物体の情報を用いて判断されてもよい。また、購入者が手に取った商品であるのかどうかについては、例えば、撮影画像において購入者の手を検出し、その検出した手のひらの位置に商品が存在するかどうかによって判断されてもよい。また、購入者の体についても撮影画像に含まれる場合には、取得部12は、例えば、購入者の骨格推定を行い、その骨格推定の結果に基づいて、手の先端の位置に存在する物体(商品)を特定し、その特定した物体について商品関連情報の取得を行ってもよい。骨格推定には、例えば、学習済みモデル等を用いてもよい。本実施の形態では、取得部12が、購入者が手に取った商品について商品関連情報の取得を行う場合について主に説明する。
取得部12は、例えば、商品関連情報の取得対象である商品の近くに存在する基準となるサイズと、その商品のサイズとの撮影画像における比較結果、及び、その基準となるサイズの実空間でのサイズを用いて、商品のサイズ情報である商品関連情報を所得してもよい。基準となるサイズは、例えば、基準となる物体のサイズであってもよく、陳列棚などに所定の間隔で配置されているマーカの間隔であってもよい。例えば、撮影画像において商品のサイズが、基準となるサイズのA1倍であり、実空間における基準となるサイズがA2である場合には、商品のサイズ情報として、A1×A2が取得されてもよい。なお、商品が直方体形状や円柱形状である場合に、取得部12は、例えば、縦横などのすべてのサイズを示すサイズ情報(例えば、立方体形状の商品では「B1×B2×B3」であり、円柱形状の商品では「B4(直径)×B5(軸方向の長さ)」など)を取得してもよく、代表サイズを示すサイズ情報を取得してもよい。代表サイズは、例えば、商品の輪郭のうち、最も長い箇所の長さであってもよく、縦横奥行きなどのうち、最も長い長さであってもよい。本実施の形態では、この代表サイズであるサイズ情報が取得される場合について主に説明する。
また、取得部12は、例えば、カメラから商品までの距離を取得し、その距離とカメラの画角とを用いて、商品のサイズ情報である商品関連情報を取得してもよい。カメラから商品までの距離を取得する方法は問わないが、例えば、次の文献に記載されているように、レンズによって生じる画像のボケを解析することによって、1枚の撮影画像から画像内の各物体までの距離を測定してもよい。
文献:Masako Kashiwagi, Nao Mishima, Tatsuo Kozakaya, Shinsaku Hiura,「Deep Depth from Aberration Map」, ICCV2019, 2019年
また、カメラの画角については、撮影画像に含まれる撮影条件によって示される焦点距離を用いて算出されてもよい。カメラの画角と商品までの距離とを用いることによって、商品の撮影画像上のサイズ(例えば、ピクセル数など)を、実空間におけるサイズ(長さ)に変換することができる。したがって、取得部12は、例えば、撮影画像における商品のピクセル数を取得し、それを実空間におけるサイズに変換することによって、商品のサイズ情報を取得してもよい。
取得部12は、例えば、画像の色情報を取得するソフトウェアやAPI(Application Programming Interface)を用いて、商品の色情報である商品関連情報を取得してもよい。色情報は、例えば、商品の画像において使用されている主要な色(ドミナントカラー)を示す情報であってもよい。例えば、多く使用されている順に所定個数の色の識別子を含む色情報が取得されてもよい。より具体的には、最も多く使用されている色の識別子(例えば、RGBの情報、CMYKの情報、HEXなど)と、次に多く使用されている色の識別子とが取得されてもよい。取得部12は、例えば、商品関連情報の取得対象である商品の画像を切り出し、その切り出した画像について色情報を取得してもよい。そのような色情報を取得するAPI等として、例えば、Google(登録商標) CloudのVision APIにおける画像プロパティーの検出機能を用いてもよい。また、色情報は、上記以外の情報、例えば、商品の画像の色の平均を示す情報等であってもよい。
取得部12は、例えば、パターンマッチング等を行うことによって、商品の形状情報である商品関連情報を取得してもよい。例えば、商品の形状「直方体」「円柱」「角底袋」等についてパターン情報が記憶されている場合には、取得部12は、商品の画像に最もマッチするパターン情報を特定し、そのパターン情報に対応する形状を示す形状情報を取得してもよい。また、形状情報の取得に、例えば、CNNの学習済みモデルなどが用いられてもよい。
取得部12は、例えば、商品の画像について文字認識を行うことによって、商品に表示された文字を示す文字情報である商品関連情報を取得してもよい。文字情報は、文字列を示す情報であってもよい。この文字認識は、例えば、OCR(Optical Character Recognition)等においてすでに知られており、詳細な説明を省略する。なお、上記した色情報を取得するAPIを用いることによって、文字認識も一緒に行うことができる場合もある。
取得部12が、2種類以上の商品関連情報を取得することになっていたとしても、すべての商品関連情報を取得できないこともある。そのような場合には、一部の商品関連情報は取得されなくてもよい。例えば、撮影画像に含まれる商品の画像にマッチするパターン情報が存在しなかった場合には、取得部12は、形状情報である商品関連情報を取得しなくてもよい。
なお、取得部12は、2種類以上の商品関連情報と、その2種類以上の商品関連情報ごとの信頼度とを取得してもよい。信頼度は、取得された商品関連情報の確からしさを示す情報である。サイズ情報の信頼度は、例えば、撮影画像を用いて取得されたサイズに関する測定誤差に応じた値であってもよい。測定誤差は、例えば、商品と基準となるサイズとの距離が大きくなるほど大きくなってもよい。この場合には、誤差が大きいほど、信頼度はより低くなる。また、色情報の信頼度は、例えば、撮影画像を用いて取得された色の識別子に関する測定誤差に応じた値であってもよい。測定誤差は、例えば、商品の画像において使用されている色の個数が多くなるほど大きくなってもよい。通常、商品パッケージで使用される色の個数は多くないと考えられるところ、撮影時の反射や映り込み等によって色の個数が多くなった場合には、色の識別子に関する測定誤差も大きいと考えられるからである。この場合には、誤差が大きいほど、信頼度はより低くなる。形状情報の信頼度は、例えば、パターンとのマッチングの程度を示す情報や、CNNなどの学習済みモデルを用いた形状情報の取得における確信度であってもよい。前者の場合には、パターンとのマッチングの程度が高いほど、信頼度はより高くなる。文字情報の信頼度は、例えば、文字認識における誤差や精度に応じた値であってもよい。この場合には、例えば、誤差が大きいほど、信頼度はより低くなり、精度が高いほど、信頼度はより高くなる。
記憶部13では、複数の商品対応情報が記憶される。商品対応情報は、商品を識別する商品識別子と、商品に関連する商品関連情報とを対応付ける情報である。商品対応情報において、商品識別子には、取得部12によって取得される1以上の種類の商品関連情報が対応付けられていることが好適である。例えば、取得部12によって4つの商品関連情報、すなわちサイズ情報、色情報、形状情報、文字情報のそれぞれが取得される場合には、商品対応情報は、商品識別子と、それらの複数の商品関連情報とを対応付ける情報であってもよい。商品対応情報において商品識別子と対応付けられる1以上の商品関連情報は、実際の商品から取得された情報である。
記憶部13に複数の商品対応情報が記憶される過程は問わない。例えば、記録媒体を介して複数の商品対応情報が記憶部13で記憶されるようになってもよく、通信回線等を介して送信された複数の商品対応情報が記憶部13で記憶されるようになってもよく、または、入力デバイスを介して入力された複数の商品対応情報が記憶部13で記憶されるようになってもよい。記憶部13は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
候補特定部14は、記憶部13で記憶されている複数の商品対応情報を用いて、取得部12によって取得された1種類以上の商品関連情報に対応する商品識別子である1以上の商品識別子候補を特定する。取得部12によって2種類以上の商品関連情報が取得された場合には、その2以上の商品関連情報に対応する商品識別子である商品識別子候補が特定されることが好適である。例えば、ある商品についてサイズ情報、色情報、形状情報、文字情報である4種類の商品関連情報がそれぞれ取得された場合には、ある商品対応情報において、商品識別子に対応するサイズ情報、色情報、形状情報が、取得されたサイズ情報、色情報、形状情報と一致しており、その商品識別子に対応する文字情報が、取得された文字情報を含むときに、候補特定部14は、その商品識別子である商品識別子候補を特定してもよい。なお、サイズ情報、または色情報が一致するとは、例えば、サイズ情報、または色情報が所定の誤差の範囲内で一致することであってもよい。候補特定部14は、例えば、取得部12によって取得された1種類以上の商品関連情報を検索キーとして複数の商品対応情報を検索し、ヒットした商品対応情報に含まれる商品識別子を、商品識別子候補として特定してもよい。また、取得された1種類以上の商品関連情報に対応する商品識別子が2以上存在する場合には、その2以上の商品識別子である商品識別子候補がそれぞれ特定されることになる。特定された商品識別子候補によって識別される商品が、商品関連情報が取得された商品の候補となる。このように、撮影画像から取得された商品のサイズ情報、色情報、形状情報、文字情報を用いて、その商品の候補を絞り込むことができる。なお、商品識別子候補を特定するとは、例えば、その特定された商品識別子候補が所定の記録媒体に蓄積されることであってもよく、その特定された商品識別子候補に対応付けて、特定された旨を示すフラグ等の情報が設定されることであってもよい。
なお、候補特定部14は、記憶部13で記憶されている複数の商品対応情報において、取得部12によって取得された2種類以上の商品関連情報に対応する商品識別子が存在しない場合に、取得部12によって取得された2種類以上の商品関連情報のうち、信頼度の高い商品関連情報を用いて商品識別子候補を特定してもよい。例えば、4種類の商品関連情報が取得された場合であって、その4種類の商品関連情報のすべてに対応する商品識別子が存在しない場合には、候補特定部14は、最も信頼度の低い商品関連情報を除いた3種類の商品関連情報を用いて、商品識別子候補の特定を行ってもよい。3種類の商品関連情報のすべてに対応する商品識別子も存在しない場合には、候補特定部14は、最も信頼度の低い商品関連情報を除いた2種類の商品関連情報を用いて、商品識別子候補の特定を行ってもよい。このように、商品識別子候補を特定することができるまで、信頼度の低いものから順番に商品関連情報を用いないようにしてもよい。なお、この場合には、商品関連情報と共に、信頼度も取得されているものとする。
また、複数の商品について商品関連情報が取得された場合には、候補特定部14は、その商品ごとに、取得された1以上の商品関連情報を用いた商品識別子候補の特定を行ってもよい。
画像認識部15は、撮影画像に含まれる、商品関連情報が取得された商品について、候補特定部14によって特定された1以上の商品識別子候補で識別される商品に関する画像認識を行って商品識別子を特定する。すなわち、ある商品について1以上の商品関連情報が取得された場合には、撮影画像に含まれるその商品について、その1以上の商品関連情報を用いて特定された1以上の商品識別子候補で識別される商品であるかどうかを確認するための画像認識が行われて、商品識別子が特定される。この画像認識の処理は、取得部12によって商品関連情報が取得された商品ごとに行われる。例えば、複数の商品について商品関連情報が取得された場合には、画像認識部15は、各商品について、画像認識を行って商品識別子を特定してもよい。ある商品について、2以上の商品識別子候補が特定された場合には、その商品の商品識別子は、特定された2以上の商品識別子候補のいずれかであると考えられる。その2以上の商品識別子候補のいずれであるのかを、画像認識部15による画像認識によって決めることになる。なお、特定された商品識別子候補の個数が1個である場合には、画像認識の対象となる商品が、その商品識別子候補で識別されるものであるかどうかが確認されることになる。すなわち、撮影画像に含まれる、商品識別子の特定対象である商品が、その商品識別子候補で識別される商品であるのかどうかが画像認識によって判断されることになる。なお、画像認識の対象が、2以上の商品識別子候補で識別される商品に絞り込まれているため、そのような絞り込みが行われていない場合と比較して、画像認識部15による画像認識の負荷が軽減されると共に、より精度の高い画像認識を実現することができることになる。
画像認識部15は、例えば、特定された2以上の商品識別子候補に対応する画像認識用情報(例えば、パターンの情報や、物体認識用のCNNなどの学習済みモデル等)を用いて、認識対象の商品(すなわち、商品識別子の特定対象である商品)が、2以上の商品識別子候補のうち、いずれの識別子で識別されるものであるのかを特定してもよい。画像認識部15は、例えば、認識対象の商品について、2以上の商品識別子候補にそれぞれ対応する2以上の画像認識用情報を用いた画像認識を行った場合に、画像認識におけるマッチングの程度が最も高かった画像認識用情報に対応する商品識別子候補を、その認識対象の商品の商品識別子として特定してもよい。画像認識用情報は、例えば、記憶部13で記憶されていてもよい。
なお、撮影画像に含まれる、商品関連情報が取得された商品の領域は、すでに取得部12によって特定されている。したがって、画像認識部15は、その商品の領域を特定する情報を、取得部12から受け取ってもよい。そして、画像認識部15は、その受け取った情報によって特定される、撮影画像における領域の商品について、画像認識の処理を行ってもよい。
出力部16は、画像認識部15によって特定された商品識別子を出力する。複数の商品のそれぞれについて商品識別子が特定された場合には、出力部16は、特定された複数の商品識別子を出力してもよい。この場合には、例えば、商品と、商品識別子との対応関係がわかるように出力されてもよい。より具体的には、商品識別子と、その商品識別子で識別される商品の撮影画像における位置を示す情報とが出力されてもよい。
ここで、この出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部16は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、出力部16は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
撮影画像が、陳列棚などに陳列されている複数の商品の撮影画像である場合には、出力部16からの出力結果を用いて、棚卸や、指示書どおりに商品が陳列されているかどうかのチェックが行われてもよい。また、撮影画像が、購入者が陳列棚などから手に取った商品の撮影画像である場合には、出力部16からの出力結果を用いて、購入者が手に取った商品に関する課金処理が行われてもよい。この場合には、例えば、購入者の識別子を別途取得して、その識別子で識別される購入者に課金処理を行ってもよい。このようにして、例えば、無人店舗における課金処理などを行うことができるようになる。また、撮影画像が、レジにおいて並べられた商品の撮影画像である場合には、出力部16からの出力結果を用いて、各商品の合計金額を算出する処理や、その合計金額に関する課金処理等が行われてもよい。
次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)受付部11は、商品の撮影画像を受け付けたかどうか判断する。そして、商品の撮影画像を受け付けた場合には、ステップS102に進み、そうでない場合には、商品の撮影画像を受け付けるまで、ステップS101の処理を繰り返す。なお、受付部11は、例えば、撮影画像を定期的に受け付けてもよく、そうでなくてもよい。
(ステップS102)取得部12は、商品関連情報の取得対象の商品について、撮影画像を用いて商品関連情報を取得する。
(ステップS103)候補特定部14は、ステップS102で取得された商品関連情報に対応する商品識別子である商品識別子候補を、記憶部13で記憶されている複数の商品対応情報を用いて特定する。
(ステップS104)画像認識部15は、商品関連情報の取得対象の商品について、ステップS103で取得された商品識別子候補で識別される商品に関する画像認識を行って商品識別子を特定する。
(ステップS105)出力部16は、ステップS104で特定された商品識別子を出力する。この商品識別子が、商品関連情報の取得対象の商品を識別する商品識別子である。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による情報処理装置1の動作について、具体例を用いて説明する。この具体例では、図3で示される商品対応情報、及び図4で示される商品識別子と画像認識用情報とを対応付ける情報が記憶部13で記憶されているものとする。
図3において、商品対応情報は、商品識別子と、複数種類の商品関連情報とを有している。商品関連情報は、サイズ情報、色情報、形状情報、文字情報である。サイズ情報は、直方体や円柱などのサイズを示す情報である。この具体例では、底面の直径がC1であり、軸方向の長さがC2である円柱のサイズ情報を、C1×C1×C2と示している。また、色情報は、最も多く使用されている色の識別子(HEX)と、次に多く使用されている色の識別子であるとする。なお、この具体例では、撮影画像の商品において最も多く使用されている色の識別子が、商品対応情報の色情報に含まれる2個の色の識別子のいずれかとあらかじめ決められた誤差の範囲内で一致する場合に、色情報が一致すると判断されるものとする。また、形状情報は、直方体や円柱、角底袋などの商品の形状を示す情報である。文字情報は、商品に表示されている文字列を示す情報である。この具体例では、文字情報が、大きな文字で表示されている主要な文字列のみを示す場合について説明するが、文字情報は、細かい文字で表示されている情報も含んでいてもよい。
図4において、商品識別子と、画像認識用情報とが対応付けられている。画像認識用情報は、対応する商品識別子で識別される商品の画像認識を行うための情報であり、例えば、その商品のパターンや画像であってもよく、その商品の認識を行うCNNの学習済みモデルなどの情報であってもよい。例えば、商品識別子「G001」で識別される商品(以下、「商品G001」と呼ぶこともある。)に対応する画像認識用情報「P001」は、画像認識の対象となる商品の画像が、商品G001の画像であるかどうかを判断するために用いられる情報である。
まず、店舗内に設置されたカメラによって、図5で示される撮影画像が取得され、情報処理装置1に送信されたとする。すると、その撮影画像は受付部11で受信され、取得部12及び画像認識部15に渡される(ステップS101)。撮影画像を受け取ると、取得部12は、その撮影画像において物体検出を行うと共に、手の検出を行い、手の先端の位置において検出された物体を、商品関連情報の取得対象である物体とする。図5においては、「ポテト」と表示されている円柱形状の商品が、商品関連情報の取得対象の商品として特定されることになる。取得部12は、撮影画像においてその商品の領域を特定する情報を画像認識部15に渡す。その後、取得部12は、その商品について、サイズ情報、色情報、形状情報、文字情報である各商品関連情報を取得する(ステップS102)。なお、サイズ情報としては、最も長い箇所のサイズ情報「20cm」が取得されたとする。また、色情報としては、最も多く使用されている色の識別子「#C71560」が取得されたとする。また、形状情報としては「円柱」が取得されたとする。また、文字情報としては「ポテト」が取得されたとする。それらの商品関連情報は候補特定部14に渡される。
複数の商品関連情報を受け取ると、候補特定部14は、それらの商品関連情報に対応する商品識別子である商品識別子候補を特定する。この場合には、取得されたサイズ情報「20cm」と誤差の範囲内で一致するサイズ情報は、商品識別子「G001」「G004」に対応するサイズ情報であったとする。また、取得された色情報「#C71560」と誤差の範囲内で一致する色情報は、商品識別子「G001」「G002」「G004」に対応する色情報であったとする。また、取得された形状情報「円柱」と一致する形状情報は、商品識別子「G001」「G002」「G004」に対応する形状情報である。また、取得された文字情報「ポテト」を含む文字情報は、商品識別子「G001」「G002」「G004」に対応する文字情報である。したがって、取得されたすべての商品関連情報に対応する商品識別子は「G001」「G004」となり、それらが商品識別子候補となる(ステップS103)。特定された商品識別子候補「G001」「G004」は画像認識部15に渡される。
撮影画像、撮影画像において商品の領域を特定する情報、商品識別子候補を受け取ると、画像認識部15は、記憶部13において、商品識別子候補(商品識別子)「G001」「G004」に対応付けられている画像認識用情報「P001」「P004」を読み出す。そして、画像認識部15は、受け取った撮影画像において、商品の領域を特定する情報によって特定される領域の商品について、画像認識用情報「P001」「P004」を用いてそれぞれ画像認識を行う。この場合には、画像認識用情報「P004」を用いた画像認識におけるマッチングの程度よりも、画像認識用情報「P001」を用いた画像認識におけるマッチングの程度の方が高かったとする。そのため、画像認識部15は、認識対象の商品の商品識別子が、画像認識用情報「P001」に対応する商品識別子「G001」であると判断し、その商品識別子を出力部16に渡す(ステップS104)。商品識別子を受け取ると、出力部16は、その商品識別子を出力する(ステップS105)。このようにして、購入者が、商品G001を手に取ったことが特定されることになる。
以上のように、本実施の形態による情報処理装置1によれば、撮影画像に含まれる商品について取得した商品関連情報を用いて商品識別子候補を取得することができ、画像認識を行う商品を、商品関連情報を用いて絞り込むことができる。そのため、画像認識用情報の精度が高くなかったとしても、絞り込まれた商品について画像認識を行って商品を特定することができ、より正確な商品の特定を実現することができる。また、画像認識を行う商品が絞り込まれているため、画像認識の処理負担を軽減することもでき、場合によっては、より短時間で画像認識を行うことができるようになる。
なお、取得部12は、商品が陳列されている位置を示す位置情報である商品関連情報を取得してもよい。位置情報の取得が行われる場合には、商品対応情報においても、商品識別子に、位置情報である商品関連情報が対応付けられていることが好適である。通常、店舗における棚割りの情報はわかっているため、位置情報と商品識別子とを対応付けることができる。位置情報である商品関連情報は、例えば、商品の陳列棚に配置された値札を用いて取得されてもよい。この場合には、例えば、陳列棚の値札に表示されている商品名と、その商品が陳列されている棚を識別する棚識別子とを対応付ける情報が、記憶部13で記憶されており、その情報を用いて、商品に対応する位置情報である棚識別子が取得されてもよい。また、位置情報である商品関連情報は、例えば、商品の陳列棚に表示されている陳列棚の棚識別子であってもよい。この場合には、例えば、棚識別子に対応するバーコードや二次元コードなどのコード情報が陳列棚に表示されており、撮影画像に含まれるコード情報を読み取ることによって棚識別子が取得されてもよい。また、撮影画像に陳列棚の全体が含まれる場合には、位置情報は、商品の陳列されている棚の位置(例えば、上から3番目の棚など)を示す情報を含んでいてもよい。また、位置情報は、例えば、撮影画像に含まれる撮影位置や撮影方向を用いて取得されてもよい。この場合には、陳列棚のレイアウト情報と、撮影位置や撮影方向とを用いて、撮影画像に含まれる商品が陳列されている位置を示す位置情報が取得されてもよい。値札やコード情報を用いて位置情報を取得する場合には、通常、正確な位置情報を取得することができるため、その位置情報の信頼度は高くなる。一方、撮影位置や撮影方向を用いて位置情報を取得する場合には、位置情報の信頼度は、撮影位置や撮影方向の誤差に応じた値であってもよい。この場合には、誤差が大きいほど、信頼度がより低くなる。
(実施の形態2)
本発明の実施の形態2による情報処理装置及び情報処理方法について、図面を参照しながら説明する。本実施の形態による情報処理装置及び情報処理方法は、候補特定部によって特定された商品識別子候補と、画像認識部による画像認識の結果とを用いて、特定対象の商品の商品識別子を特定するものである。
図6は、本実施の形態による情報処理装置2の構成を示すブロック図である。本実施の形態による情報処理装置2は、受付部11と、取得部12と、記憶部13と、候補特定部14と、画像認識部21と、特定部22と、出力部23とを備える。なお、画像認識部21、特定部22、出力部23以外の構成及び動作は、実施の形態1の情報処理装置1と同様であり、その詳細な説明を省略する。また、記憶部13では、商標ごとの画像認識用情報に代えて、すべての商品に関する画像認識用情報が記憶されていてもよい。
画像認識部21は、撮影画像に含まれる商品関連情報が取得された商品について、画像認識を行って商品識別子を特定する。この画像認識は、実施の形態1のように、商品識別子候補で識別される商品に関する画像認識ではなく、すべての商品に関する画像認識である。したがって、画像認識部21によって、特定対象の商品が特定されることになる。画像認識部21による画像認識は、実施の形態1の画像認識部15による画像認識と同様に、精度が高くない画像認識であってもよい。なお、画像認識部21は、例えば、1個の商品識別子を特定してもよく、2個以上の商品識別子を特定してもよい。画像認識部21による画像認識の結果が間違えている可能性を考慮すると、画像認識部21は、2個以上の商品識別子を特定することが好適である。すなわち、特定対象の商品の商品識別子として、最も可能性の高い商品識別子から順番に、N番目に可能性の高い商品識別子までのN個の商品識別子が特定されてもよい。なお、Nは、2以上の整数である。
画像認識部21は、実施の形態1の画像認識部15と同様に、撮影画像に含まれる商品関連情報が取得された商品の領域を特定する情報を、取得部12から受け取ってもよい。そして、画像認識部15は、その受け取った情報によって特定される、撮影画像における領域の商品について、画像認識の処理を行ってもよい。
特定部22は、画像認識部21によって取得された商品識別子、及び候補特定部14によって特定された1以上の商品識別子候補を用いて、撮影画像に含まれる商品関連情報が取得された商品の商品識別子を特定する。特定部22は、例えば、画像認識部21によって取得された商品識別子と、候補特定部14によって特定された商品識別子候補とにおいて重複している商品識別子を、商品関連情報が取得された商品の商品識別子として特定してもよい。例えば、画像認識部21によって取得された商品識別子が1個であり、候補特定部14によって特定された商品識別子候補に画像認識部21によって取得された商品識別子が含まれる場合には、その商標識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。また、例えば、画像認識部21によって取得された商品識別子が2個以上であり、候補特定部14によって特定された商品識別子候補に画像認識部21によって取得された商品識別子が1個だけ含まれる場合には、その1個の商標識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。また、例えば、画像認識部21によって取得された商品識別子が2個以上であり、候補特定部14によって特定された2個以上の商品識別子候補に画像認識部21によって取得された商品識別子が2個以上含まれる場合には、その2個以上の商標識別子のうち、画像認識において最も可能性が高いと判断された商標識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。
出力部23は、特定部22によって特定された商品識別子を出力する。なお、画像認識部15によって特定された商品識別子に代えて、特定部22によって特定された商品識別子が出力される以外は、出力部23は、実施の形態1の出力部16と同様のものであり、その詳細な説明を省略する。
次に、情報処理装置2の動作について図7のフローチャートを用いて説明する。なお、ステップS101~S103の処理は、図2のフローチャートと同様であり、その説明を省略する。
(ステップS201)画像認識部21は、商品関連情報の取得対象の商品について、画像認識を行って商品識別子を特定する。
(ステップS202)特定部22は、ステップS103で特定された商品識別子候補と、ステップS201で特定された商品識別子とを用いて、商品関連情報の取得対象の商品の商品識別子を特定する。
(ステップS203)出力部23は、ステップS202で特定された商品識別子を出力する。この商品識別子が、商品関連情報の取得対象の商品を識別する商品識別子である。そして、ステップS101に戻る。
なお、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上のように、本実施の形態による情報処理装置2によれば、画像認識の結果と、商品関連情報を用いて特定された商品識別子候補とを用いて、特定対象の商品の商品識別子を特定することができる。したがって、画像認識のみによって商品を特定した場合と比較して、より精度の高い商品の特定を実現することができるようになる。
なお、上記各実施の形態では、情報処理装置1,2において、商品識別子候補を用いた処理が行われる場合について説明したが、そうでなくてもよい。商品識別子候補を用いた処理は、情報処理装置1,2以外の装置において行われてもよい。この場合には、情報処理装置1は、画像認識部15を備えていなくてもよい。また、情報処理装置2は、画像認識部21や特定部22を備えていなくてもよい。また、出力部16,23は、候補特定部14によって特定された商品識別子候補を出力するものであってもよい。
また、上記実施の形態では、情報処理装置1,2がサーバ・クライアントシステムにおけるサーバである場合について主に説明したが、情報処理装置1,2は、スタンドアロンの装置であってもよいことは上述のとおりである。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、情報処理装置1,2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における情報処理装置1,2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、商品を識別する商品識別子と、商品に関連する商品関連情報とを対応付ける商品対応情報が複数記憶される記憶部にアクセス可能なコンピュータを、商品の撮影画像を受け付ける受付部、撮影画像に含まれる商品に関連する商品関連情報を、撮影画像を用いて取得する取得部、商品対応情報を用いて、取得部によって取得された商品関連情報に対応する商品識別子である1以上の商品識別子候補を特定する候補特定部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を取得する取得部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD-ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
図8は、上記プログラムを実行して、上記実施の形態による情報処理装置1,2を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図8において、コンピュータシステム900は、CD-ROMドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図9は、コンピュータシステム900の内部構成を示す図である。図9において、コンピュータ901は、CD-ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置1,2の機能を実行させるプログラムは、CD-ROM921に記憶されて、CD-ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921、またはネットワークから直接、ロードされてもよい。また、CD-ROM921に代えて他の記録媒体(例えば、DVD等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置1,2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。また、情報処理装置1,2が持ち運び可能な情報処理端末である場合には、コンピュータ901は、例えば、CD-ROMドライブ905を備えていなくてもよく、また、コンピュータシステム900は、例えば、キーボード902、マウス903、モニタ904に代えて、タッチパネルを備えていてもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
図6は、本実施の形態による情報処理装置2の構成を示すブロック図である。本実施の形態による情報処理装置2は、受付部11と、取得部12と、記憶部13と、候補特定部14と、画像認識部21と、特定部22と、出力部23とを備える。なお、画像認識部21、特定部22、出力部23以外の構成及び動作は、実施の形態1の情報処理装置1と同様であり、その詳細な説明を省略する。また、記憶部13では、商品ごとの画像認識用情報に代えて、すべての商品に関する画像認識用情報が記憶されていてもよい。
特定部22は、画像認識部21によって取得された商品識別子、及び候補特定部14によって特定された1以上の商品識別子候補を用いて、撮影画像に含まれる商品関連情報が取得された商品の商品識別子を特定する。特定部22は、例えば、画像認識部21によって取得された商品識別子と、候補特定部14によって特定された商品識別子候補とにおいて重複している商品識別子を、商品関連情報が取得された商品の商品識別子として特定してもよい。例えば、画像認識部21によって取得された商品識別子が1個であり、候補特定部14によって特定された商品識別子候補に画像認識部21によって取得された商品識別子が含まれる場合には、その商品識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。また、例えば、画像認識部21によって取得された商品識別子が2個以上であり、候補特定部14によって特定された商品識別子候補に画像認識部21によって取得された商品識別子が1個だけ含まれる場合には、その1個の商品識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。また、例えば、画像認識部21によって取得された商品識別子が2個以上であり、候補特定部14によって特定された2個以上の商品識別子候補に画像認識部21によって取得された商品識別子が2個以上含まれる場合には、その2個以上の商品識別子のうち、画像認識において最も可能性が高いと判断された商品識別子が、撮影画像に含まれる商品関連情報が取得された商品の商品識別子として特定されてもよい。