本発明の画像認識システム1のシステム構成の一例を図1に示す。画像認識システム1は,管理端末2と撮影画像情報入力端末4とを用いる。
管理端末2は,画像認識システム1を運営する企業等の組織が利用するコンピュータである。また,撮影画像情報入力端末4は,店舗の陳列棚を撮影した画像情報の入力を行う端末である。
画像認識システム1における管理端末2,撮影画像情報入力端末4は,コンピュータを用いて実現される。図2にコンピュータのハードウェア構成の一例を模式的に示す。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,情報を表示するディスプレイなどの表示装置72と,情報の入力が可能なキーボードやマウスなどの入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。
コンピュータがタッチパネルディスプレイを備えている場合には,表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
撮影画像情報入力端末4は,上記の各装置のほか,カメラなどの撮影装置を備えていてもよい。撮影画像情報入力端末4として,携帯電話,スマートフォン,タブレット型コンピュータなどの可搬型通信端末を用いることもできる。
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。本発明の各手段における処理は,その処理順序を適宜変更することもできる。また,処理の一部を省略してもよい。たとえば正置化処理を省略することもできる。その場合,正置化処理をしていない画像情報に対する処理を実行することができる。
画像認識システム1における管理端末2は,撮影画像情報入力端末4とネットワークを介して情報の送受信が可能である。
画像認識システム1は,撮影画像情報入力受付処理部20と,撮影画像情報記憶部21と,撮影画像情報正置化処理部22と,位置特定処理部23と,商品タグ配置領域切出処理部24と,商品タグ配置領域正置化処理部25と,商品タグ特定処理部26と,商品タグ内情報特定処理部27とを有する。
撮影画像情報入力受付処理部20は,撮影画像情報入力端末4で撮影した店舗の陳列棚の画像情報(撮影画像情報)の入力を受け付け,後述する撮影画像情報記憶部21に記憶させる。撮影画像情報入力端末4からは,撮影画像情報のほか,撮影日時,店舗名などの店舗識別情報,画像情報を識別する画像情報識別情報などをあわせて入力を受け付けるとよい。
撮影画像情報記憶部21は,撮影画像情報入力受付処理部20で受け付けた撮影画像情報,撮影日時,店舗識別情報,画像情報識別情報などを対応づけて記憶する。撮影画像情報とは,台形補正処理を実行する対象となる画像情報であればよく,一つの陳列棚を複数枚で撮影した場合に,それが一つの画像情報として合成された画像情報も含まれる。また,歪み補正処理が実行された後の画像情報も撮影画像情報に含まれる。
撮影画像情報正置化処理部22は,撮影画像情報記憶部21に記憶した撮影画像情報に対して台形補正処理を実行して正置化した,正置画像情報を生成する。台形補正処理は,撮影画像情報に写っている陳列棚の棚段が水平に,そこに陳列されている商品に対する商品タグが垂直になるように行う補正処理である。
撮影画像情報正置化処理部22が実行する台形補正処理は,撮影画像情報において4頂点の指定の入力を受け付け,その各頂点を用いて台形補正処理を実行する。指定を受け付ける4頂点としては,陳列棚の棚段の4頂点であってもよいし,陳列棚の棚位置の4頂点であってもよい。また,2段,3段の棚段のまとまりの4頂点であってもよい。4頂点としては任意の4点を指定できる。
図7および図8に正置化処理がされた撮影画像情報(正置画像情報)の一例を示す。図7は,陳列棚として,ビールなどの飲料用缶の商品を,上下2段の棚段に陳列をしている正置画像情報である。図8は,歯ブラシなどの商品を陳列棚に吊す態様で陳列する吊し棚であって,上下2段に商品を陳列している正置画像情報である。
位置特定処理部23は,撮影画像情報正置化処理部22において撮影画像情報に対して台形補正処理を実行した正置画像情報のうち,商品タグが取り付けられる可能性のある領域(商品タグ配置領域)を特定する。すなわち,撮影画像情報および正置画像情報には陳列棚が写っているが,陳列棚には,商品が陳列される棚段の領域と,そこに陳列される商品に対する商品タグが取り付けられる可能性のある商品タグ配置領域とがある。そのため,正置画像情報から商品タグ配置領域を特定する。商品タグ配置領域の特定としては,管理端末2の操作者が手動で商品タグ配置領域を指定し,それを位置特定処理部23が受け付けてもよいし,初回に手動で入力を受け付けた商品タグ配置領域の情報に基づいて,二回目以降は自動で商品タグ配置領域を特定してもよい。
図9に,図7の正置画像情報に対して商品タグ配置領域の指定の入力を受け付けた状態を模式的に示す。また,図10に,図8の正置画像情報に対して商品タグ配置領域の指定の入力を受け付けた状態を模式的に示す。
商品タグ配置領域切出処理部24は,位置特定処理部23で特定した商品タグ配置領域の画像情報を商品タグ配置領域画像情報として切り出す。商品タグ配置領域切出処理部24は,実際に,画像情報として切り出してもよいし,実際には画像情報としては切り出さずに,仮想的に切り出すのでもよい。画像情報を仮想的に切り出すとは,特定した領域,たとえば商品タグ配置領域の範囲を処理対象として処理を実行させることをいう。
商品タグ配置領域正置化処理部25は,商品タグ配置領域切出処理部24において切り出した商品タグ配置領域画像情報を正置化する台形補正処理を実行する。陳列棚の面が垂直であるのに対し,商品タグの面は,顧客から見やすいように,垂直面よりも上向きをしていることが多い。そこで商品タグ配置領域の画像情報を正置化することで,認識精度を向上させる。図11に,図9の商品タグ配置領域の画像情報に対して,正置化した商品タグ配置領域の画像情報の一例を示す。図11(a)が図9における上の棚段の商品タグ配置領域の画像情報を正置化した商品タグ配置領域の画像情報であり,図11(b)が図9における下の棚段の商品タグ配置領域の画像情報を正置化した商品タグ配置領域の画像情報である。
商品タグ配置領域正置化処理部25は,以下のような処理を実行することで,商品タグ配置領域の画像情報を正置化する。すなわち,商品タグ配置領域の画像情報において,エッジ検出を行い,左右の両端に近い箇所で,一定の長さ以上の垂直に近い輪郭線(たとえば70度から110度のように,垂直(90度)から所定範囲の角度内の輪郭線)を特定する。なお,左右の両端に近い箇所の輪郭線を抽出することが好ましいが,それに限定しない。図9の商品タグ配置領域の画像情報の場合,図12に示すように,L1乃至L4をそれぞれ特定する。図12(a)が図9における上の棚段の商品タグ配置領域であり,図12(b)が図9における下の棚段の商品タグ配置領域である。なお,特定する輪郭線L1乃至L4は,実際に商品タグ配置領域の画像情報に描画するわけではない。そして図12(a)のL1,L2,図12(b)のL3,L4が,それぞれ垂直線となるように,商品タグ配置領域の画像情報に対する台形補正処理をそれぞれ実行する。このような処理を実行することで,商品タグ配置領域の画像情報を正置化し,図11に示す正置化した商品タグ配置領域の画像情報を得られる。なお,商品タグ配置領域正置化処理部25の処理を実行することで,商品タグ特定処理部26,商品タグ内情報特定処理部27の精度を向上させることができることから,その処理を実行することが好ましいが,省略することもできる。その場合,商品タグ特定処理部26,商品タグ内情報特定処理部27は,商品タグ配置領域切出処理部24で切り出した商品タグ配置領域に対して実行することとなる。
商品タグ特定処理部26は,正置化した商品タグ配置領域画像情報から,各商品タグの領域(商品タグ領域)を特定する。商品タグ領域の特定処理には,主に2種類の方法を用いることができる。第1の方法は,輪郭線に基づいて商品タグ領域を特定する方法であり,第2の方法は,全体の明暗の分布などの全体的な特徴を,商品タグのテンプレートの画像情報とマッチングすることで商品タグ領域を特定する方法である。第1の方法,第2の方法以外の方法を用いることもできる。
第1の方法は,商品タグの地の色(背景色)が白色が多い(背景より明るい)ことを利用する方法である。すなわち,まず正置化した商品タグ配置領域の画像情報のうち,画像情報の明度情報を横方向に積算したヒストグラムを生成する。そしてヒストグラムの立ち上がり,立ち下がり位置を特定し,商品タグの上辺位置A,下辺位置Bを特定する。この処理を模式的に示すのが図13である。立ち上がりとは,ヒストグラムにおいて,黒から白の方向に急峻(あらかじめ定められた比率以上)に増加する箇所であり,立ち下がりとは,ヒストグラムにおいて,白から黒の方向に急峻に減少する箇所である。
そして,正置化した商品タグ配置領域の画像情報のうち,上辺位置A,下辺位置Bの間を切り出し,正置化した商品タグ配置領域画像情報の明度情報を縦方向に積算したヒストグラムを生成する。そして,ヒストグラムの立ち上がり,立ち下がり位置を特定し,立ち上がりとその右の所定の距離範囲にある立ち下がりとをペアとし,それぞれを左辺位置,右辺位置として,商品タグ領域を特定する。そして,ペアを形成できなかった立ち上がりについてはその右側に,ペアを形成できなかった立ち下がりについてはその左側に,あらかじめ定めた距離内に商品タグ領域がなければ,商品タグ領域として特定をする。この処理を模式的に示すのが図14である。
また第1の方法により,図11の正置化した商品タグ配置領域の画像情報から,商品タグ領域を特定した状態を図15に示す。上辺位置A,下辺位置B,左辺位置(立ち上がり)U,右辺位置(立ち下がり)Dのそれぞれで構成される矩形領域が,特定された商品タグの領域である。
第2の方法は,いわゆるテンプレートマッチングである。すなわち,テンプレートとして,商品タグの画像情報をあらかじめ登録しておき,テンプレートと,正置化した商品タグ配置領域の画像情報とのマッチングをすることで,商品タグ領域を特定する。
商品タグには,税抜価格,税込価格,商品識別情報(商品名など),メーカー名,定格などが含まれる。そのため,テンプレートとなる商品タグの画像情報に,商品名など商品識別情報や価格の具体的な数字,文字を含めるとその部分も含めて画像マッチング処理の判定対象となるため,その部分をモザイク化,削除等することで,判定対象から中立化や除外してあることが好ましい。中立化とは,どんな入力について高い点,低い点を配点しないことであり,除外とは,画像マッチング処理の際に,その部分をマッチングの対象から除外することである。
商品タグ内情報特定処理部27は,商品タグ特定処理部26で特定した商品タグ領域に記載されている情報をOCR認識などにより特定する処理を実行する。OCR認識をする場合には,商品タグ領域として特定した領域のすべてまたは一部について行うことができる。商品タグ領域として特定したすべての領域に行うとノイズなどにより誤認識が発生する可能性が高いので,OCR認識をする対象領域を限定することが好ましい。この場合,商品タグ特定処理部26で用いた第1の方法,第2の方法にそれぞれ対応した処理を実行する。
商品タグ特定処理部26で第1の方法を用いた場合,特定した商品タグ領域において,まず二値化処理を行う。そして,二値化した画像情報においてラベリング処理を実行する。ラベリング処理とは,二値画像情報において,白または黒が連続した画素に同一の番号(識別情報)を割り振る処理を実行することで,連続する画素同士を一つの島(グループ)化する処理である。そしてラベリング処理によって検出した島を含む矩形領域(ボックス)を生成し,ボックスの高さ,幅,ベースラインを求める。ボックスを生成する際には,同一番号にラベリングされた領域を囲む最小の,垂直,水平の線分で囲まれた長方形を生成することが好ましいが,それに限定しない。なおボックスを生成する際に,あらかじめ定めた閾値となる高さ,幅を充足しない島はノイズとしてボックスを生成せず,そのまま処理対象から除去する。たとえば高さが小さすぎる島は横罫線や画像上のゴミの可能性があり,幅が広すぎる島はロゴなどの可能性があり,これらはノイズとして除去をする。
商品タグで使用される文字は,一般的にはゴシック体など太字が多い。そのため,画像情報に多少のピンぼけがある場合でも,一つの文字列を形成する文字群は,ベースラインと高さがそろった島として検出することができる。
そして商品タグ内情報特定処理部27は,所定の類似性を有する隣接したボックス同士を併合し,ブロックを構成する。すなわち,ベースラインと高さが所定範囲内で一致し,高さおよび幅が一定の閾値の範囲内にある連続するボックスを併合し,ブロックを構成する。この際に,併合するブロックの間にある小さいボックスなどもまとめて一つのブロックとして構成する。これによって,濁点,半濁点,ハイフンなども一つのブロックに取り込まれることとなる。ブロックは,OCR認識の対象となる領域である。そして,ブロックのうち,高さがもっとも高いブロックを価格領域(税抜価格領域)と推定し,OCR認識を行う。また,ほかのブロックについても同様に,OCR認識を行う。以上のような処理を実行することで,商品タグ領域において複数行にわたって自由にレイアウトされた原稿に対応したOCR認識を行うよりも精度よく,文字認識処理を実行することができる。この処理を模式的に示すのが図16乃至図18である。図16は二値化した画像情報であり,図17はボックス(破線で示す領域)を生成した状態を示す図である。また図18はブロック(破線で示す領域)を生成した状態を示す図である。
以上のようにして商品タグ内情報特定処理部27は,商品タグに記載した情報を文字認識することができる。
商品タグ特定処理部26で第2の方法を用いた場合,テンプレートとした商品タグの画像情報に,あらかじめ税抜価格,税込価格,メーカー名,商品名などの商品識別情報,定格が表記されるそれぞれの文字枠の位置,大きさ(高さ,幅)が設定されている。そのため,商品タグ特定処理部26で特定した商品タグ領域から,該当箇所の画像情報を切り出し,OCR認識処理を実行する。この際に,価格,メーカー名,商品名などの商品識別情報,定格によって使用される文字種別(たとえば数字,ローマ字,記号,文字列など)を制約条件として定めておくことで,OCR認識処理の精度を向上させることができる。
さらに商品タグ内情報特定処理部27は,読み取った情報の整合性を確認する処理を実行する。整合性確認処理としては,辞書照合による整合性の確認処理,ロジカルチェックの2種類を行うことが好ましい。
辞書照合による整合性の確認処理は,たとえば以下のように実行する。画像認識システム1には,陳列棚に陳列される可能性のある商品の商品名などの商品識別情報と,それに対応するコード情報(たとえばJANコード)とを対応づけて記憶する商品辞書(図示せず)を備えている。そして,商品タグ内情報特定処理部27で認識した価格を示す領域から読み取った文字列以外の文字列と,商品辞書に登録されたすべての商品名などの商品識別情報との編集距離(レーベンシュタイン距離)を求める。そして求めた編集距離のうち,最小の編集距離が一つであるならば,その編集距離の商品名などの商品識別情報を最終候補とする。そして最終候補となった商品名などの商品識別情報の文字列の長さに対して,許容できる編集距離をあらかじめ定めておき,許容できる編集距離内であれば商品名などの商品識別情報を同定する。許容できる編集距離を超えていれば,読み取った文字列は未確定とする。また,最小の編集距離が複数ある場合には,読み取った文字列は未確定とする。
編集距離とは,二つの文字列がどの程度異なっているかを示す距離の一種であって,具体的には,一文字の挿入,削除,置換によって,一方の文字列をもう一方の文字列に変形するのに必要な手順の最小回数である。図19に商品タグに表記された商品名,OCR認識の結果,商品辞書に記憶する商品名のうち編集距離が最小の商品名,編集距離の一例を示す。また,図20に,最終候補の文字数ごとの確定してよい編集距離の対応関係の表を示す。なお,本明細書では編集距離を用いて処理をする場合を説明するが,編集距離の算出において置換の距離を短くする処理を行った距離関数であってもよい。この距離関数には,二つの文字列がどの程度異なっているかを示す距離を算出する関数であって,上述の編集距離も含まれる。
そして,上記の最小の編集距離の商品名などの商品識別情報を求めた後,OCR認識結果から商品名などの商品識別情報の該当部分を除いた文字列に対し,別に備える定格辞書(図示せず)に記憶する各定格との編集距離,メーカー名辞書(図示せず)に記憶する各メーカー名との編集距離をそれぞれ求める。たとえば図19における「のどごし 生 350ml」の例では,「350ml」の部分に対し,定格の辞書における「350ml」と編集距離0で一致し,定格部分の文字列であることを同定する。同様に,メーカー名についても編集距離を求め,最小の編集距離にある文字列をメーカー名であることを同定する。そしてOCR認識結果から定格部分,メーカー名部分の各文字列を取り除いて,取り除いた残りの文字列に対し,商品名辞書における最短の編集距離にある文字列を求め,許容できる編集距離であるか否かを判定する。許容できる編集距離内であれば,商品名などの商品識別情報,メーカー名,定格を確定する。このような処理をすることで,商品名などの商品識別情報に定格,メーカー名が含まれる場合にも適切に確定をすることができる。なお,定格辞書とは,陳列棚に陳列される可能性のある商品の定格(容量など)を記憶する辞書である。メーカー名辞書とは,陳列棚に陳列される可能性のある商品のメーカー名を記憶する辞書である。
認識結果を利用者に示し,選択してもらうための表示を行う際には,確定した文字列,未確定の文字列については,それぞれが特定可能な方法で表示が行われているとよい。たとえば確定した文字列と未確定の文字列との色を分ける,確定の文字列および/または未確定の文字列には確定または未確定を示す情報を付するなどがある。未確定の文字列については,最小の編集距離となった商品名などの商品識別情報の候補が複数ある場合には,各候補を表示してもよい。
商品タグ内情報特定処理部27におけるロジカルチェック(認識した情報の論理的整合性の判定処理)は以下のように行うことができる。たとえば価格領域として2つの価格を読み取った場合,一つは税抜価格,一つは税込価格となるが,税抜価格が税込価格よりも高くなっている場合には,それらを逆転して認識させる。また,税抜価格に消費税率を乗算して得た値が税込価格とは一致しない場合には,いずれかまたは双方に誤認識があるとする。さらに,商品名などの商品識別情報を認識した場合には,その商品または商品カテゴリの通常の価格帯に収まっているか,を判定する。また,商品名などの商品識別情報,メーカー名,定格の対応関係が一致しているかを判定してもよい。
以上のように商品タグ内の情報の整合性を確認することで,撮影画像情報に写っている商品タグに含まれる情報を確定することができる。このように確定した情報は,たとえば表形式で出力をすることができる。
つぎに本発明の画像認識システム1の処理プロセスの一例を図3乃至図6のフローチャートを用いて説明する。
店舗の陳列棚が撮影された撮影画像情報は,撮影画像情報入力端末4から入力され,管理端末2の撮影画像情報入力受付処理部20でその入力を受け付ける(S100)。図21および図22に,撮影画像情報の一例を示す。また,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報の入力を受け付ける。そして,撮影画像情報入力受付処理部20は,入力を受け付けた撮影画像情報,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報を対応づけて撮影画像情報記憶部21に記憶させる。
管理端末2において所定の操作入力を受け付けると,正置画像情報正置化処理部は,撮影画像情報記憶部21に記憶する撮影画像情報を抽出し,台形補正処理を行うための頂点である棚位置(陳列棚の位置)の4点の入力を受け付け,台形補正処理を実行する(S110)。このようにして台形補正処理が実行された撮影画像情報(正置画像情報)の一例が,図7および図8である。
そして,正置画像情報に対して,管理端末2において所定の操作入力を受け付けることで,位置特定処理部23は,商品タグ配置領域を特定する(S120)。すなわち,正置画像情報における商品タグ配置領域の入力を受け付ける。図9および図10が,商品タグ配置領域が特定された状態を示す図である。そして,商品タグ配置領域切出処理部24はS120で特定した商品タグ配置領域の画像情報を切り出し(S130),商品タグ配置領域正置化処理部25が台形補正処理を実行することで,商品タグ配置領域の画像情報に対する正置化処理を実行する(S140)。
商品タグ配置領域の画像情報に対する正置化処理としては,まず,商品タグ配置領域の画像情報においてエッジ検出を行う。そして,検出したエッジのうち,一定の長さ以上であって,垂直から所定範囲の角度内にある輪郭線を特定する(S200)。そして,特定した輪郭線のうち,もっとも左および右にある輪郭線を特定する(S210)。このように特定した輪郭線の一例を図12に示す。そして,特定した輪郭線(図12(a)のL1,L2,図12(b)のL3,L4)が,それぞれ垂直線となるように,商品タグ配置領域の画像情報に対する台形補正処理を実行する(S220)。このような処理を実行することで,商品タグ配置領域の画像情報を正置化し,図11に示す正置化した商品タグ配置領域の画像情報を得られる。
S140において商品タグ配置領域の画像情報の正置化処理が終了すると,商品タグ特定処理部26が,第1の方法または第2の方法により,商品タグ配置領域の画像情報から,個々の商品タグ領域を特定する(S150)。
第1の方法の場合には,正置化した商品タグ配置領域の画像情報のうち,画像情報の明度情報を横方向に積算したヒストグラムを生成し(S300),ヒストグラムの立ち上がり,立ち下がり位置を特定する。そして,特定したヒストグラムの立ち上がりを商品タグの上辺位置A,ヒストグラムの立ち下がり位置を商品タグの下辺位置Bとして特定する(S310)。
つぎに,正置化した商品タグ配置領域の画像情報のうち,上辺位置A,下辺位置Bの間を切り出し,正置化した商品タグ配置領域の画像情報の明度情報を縦方向に積算したヒストグラムを生成する(S320)。
生成したヒストグラムにおいて立ち上がり位置U,立ち下がり位置Dを特定し,立ち上がり位置U(左辺位置)とその右の所定の距離範囲にある立ち下がり位置D(右辺位置)とをペアとして特定し,商品タグ領域として特定する(S330)。
ペアを形成できなかった立ち上がり位置Uについてはその右側に,ペアを形成できなかった立ち下がり位置Dについてはその左側に,あらかじめ定めた距離内に商品タグ領域がなければ,商品タグ領域として特定をする(S340)。
以上のような処理によって,それぞれの商品タグ領域を特定した状態が図15である。
また第2の方法を用いる場合には,商品タグ特定処理部26は,あらかじめ登録しているテンプレートの商品タグの画像情報と,正置化した商品タグ配置領域の画像情報との画像マッチング処理を実行することで,商品タグ領域を特定する。
以上のようにして商品タグ特定処理部26が商品タグ領域を特定すると,商品タグ内情報特定処理部27が,商品タグ内における情報を特定する(S160)。
商品タグ内情報特定処理部27における第1の方法は,特定した商品タグ領域について二値化処理することで,二値化した画像情報とする(S400)。そして,二値化した画像情報におけるラベリング処理により,ボックスを特定する(S410)。なお,あらかじめ定めた閾値となる高さ,幅を充足しない島はノイズとしてボックスを生成せず,そのまま処理対象から除去する。
そして生成したボックスの高さ,幅,ベースラインを求め,ベースラインと高さが所定範囲内で一致し,高さおよび幅が一定の閾値の範囲内にある隣接するボックスを特定することで,特定したボックスを併合し,ブロックを構成する(S420)。そしてブロックのうち,高さがもっとも高いブロックを価格領域(税抜価格領域)と推定し,OCR認識を行う(S430)。OCR認識の結果,価格情報を得られなければ(数値の文字列を認識できなければ)(S440),高さが次に高いブロックを価格領域(税抜価格領域)と推定し,同様にOCR認識を行う。
なおS430のOCR認識においては,価格に用いる「数字」,「コンマ」等の価格表示を構成する文字認識を制約条件として付加することで価格の読み取り精度を向上することができる。
このように価格領域(税抜価格領域)と推定したブロックから価格情報をOCR認識により取得すると(S440),S430で価格領域(税抜価格領域)と推定して取得した価格情報以外のブロックを特定し(S450),特定した各ブロックに対してOCR認識を行う(S460)。このOCR認識については,2種類のOCR認識処理を行うことが好ましい。すなわち,通常の標準的なOCR認識処理と,価格表示を構成する文字認識を制約条件として付加したOCR認識処理である。
S450で特定したブロックには,価格領域(税込価格領域)のブロックと,メーカー名,商品名などの商品識別情報,定格などの情報の領域のブロックが含まれる。そして各ブロックについて2種類のOCR認識処理を実行する。メーカー名,商品名などの商品識別情報,定格などの情報の領域のブロックについては,標準的なOCR認識処理では文字列を認識し,制約条件を付したOCR認識処理では多くはエラーを含む文字列となる。この場合,2つの認識処理の認識結果が所定値以上相違するかを判定し,相違する場合には,標準的なOCR認識処理で実行した文字列を認識結果とし,価格領域(税込価格領域)のブロック以外のブロックであると判定する。一方,価格領域(税込価格領域)のブロックについては,標準的なOCR認識処理では価格情報の文字列を認識し,制約条件を付したOCR認識処理でも価格情報の文字列を認識する。この場合,2つの認識処理の認識結果が所定値以上相違するかを判定し,相違しない場合には,価格領域(税込価格領域)のブロックであると判定し,制約条件を付加した認識処理による文字列を認識結果の価格情報とする。
以上のようにして商品タグ内情報特定処理部27は,商品タグに記載した情報を文字認識することができる。
なお,商品タグ特定処理部26で第2の方法を用いた場合には,テンプレートとした商品タグには,あらかじめ税抜価格,税込価格,メーカー名,商品名などの商品識別情報,定格がそれぞれ表記される文字枠の位置,サイズが設定されている。そのため,商品タグ特定処理部26で特定した商品タグ領域から,該当箇所の画像情報を切り出し,OCR認識処理を実行すればよい。
そして商品タグ内情報特定処理部27は,特定した商品名等との辞書照合処理を実行する(S470)。すなわち,読み取った文字列と,商品辞書における各商品名などの商品識別情報との編集距離を求め,最小の編集距離の商品名などの商品識別情報を特定し,それがあらかじめ定めた所定距離内であれば商品名などの商品識別情報として同定する。そして,読み取った文字列から最短の編集距離の商品名部分を取り除き,残りの部分文字列に対し,定格辞書における各定格との編集距離を求め,最小の編集距離が所定距離内であるかを判定して,所定距離内にあればその部分を定格の文字列として同定する。同様に,読み取った文字列から最小の編集距離の商品名部分と定格部分を取り除き,残りの部分文字列に対し,メーカー名辞書における各メーカー名との編集距離を求め,最小の編集距離が所定距離内であるかを判定して,所定距離内にあればその部分をメーカー名の文字列として同定する。
さらに,商品タグ内情報特定処理部27は,文字認識した文字列に対するロジカルチェックの処理を実行する(S480)。すなわち文字認識した文字列が論理的に矛盾しないか,などを判定する。
ロジカルチェックの結果,矛盾がないようであれば,それぞれ認識した文字列について,税抜価格,税込価格,商品名などの商品識別情報,メーカー,定格を特定し,それらを,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報と対応づけて所定の記憶領域に記憶,出力をする。たとえば表形式で出力をする。
実施例1においては,撮影画像情報から商品タグに記載される情報を読み取る場合を説明したが,さらに,陳列棚に陳列する商品の画像認識と対応づけるようにしてもよい。すなわち,陳列棚に陳列する商品の商品名などの商品識別情報を,商品タグに記載される情報からも特定し,それらを照合するようにしてもよい。
この場合,実施例1の画像認識システム1は,本実施例2における画像認識システム1の一部の機能を構成する。実施例2における画像認識システム1は,撮影画像情報入力受付処理部20と,撮影画像情報記憶部21と,撮影画像情報記憶部21と,撮影画像情報正置化処理部22と,位置特定処理部23と,商品タグ認識処理部28と,陳列商品認識処理部29と,標本画像情報記憶部30と,商品識別情報記憶部31と,整合性判定処理部32と,認識結果照合処理部33とを有する。図23に,実施例2における画像認識システム1のシステム構成の一例を示す。また,図24に商品タグ認識処理部28の構成の一例を,図25に陳列商品認識処理部29の構成の一例を示す。
画像認識システム1における管理端末2は,撮影画像情報入力端末4とネットワークを介して情報の送受信が可能である。
撮影画像情報入力受付処理部20,撮影画像情報記憶部21,撮影画像情報正置化処理部22は,実施例1と同様である。
位置特定処理部23は,実施例1における位置特定処理部23の機能に加え,棚段の領域(棚段領域)を特定する。すなわち,撮影画像情報および正置画像情報に写っている陳列棚のうち,商品が陳列される棚段領域と,そこに陳列される商品に対する商品タグが取り付けられている商品タグ配置領域とがある。そのため,正置画像情報から商品タグ配置領域と棚段領域とを特定する。商品タグ配置領域,棚段領域の特定としては,管理端末2の操作者が手動で商品タグ配置領域,棚段領域を指定し,それを位置特定処理部23が受け付けてもよいし,初回に手動で入力を受け付けた商品タグ配置領域,棚段領域の情報に基づいて,二回目以降は自動で商品タグ配置領域,棚段領域を特定してもよい。
商品タグ認識処理部28は,商品タグの認識処理を実行する。すなわち,実施例1の画像認識システム1における商品タグ配置領域切出処理部24,商品タグ配置領域正置化処理部25,商品タグ特定処理部26,商品タグ内情報特定処理部27の各処理を実行する。各処理部における処理は,実施例1の画像認識システム1の場合と同様である。
陳列商品認識処理部29は,撮影画像情報に写っている陳列棚における棚段に陳列されている商品を認識する処理を実行する。陳列商品認識処理部29は,棚段領域切出処理部291とフェイス特定処理部292と商品識別情報特定処理部293と棚段画像マッチング処理部294とを有する。
棚段領域切出処理部291は,位置特定処理部23で特定した棚段の領域の画像情報を棚段領域画像情報として切り出す。棚段領域切出処理部291は,実際に,画像情報として切り出してもよいし,実際には画像情報としては切り出さずに,仮想的に切り出すのでもよい。なお,陳列棚に棚段が複数ある場合には,それぞれが棚段領域画像情報として切り出される。
フェイス特定処理部292は,正置画像情報における棚段領域における棚段ごとに,商品が置かれているフェイス(商品が置かれている領域)を特定する。フェイス特定処理部292は,初回のフェイスの特定処理と,二回目以降のフェイスの特定処理とに分かれる。
フェイス特定処理部292における初回のフェイスの特定処理は,位置特定処理部23で特定した棚段の座標で構成される領域(好ましくは矩形領域)の範囲内において,商品が置かれている領域(フェイス)を特定する。具体的には,商品と商品との間に生じる細く狭い陰影を特定する,画像の繰り返しパターンを特定する,パッケージの上辺の段差を特定する,商品幅が同一であるなどの制約に基づいて区切り位置を特定する,などによって,フェイスの領域を特定する。フェイスの特定処理としては,商品のカテゴリや商品の形態によって,任意の方法を採用可能であり,上記に限定するものではない。また,自動的に特定したフェイスに対して,担当者による修正入力を受け付けてもよい。さらに,担当者からフェイスの位置の入力を受け付けるのでもよい。特定したフェイスを構成する領域の座標は,正置画像情報におけるフェイスの領域の座標に,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,フェイスを識別するためのフェイス識別情報とを対応づけて管理する。またフェイスの領域を示す座標としては,矩形領域を特定するために必要な頂点の座標であり,たとえば4点,または右上と左下,左上と右下の2点の座標でよい。
フェイス特定処理部292における二回目以降のフェイスの特定処理は,同一の陳列棚の同一の棚段について,前回(N−1回目)の正置画像情報で特定したフェイスの領域の座標を今回(N回目)の正置画像情報で特定したフェイスの領域の座標とする。
フェイスの領域の座標は,棚段の位置の座標と同様に,正置画像情報における陳列棚など,画像情報における所定箇所(たとえば陳列棚の左上の頂点C1)を基準とした相対座標である。
商品識別情報特定処理部293は,陳列棚の棚段ごとに,フェイスに表示されている商品の商品識別情報を特定する。商品識別情報としては,商品名のほか,その商品に対して割り当てられているJANコードなどがあるが,それに限定されない。商品を識別することができる情報であればいかなるものでもよい。
商品識別情報特定処理部293は,以下のような処理を実行する。すなわち,フェイスごとに,フェイスの画像情報と,後述する標本画像情報記憶部30に記憶する商品の標本画像情報とマッチングすることで,そのフェイスに表示されている商品の商品識別情報を特定する。具体的には,まず,処理対象となるフェイスの座標で構成される領域の画像情報と,標本画像情報記憶部30に記憶する標本画像情報との類似性を判定し,その類似性がもっとも高い標本画像情報に対応する商品識別情報を,上記座標で構成されるフェイスに表示されている商品の商品識別情報として特定をする。
ここでフェイスの画像情報と標本画像情報との類似性を判定するには,以下のような処理を行う。まず,商品識別情報特定処理部293における商品識別情報の特定処理の前までの処理において,正置画像情報の棚段におけるフェイスの領域の画像情報と,標本画像情報との方向が同じ(横転や倒立していない)となっており,また,それぞれの画像情報の大きさがおおよそ同じとなっている(所定範囲以上で画像情報の大きさが異なる場合には,類似性の判定の前にそれぞれの画像情報の大きさが所定範囲内となるようにサイズ合わせをしておく)。そして,フェイスの画像情報と,標本画像情報との類似性は,フェイスの画像情報の画像特徴量(たとえば局所特徴量)に基づく特徴点と,標本画像情報との画像特徴量(たとえば局所特徴量)に基づく特徴点を,それぞれ抽出する。そして,フェイスの画像情報の特徴点と,標本画像情報の特徴点とでもっとも類似性が高いペアを検出し,それぞれで対応する点の座標の差を求める。そして,差の平均値を求める。差の平均値は,フェイスの画像情報と,標本画像情報との全体の平均移動量を示している。そして,すべての特徴点のペアの座標差を平均の座標差と比較し,外れ度合いの大きなペアを除外する。そして,残った対応点の数で類似性を順位付ける。
以上のような方法でフェイスの画像情報と,標本画像情報との類似性を算出できる。また,その精度を向上させるため,さらに,色ヒストグラム同士のEMD(Earth Movers Distance)を求め,類似性の尺度としてもよい。これによって,撮影された画像情報の明度情報等の環境変化に比較的強い類似性の比較を行うことができ,高精度で特定をすることができる。なお,類似性の判定は,上述に限定をするものではない。特定した商品識別情報は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,フェイスを識別するためのフェイス識別情報に対応づけて商品識別情報記憶部31に記憶する。
以上のようにして特定した商品識別情報は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,フェイスを識別するためのフェイス識別情報に対応づけて商品識別情報記憶部31に記憶する。
棚段画像マッチング処理部294は,前回(N−1回目)の正置画像情報における棚段の領域の画像情報と,今回(N回目)の正置画像情報における棚段の領域の画像情報とに基づいて,その類似性が高ければその棚段における各フェイスの商品識別情報は同一と判定する。この類似性の判定処理は,上述のように,前回(N−1回目)の正置画像情報における棚段の領域の画像情報の画像特徴量と,今回(N回目)の正置画像情報における棚段の領域の画像情報とに基づく類似性の判定でもよいし,色ヒストグラム同士のEMDを用いたものであってもよい。また,それらに限定するものではない。そして,商品識別情報特定処理部293におけるフェイス単位ごとの特定処理ではなく,商品識別情報特定処理部293に,N回目の正置画像情報におけるその棚段における各フェイスの商品識別情報を,N−1回目の同一の棚段における各フェイスの商品識別情報と同一として,商品識別情報記憶部31に記憶させる。これによって,あまり商品の動きがない棚段や逆にきわめて短いサイクルで管理される棚段など,変化がほとんど生じない棚段についての処理を省略することができる。なお,棚段画像マッチング処理部294による処理は設けなくてもよい。
標本画像情報記憶部30は,正置画像情報に写っている陳列棚の棚段における各フェイスの商品がどの商品であるかを識別するための標本画像情報を記憶する。標本画像情報は,陳列棚に陳列される可能性のある商品を,上下,左右,斜めなど複数の角度から撮影をした画像情報である。図28に標本画像情報記憶部30に記憶される標本画像情報の一例を示す。図28では,標本画像情報として,缶ビールをさまざまな角度から撮影をした場合を示しているが,缶ビールに限られない。標本画像情報記憶部30は,標本画像情報と,商品識別情報とを対応付けて記憶する。
なお,標本画像情報記憶部30には,標本画像情報とともに,または標本画像情報に代えて,標本画像情報から抽出された,類似性の算出に必要となる情報,たとえば画像特徴量とその位置のペアの情報を記憶していてもよい。標本画像情報には,類似性の算出に必要となる情報も含むとする。この場合,商品識別情報特定処理部293は,フェイスの領域の画像情報と,標本画像情報とのマッチング処理を行う際に,標本画像情報について毎回,画像特徴量を算出せずともよくなり,計算時間を短縮することができる。
商品識別情報記憶部31は,陳列棚の棚段の各フェイスに表示されている商品の商品識別情報を記憶する。たとえば,商品識別情報に対応付けて,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,フェイスを識別するためのフェイス識別情報に対応づけて商品識別情報記憶部31に記憶する。
整合性判定処理部32は,商品タグ認識処理部28による商品タグに表示される情報の認識結果と,陳列商品認識処理部29による商品(商品識別情報)の認識結果について,各棚や各棚段に含まれている可能性の高い商品かどうかの整合性を判定する。たとえば,商品タグに表示される情報の認識結果,または商品の認識結果において,定格が350mlの商品と認識しているが,その商品の陳列棚または棚段には500mlの商品が陳列されていること定められている場合には,同一の商品名の定格を「500ml」に変更する。陳列棚または棚段に載置される商品については,あらかじめ設定されており,撮影画像情報記憶部21に記憶する撮影画像情報に対応づけられていることが好ましい。
認識結果照合処理部33は,陳列商品認識処理部29において認識したフェイスごとの商品の商品識別情報と,商品タグ認識処理部28において認識した商品の情報(商品識別情報)とを突合し,認識結果が一致しているかを照合する。
具体的には,まず陳列商品認識処理部29による認識処理の結果,類似性の高いフェイスが並んでいる区画を一群として,一つの棚段に何群あるかを特定する。また,それぞれの群の棚段の左右位置がどこかを特定する。そして,各群と左右位置が一致している,商品タグ認識処理部28による商品タグの認識結果の情報を,各群に対応づける。
フェイスによる群と商品タグとが対応づけている場合,以下の処理を実行する。まず,商品タグ認識処理部28による商品タグの認識の結果,読み取った商品名(商品識別情報)を,尤度付きの候補商品リストに変換をする。この場合,商品A1である確率をp1,商品A2である確率をp2といったように確率に対応させて変換をする。なお,商品タグの認識結果から,メーカー名や定格情報が得られている場合には,そのメーカーの商品,その定格が存在する商品の尤度を高く設定する。また,商品タグの認識結果から価格情報が得られている場合には,その価格帯を売価としてもつ商品の尤度を高くする。さらに,税抜価格と税込価格の2つの価格が読み取られ,それらの間の比率がちょうど消費税の有無に一致しているなど,ロジカルチェックと一致している場合には,尤度を一層,高く設定する。加えて,このとき,陳列棚の棚段に陳列されている商品のジャンルなどがわかっている場合には,それらのジャンルに属する商品の尤度を高くまたは低く設定する。
そして陳列商品認識処理部29による認識の結果,認識した商品の情報についても,同様に,画像類似性の程度に基づいて,尤度付きの候補商品リストを与える。この場合,商品B1である確率をPb1,商品B2である確率をPb2といったように確率に対応させて変換をする。
そして,商品タグの認識結果による商品A1,A2などの各候補商品のリストと,陳列商品認識処理部29の認識結果による商品B1,B2などの各候補商品のリストとを比較し,商品が両方に現れる(ケース1),A群のみに現れる(ケース2),B群のみに現れる(ケース3)のいずれかに分類をし,ケース1についてはそれぞれのA群,B群の商品の尤度を合成した,いずれよりも高い尤度とする。また,ケース2,ケース3については,商品タグ認識処理部28による商品タグの認識結果の精度と,陳列商品認識処理部29による商品情報の認識結果の精度の総意を反映させた合成関数を適用することで,最終的な尤度付きの候補商品リストを生成する。
以上のように最終的な尤度付きの候補商品リストを生成することで,候補となる商品を順位づけて特定することができるので,たとえば最上位(1位)の候補となる商品を商品として確定してもよいし,1位から所定順位までの候補となる商品を表示させ,目視の判断結果の選択入力を受け付けてもよい。
そして,確定した商品について,再度,読み取られた価格の尤度を算出する。すなわち,税抜価格と税込価格の比率,商品の売価の範囲内か,同商品の頻出価格との一致性または乖離性を判定し,価格の尤度を決定する。そして,この尤度があらかじめ定められた閾値よりも高ければその価格を自動的に確定し,低ければその旨を表示に反映させ,選択による入力を受け付けてもよい。
つぎに本実施例2における画像認識システム1の処理プロセスの一例を図26のフローチャートを用いて説明する。なお,実施例1と同様の処理は説明を省略する。
店舗の陳列棚が撮影された撮影画像情報(図21,図22)は,撮影画像情報入力端末4から入力され,管理端末2の撮影画像情報入力受付処理部20でその入力を受け付ける(S100)。また,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報の入力を受け付ける。そして,撮影画像情報入力受付処理部20は,入力を受け付けた撮影画像情報,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報を対応づけて撮影画像情報記憶部21に記憶させる。
管理端末2において所定の操作入力を受け付けると,撮影画像情報正置化処理部22は,撮影画像情報記憶部21に記憶する撮影画像情報を抽出し,台形補正処理を行うための頂点である棚位置(陳列棚の位置)の4点の入力を受け付け,台形補正処理を実行する(S110)。このようにして台形補正処理が実行された撮影画像情報(正置画像情報)の一例が,図7,図8である。
そして,正置画像情報に対して,管理端末2において所定の操作入力を受け付けることで,位置特定処理部23は,棚段領域および商品タグ配置領域を特定する(S120)。すなわち,正置画像情報における棚段領域,商品タグ配置領域の入力を受け付ける。図29および図30が,棚段領域および商品タグ配置領域が特定された状態を示す図である。
以上のようにして,棚段領域,商品タグ配置領域を特定すると,棚段領域における陳列商品の認識処理を陳列商品認識処理部29が,商品タグ配置領域における商品タグ認識処理を商品タグ認識処理部28がそれぞれ実行する。なお陳列商品認識処理部29における陳列商品の認識処理,商品タグ認識処理部28による商品タグ認識処理は,並行して行ってもよいし,異なるタイミングで行ってもよい。
商品タグ認識処理部28における商品タグ認識処理(S130乃至S160)は,実施例1と同様である。すなわち,商品タグ認識処理部28における商品タグ配置領域切出処理部24はS120で特定した商品タグ配置領域の画像情報を切り出し(S130),商品タグ配置領域正置化処理部25が台形補正処理を実行することで,正置化処理を実行する(S140)。
S140において商品タグ配置領域の正置化処理が終了すると,商品タグ認識処理部28における商品タグ特定処理部26が,正置化した商品タグ配置領域の画像情報から,個々の商品タグ領域を特定する(S150)。
商品タグ特定処理部26が商品タグ領域を特定すると,商品タグ内情報特定処理部27が,商品タグ内における情報を特定する(S160)。この特定によって,商品タグに記載した情報,たとえば税抜価格,税込価格,商品名(商品識別情報),定格などの情報を文字認識することができる。
つぎに陳列商品認識処理部29による陳列商品の認識処理を説明する。
棚段領域切出処理部291は,S120で入力を受け付けた棚段の領域に基づいて,正置画像情報から棚段領域の画像情報を切り出す(S170)。そして,棚段領域画像情報における棚段ごとに,フェイスを特定する処理を実行する(S180)。具体的には,棚段領域における棚段について,4点の座標で構成される矩形領域の範囲内において,商品と商品との間に生ずる細く狭い陰影を特定する,画像の繰り返しパターンを特定する,パッケージの上辺の段差を特定する,商品幅が同一であるなどの制約に基づいて区切り位置を特定する,などによって,フェイスを特定する。特定したフェイスには,フェイスを識別するためのフェイス識別情報を付す。そして,特定した各フェイスの座標は,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,フェイスを識別するためのフェイス識別情報と対応付けて記憶させる。なお,フェイスの座標は4点を記憶せずとも,矩形領域を特定可能な2点であってもよい。
以上のように正置画像情報の棚段位置領域画像情報における各棚段の各フェイスを特定すると,商品識別情報特定処理部293は,フェイスごとに,標本画像情報記憶部30に記憶する標本画像情報とマッチング処理を実行し,そのフェイスに表示されている商品の商品識別情報を特定する(S190)。すなわち,ある棚段のフェイスの矩形領域(この領域のフェイスのフェイス識別情報をXとする)における画像情報と,標本画像情報記憶部30に記憶する各標本画像情報とから,それぞれの画像特徴量を算出し,特徴点のペアを求めることで,類似性を判定する。そして,もっとも類似性の高い標本画像情報を特定し,そのときの類似性があらかじめ定められた閾値以上であれば,その標本画像情報に対応する商品識別情報を標本画像情報記憶部30に基づいて特定する。そして,特定した商品識別情報を,そのフェイス識別情報Xのフェイスに表示されている商品の商品識別情報とする。そして商品識別情報特定処理部293は,特定した商品識別情報を,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,フェイス識別情報に対応づけて商品識別情報記憶部31に記憶する(S200)。
なお,すべてのフェイスの商品識別情報を特定できるとは限らない。そこで,特定できていないフェイスについては,商品識別情報の入力を受け付け,入力を受け付けた商品識別情報を,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,フェイス識別情報に対応づけて商品識別情報記憶部31に記憶する。また,特定した商品識別情報の修正処理についても同様に,入力を受け付けてもよい。
以上のような処理を行うことで,撮影画像情報に写っている陳列棚の棚段に陳列されている商品の商品識別情報を特定することができる。
このように商品タグ認識処理部28による商品タグの認識結果,陳列商品認識処理部29による陳列商品の認識結果,整合性判定処理部32が各棚,各棚段に含まれている可能性の高い商品かどうかの整合性を判定する(S210)。たとえば,商品タグの認識結果,または商品の認識結果において,定格が350mlの商品と認識しているが,その商品の陳列棚または棚段には500mlの商品が陳列されていること定められている場合には,同一の商品名の定格を「500ml」に変更する。
また,認識結果照合処理部33は,陳列商品認識処理部29において認識したフェイスごとの商品の商品識別情報と,商品タグ認識処理部28において認識した商品の情報(商品識別情報)とを突合し,認識結果が一致しているかを照合する(S220)。
すなわち,認識結果照合処理部33は,陳列商品認識処理部29による認識処理の結果,類似性の高いフェイスが並んでいる区画を一群として,一つの棚段に何群あるかを特定する。また,それぞれの群の棚段の左右位置がどこかを特定する。そして,各群と左右位置が一致している,商品タグ認識処理部28による商品タグの認識結果の情報を,群に対応づける。
このようにフェイスによる群と商品タグとの対応付け後,商品識別情報記憶部31に記憶するフェイスまたは群に対応する商品識別情報(商品名)と,商品タグ認識処理部28による商品タグの認識結果とを比較し,それらの認識結果が一致するかを特定し,また読み取った価格を確定する。
以上のような処理によって,陳列棚に陳列されている商品を画像認識処理によって認識した結果と,商品タグによる文字認識処理によって認識した結果とを比較して照合することができる。
上述した実施例1,実施例2では,4点を指定することで台形補正処理を実行することとしたが,その基準となる頂点を毎回,指定して入力することは負担が大きい。そこで,台形補正処理の基準となる頂点を自動的に特定するように構成してもよい。この場合の処理を説明する。
この場合の撮影画像情報正置化処理部22は,初回の台形補正処理と,二回目以降の台形補正処理とに分かれる。なお,初回とは一回目のほか,頂点を自動的に特定する際のずれを修正するため,任意のタイミングで手動で行う場合も含まれる。二回目以降とは初回以外である。
撮影画像情報正置化処理部22における初回の台形補正処理は,実施例1と同様に,陳列棚の長方形の領域の4頂点の指定の入力を受け付ける。陳列棚の長方形の領域の4頂点としては,陳列棚の棚位置の4頂点であってもよいし,棚段の4頂点や商品タグを取り付ける領域の4頂点であってもよい。また,2段,3段の棚段のまとまりの4頂点であってもよい。ここで指定を受け付けた4頂点は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報と対応づけて記憶させる。そして撮影画像情報正置化処理部22は,指定を受け付けた4頂点の座標に基づいて,撮影画像情報に対して台形補正処理を実行し,正置画像情報とする。
撮影画像情報は,一定期間ごとに,同じような領域を同じような角度で撮影がされることが望ましい。しかし完全に同じ領域を同じ角度で撮影をすることはできない。そこで,撮影画像情報正置化処理部22は,二回目以降の台形補正処理を以下のように実行をする。
まず,撮影画像情報正置化処理部22は,N回目の撮影画像情報に対応する同じ(ほぼ同じ)領域を撮影したN−1回目の撮影画像情報の頂点座標を,前回の処理の際に記憶した情報から特定する。N回目の撮影画像情報に対応する同じ(ほぼ同じ)領域を撮影したN−1回目の撮影画像情報の頂点座標は,撮影画像情報に対応する店舗識別情報,画像識別情報,撮影日時情報などに基づいて特定をする。そして,N−1回目の撮影画像情報に対して,特定をした4頂点の頂点座標を含む所定の大きさの矩形領域,たとえば棚段の幅の1/5程度の正方形を特徴量採取領域220として設定をする。N−1回目の撮影画像情報に対して,特徴量採取領域220を設定した状態の一例を図31に示す。特徴量採取領域220は,頂点座標を含む矩形領域であればよい。一方,陳列棚の背景同士がマッチングをしてしまうと,撮影位置が少しずれるだけで背景が大きくずれてしまう。そこで,特徴量採取領域220は,なるべく陳列棚の内側を多く含む位置に設定することが好ましい。つまり,頂点座標は,特徴量採取領域220において,特徴量採取領域220の中心点よりも陳列棚の外側方向に位置していることが好ましい。
たとえば,頂点座標の4点は左上,右上,左下,右下に位置する。そして,特徴量採取領域220の矩形領域を縦横の中心でそれぞれ2分割した合計4領域に分割すると,左上の頂点座標を含む特徴量採取領域220では,その頂点座標が矩形領域のうち左上の領域に位置するように特徴量採取領域220を設定する。同様に,右上の頂点座標を含む特徴量採取領域220では,その頂点座標が矩形領域のうち右上の領域に位置するように特徴量採取領域220を設定し,左下の頂点座標を含む特徴量採取領域220では,その頂点座標が矩形領域のうち左下の領域に位置するように特徴量採取領域220を設定し,右下の頂点座標を含む特徴量採取領域220では,その頂点座標が矩形領域のうち右下の領域に位置するように特徴量採取領域220を設定する。これによって,頂点座標は,特徴量採取領域220において,特徴量採取領域220の中心点よりも陳列棚の外側方向に位置することとなる。
つぎに,撮影画像情報正置化処理部22は,N回目の撮影画像情報において,N−1回目の撮影画像情報に設定した特徴量採取領域220を内包し,N−1回目の撮影画像情報の特徴量採取領域220以上の大きさの特徴量採取領域221を設定する。N回目の撮影画像情報に設定する特徴量採取領域221は,短辺の1/2の大きさは超えない。さらに,撮影画像情報よりも外側に出る場合には,その範囲をトリミングする。N回目の撮影画像情報に対して特徴量採取領域221を設定した状態の一例を図32に示す。
そして撮影画像情報正置化処理部22は,N−1回目の撮影画像情報に対して設定した各特徴量採取領域220において,局所特徴量を採取し,局所特徴量による特徴点とその座標のセットとを記憶する。また,N回目の撮影画像情報に対して設定した各特徴量採取領域221において,局所特徴量を採取し,局所特徴量による特徴点とその座標のセットとを記憶する。
撮影画像情報正置化処理部22は,N−1回目の撮影画像情報の特徴量採取領域220における特徴点の局所特徴量と,N−1回目の撮影画像情報の特徴量採取領域220に対応する位置にあるN回目の撮影画像情報の特徴量採取領域221における特徴点の局所特徴量とを比較する。そして,N−1回目の撮影画像情報の各特徴点の各局所特徴量にもっとも近い,N回目の撮影画像情報の各局所特徴量の特徴点を特定する。そしてもっとも近い局所特徴量同士の特徴点をペアとし,ペアとなる局所特徴量による特徴点の座標を対応づける。なお,この際に,局所特徴量同士の近さ(類似性)があらかじめ定められた閾値未満のペアは除外をする。これによって,N−1回目の特徴量採取領域220における局所特徴量の特徴点と,N回目の特徴量採取領域221におけるもっとも近い局所特徴量の特徴点同士のペアを特定できる。N−1回目の特徴量採取領域220の局所特徴量の特徴点と,N回目の特徴量採取領域221の局所特徴量の特徴点とのペアの関係を図33に示す。図33では,N−1回目の特徴量採取領域220における局所特徴量による特徴点の点群をA,N回目の特徴量採取領域221における局所特徴量による特徴点の点群をB,N−1回目の台形補正処理に用いた頂点をCで示している。
N−1回目の特徴量採取領域220における局所特徴量による特徴点の点群Aの座標と,点群Aに対応するN回目の特徴量採取領域221における局所特徴量による特徴点の点群Bの座標とに基づいて,点群Aを点群Bに射影する関数F(アフィン変換)を求める。関数Fは,サンプリング推定を反復する,ロバスト推定の一種であるOpenCVのRANSACを利用するなどの方法があるが,それらに限定しない。なお,射影の関係にある関係線からずれが大きいペアは処理対象から除外をする。
撮影画像情報正置化処理部22において関数Fを求めたのち,撮影画像情報正置化処理部22は,N−1回目の台形補正処理で用いた頂点Cの座標を,関数Fに基づいてN回目の撮影画像情報に射影し,N回目の台形補正処理のための頂点Dの座標として特定する。これを模式的に示すのが図34である。
以上の処理を各特徴量採取領域220,221に対して行うことで,N回目の撮影画像情報における台形補正処理のための棚位置の4頂点を特定する。そして,撮影画像情報正置化処理部22は,特定した4頂点に基づいて,N回目の撮影画像情報に対する台形補正処理を実行して正置化し,正置画像情報を生成し,記憶する。この際に,撮影画像情報正置化処理部22は,正置画像情報に対応付けて,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報と対応づけて記憶をさせる。特定したN回目の撮影画像情報に対応する頂点の座標は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報と対応づけて記憶させる。
なお,撮影画像情報正置化処理部22における台形補正処理で用いる頂点の特定処理は,本発明のように陳列棚を撮影した画像情報から商品を特定する場合に限らず,同一の撮影対象物を撮影した複数の画像情報を正置化し,正置画像情報を生成する画像認識システム1にも適用することができる。これによって,同一の撮影対象物を撮影した複数の画像情報について,それぞれ正置化して,その撮影対象物の正置画像情報を生成することができる。
また,N回目の撮影画像情報における台形補正処理のための棚位置の4頂点を特定するため,上述では,N−1回目の撮影画像情報における特徴量採取領域220での局所特徴量による特徴点の点群Aと,N回目の撮影画像情報における特徴量採取領域221での局所特徴量による特徴点の点群Bとを用いて関数Fを求め,N−1回目の台形補正処理で用いた頂点Cの座標を,関数FによりN回目の撮影画像情報に射影し,N回目の台形補正処理のための頂点Dの座標として特定する処理を説明した。しかし,かかる処理では,N−1回目の撮影画像情報と,N回目の撮影画像情報とにおいて,類似する画像情報の対応点の座標(位置)を見つければよいので,上記の方法にするものではなく,画像情報内の箇所を特定するタイプの特徴量であればいかなるものであってもよい。たとえば,画像情報内における尖った箇所,ハイライトのポイントなどがある。本明細書では,局所特徴量などの,画像情報内の箇所を特定する特徴量を画像特徴量(位置特定型画像特徴量)という。なお,本明細書の説明では,画像特徴量として,上述のように局所特徴量を用いる場合を説明する。
つぎに,実施例3における台形補正処理を行うための頂点の特定処理を説明する。この場合,任意の陳列棚を撮影した撮影画像情報において台形補正処理を行うための頂点がすでに特定されており,所定期間(たとえば一週間)経過後に,同一の陳列棚について,同じような領域を同じような角度で撮影した撮影画像情報について行う場合を説明する。
店舗の陳列棚が撮影された撮影画像情報は,撮影画像情報入力端末4から入力され,管理端末2の撮影画像情報入力受付処理部20でその入力を受け付ける。図35に,撮影画像情報の一例を示す。また,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報の入力を受け付ける。そして,撮影画像情報入力受付処理部20は,入力を受け付けた撮影画像情報,撮影日時,店舗識別情報,画像情報識別情報を対応づけて撮影画像情報記憶部21に記憶させる。
管理端末2において所定の操作入力を受け付けると,撮影画像情報正置化処理部22は撮影画像情報記憶部21に記憶する撮影画像情報を抽出し,台形補正処理を実行するための,棚位置の頂点D(D1乃至D4)を特定する処理を実行する。
今回(N回目)の撮影画像情報(図35)に対応する同じまたはほぼ同じ領域を撮影した前回(N−1回目)の撮影画像情報(図36)の頂点座標(たとえば頂点座標C1乃至C4とする)を特定する。前回の撮影画像情報の頂点座標は,撮影日時,店舗識別情報,撮影画像情報の画像識別情報などに基づいて特定をすればよい。
撮影画像情報正置化処理部22は,撮影画像情報記憶部21からN−1回目の撮影画像情報を抽出し,それぞれの頂点C1乃至C4について,頂点を一つずつ含む所定の大きさの矩形領域を特徴量採取領域220として,N−1回目の撮影画像情報に設定する。N−1回目の撮影画像情報に特徴量採取領域220を設定した状態を図36に示す。
また,撮影画像情報正置化処理部22は,撮影画像情報記憶部21からN回目の撮影画像情報(図35)を抽出し,N−1回目の特徴量採取領域220よりも広い範囲の特徴量採取領域221を,N回目の撮影画像情報に設定する。N回目の撮影画像情報に特徴量採取領域221を設定した状態を図37に示す。N回目の撮影画像情報におけるそれぞれの特徴量採取領域221は,N−1回目の特徴量採取領域220を一つずつ含む。図37では,N回目の特徴量採取領域221に,N−1回目の特徴量採取領域220を示すことで,その包含関係を示している。
そして撮影画像情報正置化処理部22は,N−1回目の撮影画像情報に対して設定した各特徴量採取領域220において局所特徴量を採取し,局所特徴量による特徴点と座標のセットとを記憶する。また,N回目の撮影画像情報に対して設定した各特徴量採取領域221において局所特徴量を採取し,局所特徴量による特徴点と座標のセットとを記憶する。
撮影画像情報正置化処理部22は,N−1回目の撮影画像情報の特徴量採取領域220での各特徴点の各局所特徴量にもっとも近いN回目の撮影画像情報の特徴量採取領域221での局所特徴量の特徴点を特定し,それらをペアとなる局所特徴量の特徴点として,それぞれの座標を対応付ける。図33に示すのがN−1回目のN−1回目の特徴量採取領域220と,N回目の特徴量採取領域221とのペアの関係である。
そして,N−1回目の特徴量採取領域220における局所特徴量による特徴点の点群をA,N回目の特徴量採取領域221における局所特徴量による特徴点の点群をB,N−1回目の台形補正処理に用いた頂点をC(C1乃至C4)とすると,撮影画像情報正置化処理部22は,点群Aと点群Bの座標とに基づいて,点群Aを点群Bに射影する関数F(アフィン変換)を求める。
そして撮影画像情報正置化処理部22は,N−1回目の台形補正処理で用いた頂点C(C1乃至C4)の座標を,求めた関数Fに基づいて射影し,N回目の台形補正処理のための頂点D(D1乃至D4)の座標として特定する。
以上の処理を各特徴量採取領域220,221に対して行うことで,N回目の台形補正処理のための4頂点D(D1乃至D4)が自動的に特定できる。特定したN回目の頂点D(D1乃至D4)の座標は,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報に対応づけて記憶させる。特定された頂点D1乃至D4を示すのが図38である。
以上のようにして,N回目の撮影画像情報に対する台形補正処理のための棚位置の頂点D(D1乃至D4)を特定すると,撮影画像情報正置化処理部22は,頂点D(D1乃至D4)に基づいて,N回目の撮影画像情報に対して台形補正処理を実行する。
以上のような処理を実行することで,二回目以降の台形補正処理について,台形補正処理で用いる4頂点を指定せずとも,対応する頂点を自動的に特定することができるようになり,担当者の負担を軽減することができる。
さらに実施例2のフェイス特定処理部292におけるフェイスの特定処理の変形例を説明する。本実施例では,実施例2のフェイスの特定処理を初回の処理として,二回目以降のフェイスの特定処理として,自動的にフェイスを特定する処理を行うようにしてもよい。この場合の処理を説明する。
なお,初回とは一回目のほか,自動的に特定する際のずれを修正するため,任意のタイミングで実施例2の処理を行う場合も含まれる。二回目以降とは初回以外である。
フェイス特定処理部292は,実施例2の処理と同様の処理を初回のフェイスの特定処理として実行する。そして,フェイス特定処理部292における二回目以降のフェイスの特定処理は,同一の陳列棚の同一の棚段について,前回(N−1回目)の正置画像情報で特定したフェイスの領域の座標を抽出し,その座標を今回(N回目)の正置画像情報で特定したフェイスの領域の座標とする。
フェイスの領域の座標は,棚段の位置の座標と同様に,正置画像情報における,陳列棚内での所定箇所(たとえば陳列棚の左上の頂点C1)を基準とした相対座標である。
さらに実施例2の変形例として,商品識別情報特定処理部293における,陳列棚の棚段ごとに,フェイスに表示されている商品の商品識別情報を特定する処理として,実施例2の処理を初回の商品識別情報の特定処理とし,二回目以降の商品識別情報の特定処理として,以下のような処理を実行する。
商品識別情報特定処理部293は,N回目の正置画像情報におけるフェイスの商品識別情報の特定処理は,まず処理対象となるフェイスのフェイス識別情報を特定する。特定したフェイス識別情報をXとする。そして,N回目の正置画像情報におけるフェイス識別情報Xの領域の画像情報と,フェイス識別情報Xに対応する位置にあるN−1回目の正置画像情報における領域の画像情報とを比較する。類似性の判定については,色ヒストグラム同士のEMDを求め,類似性の尺度とすることが好ましいが,それに限定するものではない。その類似性が一定の閾値以上であれば,N−1回目の正置画像情報におけるその領域のフェイスに対応する商品識別情報を商品識別情報記憶部31から抽出し,N回目の正置画像情報におけるフェイス識別情報Xの商品識別情報とする。これによって,処理対象となるN回目の正置画像情報におけるフェイス識別情報Xの商品識別情報を特定できる。もし類似性が一定の閾値未満であれば,初回の場合と同様に,N回目の正置画像情報におけるフェイス識別情報Xの領域の画像情報と,標本画像情報記憶部30に記憶する標本画像情報とを比較して,類似性が所定の閾値以上で,かつ,もっとも類似性が高い商品識別情報を,N回目の正置画像情報におけるフェイス識別情報Xのフェイスの商品識別情報として特定をする。
なお,N−1回目の正置画像情報におけるフェイスの領域の画像情報との比較において,対応するフェイスの位置との比較のみならず,所定範囲のフェイスを比較対象として含めてもよい。たとえばN回目の正置画像情報におけるフェイス識別情報Xの領域の画像情報と比較する場合,比較対象としては,N−1回目の正置画像情報におけるフェイス識別情報Xの領域のほか,その領域から所定範囲にあるフェイスの領域,たとえばその左右方向に一または複数離隔している位置にあるフェイス,上下の棚段に位置するフェイスの領域も含めてもよい。さらに,N−1回目の正置画像情報におけるフェイス識別情報Xの領域のほか,フェイス識別情報X−2,X−1,X,X+1,X+2のように,複数の隣接するフェイスの領域を含めてもよい。
この場合,N回目の正置画像情報におけるフェイス識別情報Xの領域の画像情報と,N−1回目の正置画像情報における,比較対象となる範囲のフェイスの範囲の領域のそれぞれの画像情報とを比較し,もっとも類似性が高いN−1回目の正置画像情報のフェイス識別情報を特定する。なお,類似性は,類似性は一定の閾値以上であることを条件としてもよい。そして特定したN−1回目の正置画像情報のフェイス識別情報に対応する商品識別情報を商品識別情報記憶部31から抽出し,N回目の正置画像情報におけるフェイス識別情報Xの商品識別情報とする。この処理を模式的に示すのが図27である。図27(a)は前回(N−1回目)の正置画像情報であり,図27(b)は今回(N回目)の正置画像情報である。そして,N回目の正置画像情報の棚段1の各フェイスの領域の画像情報と,N−1回目の正置画像情報の棚段1の各フェイスの領域の画像情報とをそれぞれ比較することで類似性を判定し,もっとも類似性が高いN−1回目の正置画像情報の棚段1のフェイスの商品識別情報を,N回目の正置画像情報の棚段1のフェイスの商品識別情報として特定をすることを示す。図27では,N回目の正置画像情報のフェイスに対応する位置にあるN−1回目の正置画像情報のフェイスに加え,その左右2つずつのフェイスとの比較を行う場合を示している。なお同一棚段のみならず,上下の棚段のフェイス位置の画像情報との比較を行ってもよい。たとえば図27の場合,N回目の正置画像情報の棚段2の中心のフェイス位置の商品識別情報を特定する際に,N−1回目の正置画像情報の棚段2の中心およびその左右2つずつのフェイスの領域の画像情報と比較するのみならず,N−1回目の正置画像情報の棚段1の中心およびその左右2つずつのフェイスの領域の画像情報,N−1回目の正置画像情報の棚段3の中心およびその左右2つずつのフェイスの領域の画像情報と類似性の比較を行ってもよい。
N−1回目の正置画像情報のフェイスの画像情報との比較の結果,類似性が閾値を充足しないなどによって商品識別情報を特定できなかった場合には,N回目の正置画像情報におけるフェイス識別情報Xの領域の画像情報と,標本画像情報記憶部30に記憶する標本画像情報とを比較して,類似性が所定の閾値以上で,かつ,もっとも類似性が高い商品識別情報を,N回目の正置画像情報におけるフェイス識別情報Xのフェイスの商品識別情報として特定をする。この場合の類似性の判定処理は,初回の商品識別情報の特定処理と同様に行える。
以上のようにして特定した商品識別情報は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,フェイスを識別するためのフェイス識別情報に対応づけて商品識別情報記憶部31に記憶する。
なお本発明の画像認識システム1の実施例1乃至実施例5において,各処理部における処理対象となる画像情報については,それぞれ前処理として正置化処理などが実行されていることで精度を向上させることができ,上述の各実施例ではその場合を説明した。しかし,必ずしも処理対象となる画像情報について正置化処理が実行されている必要はなく,その場合は,各処理部における処理対象となるのは,正置化処理が実行されていない場合の画像情報である。たとえば,位置特定処理部23,商品タグ配置領域切出処理部24,商品タグ配置領域正置化処理部25,商品タグ特定処理部26,商品タグ内情報特定処理部27,商品タグ認識処理部28,陳列商品認識処理部29,棚段領域切出処理部291,フェイス特定処理部292,商品識別情報特定処理部293,棚段画像マッチング処理部294において,正置化処理が実行されていない画像情報を処理対象としてもよい。この場合,正置化処理が実行されていなくても,商品を陳列した陳列棚が写っている画像情報に対する処理を実行すればよい。なお,商品を陳列した陳列棚が写っている画像情報には,正置化処理をした画像情報,正置化処理をしていない画像情報の双方が含まれる。