本発明の検証システム1の全体の処理機能の一例のブロック図を図1に示す。検証システム1は,管理端末2と入力端末3とを用いる。
管理端末2は,検証システム1の中心的な処理機能を実現するコンピュータである。入力端末3は,店舗の陳列棚などの撮影対象を撮影した画像情報を取得する端末である。入力端末3は,後述する比較処理(画像認識処理)で用いる標本とする商品などの対象物を撮影し,取得してもよい。
検証システム1における管理端末2,入力端末3は,コンピュータを用いて実現される。図2にコンピュータのハードウェア構成の一例を模式的に示す。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,情報を表示するディスプレイなどの表示装置72と,情報の入力が可能なキーボードやマウスなどの入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。
コンピュータがタッチパネルディスプレイを備えている場合には,表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
入力端末3は,上記の各装置のほか,カメラなどの撮影装置を備えていてもよい。入力端末3として,携帯電話,スマートフォン,タブレット型コンピュータなどの可搬型通信端末を用いることもできる。入力端末3は,撮影装置で可視光などによる画像情報(後述する撮影画像情報または対象物画像情報)を撮影する。
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していてもよい。本発明の各手段における処理は,その処理順序を適宜変更することもできる。また,処理の一部を省略してもよい。また,管理端末2における機能の一部または全部を入力端末3で実行してもよい。
検証システム1は,画像情報入力受付処理部20と画像情報記憶部21と標本情報記憶部22と画像情報処理部23と画像認識処理部24と検証処理部25と検証結果処理部26とを有する。
画像情報入力受付処理部20は,入力端末3で撮影した画像情報(撮影画像情報)の入力を受け付け,後述する画像情報記憶部21に記憶させる。たとえば店舗の陳列棚の撮影画像情報の入力を受け付け,画像情報記憶部21に記憶させる。入力端末3からは,撮影画像情報のほか,撮影日時,撮影対象を示す情報,たとえば店舗名などの店舗識別情報,画像情報を識別する画像情報識別情報などをあわせて入力を受け付けるとよい。図3に撮影画像情報の一例を模式的に示す。図3では,陳列棚に3段の棚段があり,そこに商品が陳列されている状態を撮影した撮影画像情報を模式的に示すものである。
画像情報記憶部21は,入力端末3から受け付けた撮影画像情報,撮影日時,画像情報識別情報などを対応づけて記憶する。
標本情報記憶部22は,撮影画像情報に写っている対象物を特定するために,対象物の標本情報を記憶する。標本情報とは対象物の一部または全部を撮影した画像情報(対象物画像情報)および/またはその特徴量の情報である。標本情報には,対象物の識別情報,たとえば商品名,型番,JANコードなどの商品コード,対象物画像情報としては,対象物全体の画像情報であってもよいし,対象物の一部分,たとえば対象物がペットボトル飲料の場合にはラベル部分の画像情報であってもよい。なお,標本情報として,対象物画像情報の特徴量の情報を用いる場合には,処理の都度,特徴量を抽出する必要がなくなる。
標本情報記憶部22には,一つの対象物について一つの標本情報を生成してもよいし,一つの対象物について複数の角度,たとえば商品を正対化して撮影する場合に,写らない位置にある表面を写すため,正面,背面,上面,下面,両側面程度の角度からの標本情報を記憶していてもよい。また,一つの対象物に複数の外装(パッケージなど)がある場合には,一つの対象物にそれぞれの外装の場合の標本情報を対応づけても良い。図4に標本情報の一例を示す。図4では,商品の外装の画像情報を標本情報とした一例である。
なお,標本情報とする対象物は,通常,正対した位置から撮影するので,後述する正置化処理,歪み補正処理は行わなくてもよいが,行ってもよい。
画像情報処理部23は,画像情報入力受付処理部20で受け付けた撮影画像情報または画像情報記憶部21に記憶した撮影画像情報について,撮影画像情報を正対した状態とする正置化処理,撮影画像情報から標本情報と比較処理(画像認識処理)を実行する領域(フェイス領域)を特定するフェイス処理を実行する。
正置化処理とは,一般的に,単に撮影対象物を撮影した場合には,撮影対象物を正対した状態で撮影することは困難であることから,それを正対した状態に補正する処理であり,撮影装置のレンズの光軸を撮影対象である平面の垂線方向に沿って,十分に遠方から撮影した場合と同じになるように画像情報を変形させる処理である。このような補正処理の一例として台形補正処理がある。なお,画像情報に歪みがある場合,歪み補正処理を付加してもよい。図5に,図3の撮影画像情報に対して正置化処理を実行した状態の画像情報を示す。
なお,撮影画像情報が正対した状態で撮影された画像情報である場合,あるいは歪みがない場合には,正置化処理,歪み補正処理を実行しなくてもよい。
撮影画像情報とは,本発明の処理対象となる画像情報であればよい。正置化処理などの撮影画像情報に対する補正処理が実行された後の画像情報も撮影画像情報に含まれる。
また,画像情報処理部23は,撮影対象を撮影する際に,複数枚で撮影した場合,それを一つの画像情報に合成する処理を実行し,合成処理を実行した画像情報に対して,正置化処理,フェイス処理を実行してもよい。複数枚の画像情報を一つの画像情報に合成する処理としては,公知の手法を用いることもできる。
フェイス処理とは、撮影画像情報において,後述する標本情報と比較処理を実行するための領域(フェイス領域)を特定する。たとえば商品の陳列棚を撮影した撮影画像情報であって,標本情報が商品である場合,フェイス領域として,陳列棚に陳列されている商品の領域や商品のラベルの領域を特定する。商品がペットボトル飲料の場合には,商品のラベルの領域をフェイス領域とし,商品が箱に入った商品(たとえばお菓子)の場合には,商品のパッケージ全体をフェイス領域とするなど,商品に応じて,適宜,フェイス領域を設定できる。なお,商品がペットボトル飲料の場合にも,商品の領域をフェイス領域としてもよい。
フェイス領域の特定方法はさまざまな方法があり,標本情報の特性に合わせて任意に設定することができる。標本情報が商品(たとえばペットボトル飲料)であって,陳列棚を撮影した撮影画像情報から商品のラベルの領域をフェイス領域として特定する場合には,たとえば,陳列棚の棚段と棚段の間の領域(棚段領域)における商品と商品との間に生じる縦の細く狭い陰影を特定する,画像の繰り返しパターンを特定する,パッケージの上辺の段差を特定する,商品幅が同一であるなどの制約に基づいて区切り位置を特定する,などによって,商品の領域を特定する。そして,その商品の領域の中から,所定の矩形領域をラベルの領域として特定し,その領域をフェイス領域として特定する。
フェイス領域の特定方法は,商品のカテゴリや商品の形態によって任意の方法を採用可能であり,上記に限定するものではない。また,自動的に特定したフェイス領域に対して,オペレータによる修正入力を受け付けてもよい。さらに,オペレータからフェイス領域の位置の入力を受け付けるのでもよい。
さらに画像情報処理部23は,深層学習(ディープラーニング)を用いてフェイス領域を特定してもよい。この場合,中間層が多数の層からなるニューラルネットワークの各層のニューロン間の重み付け係数が最適化された学習モデルに対して,上記撮影画像情報を入力し,その出力値に基づいて,フェイス領域を特定してもよい。また学習モデルとしては,さまざまな撮影画像情報にフェイス領域を正解データとして与えたものを用いることができる。
画像情報処理部23は,以上のように特定したフェイス領域を切り出す。フェイス領域を切り出すとは,撮影画像情報から特定したフェイス領域を実際に切り出してもよいし,それ以降の処理の処理対象としてその領域を設定することも含まれる。
フェイス領域を切り出す場合には,上述の各処理で特定したフェイス領域をそのまま切り出してもよいし,複数の方法によりフェイス領域の特定を行い,各方法で特定したフェイス領域の結果を用いて切り出す対象とするフェイス領域を特定してもよい。たとえば,陳列棚の棚段と棚段の間の領域(棚段領域)における商品と商品との間に生じる縦の細く狭い陰影を特定することで商品の領域を特定し,その領域から所定の矩形領域を特定する方法と,深層学習によりフェイス領域を特定する方法とを行い,それらの各方法で特定したフェイス領域の結果同士について,あらかじめ定めた演算によって,最終的に切り出す対象とするフェイス領域を特定してもよい。切り出すフェイス領域の特定方法は,上記に限定するものではなく,任意に設定することができる。図6に,撮影画像情報から切り出したフェイス領域の画像情報の一例を示す。
画像認識処理部24は,画像情報処理部23で特定したフェイス領域と,標本情報記憶部22に記憶する各対象物の各標本情報とを比較することで画像認識処理(第1の比較処理)を実行する。たとえばフェイス領域の画像情報の特徴量を抽出し,抽出した特徴量と,標本情報の特徴量との比較処理を実行することで,フェイス領域の画像情報と標本情報との類似性を判定し,そのフェイス領域に含まれる対象物の識別情報,たとえば商品名などを判定する。
なお比較処理としては,フェイス領域の画像情報の全体と標本情報とをマッチングするのみならず,フェイス領域の画像情報の一部の領域の特徴量を抽出し,標本情報の特徴量と比較処理を実行してもよい。
また,特徴量以外の方法により比較処理を行ってもよい。
さらに,画像認識処理部24は,深層学習(ディープラーニング)を用いて標本情報との比較処理を実行してもよい。この場合,中間層が多数の層からなるニューラルネットワークの各層のニューロン間の重み付け係数が最適化された学習モデルに対して,上記フェイス領域の画像情報の全部または一部を入力し,その出力値に基づいて,類似する標本情報を特定してもよい。学習モデルとしては,さまざまなフェイス領域の画像情報に標本情報を正解データとして与えたものを用いることができる。
なお,上述では,画像情報処理部23で特定したフェイス領域の画像情報に対して画像認識処理部24で画像認識処理を行う場合を説明したが,画像情報処理部23を用いずに,撮影画像情報に対して画像認識処理部24で画像認識処理を行うようにしてもよい。
検証処理部25は,画像認識処理部24で判定した,処理対象としたフェイス領域に含まれる対象物の識別情報が正しいか否かを検証する検証処理としては,画像認識処理部24において判定した対象物の識別情報が対応する標本情報を標本情報記憶部22から特定し,特定した標本情報と,処理対象としたフェイス領域の画像情報との比較処理(第2の比較処理)を実行することによって行う。また,第2の比較処理では,画像認識処理部24において判定した対象物の識別情報が対応する標本情報と,処理対象としたフェイス領域の画像情報との比較処理を実行するので,画像認識処理部24における画像認識処理(第1の比較処理)とは異なり,標本情報記憶部22に記憶するすべての標本情報と比較処理を実行する必要はなく,画像認識処理部24で判定したうち,所定範囲の対象物の識別情報と比較処理を実行すればよい。たとえば画像認識処理部24で判定した上位3位までの対象物の標本情報と,処理対象とするフェイス領域の画像情報との比較処理を実行すればよい。好ましくは最上位の標本情報と,処理対象とするフェイス領域の画像情報との比較処理であってもよい。
画像認識処理部24における画像認識処理(第1の比較処理)と,検証処理における比較処理(第2の比較処理)とは,同一ではない処理方式,または画像認識処理部24における画像認識処理(第1の比較処理)に用いる要素と検証処理部25における検証処理(第2の比較処理)に用いる要素の全部が共通ではない処理方式を用いる。要素とは,画像認識処理において画像情報の類否を判定するために用いる基準である。
具体的には,たとえば,画像認識処理部24における第1の比較処理(画像認識処理)において,局所特徴量とEMDの2要素を用いる場合,検証処理部25における第2の比較処理(検証処理)では,局所特徴量とEMDの2要素の全部を用いない比較処理の方法を用いる。さらに好ましくは,画像認識処理部24における第1の比較処理と,検証処理部25における第2の比較処理とでは,同一の要素を用いないことがよい。
たとえば画像特徴量を体系づける方法の一例として,図7に示すようにその要素を分類したとする。この場合,画像認識処理部24における第1の比較処理での要素として,局所特徴量とEMDとを用いるとした場合,検証処理部25における第2の比較処理での要素としては,たとえば,領域の配置情報,ドミナントカラー,オブジェクトの領域の形状および色を要素として用いるような比較処理を用いる。
このように,画像認識処理部24における第1の比較処理と,検証処理部25における第2の比較処理とで,同一ではない処理方式,または要素の全部が共通ではない処理を用いることで,比較処理の独立性を確保することができる。なお,さらに,画像認識処理部24における第1の比較処理と検証処理部25における第2の比較処理とで,共通性のない処理方式,または要素の大半が共通ではない処理方式を用いるようにすることで,第1の比較処理と第2の比較処理との間の独立性を確保し,第1の比較処理で含まれているエラーが第2の比較処理でも生じることを最小限に抑え,第1の比較処理で生じた不正解を,偶然によって第2の比較処理で正解としてしまう可能性を低減することができる。
また,第2の比較処理では,第1の比較処理とは異なり,画像認識処理部24で判定した判定結果に対してだけ比較処理を実行するので,単に複数の比較処理を併存させる場合とは異なり,処理負荷を大幅に軽減させることもできる。
第2の比較処理は一つではなく,複数の比較処理を用いてもよい。
検証処理部25における第2の比較処理については,画像認識処理部24における第1の比較処理と上述のような制約を満たしていれば,さまざまな処理を用いることができ,後述するそれぞれの実施例において説明をする。
検証結果処理部26は,検証処理部25において,画像認識処理部24における判定結果を「正解」と判定した場合には,画像認識処理部24で判定した対象物の識別情報を,そのまま当該フェイス領域に写っている対象物の識別情報として特定し,所定の記憶領域に,当該フェイス領域に対応づけて記憶させる。また検証処理部25において,画像認識処理部24における判定結果を「誤り」と判定した場合には,画像認識処理部24で判定した対象物の識別情報について,修正が必要であることの通知などを行い,修正を行わせる。たとえば,撮影画像情報において,当該フェイス領域をマーキングする,修正が必要であることの強調表示を行う,など各種の通知方法がある。この通知を確認した担当者は,当該フェイス領域の画像情報を目視して,修正を行う。修正の入力を受け付けた場合,所定の記憶領域に,入力を受け付けた対象物の識別情報を,当該フェイス領域に対応づけて記憶させる。
つぎに本発明の検証システム1を用いた処理プロセスの一例を図8乃至図10のフローチャートを用いて説明する。図8は,本実施例における検証処理(第2の比較処理)を実行するにあたっての事前処理となる検証ディスクリプタの生成処理の処理プロセスの一例を示すフローチャートであり,図9は本発明の全体の処理プロセスの一例を示すフローチャートであり,図10は,本実施例における検証処理(第2の比較処理)の処理プロセスの一例を示すフローチャートである。
以下の各実施例では,店舗の陳列棚を撮影し,陳列棚にある商品を特定する場合を説明する。そのため,撮影画像情報としては商品が陳列されている店舗の陳列棚であり,標本情報における対象物としては陳列される可能性のある商品となる。
まず事前処理となる検証ディスクリプタの生成処理を,図8のフローチャートを用いて説明する。検証ディスクリプタとは,画像認識処理部24で判定した対象物の識別情報が対応する標本情報と,撮影画像情報におけるフェイス領域の画像情報との検証処理(第2の比較処理)を実行するにあたり,2つの画像情報が類似しているか否かの判定を行うための基準を示す情報である。検証ディスクリプタの一例を図11に示す。
検証ディスクリプタは,対象物となる標本情報に対応づけて設定される当該対象物を特徴付ける領域(検証領域)に関する情報であり,一つの標本情報に対して一以上,好ましくは複数設定される。個々の検証領域に関する情報は検証キーとして表現される。検証キーには,検証領域の位置座標(基準となる点のx座標,y座標)およびその位置座標からの大きさ(x軸方向,y軸方向の大きさ),各検証領域を抽出する画像フィルタの種別と,場合によっては抽出するパラメータの情報,当該検証領域の画像情報などの一部または全部の情報を対応づけている。検証ディスクリプタは,当該対象物の標本情報に対応づけて記憶されていてもよいし,異なる記憶装置71で記憶されていてもよい。
図12に標本情報に設定される検証領域の一例を示す。図12の標本情報において,ノズル付近の領域(検証領域1),中心付近のロゴマークの領域(検証領域2),パッケージ上の図柄の領域(検証領域3)がそれぞれ検証領域として設定されている。図12における検証領域は実線で示される領域であり,破線部分の領域については後述する。
オペレータは,入力端末3を用いて標本情報とする商品を正対位置から撮影し,撮影した対象物画像情報,識別情報,商品名,商品コードの入力を管理端末2で受け付け,それらを対応づけて標本情報記憶部22に記憶させておく(S100)。そして画像認識処理部24における画像認識処理で用いるための標本情報を抽出し,記憶しておく。たとえば局所特徴量とEMDなどを画像特徴量として抽出し,標本情報記憶部22に記憶させる。
このような標本情報に対する処理を,複数の商品,好ましくは陳列棚に陳列される可能性のあるすべての商品についてあらかじめ実行しておく。
また,対象物の画像情報または標本情報から,不要な情報,たとえば背景部分を除去する(S110)。背景部分の除去などは自動に除去しても,手動で除去してもよい。そして,当該対象物を特徴付ける一以上の閉領域を検証領域(図12の実線部分の閉領域)として入力を受け付ける(S120)。そして,検証領域と,検証領域の近傍の周辺領域(図12の破線部分の閉領域から検証領域を除外した領域)とを区別し,各検証領域を抽出する画像フィルタを自動的に選択させる(S130)。周辺領域は,検証領域を所定範囲,たとえば20%ずつ外側に膨らませたロの字型の領域として設定できる。画像フィルタの選択処理としては,あらかじめ複数の画像フィルタを用意しておき,それらの画像フィルタを当該検証領域に逐次適用して,当該検証領域とその近傍の周辺領域とを分離する画像フィルタを探索することで,もっとも分離する画像フィルタを選択させる。
検証領域とその近傍の領域とをもっとも分離するとは,検証領域の内部にもっとも広い面積で反応し,検証領域の近傍の外部の領域で反応しないということを意味する。なお,色域抽出のような画像フィルタの一部では,パラメータが必要なものもあるが,その場合にはどのパラメータのときに分離できるかも合わせて記憶する。図12の場合,検証領域1はノズル部分の形状が特徴的なので,適用型二値化の画像フィルタが選択され,検証領域2は明度の画像フィルタが選択され,検証領域3は色域抽出の画像フィルタのうちパラメータがオレンジ相当色が選択された場合を示している。
検証領域とその近傍の周辺領域とを分離する画像フィルタの探索方法としては,検証領域内のなるべく大きな面積(ピクセル数)が適合となり,周辺領域のなるべく大きな面積(ピクセル数)が非適合となるような画像フィルタの探索およびそのパラメータ設定を行えばよい。たとえば画像フィルタとそのパラメータとして,図27に示すように,あらかじめリストを用意しておき,画像フィルタを順に選択し,さらにパラメータとして取り得る値の範囲の中で値を変更しながら,すべての組み合わせを実施する。なお,組み合わせ数が膨大になる場合には,まず大きな範囲で試行し,そのうちよい結果が得られた範囲についてはより少ない範囲で再試行するといった方法で実施時間の効率化が図れる。
そしてこの試行の中で,検証領域の適合するピクセル数が最大であって,かつ周辺領域の適合するピクセル数が最小となる画像フィルタおよびパラメータを選択する。そしてこれらの二者間にはトレードオフがあるので,(検証領域の適合ピクセル数/検証領域のピクセル数)をAT,(周辺領域の非適合ピクセル数/周辺領域のピクセル数)をBFとしたとき,ATとBFの調和平均を最大化するものを選択すればよい。すなわち,
I=2×(AT×BF)/(AT+BF)
を最大化する画像フィルタおよびパラメータを選択すればよい。なお,検証領域と周辺領域の面積比を1:1としていればATとBFに重み付けをせずそのまま調和平均を算出してよいが,面積比が相違する場合にはAT,BFに重み付けをして調和平均を算出する。
なお,検証領域,周辺領域内に画像フィルタを適用して検出される結果は,内部のピクセルが埋まっていない,いわゆる抜けのある画像となる場合がある。そのため,二値画像の膨張・収縮処理をして抜けピクセルを埋めた後に,上述の適合・非適合のピクセルの算出を行うことが好ましい。それによって,結果が安定し,より適切な画像フィルタおよびパラメータの選択が可能となる。
画像フィルタとしては,たとえば適用型二値化,色域抽出,暖色抽出などの公知の画像フィルタを用いることができる。
以上のように画像フィルタを選択すると,各検証領域について,検証キーとして,検証領域と検証領域に対応する領域を抽出するための画像フィルタおよびパラメータと,抽出図形情報とを対応づけて登録する。そして各検証領域の検証キーをまとめた検証ディスクリプタを,標本情報記憶部22を含む所定の記憶領域に,当該対象物または標本情報に記憶させることで登録する(S140)。このように生成された検証ディスクリプタの一例が図11である。なお,図11の検証ディスクリプタにおける抽出図形情報とは,検証領域の画像情報を画像フィルタで抽出した結果の二値化画像である。
以上のような処理を実行することで,検証ディスクリプタの生成処理を実行することができる。
つぎに本発明の全体の処理プロセスの一例を図9のフローチャートを用いて説明する。
店舗の陳列棚を撮影した撮影画像情報を,入力端末3から管理端末2の画像情報入力受付処理部20が受け付けると(S200),画像情報記憶部21に,撮影日時,撮影画像情報の識別情報などと対応づけて記憶させる。
受け付けた撮影画像情報に対して,画像情報処理部23は,撮影画像情報が正対した状態となるように補正する正置化処理を実行する。また,正置化した撮影画像情報からフェイス領域を特定するフェイス処理を実行する。
そして,画像認識処理部24は,画像情報処理部23で特定したフェイス領域と,標本情報記憶部22に記憶する各標本情報との画像認識処理(第1の比較処理)を実行する(S210)。第1の比較処理としては,たとえばフェイス領域の画像情報から抽出した特徴量と,標本情報の特徴量との比較処理を実行することで,フェイス領域の画像情報と標本情報との類似性を判定し,そのフェイス領域に含まれる対象物の識別情報,たとえば商品名などを判定する。また,第1の比較処理の別の方法としては,深層学習を用いた方法などであってもよい。この場合,中間層が多数の層からなるニューラルネットワークの各層のニューロン間の重み付け係数が最適化された学習モデルに対して,フェイス領域の画像情報の全部または一部を入力し,その出力値に基づいて,類似する標本情報を特定してもよい。
画像認識処理部24において出力する結果としては,処理対象とするフェイス領域にある画像情報に写っている商品として,もっとも類似している商品の商品識別情報を特定するほか,類似性が高いものから順に複数の商品の商品識別情報を特定してもよい。
以上のように,撮影画像情報の各フェイス領域について,画像認識処理部24における画像認識処理を実行する。
撮影画像情報の各フェイス領域について,フェイス領域に写っている商品に類似している商品の商品識別情報を特定すると,検証処理部25において,その商品識別情報の特定が正しいかの検証処理を実行する(S220)。
検証処理部25における検証処理の処理プロセスの一例を図10のフローチャートを用いて説明する。
まず処理対象とするフェイス領域の画像情報から不要な情報,たとえば背景部分を除去して,処理対象とする画像情報を切り出す(S300)。また,パラメータACCを初期値0に設定する(S310)。
そして画像認識処理部24における画像認識処理の認識結果に基づいて,処理対象とするフェイス領域に写っている商品に類似している商品の商品識別情報が対応する標本情報に関連付けられた検証ディスクリプタを特定する。そして,特定した検証ディスクリプタにおける検証キーの検証領域の情報と抽出方法とを用いて,S300で切り出した画像情報から上記検証領域に対応する領域の画像情報を抽出する(S320)。なお,この際に,商品の回転や撮影角度の揺らぎなどに起因する位置ずれに追随できるように,抽出範囲の調整,リトライを行ってもよい。すなわち,抽出に失敗した場合には,抽出する領域を上下左右に移動する,領域を拡大する上でリトライするなどの方法により,検証領域に対応する領域を抽出してもよい。
以上のようにして比較対象とする領域の抽出に成功した場合には(S330),当該領域における画像情報を二値化した画像情報と,検証キーに対応づけた抽出図形情報との一致度を算出する(S340)。
上記抽出した領域における画像情報と,検証キーに対応づけた抽出図形情報との一致度を算出処理にはさまざまな方法を用いることができるが,たとえば以下のような方法を用いることができる。この処理の一例を図13に示す。図13では,画像情報AがS320で抽出した領域の画像情報を模したものであり,画像情報Bが抽出図形情報を模したものである。
まず2つの画像情報において対応する要素を特定する。対応する要素がない要素は,処理から除外する。そして検証キーごとに,上記抽出した領域における画像情報と,検証キーに対応づけた抽出図形情報との一致度を,以下の数式を演算することで算出する。
一致度=w1×Σ(対応する要素同士の一致度)−w2×Σ(対応しない要素の面積)
ここでw1,w2は所定の重み付けであり,任意の値として設定することが可能である。またw2は0として設定することもできる。すなわち,無関係の物が写り込んでいる場合など,対応しない要素の面積を考慮することが相当ではない場合には,w2を0として設定することで,その影響を排除することができる。
また,上述の一致度を算出する数式において,対応する要素同士の一致度は,2つの画像情報の大きさの尺度を合わせて,2つのプロファイルにおける要素の重心を合わせて,以下の数式を演算することで算出できる。
対応する要素同士の一致度=(フェイスのプロファイルと標本情報のプロファイルの要素の共通部分の面積−(フェイスのプロファイルではあり標本情報のプロファイルがない部分の要素の面積+標本情報のプロファイルではありフェイスのプロファイルではない部分の要素の面積)/2)/フェイスのプロファイルの面積
この際に,商品の傾き(画像情報の要素の傾き)に対応するため,一方を微小な角度で回転させながら,上述の数式の演算を行い,もっとも値が大きいものを採用するようにしてもよい。さらに,2つのプロファイルにおいて対応する要素の組の個数が多いものを重視するようにしてもよい。
以上のように算出した一致度をパラメータACCに加算する(S350)。そして検証ディスクリプタに,ほかに検証キーがある場合には,残りの検証キーについてもS320からS350までの処理を繰り返す(S360)。
そして処理対象とするフェイス領域に写っている商品に類似している商品の商品識別情報が対応する標本情報に関連付けられた検証ディスクリプタにおけるすべての検証キーについて上述の処理を実行すると,パラメータACCとあらかじめ定めた閾値とを比較し(S370),パラメータACCが閾値以上であれば,検証処理部25は,当該処理対象とするフェイス領域に写っている商品について,画像認識処理部24における画像認識処理で特定した商品の商品識別情報は「正解」と判定する(S380)。一方,パラメータACCが閾値未満であれば,検証処理部25は,当該処理対象とするフェイス領域に写っている商品について,画像認識処理部24における画像認識処理で特定した商品の商品識別情報は「誤り」と判定する(S390)。
なお,画像認識処理部24における画像認識処理で特定した商品の商品識別情報が複数ある場合には,そのすべての商品識別情報について検証処理を実行し,「正解」と判定した商品の商品識別情報のうち,画像認識処理において,もっとも高い確度またはもっとも高い順位で特定された商品の商品識別情報を,当該処理対象とするフェイス領域に写っている商品の商品識別情報として特定する。
以上の検証処理を,撮影画像情報における各フェイス領域について実行することで,画像認識処理部24における画像認識処理の結果を検証する。
以上のようにして検証処理を実行することができる。
そして,正解と判定したフェイス領域については,検証結果処理部26は,画像認識処理部24で判定した対象物の識別情報を,そのまま当該フェイス領域に写っている対象物の識別情報として特定し,所定の記憶領域に,当該フェイス領域に対応づけて記憶させる(S250)。
一方,検証処理部25において,画像認識処理部24における判定結果を「誤り」と判定した場合には,検証結果処理部26は,画像認識処理部24で判定した対象物の識別情報について,修正が必要であることの通知などを行い,オペレータに修正を行わせる(S260)。オペレータがこの通知を確認すると,当該フェイス領域の画像情報を目視して,修正入力を行う。修正入力を受け付けた場合,所定の記憶領域に,入力を受け付けた対象物の識別情報を,当該フェイス領域に対応づけて記憶させる。
このように,撮影画像情報におけるフェイス領域について,画像認識処理部24における画像認識処理(第1の比較処理)を実行し,その認識結果に対して,検証処理部25で検証処理(第2の比較処理)を実行することで,従来のように複数の画像認識処理システムを並列的に用いた場合よりも,大幅に処理負荷を軽減することができる。
つぎに本発明の検証システム1において,実施例1の検証処理とは異なる検証処理を用いた場合を説明する。本実施例2における検証処理の処理プロセスの一例を図16のフローチャートを用いて説明する。本実施例における検証処理は,検証ディスクリプタとしてより簡便な設定を設ける場合を説明する。
本実施例では,フェイス領域の画像情報における局部的な特徴を抽出し,あらかじめ設定した条件(検証ディスクリプタに設定した条件)を充足しているかを検証処理部25における検証処理で検証するものである。
検証ディスクリプタは,標本情報における対象物を特徴付ける部分を類型化した特徴情報である。検証ディスクリプタには一以上の特徴情報と,優位度(重み付け)とが対応づけて記憶される。特徴情報とは,標本情報における対象物を特徴付ける部分である対象と,対象の色,外形などを示す「属性」,属性の具体的な色や形状などを示す「属性値」とを有している。たとえば標本情報における対象物が飲料のペットボトルであれば,「特徴情報」における「対象」として「キャップ」,その属性として「色」,その属性値として「白」などが対応づけて設定される。一つの対象物に対して一以上の特徴情報が検証ディスクリプタとして設定される。優位度とは,検証ディスクリプタにおける検証の順位付けをする情報であるが,優位度は設定しなくてもよい。
本実施例における検証ディスクリプタの一例を図14および図15に示す。図14はペットボトル飲料に関しての検証ディスクリプタの一例を示している。図14の検証ディスクリプタでは,飲料のペットボトルの外形について1つの特徴情報,マークについて2つの特徴情報,キャップについて2の特徴情報の合計5つの特徴情報が設定されており,それぞれの特徴情報について,属性,属性値および優位度が設定されている。図14では,特徴情報「ボトル外形」について,属性「ボトル肩」とその属性値「いかり肩」,優先度(重み)「0.4」が設定されており,特徴情報「マーク」の「属性」について「レイアウト」とその属性「ラベル上中央」,優先度「0.3」が設定されており,特徴情報「マーク」について属性「ベースカラー」とその属性値「白」,優先度「0.1」が設定されており,特徴情報「キャップ」について属性「色」とその属性値「白」,優先度「0.1」が設定されており,特徴情報「キャップ」について属性「形」とその属性値「標準」,優先度「0.1」が設定されている。
図15は図14とは異なる商品のペットボトル飲料に関しての検証ディスクリプタの一例を示している。図15の検証ディスクリプタでも,飲料のペットボトルの外形について1つの特徴情報,マークについて2つの特徴情報,キャップについて2の特徴情報の合計5つの特徴情報が設定されており,それぞれの特徴情報について,属性,属性値および優位度が設定されている。図15では,特徴情報「ボトル外形」について,属性「ボトル肩」とその属性値「なで肩」,優先度(重み)「0.4」が設定されており,特徴情報「マーク」の「属性」について「レイアウト」とその属性「ラベル上左」,優先度「0.3」が設定されており,特徴情報「マーク」について属性「ベースカラー」とその属性値「白」,優先度「0.1」が設定されており,特徴情報「キャップ」について属性「色」とその属性値「白」,優先度「0.1」が設定されており,特徴情報「キャップ」について属性「形」とその属性値「標準」,優先度「0.1」が設定されている。
検証ディスクリプタは,標本情報記憶部22に記憶する対象物の標本情報に対応づけて記憶されている。また検証ディスクリプタでは,同一種類の商品,たとえば飲料のペットボトルについては,各特徴情報における属性は同様の属性が設定されているとよい。
本実施例の検証処理の処理プロセスの一例を図8,図10および図16のフローチャートを用いて説明する。なお,S210までの処理は,実施例1と同様なので説明を省略する。また,本実施例の検証処理を模式的に図17に示す。
まず処理対象とするフェイス領域の画像情報から不要な情報,たとえば背景部分を除去して,処理対象とする画像情報を切り出す(S400)。また,パラメータACCを初期値0に設定する(S410)。
そしてS210の画像認識処理部24における画像認識処理の認識結果に基づいて,処理対象とするフェイス領域に写っている商品に類似している商品の商品識別情報が対応する標本情報に関連付けられた検証ディスクリプタを特定する(S420)。
S400でフェイス領域の画像から切り出した画像情報と,S420で特定した検証ディスクリプタのうち,優位度の高い特徴情報の順番に比較をし(S430),特徴情報における各対象の属性およびその属性値を,当該画像情報が充足しているかを判定する(S440)。そして,その属性および属性値を充足している場合には,パラメータACCに当該特徴情報に対応する優位度を加算する(S450)。
パラメータACCがあらかじめ設定した閾値以上であれば,検証処理部25は,当該処理対象とするフェイス領域に写っている商品について,画像認識処理部24における画像認識処理で特定した商品の商品識別情報は「正解」と判定する(S470)。一方,パラメータACCが閾値未満であって,当該検証ディスクリプタにまだほかの特徴情報がある場合には(S480),当該検証ディスクリプタのうち,つぎに優位度に高い特徴情報と,S400でフェイス領域の画像から切り出した画像情報とを比較し(S430),S430以降の処理を反復する。
そして,当該検証ディスクリプタにおけるもっとも優位度の低い特徴情報についてまでS460の判定処理を実行した結果,パラメータACCが閾値以上ではない場合には,当該検証ディスクリプタにおけるすべての特徴情報についての処理を実行しているので,検証処理部25は,当該処理対象とするフェイス領域に写っている商品について,画像認識処理部24における画像認識処理で特定した商品の商品識別情報は「誤り」と判定する(S490)。
以上の検証処理を,撮影画像情報における各フェイス領域について実行することで,画像認識処理部24における画像認識処理の結果を検証する。
以上のようにして検証処理を実行することができる。そして検証処理(S220)以降の処理は,S230以降と同様なので,説明を省略する。
なお,上述の説明ではパラメータACCに条件を充足した特徴情報に対応する優位度を加算し,パラメータACCがあらかじめ設定した閾値以上となった場合に,「正解」と判定する処理としたが,パラメータACCに優位度を加算するのではなく,条件を充足した特徴情報の数を加算するようにしてもよい。この場合,パラメータACCがあらかじめ設定した閾値(条件を充足した特徴情報の数に対する閾値)以上となった場合に,「正解」と判定するように構成することもできる。
また,上述のS440では,検証ディスクリプタの特徴情報における属性およびその属性値を,当該画像情報が充足しているかを判定する際に,充足していれば優位度を加算し,充足していなければそのまま次の特徴情報の処理としていたが,必ずしも,当該画像情報において特徴情報を発見できるかは限らない。そのため,検証ディスクリプタの特徴情報における属性およびその属性値を,当該画像情報が充足していれば優位度を加算し,充足していなければ優位度を減算し,当該画像情報で当該特徴情報そのものを見つけられなければそのまま次の特徴情報の処理を行う,というように,3段階で処理をしてもよい。
S440における条件の充足の有無,特徴情報の発見の有無についての演算は任意の演算を採用することができ,上述に限定するものではない。
本実施例における検証ディスクリプタは,同じシリーズの別商品と区分する程度に対象,属性および属性値を設定すればよい。
つぎに本発明の検証システム1において,実施例1および実施例2の検証処理とは異なる検証処理を用いた場合を説明する。本実施例3における検証処理ではプロファイルデータを用いた場合の処理を説明する。プロファイルデータとは,画像情報内の対象物を構成する領域とその形状を代表する部分を表現したデータである。プロファイルデータは,図18に示すように,画像上のどの位置にどのような形が存在するかを示すデータである。
プロファイルデータは,標本情報に対応づけて標本情報記憶部22に記憶される。プロファイルデータは,標本情報もしくはフェイス領域の画像情報を示す「元ファイル」,少なくとも一以上の構成要素を有している。構成要素には,閉領域の所定の頂点(たとえば左上)の位置,その閉領域の重心の位置,面積,当該閉領域の二値画像のファイル名などを含む。
まず標本情報に対応するプロファイルデータを生成する処理プロセスの一例を図19のフローチャートを用いて説明する。
オペレータは,入力端末3を用いて標本情報とする商品を正対位置から撮影し,撮影した対象物画像情報,識別情報,商品名,商品コードの入力を管理端末2で受け付け,それらを対応づけて標本情報記憶部22に記憶させておく(S500)。そして画像認識処理部24における画像認識処理で用いるための標本情報を抽出し,記憶しておく。たとえば局所特徴量とEMDなどを画像特徴量として抽出し,標本情報記憶部22に記憶させる。
このような標本情報に対する処理を,複数の商品,好ましくは陳列棚に陳列される可能性のあるすべての商品についてあらかじめ実行しておく。
また,対象物の画像情報または標本情報について,所定色数,たとえば5色や10色以下に減色をする(S510)。これは,たとえば当該画像情報について,所定色数のドミナントカラー(支配色)を特定後,それらの色で各ピクセルを置き換えることで行える。
減色した画像情報について,同一色の連続領域に区分けをすることで,色ごとの領域に分割をする(S520)。そして,面積が所定の大きさ以下の領域(小さすぎる領域),全体の面積が大きすぎる領域(対象物の地色など),画像情報の縁への密着度の高い領域(背景部分),重心がほかの要素の内部に含まれている領域(内部にデザインがある囲み図形),細くかつ屈曲が激しい領域(繊細な文字列)などの領域を除外して,残った領域を構成要素として特定する(S530)。そして残った領域である構成要素ごとに,その形状の情報(閉領域の所定の頂点の位置,重心の位置,面積)と二値画像とを,プロファイルデータに追加することで,プロファイルデータを生成する(S540)。
図20に,標本情報とする商品の画像情報(対象物画像情報)とそれに対応するプロファイルの一例を模式的に示す。図20(a)は対象物画像情報の一例であり,図20(b)は当該標本情報に対応するプロファイルの一例である。図20(b)のプロファイルにおける各構成要素の位置などをテキストデータとして示したのが,プロファイルデータである。
以上のように生成したプロファイルデータを用いて,検証処理部25における検証処理を実行することとなる。
本実施例の検証処理の処理プロセスの一例を図8,図10,図21および図22のフローチャートを用いて説明する。なお,S210までの処理は,実施例1と同様なので説明を省略する。
処理対象とするフェイス領域の画像情報から,図19と同様の処理を実行することで,プロファイルデータを生成する。フェイス領域の画像情報からプロファイルデータを生成する処理プロセスの一例を示すフローチャートを図21に示す。
まずフェイス領域の画像情報について,所定色数,たとえば5色以下に減色をする(S600)。フェイス領域の画像情報の一例を図23(a)に,減色したフェイス領域の画像情報の一例を図23(b)に示す。
減色した画像情報について,同一色の連続領域に区分けをすることで,色ごとの領域に分割をする(S610)。そして,面積が所定の大きさ以下の領域(小さすぎる領域),全体の面積が大きすぎる領域(対象物の地色など),画像情報の縁への密着度の高い領域(背景部分),重心が他の要素の内部に含まれている領域(内部にデザインがある囲み図形),細くかつ屈曲が激しい領域(繊細な文字列)などの領域を除外して,残った領域を構成要素として特定する(S620)。そして残った領域である構成要素ごとに,その形状の情報(閉領域の所定の頂点の位置,重心の位置,面積)と二値画像とを,プロファイルデータに追加することで,プロファイルデータを生成する(S630)。図24に,図23(a)のフェイス領域の画像情報に対して生成したプロファイルの一例を示す。
以上のように生成したフェイス領域の画像情報に基づくプロファイルと,処理対象とするフェイス領域に写っている商品に類似している商品の商品識別情報が対応する標本情報に関連付けられたプロファイルとを用いて,その類似性を評価することで,検証処理を検証処理部25が実行する(S230)。この処理を図25に模式的に示す。図25は左側が標本情報に関連付けられたプロファイルの一例であり,右側がフェイス領域の画像情報に基づくプロファイルの一例である。なお,図25では,説明の簡略化のため,構成要素を円で示しているが,実際は閉領域であれば足り,不定形である。
まず標本情報のプロファイルと,フェイス領域のプロファイルのそれぞれにおける構成要素のうち,面積が大きい構成要素から2以上の構成要素を特定する。たとえば面積が上位4個の構成要素を特定する(S700)。ここで特定した構成要素を「核」とする。この状態を模式的に示すのが図25(a)である。
そしてそれぞれのプロファイルについて,S700で特定した核となる構成要素のうち,隣り合う構成要素を重心同士で連結する。この際に,一通りに定まるように,左回り,下降が優先,といったようにあらかじめ定めたルールに従って連結をする。この状態を模式的に示すのが図25(b)である。なお,隣り合う構成要素を重心同士で連結したものを星座と呼ぶこととする。
隣り合う構成要素のパターン(星座のパターン)が,標本情報のプロファイルとフェイス領域のプロファイルとで一致するかを示す一致性の評価をする(S720)。すなわち,各プロファイルにおいて,連結した構成要素の重心を結ぶことで生成される折れ線の類似度を評価する。これは,折れ線が折れ曲がるたびに,一つ前の線分との長さの比の類似度,角度の類似度を積算することで算出できる。そしてこの類似度があらかじめ設定した閾値以上であれば,一致すると判定し,閾値未満であれば類似しないと判定する。
そして類似すると判定した場合,いずれか一方のプロファイルを拡縮することで,双方のプロファイルを重ね合わせ,縮尺,位相を合わせる(S730)。これは,各プロファイルにおける折れ線の総延長距離が同じとなるように拡縮すればよく,また折れ線の重心同士を一致するように平行移動すればよい。
以上のようにして,S700で特定した核となるプロファイル以外の構成要素について,それぞれのプロファイルで対応する構成要素があるかを特定し,特定したら,その構成要素を星座に追加する(S740)。すなわち,一方のプロファイルのうち,星座にまだ入っていない構成要素を特定し,その重心から一定距離の範囲で,他方のプロファイルの要素の重心がもっとも近いものを探索し,もっとも近いものがあれば,対応する構成要素があるとして特定する。この状態を模式的に示すのが図25(c)である。星座に追加した構成要素については,隣り合う構成要素の重心と連結する。また,図20の標本情報およびそのプロファイルと,図23のフェイス領域の画像および図24のそのプロファイルにおけるそれぞれの構成要素同士の対応付けを模式的に示すのが図26である。
そして,それぞれのプロファイルの構成要素同士の対応関係から類似度を算出する処理を実行する(S750)。類似度の算出処理は以下の数式を演算することで算出できる。
類似度=w1×Σ(対応する要素同士の一致度)−w2×Σ(対応しない要素の面積)
ここでw1,w2は所定の重み付けであり,任意の値として設定することが可能である。またw2は0として設定することもできる。すなわち,無関係の物が写り込んでいる場合など,対応しない要素の面積を考慮することが相当ではない場合には,w2を0として設定することで,その影響を排除することができる。
また,上述の類似度を算出する数式において,対応する要素同士の一致度は,2つのプロファイルの大きさの尺度を合わせて,2つのプロファイルにおける構成要素の重心を合わせて,以下の数式を演算することで算出できる。
対応する要素同士の一致度=(フェイスのプロファイルと標本情報のプロファイルの構成要素の共通部分の面積−(フェイスのプロファイルではあり標本情報のプロファイルがない部分の構成要素の面積+標本情報のプロファイルではありフェイスのプロファイルではない部分の構成要素の面積)/2)/フェイスのプロファイルの面積
この際に,商品の傾き(画像情報の要素の傾き)に対応するため,一方を微小な角度で回転させながら,上述の数式の演算を行い,もっとも値が大きいものを採用するようにしてもよい。さらに,2つのプロファイルにおいて対応する構成要素の組の個数が多いものを重視するようにしてもよい。
以上のようにして類似度を算出後,その類似度が所定値以上であれば(S760),検証処理部25は,画像認識処理部24における画像認識処理での認識結果が「正解」と判定する(S770)。一方,算出した類似度が所定値未満であれば(S760),検証処理部25は,画像認識処理部24における画像認識処理での認識結果が「誤り」と判定する(S780)。
以上の検証処理を,撮影画像情報における各フェイス領域について実行することで,画像認識処理部24における画像認識処理の結果を検証する。
以上のようにして検証処理を実行することができる。そして検証処理(S220)以降の処理は,S230以降と同様なので,説明を省略する。
上述の各実施例における各処理については,本発明の明細書に記載した順序に限定するものではなく,その目的を達成する限度において適宜,変更することが可能である。
また,各値を比較する場合,「以上」,「未満」と実施例で記載している場合であっても,「より大きい」,「以下」と比較条件を適宜,変更してもよい。
また,本発明の検証システム1は,店舗の陳列棚を撮影した撮影画像情報から,陳列棚に陳列した商品を対象物として,その商品の陳列状況を特定する場合に有効であるが,それに限定するものではない。すなわち,ある撮影対象物を撮影した場合に,その所望の対象物が写っている領域を撮影した画像情報から特定する際に,広く用いることができる。