図1に,本発明の検索対象情報絞込システム1のシステム構成の一例のブロック図を模式的に示す。検索対象情報絞込システム1は,管理端末2と検索サーバ3とを用いる。
管理端末2は,検索対象情報絞込システム1の各機能を実現するコンピュータである。また,検索サーバ3は,インターネットにおける検索エンジンなどの機能を実現するサーバである。
検索対象情報絞込システム1における管理端末2は,コンピュータを用いて実現される。図2にコンピュータのハードウェア構成の一例を模式的に示す。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,情報を表示するディスプレイなどの表示装置72と,情報の入力が可能なキーボードやマウスなどの入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。
コンピュータがタッチパネルディスプレイを備えている場合には,表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。本発明の各手段における処理は,その処理順序を適宜変更することもできる。また,処理の一部を省略してもよい。
検索対象情報記憶部20は,検索対象となる商品等の情報(検索対象情報)を網羅的に記憶するデータ集であって,たとえば商品等の名称,商品等の識別情報,商品等の付随情報などを対応づけて記憶する。データ集としては,複数の検索対象情報に関する情報を記憶していればよい。付随情報には,メーカの識別情報,商品分類,内容量,単品サイズ,価格情報,容器形態,棚割サイズ,商品発売開始日,製造/販売終了フラグなどがある。また,画像検索が行われる場合には,商品等の付随情報として,当該商品等の標本情報が記憶されているとよい。標本情報は,商品等を複数の角度から撮影した画像情報そのものでもよいし,画像情報に基づく画像特徴量の情報であってもよい。検索対象情報記憶部20は,たとえば,JICFS,書籍のISBNコードのデータベース,楽曲の管理コードのデータベースなどがあるが,それらに限定されず,検索対象となる商品等を網羅的に記憶するデータ集であれば足りる。なお,「網羅的」とは,そのジャンルにおけるすべての商品等を記憶している必要はなく,たとえば業界団体や一定の組織などが商品等の販売や管理の観点から商品等を記憶するデータ集,任意の処理システムにおける検索処理の際の検索対象となるデータ集であれば足りる。また,JICFSなどの公知のデータベースに記憶されていない商品等がある場合には,不足している商品等の情報を追加したあとのデータベースをデータ集として用いてもよい。たとえばJICFSに登録されていないプライベートブランド商品の情報を追加したデータベースをデータ集である検索対象情報記憶部20として構成してもよい。図4に検索対象情報記憶部20の一例を模式的に示す。
検索処理部21は,検索対象情報記憶部20に記憶する検索対象情報について,インターネットにおける検索サーバ3に対してウェブ検索を実行し,その検索結果を取得する。この際には,検索対象情報記憶部20に記憶する検索対象情報における商品等の名称に基づいてウェブ検索を実行してもよいし,商品等の名称および商品等識別情報(商品ID)に基づいてウェブ検索を実行してもよい。商品等の名称に加えて商品等識別情報に基づいてウェブ検索を行うことで,商品等がモデルチェンジして異なる商品等識別情報で同一の商品等の名称の場合,あるいは異なる商品であるが同一の商品等識別情報を使い回す場合にも対応することができる。
検索処理部21は,検索対象情報記憶部20に記憶するすべての検索対象情報について,ウェブ検索を実行することが好ましいが,すでにウェブ検索を実行をしており,かつその検索結果のヒット数が「0」などの所定の条件を充足している場合には,ウェブ検索を行う検索対象情報から除外をしてもよい。
絞込処理部22は,検索処理部21におけるウェブ検索の検索結果に基づいて,所定条件を充足した検索対象情報を検索対象から除外し,それ以外の検索対象情報を絞込情報として,後述する絞込情報記憶部23に記憶させる。所定条件は任意に定めることができるが,たとえばヒット数や出現頻度が所定の閾値に達していない,ヒットしたウェブページのうち,最新のウェブページの作成日付(更新日付)が所定期間(たとえば1年)より前であるなど,検索対象情報とする商品等のジャンルに応じて,適宜,定めることができる。所定条件は,ヒット数,出現頻度,作成日付(更新日付)など,複数を定めてもよい。
絞込処理部22は,所定条件を充足した検索対象情報以外の検索対象情報を絞り込み情報として絞込情報記憶部23に記憶させるほか,検索対象情報記憶部20に,所定条件を充足した検索対象情報を検索対象から除外することを示すフラグを付す,あるいは所定条件を充足しない検索対象情報を検索対象とすることを示すフラグを付すなどの処理によって,検索対象の設定をしてもよい。
絞込処理部22は,所定条件を充足した検索対象情報を検索対象とする絞込情報として絞込情報記憶部23に記憶させ,所定条件を充足していない検索対象情報を検索対象から除外をするようにしてもよい。
また,絞込処理部22は,検索処理部21におけるウェブ検索の検索結果に基づいて,検索対象情報における優先度を付する,または優先度を変更し,後述する絞込情報記憶部23に記憶させてもよい。たとえば所定条件を充足した検索対象情報のうち,ヒット数や出現頻度が多い順に検索対象情報の優先度を高くする,ヒットしたウェブページのうち,最新のウェブページの作成日付(更新日付)が新しい検索対象情報の優先度を高くする,などと定めることもできる。なお,本明細書においては,検索対象情報を絞り込むとは,上述のように,検索対象とする,検索対象から除外するほか,検索対象情報に優先度を付する,変更することも含むものとする。
絞込情報記憶部23は,絞込処理部22が作成した絞込情報を記憶するテーブルである。絞込情報記憶部23の一例を模式的に図5に示す。従来,検索対象情報を網羅的に含む検索対象情報記憶部20を検索していたが,絞込情報記憶部23には,流通実態を考慮した検索対象情報が含まれているので,絞込情報記憶部23を検索すればよい。
なお,検索処理部21におけるウェブ検索の検索結果,たとえばヒット数や出現頻度,ウェブページの作成日付(更新日付)などについては,絞込処理部22での検索対象情報を検索対象から除外する,あるいは所定条件を充足しない検索対象情報を検索対象とするほかに,絞込情報など,何らかの情報に基づいて検索を行った検索結果に対して,検索結果の表示順位(推薦順位)を変更するようにしてもよい。
つぎに,店舗の陳列棚を撮影した画像情報(撮影画像情報)から,陳列している商品名などの商品識別情報,商品タグに記載されている商品識別情報などを特定する画像認識システム4に,本発明の検索対象情報絞込システム1で作成した絞込情報を用いる場合を説明する。本実施例における情報処理システムでは,上述の検索対象情報絞込システム1と画像認識システム4とを連携している。本実施例の情報処理システムのシステム構成のブロック図の一例を模式的に図9に示す。図10は後述する陳列商品認識処理部44のシステム構成の一例を示すブロック図であり,図11は後述する商品タグ認識処理部45のシステム構成の一例を示すブロック図である。
図9の画像認識システム4では,店舗の陳列棚を撮影した撮影画像情報から,陳列棚に陳列されている商品を画像マッチング処理により特定し,また,陳列棚における商品タグに記載されている商品名などの商品識別情報を特定する。
本実施例における情報処理システムは,実施例1における検索対象情報絞込システム1の処理を実現する検索対象情報絞込システム1と,撮影画像情報に基づいて,陳列棚に陳列されている商品の商品名などの商品識別情報,商品タグに記載されている商品名などの商品識別情報を特定する処理を実行する画像認識システム4とを有する。
撮影画像情報入力端末5は,店舗の陳列棚を撮影した画像情報の入力を行う端末である。撮影画像情報入力端末5は,図2における各装置のほか,カメラなどの撮影装置を備えていてもよい。撮影画像情報入力端末5として,携帯電話,スマートフォン,タブレット型コンピュータなどの可搬型通信端末を用いることもできる。
検索対象情報絞込システム1は,実施例1と同様に,検索対象情報記憶部20,検索処理部21,絞込処理部22,絞込情報記憶部23を有する。各機能は,実施例1と同様である。検索対象情報記憶部20は,たとえばJICFSのように,商品を網羅的に記憶するデータ集であって,商品名,JANコード,それに付随する情報(たとえば製造会社名など)を記憶している。また絞込情報記憶部23は絞込情報を記憶しており,後述する画像認識システム4の商品タグ内情報特定処理部454によるOCR認識処理(テキスト認識処理)で認識するテキスト情報,とくに商品名等の商品識別情報に基づく検索対象となるテーブルである。絞込情報記憶部23は,たとえば後述する商品辞書として参照することができる。
検索処理部21は,検索対象情報記憶部20に記憶する商品名およびJANコードに基づいて,インターネットにおける検索サーバ3に対してウェブ検索を実行し,その検索結果を取得する。絞込処理部22は,検索処理部21におけるウェブ検索の検索結果に基づいて,所定条件を充足した商品名等の情報を検索対象から除外し,それ以外の商品名等の情報を絞込情報として,絞込情報記憶部23に記憶させる。
撮影画像情報に基づいて陳列棚に陳列されている商品の商品名などの商品識別情報,陳列棚の商品タグに記載されている商品名などの商品識別情報を特定する場合,画像認識システム4は,撮影画像情報入力受付処理部40と撮影画像情報記憶部41と撮影画像情報正置化処理部42と位置特定処理部43と陳列商品認識処理部44と商品タグ認識処理部45と標本情報記憶部46とを有する。
撮影画像情報入力受付処理部40は,撮影画像情報入力端末5で撮影した店舗の陳列棚の撮影画像情報の入力を受け付け,後述する撮影画像情報記憶部41に記憶させる。撮影画像情報入力端末5からは,撮影画像情報のほか,撮影日時,店舗名などの店舗識別情報,画像情報を識別する画像情報識別情報などをあわせて入力を受け付けるとよい。図12に撮影画像情報の一例を示す。図12では,陳列棚に2段の棚段があり,そこに商品が陳列されており,また商品タグが貼付されている状態の撮影画像情報である。
撮影画像情報記憶部41は,撮影画像情報入力端末5から受け付けた撮影画像情報,撮影日時,店舗識別情報,画像情報識別情報などを対応づけて記憶する。撮影画像情報とは,本発明の処理対象となる画像情報であればよい。一般的には,単に撮影した場合,撮影対象物を正対した状態で撮影することが困難であることから,それを正対した状態に補正する補正処理,たとえば台形補正処理などを実行することがよい。一つの陳列棚を複数枚で撮影した場合に,それが一つの画像情報として合成された画像情報も含まれる。また,歪み補正処理が実行された後の画像情報も撮影画像情報に含まれる。
撮影画像情報正置化処理部42は,撮影画像情報記憶部41に記憶した撮影画像情報に対して,撮影対象物が正対した状態になるように補正する処理(正置化処理),たとえば台形補正処理を実行した正置画像情報を生成する。台形補正処理は,撮影画像情報に写っている陳列棚の棚段が水平に,そこに陳列されている商品に対する商品タグが垂直になるように行う補正処理である。正置化とは,撮影装置のレンズの光軸を撮影対象である平面の垂線方向に沿って,十分に遠方から撮影した場合と同じになるように画像情報を変形させることであり,たとえば台形補正処理がある。
撮影画像情報正置化処理部42が実行する台形補正処理は,撮影画像情報において4頂点の指定の入力を受け付け,その各頂点を用いて台形補正処理を実行する。指定を受け付ける4頂点としては,陳列棚の棚段の4頂点であってもよいし,陳列棚の棚位置の4頂点であってもよい。また,2段,3段の棚段のまとまりの4頂点であってもよい。4頂点としては任意の4点を指定できる。図13に図12の撮影画像情報を正置化した撮影画像情報(正置画像情報)の一例を示す。
位置特定処理部43は,撮影画像情報正置化処理部42において撮影画像情報に対して台形補正処理を実行した正置画像情報のうち,商品が配置される可能性のある棚段の領域(棚段領域),商品タグが取り付けられる可能性のある領域(商品タグ配置領域)を特定する。すなわち,撮影画像情報および正置画像情報には陳列棚が写っているが,陳列棚には,商品が陳列される棚段領域と,そこに陳列される商品に対する商品タグが取り付けられる可能性のある商品タグ配置領域とがある。そのため,正置画像情報から棚段領域と商品タグ配置領域を特定する。棚段領域,商品タグ配置領域の特定としては,管理端末2の操作者が手動で棚段領域,商品タグ配置領域を指定し,それを位置特定処理部43が受け付けてもよいし,初回に手動で入力を受け付けた棚段領域,商品タグ配置領域の情報に基づいて,二回目以降は自動で棚段領域,商品タグ配置領域を特定してもよい。
図14に,飲料缶などの商品が陳列されている陳列棚を撮影した画像情報を正置化した正置画像情報に対して,棚段領域と商品タグ配置領域の指定の入力を受け付けた状態を模式的に示す。
陳列商品認識処理部44は,正置画像情報に写っている陳列棚における棚段に陳列されている商品を認識する処理を実行する。陳列商品認識処理部44の処理の詳細は,後述する。
商品タグ認識処理部45は,正置画像情報に写っている陳列棚の商品タグ領域にある商品タグに記載されている商品識別情報を認識する処理を実行する。商品タグ認識処理部45の処理の詳細は後述する。
標本情報記憶部46は,正置画像情報に写っている陳列棚の棚段に陳列されている商品がどの商品であるかを識別するための標本情報を記憶する。標本情報は,陳列棚に陳列される可能性のある商品を,上下,左右,斜めなど複数の角度から撮影をした画像情報である。図15に標本情報記憶部46に記憶される標本情報の一例を示す。図15では,標本情報として,缶ビールをさまざまな角度から撮影をした場合を示しているが,缶ビールに限られない。標本情報記憶部46は,標本情報と,商品識別情報とを対応付けて記憶する。
なお,標本情報記憶部46には,標本情報とともに,または標本情報に代えて,標本情報から抽出された,類似性の算出に必要となる情報,たとえば画像特徴量とその位置のペアの情報を記憶していてもよい。標本情報には,類似性の算出に必要となる情報も含むとする。この場合,陳列商品認識処理部44は,後述するプレイスの領域の画像情報と,標本情報とのマッチング処理を行う際に,標本情報について毎回,画像特徴量を算出せずともよくなり,計算時間を短縮することができる。
商品識別情報記憶部47は,陳列棚の棚段の各プレイスに表示されている商品の商品識別情報または「空」であることを示す情報を記憶する。たとえば,商品識別情報に対応付けて,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,プレイスを識別するためのプレイス識別情報に対応づけて商品識別情報記憶部47に記憶する。
撮影画像情報に基づいて陳列棚に陳列している商品の商品識別情報を認識する場合,陳列商品認識処理部44は,棚段領域処理部441とプレイス特定処理部442と商品識別情報特定処理部443とを有する。
棚段領域処理部441は,位置特定処理部43で特定した棚段領域の画像情報を棚段領域画像情報として特定する。棚段領域処理部441は,実際に,画像情報として切り出してもよいし,実際には画像情報としては切り出さずに,領域の画像情報を特定するなどによって,仮想的に切り出すのでもよい。なお,陳列棚に棚段が複数ある場合には,それぞれが棚段領域画像情報として切り出される。また棚段の領域を示す座標としては,その領域を特定するための頂点の座標であり,正置画像情報におけるたとえば4点,右上と左下,左上と右下の2点の座標などでよい。また,正置画像情報における陳列棚など,画像情報における所定箇所(たとえば陳列棚の左上の頂点)を基準とした相対座標である。
プレイス特定処理部442は,正置画像情報における棚段領域における棚段ごとに,プレイスの領域を特定する。プレイスとは商品が置かれる領域であって,その商品が置かれているか否かは問わない。プレイスの領域の大きさは,そこに置かれるべき商品と同一または略同一の大きさである。そして,実際に商品が陳列されているプレイスを「フェイス」とする。またプレイスに商品が陳列されていない場合を「空」とする。
プレイス特定処理部442におけるプレイスの特定処理は,位置特定処理部43で特定した棚段の座標で構成される領域(好ましくは矩形領域)の範囲内において,プレイスを特定する。具体的には,棚段領域における商品と商品との間に生じる細く狭い陰影を特定する,画像の繰り返しパターンを特定する,パッケージの上辺の段差を特定する,商品幅が同一であるなどの制約に基づいて区切り位置を特定する,などによって,プレイスの領域を特定する。プレイスの特定処理としては,商品のカテゴリや商品の形態によって,任意の方法を採用可能であり,上記に限定するものではない。また,自動的に特定したプレイスに対して,担当者による修正入力を受け付けてもよい。さらに,担当者からプレイスの位置の入力を受け付けるのでもよい。特定したプレイスを構成する領域の座標は,正置画像情報におけるプレイスの領域の座標に,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,プレイスを識別するためのプレイス識別情報とを対応づけて管理する。またプレイスの領域を示す座標としては,矩形領域を特定するための頂点の座標であり,正置画像情報におけるたとえば4点,右上と左下,左上と右下の2点の座標などでよい。また,正置画像情報における陳列棚など,画像情報における所定箇所(たとえば陳列棚の左上の頂点)を基準とした相対座標である。
一般的には,一つの棚段には,同じような種類の商品が置かれることが多い。その場合,商品の大きさもほぼ同じ大きさである。そこで,一つの商品のプレイスの領域を特定した場合,その領域を棚段において反復して設定することで,当該棚段におけるプレイスを特定してもよい。
商品識別情報特定処理部443は,陳列棚の棚段ごとに,プレイスに表示されている商品の商品識別情報を,標本情報記憶部46に記憶する標本情報を用いて特定する。商品識別情報としては,商品名のほか,その商品に対して割り当てられているJANコードなどがあるが,それに限定されない。商品を識別することができる情報であればいかなるものでもよい。ただし標本情報記憶部46に記憶する標本情報は,検索対象情報記憶部20に記憶するすべての商品について記憶していることが好ましいが,すでに流通実態のない商品について標本情報を記憶していても不要な場合がある。そのため,絞込情報記憶部23で絞り込まれた商品についての標本情報を記憶しているのでもよい。
商品識別情報特定処理部443は,以下のような処理を実行する。すなわち,プレイスごとに,プレイスの画像情報と,標本情報記憶部46に記憶する商品の標本情報とマッチングすることで,そのプレイスに表示されている商品の商品識別情報を特定する。具体的には,まず,処理対象となるプレイスの座標で構成される領域の画像情報と,標本情報記憶部46に記憶する標本情報との類似性を判定し,その類似性がもっとも高い標本情報に対応する商品識別情報を特定し,特定した類似性があらかじめ定めた閾値以上であれば,上記座標で構成されるプレイスに表示されている商品の商品識別情報として特定をする。
ここでプレイスの画像情報と標本情報との類似性を判定するには,以下のような処理を行う。まず,商品識別情報特定処理部443における商品識別情報の特定処理の前までの処理において,正置画像情報の棚段におけるプレイスの領域の画像情報と,標本情報との方向が同じ(横転や倒立していない)となっており,また,それぞれの画像情報の大きさが概略同じとなっている(所定範囲以上で画像情報の大きさが異なる場合には,類似性の判定の前にそれぞれの画像情報の大きさが所定範囲内となるようにサイズ合わせをしておく)。
商品識別情報特定処理部443は,プレイスの画像情報と,標本情報との類似性を判定するため,プレイスの画像情報の画像特徴量(たとえば局所特徴量)に基づく特徴点と,標本情報との画像特徴量(たとえば局所特徴量)に基づく特徴点を,それぞれ抽出する。そして,プレイスの画像情報の特徴点と,標本情報の特徴点とでもっとも類似性が高いペアを検出し,それぞれで対応する点の座標の差を求める。そして,差の平均値を求める。差の平均値は,プレイスの画像情報と,標本情報との全体の平均移動量を示している。そして,すべての特徴点のペアの座標差を平均の座標差と比較し,外れ度合いの大きなペアを除外する。そして,残った対応点の数で類似性を順位付ける。
以上のような方法でプレイスの画像情報と,標本情報との類似性を算出できる。また,その精度を向上させるため,さらに,色ヒストグラム同士のEMD(Earth Movers Distance)を求め,類似性の尺度としてもよい。これによって,撮影された画像情報の明度情報等の環境変化に比較的強い類似性の比較を行うことができ,高精度で特定をすることができる。
類似性の判定としては,ほかにも,各プレイスの領域の画像情報のシグネチャ(画像特徴量と重みの集合)同士のEMDを求め,類似性の尺度としてもよい。シグネチャの画像特徴量としては,たとえばプレイス領域の画像情報のHSV色空間内の頻度分布を求め,色相と彩度に関してグルーピングを行って,特徴の個数とHSV色空間内の領域による画像特徴量とすることができる。色相と彩度についてグルーピングを行うのは,撮影条件に大きく左右されないように,明度への依存度を下げるためである。
また,処理の高速化のため,シグネチャとEMDの代わりに,適宜の色空間内での画像情報の色コリログラムや色ヒストグラムなどの画像特徴量間のL2距離等の類似性を用いることもできる。
類似性の判定は,上述に限定をするものではない。特定した商品識別情報は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,プレイスを識別するためのプレイス識別情報に対応づけて商品識別情報記憶部47に記憶する。
なお,商品識別情報が特定できたプレイスはフェイスとなるので,商品識別情報記憶部47にそのプレイスが「フェイス」であることを示す情報が記憶され,商品識別情報が特定できなかったプレイスは「空」となるので,商品識別情報記憶部47にそのプレイスが「空」であることを示す情報が記憶される。
以上のようにして特定した商品識別情報は,撮影日時情報,店舗情報,撮影画像情報の画像情報識別情報,正置画像情報の画像識別情報,プレイスを識別するためのプレイス識別情報,フェイスであるか空であるかを示す情報に対応づけて商品識別情報記憶部47に記憶する。
撮影画像情報に基づいて商品タグの商品識別情報を認識する場合,商品タグ認識処理部45は,商品タグ配置領域処理部451と商品タグ配置領域正置化処理部452と商品タグ特定処理部453と商品タグ内情報特定処理部454とを有する。
商品タグ配置領域処理部451は,位置特定処理部43で特定した商品タグ配置領域の画像情報を商品タグ配置領域画像情報として切り出す。商品タグ配置領域処理部451は,実際に,画像情報として切り出してもよいし,実際には画像情報としては切り出さずに,仮想的に切り出すのでもよい。画像情報を仮想的に切り出すとは,特定した領域,たとえば商品タグ配置領域の範囲を処理対象として処理を実行させることをいう。なお,陳列棚に商品タグ配置領域が複数ある場合には,それぞれが商品タグ配置領域画像情報として切り出される。また商品タグ配置領域を示す座標としては,その領域を特定するための頂点の座標であり,正置画像情報におけるたとえば4点,右上と左下,左上と右下の2点の座標などでよい。また,正置画像情報における陳列棚など,画像情報における所定箇所(たとえば陳列棚の左上の頂点)を基準とした相対座標である。
商品タグ配置領域正置化処理部452は,商品タグ配置領域処理部451において切り出した商品タグ配置領域画像情報を正置化する台形補正処理を実行する。陳列棚の面が垂直であるのに対し,商品タグの面は,顧客から見やすいように,垂直面よりも上向きをしていることが多い。そこで商品タグ配置領域の画像情報を正置化することで,認識精度を向上させる。図16に,図14の商品タグ配置領域の画像情報に対して,正置化した商品タグ配置領域の画像情報の一例を示す。図16(a)が図14における上の棚段の商品タグ配置領域の画像情報を正置化した商品タグ配置領域の画像情報であり,図16(b)が図14における下の棚段の商品タグ配置領域の画像情報を正置化した商品タグ配置領域の画像情報である。
商品タグ配置領域正置化処理部452は,以下のような処理を実行することで,商品タグ配置領域の画像情報を正置化する。すなわち,商品タグ配置領域の画像情報において,エッジ検出を行い,左右の両端に近い箇所で,一定の長さ以上の垂直に近い輪郭線(たとえば70度から110度のように,垂直(90度)から所定範囲の角度内の輪郭線)を特定する。なお,左右の両端に近い箇所の輪郭線を抽出することが好ましいが,それに限定しない。図14の商品タグ配置領域の画像情報の場合,図17に示すように,L1乃至L4をそれぞれ特定する。図17(a)が図14における上の棚段の商品タグ配置領域であり,図17(b)が図14における下の棚段の商品タグ配置領域である。なお,特定する輪郭線L1乃至L4は,実際に商品タグ配置領域の画像情報に描画するわけではない。そして図17(a)のL1,L2,図17(b)のL3,L4が,それぞれ垂直線となるように,商品タグ配置領域の画像情報に対する台形補正処理をそれぞれ実行する。このような処理を実行することで,商品タグ配置領域の画像情報を正置化し,図16に示す正置化した商品タグ配置領域の画像情報を得られる。なお,商品タグ配置領域正置化処理部452の処理を実行することで,商品タグ特定処理部453,商品タグ内情報特定処理部454の精度を向上させることができることから,その処理を実行することが好ましいが,省略することもできる。その場合,商品タグ特定処理部453,商品タグ内情報特定処理部454は,商品タグ配置領域処理部451で切り出した商品タグ配置領域に対して実行することとなる。
商品タグ特定処理部453は,正置化した商品タグ配置領域画像情報から,各商品タグの領域(商品タグ領域)を特定する。商品タグ領域の特定処理には,主に2種類の方法を用いることができる。第1の方法は,輪郭線に基づいて商品タグ領域を特定する方法であり,第2の方法は,全体の明暗の分布などの全体的な特徴を,商品タグのテンプレートの画像情報とマッチングすることで商品タグ領域を特定する方法である。第1の方法,第2の方法以外の方法を用いることもできる。
第1の方法は,商品タグの地の色(背景色)が白色が多い(背景より明るい)ことを利用する方法である。すなわち,まず正置化した商品タグ配置領域の画像情報のうち,画像情報の明度情報を横方向に積算したヒストグラムを生成する。そしてヒストグラムの立ち上がり,立ち下がり位置を特定し,商品タグの上辺位置A,下辺位置Bを特定する。この処理を模式的に示すのが図18である。立ち上がりとは,ヒストグラムにおいて,黒から白の方向に急峻(あらかじめ定められた比率以上)に増加する箇所であり,立ち下がりとは,ヒストグラムにおいて,白から黒の方向に急峻に減少する箇所である。
そして,正置化した商品タグ配置領域の画像情報のうち,上辺位置A,下辺位置Bの間を切り出し,正置化した商品タグ配置領域画像情報の明度情報を縦方向に積算したヒストグラムを生成する。そして,ヒストグラムの立ち上がり,立ち下がり位置を特定し,立ち上がりとその右の所定の距離範囲にある立ち下がりとをペアとし,それぞれを左辺位置,右辺位置として,商品タグ領域を特定する。そして,ペアを形成できなかった立ち上がりについてはその右側に,ペアを形成できなかった立ち下がりについてはその左側に,あらかじめ定めた距離内に商品タグ領域がなければ,商品タグ領域として特定をする。この処理を模式的に示すのが図19である。
また第1の方法により,図16の正置化した商品タグ配置領域の画像情報から,商品タグ領域を特定した状態を図20に示す。上辺位置A,下辺位置B,左辺位置(立ち上がり)U,右辺位置(立ち下がり)Dのそれぞれで構成される矩形領域が,特定された商品タグの領域である。
なお,商品タグの地の色(背景色)が白色以外,たとえば赤色であって,文字が白色などの商品タグもある。そこで,上述の処理によって商品タグにおける価格情報や商品識別情報が認識できなかった場合には,商品タグ配置領域の画像情報において,白色と黒色との関係を反転させて(明暗を反転させる),上述と同様の処理を実行するようにしてもよい。これによって,地の色が暗く,文字が明るい商品タグに対応させることもできる。
なお,商品タグ配置領域の画像情報の明暗を反転させる処理は,商品タグにおける情報が認識できない場合のほか,商品識別情報を特定する過程の処理のいずれかにおいて正常に認識できない場合に実行してもよいし,認識できるか否かにかかわらず実行をしてもよい。
第2の方法は,いわゆるテンプレートマッチングである。すなわち,テンプレートとして,商品タグの画像情報をあらかじめ登録しておき,テンプレートと,正置化した商品タグ配置領域の画像情報とのマッチングをすることで,商品タグ領域を特定する。
商品タグには,税抜価格,税込価格,商品識別情報(商品名など),メーカー名,定格などが含まれる。そのため,テンプレートとなる商品タグの画像情報に,商品名など商品識別情報や価格の具体的な数字,文字を含めるとその部分も含めて画像マッチング処理の判定対象となるため,その部分をモザイク化,削除等することで,判定対象から中立化や除外してあることが好ましい。中立化とは,どのような入力についても高い点,低い点を配点しないことであり,除外とは,画像マッチング処理の際に,その部分をマッチングの対象から除外することである。
商品タグ内情報特定処理部454は,商品タグ特定処理部453で特定した商品タグ領域に記載されている情報をOCR認識などにより特定する処理を実行する。OCR認識をする場合には,商品タグ領域として特定した領域のすべてまたは一部について行うことができる。商品タグ領域として特定したすべての領域に行うとノイズなどにより誤認識が発生する可能性が高いので,OCR認識をする対象領域を限定することが好ましい。この場合,商品タグ特定処理部453で用いた第1の方法,第2の方法にそれぞれ対応した処理を実行すればよい。
商品タグ特定処理部453で第1の方法を用いた場合,特定した商品タグ領域において,まず二値化処理を行う。二値化処理としては,HSV色空間の明度を用いる方法,大津の手法,赤色を抽出する手法(商品タグの数字や文字列には黒色のほか赤色も使用頻度が高い)などのうち一または複数を組み合わせて抽出したものを候補として選定する方法がある。
そして,二値化した画像情報においてラベリング処理を実行する。ラベリング処理とは,二値画像情報において,白または黒が連続した画素に同一の番号(識別情報)を割り振る処理を実行することで,連続する画素同士を一つの島(グループ)化する処理である。そしてラベリング処理によって検出した島を含む矩形領域(ボックス)を生成し,ボックスの高さ,幅,ベースラインを求める。ボックスを生成する際には,同一番号にラベリングされた領域を囲む最小の,垂直,水平の線分で囲まれた長方形を生成することが好ましいが,それに限定しない。なおボックスを生成する際に,あらかじめ定めた閾値となる高さ,幅を充足しない島はノイズとしてボックスを生成せず,そのまま処理対象から除去する。たとえば高さが小さすぎる島は横罫線や画像上のゴミの可能性があり,幅が広すぎる島はロゴなどの可能性があり,これらはノイズとして除去をする。
商品タグで使用される文字は,一般的には,太字のゴシック体など文字全体の輪郭が明確な字体が用いられることが多い。そのため,画像情報に多少のピンぼけがある場合でも,一つの文字列を形成する文字群は,ベースラインと高さがそろった島として検出することができる。
そして商品タグ内情報特定処理部454は,所定の類似性を有する隣接したボックス同士を併合し,ブロックを構成する。すなわち,ベースラインと高さが所定範囲内で一致し,高さおよび幅が一定の閾値の範囲内にある連続するボックスを併合し,ブロックを構成する。この際に,併合するブロックの間にある小さいボックスなどもまとめて一つのブロックとして構成する。これによって,濁点,半濁点,ハイフンなども一つのブロックに取り込まれることとなる。ブロックは,OCR認識の対象となる領域である。そして,ブロックのうち,高さがもっとも高いブロックを価格領域(税抜価格領域)と推定し,OCR認識を行う。また,ほかのブロックについても同様に,OCR認識を行う。以上のような処理を実行することで,商品タグ領域において複数行にわたって自由にレイアウトされた原稿部分に対しOCR認識を行うよりも精度よく,文字認識処理を実行することができる。この処理を模式的に示すのが図21乃至図23である。図21は二値化した画像情報であり,図22はボックス(破線で示す領域)を生成した状態を示す図である。また図23はブロック(破線で示す領域)を生成した状態を示す図である。
以上のようにして商品タグ内情報特定処理部454は,商品タグに記載した情報を文字認識することができる。
商品タグ特定処理部453で第2の方法を用いた場合,テンプレートとした商品タグの画像情報に,あらかじめ税抜価格,税込価格,メーカー名,商品名などの商品識別情報,定格が表記されるそれぞれの文字枠の位置,大きさ(高さ,幅)が設定されている。そのため,商品タグ特定処理部453で特定した商品タグ領域から,該当箇所の画像情報を切り出し,OCR認識処理を実行する。この際に,価格,メーカー名,商品名などの商品識別情報,定格によって使用される文字種別(たとえば数字,ローマ字,記号,かな漢字のどれを含むかなど)を制約条件として定めておくことで,OCR認識処理の精度を向上させることができる。
さらに商品タグ内情報特定処理部454は,読み取った情報の整合性を確認する処理を実行してもよい。整合性確認処理としては,辞書照合による整合性の確認処理,ロジカルチェックの2種類を行うことが好ましい。
辞書照合による整合性の確認処理は,たとえば以下のように実行する。本実施例の情報処理システムにおける検索対象情報絞込システム1は,陳列棚に陳列される可能性のある商品の商品名などの商品識別情報と,それに対応するコード情報(たとえばJANコード)とを対応づけて記憶する絞込情報記憶部23を備えている。そして,商品タグ内情報特定処理部454で認識した価格を示す領域から読み取った文字列以外の文字列と,絞込情報記憶部23に登録されたすべての商品名などの商品識別情報との文字列類似度評価を行う。たとえば編集距離(レーベンシュタイン距離)やジャロ・ウィンクラー距離などを用いることができる。
上記で求めた文字列類似度の最大値が一つであるならば,その商品名などの商品識別情報を最終候補とする。そして最終候補となった商品名などの商品識別情報の文字列の長さに対して,許容できる類似度をあらかじめ定めておき,許容できる類似度以上であれば商品名などの商品識別情報を同定する。許容できる類似度に達していなければ,読み取った文字列は未確定とする。また,最大値の類似度の商品が複数ある場合には,読み取った文字列は未確定とする。
文字列類似度評価の一つである編集距離とは,二つの文字列がどの程度異なっているかを示す距離の一種であって,具体的には,一文字の挿入,削除,置換によって,一方の文字列をもう一方の文字列に変形するのに必要な手順の最小回数である。図24に商品タグに表記された商品名,OCR認識の結果,絞込情報記憶部23に記憶する商品名のうち編集距離が最小の商品名,編集距離の一例を示す。また,図25に,最終候補の文字数ごとの確定してよい編集距離の対応関係の表を示す。なお,本明細書では編集距離を用いて処理をする場合を説明するが,置換が挿入,削除よりも類似度が大きくなるよう定義された字列類似度評価であってもよい。
そして,上記の最小の編集距離の商品名などの商品識別情報を求めた後,OCR認識結果から商品名などの商品識別情報の該当部分を除いた文字列に対し,別に備える定格辞書(図示せず)に記憶する各定格との編集距離,メーカー名辞書(図示せず)に記憶する各メーカー名との編集距離をそれぞれ求める。たとえば図24における「のどごし 生 350ml」の例では,「350ml」の部分に対し,定格の辞書における「350ml」と編集距離0で一致し,定格部分の文字列であることを同定する。同様に,メーカー名についても編集距離を求め,最小の編集距離にある文字列をメーカー名であることを同定する。そしてOCR認識結果から定格部分,メーカー名部分の各文字列を取り除いて,取り除いた残りの文字列に対し,絞込情報記憶部23における最短の編集距離にある文字列を求め,許容できる編集距離であるか否かを判定する。許容できる編集距離内であれば,商品名などの商品識別情報,メーカー名,定格を確定する。このような処理をすることで,商品名などの商品識別情報に定格,メーカー名が含まれる場合にも適切に確定をすることができる。なお,定格辞書とは,陳列棚に陳列される可能性のある商品の定格(容量など)を記憶する辞書である。メーカー名辞書とは,陳列棚に陳列される可能性のある商品のメーカー名を記憶する辞書である。
商品タグ内情報特定処理部454による認識結果を最終的に利用者が判断,承認するため,認識結果の選択等の入力を受け付ける表示を行う際には,確定した文字列,未確定の文字列が特定可能な方法で表示が行われているとよい。たとえば確定した文字列と未確定の文字列との色を分ける,確定の文字列および/または未確定の文字列には確定または未確定を示す情報を付するなどがある。未確定の文字列については,最小の編集距離となった商品名などの商品識別情報が複数ある場合には,各商品識別情報を表示してもよい。
商品タグ内情報特定処理部454におけるロジカルチェック(認識した情報の論理的整合性の判定処理)は以下のように行うことができる。たとえば価格領域として2つの価格を読み取った場合,一つは税抜価格,一つは税込価格となるが,税抜価格が税込価格よりも高くなっている場合には,それらを逆転して認識させる。また,税抜価格に消費税率を乗算して得た値が税込価格とは一致しない場合には,いずれかまたは双方に誤認識があるとする。さらに,商品名などの商品識別情報を認識した場合には,その商品または商品カテゴリの通常の価格帯に収まっているか,を判定する。また,商品名などの商品識別情報,メーカー名,定格の対応関係が一致しているかを判定してもよい。
以上のように商品タグ内の情報の整合性を確認することで,撮影画像情報に写っている商品タグに含まれる情報を確定することができる。このように確定した情報は,たとえば表形式で出力をすることができる。
つぎに本実施例における,検索対象情報絞込システム1によるJICFSのデータ集における商品名を絞り込んだ絞込情報記憶部23(商品辞書)を作成する処理と,撮影画像情報から,絞込情報記憶部23を参照して,撮影画像情報の陳列棚に写っている商品の商品名などの商品識別情報と,商品タグに記載されている商品名などの商品識別情報とを特定する処理の一例を,図3および図26のフローチャートを用いて説明する。なお,以下の説明では,検索対象情報記憶部20のデータ集として,JICFSであり,絞込情報記憶部23が商品辞書である。
まず検索対象情報絞込システム1における処理を,図3のフローチャートを用いて説明する。
検索処理部21は,所定のタイミングで,検索対象情報記憶部20であるJICFSのデータ集から,商品名(商品等の名称)とJANコード(商品等識別情報)とを抽出し,それらに基づいて,検索サーバ3またはウェブクローリングによりウェブ検索を行う(S100)。そして検索処理部21は,ウェブ検索の検索結果を取得し,一時的に記憶する(S110)。このウェブ検索を,JICFSのすべての商品について行う。
絞込情報処理部は,S110のウェブ検索の検索結果に基づいて,商品辞書から除外する商品を特定し,また商品辞書に登録する商品を特定する絞込処理を実行する(S120)。そして絞込処理をした商品の商品名,JANコードなどを検索対象情報記憶部20であるJICFSのデータ集から取得し,絞込情報記憶部23である商品辞書に記憶させる(S130)。
以上のように商品辞書に商品を登録することによって,画像認識システム4で陳列されている商品,商品タグに表記されている商品を特定する際に,不要な商品との比較をすることが不要にできる。
つぎに画像認識システム4における処理を,図26のフローチャートを用いて説明する。
店舗の陳列棚が撮影された撮影画像情報は,撮影画像情報入力端末5から入力され,撮影画像情報入力受付処理部40でその入力を受け付ける(S200)。図12に,撮影画像情報の一例を示す。また,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報の入力を受け付ける。そして,撮影画像情報入力受付処理部40は,入力を受け付けた撮影画像情報,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報を対応づけて撮影画像情報記憶部41に記憶させる。
画像認識システム4において所定の操作入力を受け付けると,撮影画像情報正置化処理部42は,撮影画像情報記憶部41に記憶する撮影画像情報を抽出し,台形補正処理などの正置化処理を行うための頂点である棚位置(陳列棚の位置)の4点の入力を受け付け,正置化処理を実行する(S210)。このようにして正置化処理が実行された撮影画像情報(正置画像情報)の一例が,図13である。
そして,正置画像情報に対して,画像認識システム4において所定の操作入力を受け付けることで,位置特定処理部43は,棚段位置領域および商品タグ配置領域を特定する(S220)。すなわち,正置画像情報における棚段領域,商品タグ配置領域の入力を受け付ける。図14が,棚段領域および商品タグ配置領域が特定された状態を示す図である。
以上のようにして,棚段領域,商品タグ配置領域を特定すると,棚段領域における陳列商品の認識処理を陳列商品認識処理部44が,商品タグ配置領域における商品タグ認識処理を商品タグ認識処理部45がそれぞれ実行する(S230,S240)。なお陳列商品認識処理部44における陳列商品の認識処理,商品タグ認識処理部45による商品タグ認識処理は,並行して行ってもよいし,異なるタイミングで行ってもよい。
まず陳列商品認識処理部44における商品の商品識別情報の認識処理を説明する。
陳列商品認識処理部44における棚段領域処理部441は,S220で入力を受け付けた棚段の領域に基づいて,正置画像情報から棚段領域の画像情報を切り出す。そして,棚段領域画像情報における棚段ごとに,プレイスを特定する処理を実行する。具体的には,棚段領域における棚段について,4点の座標で構成される矩形領域の範囲内において,商品と商品との間に生ずる細く狭い陰影を特定する,画像の繰り返しパターンを特定する,パッケージの上辺の段差を特定する,商品幅が同一であるなどの制約に基づいて区切り位置を特定する,などによって,プレイスを特定する。特定したプレイスには,プレイスを識別するためのプレイス識別情報を付す。そして,特定した各プレイスの座標は,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,プレイスを識別するためのプレイス識別情報と対応付けて記憶させる。なお,プレイスの座標は4点を記憶せずとも,矩形領域を特定可能な2点であってもよい。
以上のように正置画像情報の棚段位置領域画像情報における各棚段の各プレイスを特定すると,商品識別情報特定処理部443は,プレイスごとに,標本情報記憶部46に記憶する標本情報とマッチング処理を実行し,そのプレイスに表示されている商品の商品識別情報を特定する。
この際に,標本情報記憶部46には,商品辞書に登録されている商品の標本情報のみが記憶されていてもよいが,商品辞書に登録されている商品以外の商品の標本情報もある場合には,以下のような処理を実行する。すなわち,商品識別情報特定処理部443は,商品辞書を参照し,そこに登録されている商品の商品名やJANコードなど,商品を識別可能な情報を抽出する。そして,抽出した情報に基づいて,対応する商品の標本情報を,標本情報記憶部46から特定し,特定した標本情報を画像マッチング処理の対象とする商品の標本情報とする。これによって,流通実態を考慮した商品の標本情報とマッチング処理を実行でき,流通実態がない,またはほとんどない商品の標本情報とのマッチング処理を省略することができる。これによって,処理時間,処理負荷を減らし,また検索精度の低下を抑止することができる。
そして商品識別情報特定処理部443は,プレイスごとに,マッチング処理の対象とした各商品の標本情報とマッチング処理を実行する。
マッチング処理は,以下のように実行する。すなわち,ある棚段のプレイスの矩形領域(このプレイスの領域のプレイス識別情報をXとする)における画像情報と,マッチング処理の対象とする商品の標本情報とから,それぞれの画像特徴量を算出し,特徴点のペアを求めることで,類似性を判定する。そして,もっとも類似性の高い標本情報を特定し,そのときの類似性があらかじめ定められた閾値以上であれば,その標本情報に対応する商品識別情報を標本情報記憶部46に基づいて特定する。そして,特定した商品識別情報を,そのプレイス識別情報Xのプレイスに表示されている商品の商品識別情報とする。
また,もっとも類似度が高い標本情報が複数あった場合,あらかじめ定められた閾値以上の類似度である標本情報が複数あった場合,検索処理部21で取得したウェブ検索の検索結果,たとえばヒット数や,一定の日付以降のウェブサイトのヒット数に基づいて,検索結果に基づいて類似度を補正し,特定する標本情報の順位を変更してもよい。たとえばマッチング処理において,ある商品の類似度をr1としたとき,その商品の検索処理部21で取得したウェブ検索の検索結果によるヒット数xに対する所定の関数f(x),たとえば単調増加する関数を用いて,補正した類似度r2(=r1×f(x))を算出する。そして,補正した類似性r2が大きい順にソートをし,1位のものを当該商品として表示をする。
これを模式的に図27に示す。図27(a)は商品A,商品B,商品C,商品Dがあった場合に,検索処理部21で取得したウェブ検索の検索結果によるそれぞれの商品の出現頻度と,標本情報との類似度を示す表の一例である。たとえば図27(a)では,検索処理部21で取得したウェブ検索の検索結果による商品A乃至商品Dのそれぞれの出現頻度が50%,30%,10%,10%,商品Aを表示しているプレイスの矩形領域の画像情報と,商品A乃至商品Dの各標本情報との類似度がそれぞれ50%,30%,10%,10%であることを示している。また,図27(b)では,類似度に出現頻度を乗算して正規化したものである。このように,出現頻度など,検索処理部21での検索結果を用いて類似度の補正処理を行うことで,類似性の判定の精度を向上させることができる。また,出現頻度が一定の閾値以下の場合には,補正処理を行わないようにしてもよい。なお,検索処理部21で取得したウェブ検索の検索結果を用いた類似度の補正処理にはさまざまな方法が適用でき,上述のほか,たとえば,ベイジアンネットワークにおける出現頻度(出現率)に基づいて類似度の補正処理を行うことなどもできる。また,画像のマッチング処理(類似性の判定)のほか,商品タグ認識処理部45におけるOCR認識での認識結果に対して,検索処理部21で取得したウェブ検索の検索結果を用いて補正処理を行うこともできる。
いずれの標本情報とも類似ではないと判定したプレイスについては,そのプレイス識別情報について「空」であることを示す情報を付する。商品識別情報特定処理部443は,特定した商品識別情報または「空」であることを示す情報を,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,プレイス識別情報に対応づけて商品識別情報記憶部47に記憶する。
なお,すべてのプレイスの商品識別情報を特定できるとは限らない。そこで,特定できていないプレイスについては,上述のように最初から「空」の情報を付するのではなく,商品識別情報の入力を受け付け,入力を受け付けた商品識別情報を,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報,正置画像情報の画像情報識別情報,プレイス識別情報に対応づけて商品識別情報記憶部47に記憶する。また,特定した商品識別情報の修正処理についても同様に,入力を受け付けてもよい。また,修正処理の結果,「空」であることの入力を受け付けた場合には,「空」の情報を付してもよい。
以上のような処理を行うことで,撮影画像情報に写っている陳列棚の棚段に陳列されている商品の商品識別情報を特定することができる。また,JICFSに登録されているすべての商品の標本情報と比較するのではなく,流通実態を考慮して絞込をした商品が登録された商品辞書を用いて比較をしているので,比較対象を大幅に減らすことができる。そのため,処理時間,処理負荷を減らし,検索精度の低下も抑止することができる。
つぎに商品タグ認識処理部45における商品タグの情報を認識する処理を説明する。
商品タグ認識処理部45における商品タグ配置領域処理部451はS220で特定した商品タグ配置領域の画像情報を切り出し,商品タグ配置領域正置化処理部452が台形補正処理を実行することで,商品タグ配置領域の画像情報に対する正置化処理を実行する。
商品タグ配置領域の画像情報に対する正置化処理としては,まず,商品タグ配置領域の画像情報においてエッジ検出を行う。そして,検出したエッジのうち,一定の長さ以上であって,垂直から所定範囲の角度内にある輪郭線を特定する。そして,特定した輪郭線のうち,もっとも左および右にある輪郭線を特定する。このように特定した輪郭線の一例を図17に示す。そして,特定した輪郭線(図17(a)のL1,L2,図17(b)のL3,L4)が,それぞれ垂直線となるように,商品タグ配置領域の画像情報に対する台形補正処理を実行する。このような処理を実行することで,商品タグ配置領域の画像情報を正置化し,図16に示す正置化した商品タグ配置領域の画像情報を得られる。
商品タグ配置領域の画像情報の正置化処理が終了すると,商品タグ特定処理部453が,第1の方法または第2の方法により,商品タグ配置領域の画像情報から,個々の商品タグ領域を特定する。
第1の方法の場合には,正置化した商品タグ配置領域の画像情報のうち,画像情報の明度情報を横方向に積算したヒストグラムを生成し,ヒストグラムの立ち上がり,立ち下がり位置を特定する。そして,特定したヒストグラムの立ち上がりを商品タグの上辺位置A,ヒストグラムの立ち下がり位置を商品タグの下辺位置Bとして特定する。
つぎに,正置化した商品タグ配置領域の画像情報のうち,上辺位置A,下辺位置Bの間を切り出し,正置化した商品タグ配置領域の画像情報の明度情報を縦方向に積算したヒストグラムを生成する。
生成したヒストグラムにおいて立ち上がり位置U,立ち下がり位置Dを特定し,立ち上がり位置U(左辺位置)とその右の所定の距離範囲にある立ち下がり位置D(右辺位置)とをペアとして特定し,商品タグ領域として特定する。
ペアを形成できなかった立ち上がり位置Uについてはその右側に,ペアを形成できなかった立ち下がり位置Dについてはその左側に,あらかじめ定めた距離内に商品タグ領域がなければ,商品タグ領域として特定をする。
以上のような処理によって,それぞれの商品タグ領域を特定した状態が図20である。
また第2の方法を用いる場合には,商品タグ特定処理部453は,あらかじめ登録しているテンプレートの商品タグの画像情報と,正置化した商品タグ配置領域の画像情報との画像マッチング処理を実行することで,商品タグ領域を特定する。
以上のようにして商品タグ特定処理部453が商品タグ領域を特定すると,商品タグ内情報特定処理部454が,商品タグ内における情報を特定する。
商品タグ内情報特定処理部454における第1の方法は,特定した商品タグ領域について二値化処理することで,二値化した画像情報とする。そして,二値化した画像情報におけるラベリング処理により,ボックスを特定する。なお,あらかじめ定めた閾値となる高さ,幅を充足しない島はノイズとしてボックスを生成せず,そのまま処理対象から除去する。
そして生成したボックスの高さ,幅,ベースラインを求め,ベースラインと高さが所定範囲内で一致し,高さおよび幅が一定の閾値の範囲内にある隣接するボックスを特定することで,特定したボックスを併合し,ブロックを構成する。そしてブロックのうち,高さがもっとも高いブロックを価格領域(税抜価格領域)と推定し,OCR認識を行う。OCR認識の結果,価格情報を得られなければ(数値の文字列を認識できなければ),高さが次に高いブロックを価格領域(税抜価格領域)と推定し,同様にOCR認識を行う。
なお上述のOCR認識においては,価格に用いる「数字」,「コンマ」等の価格表示を構成する文字認識を制約条件として付加することで価格の読み取り精度を向上することができる。
このように価格領域(税抜価格領域)と推定したブロックから価格情報をOCR認識により取得すると,価格領域(税抜価格領域)と推定して取得した価格情報以外のブロックを特定し,特定した各ブロックに対してOCR認識を行う。このOCR認識については,2種類のOCR認識処理を行うことが好ましい。すなわち,通常の標準的なOCR認識処理と,価格表示を構成する文字認識を制約条件として付加したOCR認識処理である。
上述で特定したブロックには,価格領域(税込価格領域)のブロックと,メーカー名,商品名などの商品識別情報,定格などの情報の領域のブロックが含まれる。そして各ブロックについて2種類のOCR認識処理を実行する。メーカー名,商品名などの商品識別情報,定格などの情報の領域のブロックについては,標準的なOCR認識処理では文字列を認識し,制約条件を付したOCR認識処理では多くはエラーを含む文字列となる。この場合,2つの認識処理の認識結果が所定値以上相違するかを判定し,相違する場合には,標準的なOCR認識処理で実行した文字列を認識結果とし,価格領域(税込価格領域)のブロック以外のブロックであると判定する。一方,価格領域(税込価格領域)のブロックについては,標準的なOCR認識処理では価格情報の文字列を認識し,制約条件を付したOCR認識処理でも価格情報の文字列を認識する。この場合,2つの認識処理の認識結果が所定値以上相違するかを判定し,相違しない場合には,価格領域(税込価格領域)のブロックであると判定し,制約条件を付加した認識処理による文字列を認識結果の価格情報とする。
以上のようにして商品タグ内情報特定処理部454は,商品タグに記載した情報を文字認識することができる。商品の陳列状況を判定するためには,商品の商品識別情報があれば足りるが,税抜価格,税込価格などほかの情報を認識することで,価格情報などについても,陳列状況に対応づけて管理することが可能となる。
なお,商品タグ特定処理部453で第2の方法を用いた場合には,テンプレートとした商品タグには,あらかじめ税抜価格,税込価格,メーカー名,商品名などの商品識別情報,定格がそれぞれ表記される文字枠の位置,サイズが設定されている。そのため,商品タグ特定処理部453で特定した商品タグ領域から,該当箇所の画像情報を切り出し,OCR認識処理を実行すればよい。
そして商品タグ内情報特定処理部454は,特定した商品名との辞書照合処理を実行する。すなわち,読み取った文字列と,商品辞書における各商品名などの商品識別情報との編集距離を求め,最小の編集距離の商品名などの商品識別情報を特定し,それがあらかじめ定めた所定距離内であれば商品名などの商品識別情報として同定する。そして,読み取った文字列から最短の編集距離の商品名部分を取り除き,残りの部分文字列に対し,定格辞書における各定格との編集距離を求め,最小の編集距離が所定距離内であるかを判定して,所定距離内にあればその部分を定格の文字列として同定する。
この際に,商品辞書には,流通実態を考慮した商品の情報が登録されているので,すでに流通実態のない商品については照合処理の対象とはならない。そのため,流通実態のないまたは流通実態がほとんどない商品の方が,実際に流通している商品よりも,編集距離などが近いことによる誤認識などを防止することができ,認識精度の低下を防止することができる。
同様に,読み取った文字列から最小の編集距離の商品名部分と定格部分を取り除き,残りの部分文字列に対し,メーカー名辞書における各メーカー名との編集距離を求め,最小の編集距離が所定距離内であるかを判定して,所定距離内にあればその部分をメーカー名の文字列として同定する。なお,編集距離ではなく,ジャロ・ウィンクラー距離を用いる場合には,それに応じた処理を適宜実行すればよい。
さらに,商品タグ内情報特定処理部454は,文字認識した文字列に対するロジカルチェックの処理を実行する。すなわち文字認識した文字列が論理的に矛盾しないか,などを判定する。
ロジカルチェックの結果,矛盾がないようであれば,それぞれ認識した文字列について,税抜価格,税込価格,商品名などの商品識別情報,メーカー,定格を特定し,それらを,撮影日時,店舗識別情報,撮影画像情報の画像情報識別情報と対応づけて所定の記憶領域に記憶,出力をする。たとえば表形式で出力をする。
以上のようにして,陳列商品認識処理部44が棚段に陳列している商品の商品識別情報を,商品タグ認識処理部45が商品タグの商品識別情報を認識することができる。
このように,本実施例の処理を用いることによって,商品を網羅的に登録しているJICFSのデータ集から,流通実態を考慮した商品をあらかじめ絞り込んで登録をした商品辞書を用いて,画像認識システム4による処理を実行することができるので,テキスト認識処理,画像認識処理における処理時間,処理負荷を減らすことができる。また検索精度の低下も抑止することができる。
なお,陳列商品認識処理部44が認識した商品識別情報,商品タグ認識処理部45が認識した商品識別情報に基づいて,商品辞書における商品をさらに絞込処理をしてもよい。すなわち,店舗の陳列棚に陳列されている商品は,ある程度,固定的であり,極端な変動は,通常はない。そのため,陳列商品認識処理部44,商品タグ認識処理部45が,前回の認識処理で認識した商品識別情報については,次回の認識においても,必要とされる可能性が高い。そこで,商品辞書に登録される商品について,陳列商品認識処理部44,商品タグ認識処理部45で認識した商品識別情報に基づいて,絞込処理を行ってもよい。
この際に,陳列されている商品として,当該店舗のほかに,近隣の同種店舗での認識結果を用いてもよい。