以下に、本実施形態に係る情報処理プログラム、情報処理方法、および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本実施形態が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
まず、本実施形態を実施するための不正検知システムについて説明する。図1は、実施例1にかかる不正検知システムの構成例を示す図である。図1に示すように、不正検知システム1は、不正検知装置10と、利用者端末100-1~100-n(nは任意の整数。以下、まとめて「利用者端末100」という)とが、ネットワーク50を介して相互に通信可能に接続されるシステムである。
また、不正検知装置10は、カメラ装置200-1~200-m(mは任意の整数。以下、まとめて「カメラ装置200」という)や店員端末300ともネットワーク50を介して相互に通信可能に接続される。
ネットワーク50には、有線や無線を問わず、例えば、小売店の店舗内で利用されるイントラネットなどの各種通信網を採用できる。また、ネットワーク50は、単一のネットワークではなく、例えば、イントラネットとインターネットとがゲートウェイなどネットワーク装置やその他の装置(図示せず)を介して構成されてよい。なお、小売店の店舗内は、屋内に限定されず、敷地内の屋外を含んでよい。
不正検知装置10は、例えば、小売店の店舗内に設置され、店舗スタッフや管理者などによって使用されるデスクトップPC(Personal Computer)やノートPC、またはサーバコンピュータなどの情報処理装置である。
不正検知装置10は、カメラ装置200によって小売店の店舗内や敷地内など所定の撮像範囲を撮像した複数の画像を、カメラ装置200から受信する。なお、複数の画像とは、厳密には、カメラ装置200によって撮影される映像、すなわち、動画の一連のフレームである。
また、不正検知装置10は、既存の物体検知技術を用いて、撮像画像から、店舗に滞在する顧客(以下、単に「人物」という場合がある)、当該人物が持つ買い物カゴ(以下、単に「カゴ」という場合がある)や利用者端末100を特定する。また、不正検知装置10は、既存の骨格検出技術を用いて、撮像画像から、特定された人物の骨格情報を生成して人物の姿勢を推定し、商品をカゴに入れる動作や利用者端末100に対して登録する動作を特定する。
また、不正検知装置10は、各顧客の商品に対する行動を評価する。より具体的には、不正検知装置10は、例えば、各顧客に対し、商品をカゴに入れる動作を特定したのに、当該商品を利用者端末100に対して登録する動作が特定されない場合、商品のスキャン漏れが発生していると判定する。そして、不正検知装置10は、商品のスキャン漏れなど、顧客の不正行動を検知した場合、店員端末300にアラートを通知する。
なお、図1では、不正検知装置10を1台のコンピュータとして示しているが、複数台のコンピュータで構成される分散型コンピューティングシステムであってもよい。また、不正検知装置10は、クラウドコンピューティングサービスを提供するサービス提供者によって管理されるクラウドコンピュータ装置であってもよい。
利用者端末100は、商品を購入するために、顧客自らが商品のバーコードなどをスキャンして購入商品の登録を行うための情報処理端末である。利用者端末100は、顧客が所有するスマートフォンやタブレットPC(Personal Computer)などのモバイル端末であってもよいし、店舗内で貸し出される専用端末であってもよい。利用者端末100には、商品をスキャンして登録などするためのアプリケーションが予めインストールされる。
カメラ装置200は、例えば、小売店の店舗内や敷地内に設置される監視カメラである。なお、図1では、カメラ装置200を複数台示しているが、例えば、狭い店舗などの場合は1台であってもよい。カメラ装置200によって撮影された映像は、不正検知装置10に送信される。
店員端末300は、小売店の店員が所持するスマートフォンやタブレットPCなどのモバイル端末であってもよいし、店舗内の所定位置に設置されるデスクトップPCやノートPCなどの情報処理装置であってもよい。店員端末300は、商品のスキャン漏れなど、顧客の不正行動が不正検知装置10によって検知された場合に、不正検知装置10からアラートを受信する。なお、店員端末300は、例えば、店舗の店員ごとに複数存在してよいが、当該アラートが通知される端末は、例えば、出口付近の警備を担当する店員が所持する端末などに限定されてもよい。
次に、図2および図3を用いて、顧客自らが商品をスキャンして登録し(以下、「セルフスキャン」という場合がある)、商品の購入を行う方法について説明する。図2は、実施例1にかかるセルフスキャンによる商品購入の一例を示す図である。
図2に示すように、まず、顧客は、利用者端末100に表示されるアプリケーションを介して、訪れた店舗を選択する。次に、顧客は、購入する商品を取り、例えば、商品や商品棚などに貼付された商品ごとのバーコードなどを、利用者端末100を用いて読み取る(以下、「商品スキャン」という場合がある)。これにより、購入する商品が、アプリケーションに登録される。
次に、顧客は、セルフレジ端末400などのディスプレイ部に表示される支払いコードをスキャンする。そして、セルフレジ端末400の精算画面に表示された金額を支払うことで商品の購入が完了する。また、顧客は、利用者端末100に表示された支払い完了コードを、店舗の出口などに設置されるゲート用リーダ500などに読み取らせることで店外に出ることができる。なお、セルフレジ端末400およびゲート用リーダ500は、図1には示されていないが、ネットワーク50を介して不正検知装置10と相互に通信可能に接続される。
次に、セルフスキャンによる商品購入の別例について説明する。図3は、実施例1にかかるセルフスキャンによる商品購入の別例を示す図である。
図3に示すように、まず、顧客は、利用者端末100に表示されるアプリケーションにログインし、訪れた店舗を選択する。次に、顧客は、購入する商品を取り、例えば、購入する商品や商品棚などに貼付された商品ごとのバーコードなどを、利用者端末100を用いて読み取る。
次に、顧客は、店舗内のチェックポイントに購入商品の入ったカゴを置き、利用者端末100に表示される「会計ボタン」や「購入ボタン」などを押下することで、購入商品の会計を実行する。なお、購入商品の支払いは、利用者端末100に表示されるアプリケーションを介して、電子マネーやクレジットカードなどにより行うことができる。そして、顧客は、利用者端末100に表示された決済完了コードを、店舗の出口などに設置されるゲート用リーダ500などに読み取らせることで店外に出ることができる。
以上、図2および図3を用いて、セルフスキャンによる商品購入について説明した。しかしながら、セルフスキャンでは、例えば、顧客が商品スキャンを行わずに商品をカゴに入れ、セルフレジを通らずに支払いを免れることができてしまう。または、顧客が購入商品の一部のみをスキャンし、スキャンした商品のみをセルフレジで会計することで、一部の商品の支払いを免れることができてしまう。特に、商品の点数が少数の場合の不正行動は店員などによって発見し易いが、例えば、商品の点数が多数で一部の商品のスキャンを行わない場合などは店員などによる発見は困難である。
また、不正検知装置10によって商品のスキャン漏れを検知する場合、商品スキャンの動作は商品の種類やサイズなどによって変わってくるため、正しく検知できない場合がある。また、商品のスキャン漏れを検知する場合、さらに以下のような問題も発生し得る。例えば、すべての顧客が、利用者端末100を用いて商品スキャンを行うとは限らない。すなわち、一部の顧客は、従来通り、セルフレジでまとめて会計を行ったり、店員によるレジ打ちによって会計を行ったりする場合もあり得る。換言すると、商品スキャンを行わなかった者が必ずしも不正行動者であるとは限らない。そのため、例えば、カメラ装置200による映像から商品スキャンを行わなかった者を検知するだけでは、通常のレジ会計を行う顧客も検知してしまうため、不正行動者を正確に特定することが困難である。
図4は、実施例1にかかる撮像画像からの不正検知の一例を示す図である。図4は、カメラ装置200によって撮像された店舗内の画像の一例である。図4に示すように、店舗内には、利用者端末100を用いてセルフスキャンによる商品購入を行うセルフスキャン対象者150-1~150-3と、セルフスキャンによらない従来通りの商品購入を行う通常レジ対象者160-1~160-3が混在し得る。
例えば、図4の例では、セルフスキャン対象者150-1のみがセルフスキャンを意図的に行っていないスキャン漏れ対象者であったとする。そのため、図4のように、セルフスキャン対象者150-1のみがスキャン漏れ対象者として検知されることが不正検知としての正解である。
しかしながら、不正検知装置10が、商品を利用者端末100に登録する動作を行っていない者をスキャン漏れ対象者と判定する場合、そもそも当該動作を行う必要のない通常レジ対象者160-1~160-3までもスキャン漏れ対象者として検知してしまう。
また、カメラ装置200の映像から商品スキャンを行わなかった者を検知する場合、不正検知装置10に送信される情報量や処理する情報量が増加し、処理負荷が高くなるという問題も発生し得る。そこで、本実施形態は、このような問題を解消しつつ、セルフスキャンによる商品購入時の不正を検知した際のアラート通知の優先度を決定することを目的の一つとする。
[不正検知装置10の機能構成]
次に、不正検知装置10の機能構成について説明する。図5は、実施例1にかかる不正検知装置10の構成例を示す図である。図5に示すように、不正検知装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、利用者端末100やカメラ装置200など、他の装置との間の通信を制御する処理部であり、例えば、USB(Universal Serial Bus)インタフェースや、ネットワークインタフェースカードなどの通信インタフェースである。
記憶部30は、各種データや、制御部40が実行するプログラムを記憶する機能を有し、例えば、メモリやハードディスクなどの記憶装置により実現される。記憶部30は、画像DB31、骨格情報32、エリア情報33、および人物属性情報34などを記憶する。
画像DB31は、カメラ装置200によって撮像された一連のフレームである複数の撮像画像を記憶する。また、画像DB31は、当該撮像画像に対して特定された人物や物体の画像中の位置情報を記憶できる。
骨格情報32は、カメラ装置200によって撮像された撮像画像から特定された人物の骨格情報を記憶する。骨格情報の生成については後述する。
エリア情報33は、商品の売場や棚など、商品の販売エリア(以下、単に「エリア」という場合がある)に関する情報を記憶する。図6は、実施例1にかかるエリア情報33に記憶されるデータの一例を示す図である。図6に示すように、エリア情報33は、エリアを一意に識別するための識別子である「エリア」、エリアの位置情報を示す「エリア座標」、エリアの区分を示す「エリア区分」、動作を評価する際のエリアごとの重みを示す「重みW1」などを対応付けて記憶する。
ここで、販売エリアは、売場単位の大きいエリアであってもよいし、商品棚の1つの棚のような小さいエリアであってもよい。また、「エリア座標」には、例えば、図6に示すように、カメラ装置200によって撮像される撮像画像における画素の位置情報が設定されてよい。図6の例では、各エリアは、「エリア座標」によって示される4点を結ぶ四角形によって示される範囲内であってよい。また、「エリア区分」には、エリアで販売される商品の種類やサイズ、価格帯を示す文字列や数値が設定されてよい。また、「重みW1」には、例えば、高額商品の販売エリアに高い値を設定できる。詳細は後述するが、これにより、例えば、「重みW1」に高い値が設定されているエリアの方が、低い値が設定されているエリアよりも評価基準やアラート通知基準を厳格化して不正行動が検知され易くできる。
人物属性情報34は、動作を評価する際の人物ごとの重みに関する情報を記憶する。図7は、実施例1にかかる人物属性情報34に記憶されるデータの一例を示す図である。図7に示すように、人物属性情報34は、人物の年代を示す「年代」、人物の性別を示す「性別」、動作を評価する際の人物ごとの重みを示す「重みW2」などを対応付けて記憶する。ここで、「性別」には、性別を示す文字列や数値が設定されてよいが、男女どちらであってもよい場合は、空データや“‐”などが設定されてよい。また、「重みW2」には、例えば、不正行動をする可能性の高い10代の男性に高い値を設定できる。詳細は後述するが、これにより、例えば、「重みW2」に高い値が設定されている人物の方が、低い値が設定されている人物よりも評価基準やアラート通知基準を厳格化して不正行動が検知され易くできる。
なお、記憶部30に記憶される上記情報はあくまでも一例であり、記憶部30は、上記情報以外にも様々な情報を記憶できる。
制御部40は、不正検知装置10全体を司る処理部であり、例えば、プロセッサなどである。制御部40は、特定部41、生成部42、評価部43、および通知部44を備える。なお、各処理部は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
特定部41は、カメラ装置200によって撮像された撮像画像から、店舗に滞在する人物、および当該人物が利用している物体を特定する。当該物体には、例えば、カゴや商品、利用者端末100のみならず、商品の売場や棚など、人物が滞在している販売エリアが含まれてよい。なお、人物を特定する処理は、異なる時刻で撮像された撮像画像から、人物の容姿および移動量に基づいて、異なる時刻における同一の人物を追跡する処理を含んでよい。また、人物が滞在しているエリアを特定する処理は、撮像画像の中の人物と、商品の売場や棚との位置情報を用いて、対象人物が滞在している販売エリアを特定する処理を含んでよい。
また、特定部41は、特定されたエリアと対応づけられた設定情報を特定する。当該設定情報は、例えば、エリア情報33の「エリア区分」などであってよい。
また、特定部41は、特定された物体と、生成部42によって生成された骨格情報とに基づいて、人物が商品を収容した棚から商品を取り出す動作を検出して特定する。また、特定部41は、人物が取り出した商品をカゴに入れる動作と、人物が利用者端末100に対して購入対象の商品を登録する動作とを検出して特定する。なお、特定部41は、人物が所持する利用者端末100を特定することにより、各動作の特定を、利用者端末100を所持するセルフスキャン対象者のみに限定してもよい。
ここで、商品を取り出す動作を特定する処理は、例えば、人物の手が商品棚などの領域に入った後、人物が立つ、しゃがむ、またはかがむ姿勢をし、その手を含む腕を前に向け、手が所定の速度以上で動いている場合に取り出し動作を特定する処理を含んでよい。
また、商品をカゴに入れる動作を特定する処理は、例えば、特定された物体と骨格情報とに基づいて、人物の手が所定の速度以上で動きながら、特定されたカゴの領域に入ってから出た場合にカゴ入れ動作を特定する処理を含んでよい。
また、購入対象の商品を登録する動作を特定する処理は、特定された物体と骨格情報とに基づいて、人物の手が、特定されたカゴの画像上の領域の所定範囲内に入り、その手を含む腕を前に向け所定時間動かない場合に商品登録動作を特定する処理を含んでよい。また、別例では、商品登録動作の特定処理は、少なくとも右手または左手を前に出し、どちらかの手と特定された利用者端末100の画像上の領域との距離が所定距離以内と近く、両手が一定時間止まっている場合に商品登録動作を特定する処理を含んでよい。さらに別例では、商品登録動作の特定処理は、手と利用者端末100の領域との距離が近く、さらに利用者端末100の領域と商品用のバーコード用ROI(Region Of Interest)との距離が近い場合に商品登録動作を特定する処理を含んでよい。なお、バーコード用ROIは、撮像画像中の商品登録用のバーコードの所在を示す領域であり、予め設定される。また、各領域との距離が近いとは、例えば、画像中の領域の中心座標との距離が近いことをいう。
生成部42は、カメラ装置200によって撮像された撮像画像から、特定部41によって特定された人物の骨格情報を生成する。
評価部43は、特定部41によって特定された設定情報に基づいて、人物の商品に対する行動を評価するためのパラメータを変更する。当該パラメータを変更する処理は、商品棚などから取り出す動作やカゴに入れる動作のスピードに対するパラメータを変更する処理を含んでよい。当該パラメータを変更する処理は、商品をカゴに入れる動作と、利用者端末100に登録する動作との検出時間の差分、すなわち猶予時間に対するパラメータを変更する処理を含んでよい。例えば、大型商品の場合、各動作に対して時間がかかってしまうことが考えられるため、各動作に対するスピードや、各動作間の猶予時間に対するパラメータは、小型商品より遅い動作であっても対応できるように変更される。
評価部43は、各パラメータに基づいて人物の商品に対する行動を評価する。例えば、評価部43は、商品をカゴに入れる動作を検出した時間から、当該商品を利用者端末100に登録する動作を検出するまでの時間が、パラメータによって設定された猶予時間、例えば、10秒以内でない場合に人物が不正をしたと評価してよい。
また、人物の行動を評価する処理は、例えば、商品をカゴに入れる動作など、特定の動作を検出した時に人物が滞在しているエリアや、人物の年齢および性別などに基づいて重み付けして行動を評価する処理を含む。例えば、商品をカゴに入れる動作を検出した時に人物が滞在しているエリアが高額商品売場である場合や、不正行動の頻度が比較的高い10代男性などの場合に重み付けして行動を評価することで、評価基準を厳格化して不正行動を検知し易くできる。逆に、不正行動の頻度が低い年代などの場合に、評価基準が緩和されるように重み付けして評価してもよい。
通知部44は、評価部43による行動の評価によって、人物が不正をしたと判定された場合、店員端末300にアラートを通知する。なお、アラートの通知は、メッセージや音声などの出力であってよい。また、通知部44は、アラートの通知と共に、不正をした人物を特定する情報、例えば、不正をした人物が写った撮像画像を店員端末300に送信できる。なお、撮像画像に複数人の人物が写っている場合、通知部44は、不正をした人物を枠で囲むなど、不正をした人物を特定し易いように撮像画像を加工してよい。
また、通知部44は、評価部43によって人物が不正をしたと評価された場合、優先度に基づいて、アラートを通知するか否かを決定する。当該優先度は、人物の商品に対する行動が不正と評価された場合のアラートの通知の優先度である。また、通知部44は、当該優先度を、例えば、商品をカゴに入れる動作など、特定の動作を検出した時に人物が滞在しているエリアや、人物の年齢および性別などに基づいて決定する。
[機能詳細]
次に、不正検知装置10を動作主体として実行される不正検知処理について図8~16を用いて詳細に説明する。図8は、実施例1にかかる不正検知処理の一例を示す図である。図8に示される撮像画像250は、カメラ装置200によって撮像された小売店の店舗内の撮像画像の一例である。不正検知装置10は、撮像画像250から人物や物体を特定する。撮像画像250からの物体特定について図9を用いて説明する。
図9は、実施例1にかかる物体検出および骨格検出の一例を示す図である。図9の右上に示すように、不正検知装置10は、例えば、既存の物体検出アルゴリズムを用いて、撮像画像251から人物(person)やカゴ(basket)を検出して特定する。ここで、既存の物体検出アルゴリズムとは、例えば、Faster R-CNN(Convolutional Neural Network)など深層学習を用いた物体検出アルゴリズムである。また、YOLO(You Only Look Once)やSSD(Single Shot Multibox Detector)などの物体検出アルゴリズムであってもよい。
また、人物やカゴ以外でも、例えば、商品や利用者端末100、商品の売場や棚など、商品の販売エリア、人物の服装などが撮像画像から検出されてよい。これにより、不正検知装置10は、例えば、利用者端末100を持っているのにセルフスキャンを行わないことを検知できる。また、不正検知装置10は、例えば、人物がどの販売エリアに滞在し、商品を購入しようとしているかを判定できる。また、不正検知装置10は、例えば、利用者端末100を所持していない人物や、店員の制服を着用する人物を不正検知処理の対象から除外することができる。このように、不正検知装置10は、不正検知をする必要のない人物を処理対象から除外することにより、処理負荷を軽減させることができる。
また、不正検知装置10は、例えば、既存のアルゴリズムによって、撮像画像から特定された人物の年齢を判断し、人物間の親子関係などのグループ関係を特定することもできる。これにより、例えば、親子関係の場合は、対象人物のどちらか一方が商品スキャンを行えば、商品のスキャン漏れは発生していないと判定されてもよい。
また、図9の右下に示すように、不正検知装置10は、例えば、既存の骨格推定アルゴリズムを用いて、撮像画像251から特定された人物の骨格を検出する。ここで、既存の骨格推定アルゴリズムとは、例えば、DeepPose、OpenPoseなどのHumanPoseEstimationなど深層学習を用いた骨格推定アルゴリズムである。
例えば、不正検知装置10は、画像データ(各フレーム)を訓練済みの機械学習モデルに入力することで、骨格情報を取得する。図22は、骨格情報の例を示す図である。骨格情報は、公知の骨格モデルで特定される各関節をナンバリングした、18個(0番から17番)の定義情報を用いることができる。例えば、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には14番が付与される。したがって、不正検知装置10は、図22に示した18個の骨格の座標情報を、画像データから取得することができる。例えば、不正検知装置10は、7番の右肩関節の位置として「X座標=X7、Y座標=Y7、Z座標=Z7」を取得する。なお、例えば、Z軸は、撮像装置から対象に向けた距離方向、Y軸は、Z軸に垂直な高さ方向、X軸は、水平方向と定義することができる。
また、不正検知装置10は、骨格のパターンをあらかじめ訓練した機械学習モデルを用いて、立つ・歩く・しゃがむ・座る・寝るなどの全身の姿勢を判定することもできる。例えば、不正検知装置10は、図22の骨格情報や美技図のような一部の関節と関節間の角度をMultilayer Perceptronで訓練した機械学習モデルを用いることで、最も近い全身の姿勢を判定することもできる。図23は、全身の姿勢判定を説明する図である。図23に示すように、不正検知装置10は、10番の「HIP_LEFT」と11番の「KNEE_LEFT」との間の関節の角度(a)、14番の「HIP_RIGHT」と15番の「KNEE_RIGHT」との間の関節の角度(b)、11番の「KNEE_LEFT」の角度(c)、15番の「KNEE_RIGHT」の角度(d)などを取得することで、全身の姿勢を検知することができる。
また、不正検知装置10は、一部の関節と関節間の角度とを特徴量とし、立つ、しゃがむなどといった全身の姿勢を正解ラベルとして機械学習により生成した、Multi Layer Perceptronなどの機械学習モデルを用いて姿勢を推定してもよい。
また、不正検知装置10は、姿勢推定アルゴリズムとして、1枚の撮像画像から3次元的な姿勢を推定するVNectなどの3D Pose estimationを用いてもよい。また、不正検知装置10は、例えば、2次元の骨格情報から3次元の関節データを生成する3d-pose-baselineを用いて、3次元の関節データから姿勢を推定してもよい。
また、不正検知装置10は、人物の顔や腕、肘などといった部位ごとの向きや曲げた場合の角度などに基づいて部位別の動作を特定し、人物の姿勢を推定してもよい。なお、姿勢推定や骨格推定のアルゴリズムは1種類に限定されず、複数のアルゴリズムを用いて複合的に姿勢や骨格が推定されてよい。
図10は、実施例1にかかる商品取り出し動作特定の一例を示す図である。図10に示すように、不正検知装置10は、例えば、撮像画像252から、エリアA、B、Cや人物の骨格情報を検出する。エリアA、B、Cは、図10の例では、商品棚の個々の棚の領域であるが、例えば、売場単位など、より大きな領域であってもよい。各エリアは、例えば、エリア情報33の「エリア座標」に予め設定された、撮像画像における画素の位置情報に基づいて特定されてよい。
そして、不正検知装置10は、特定された各エリアと、人物の骨格情報とに基づいて、人物が商品を収容した棚から商品を取り出す動作を特定する。より具体的には、不正検知装置10は、例えば、人物の手がエリアAの領域に入った後、人物が立つ、しゃがむ、またはかがむ姿勢をし、その手を含む腕を前に向け、手が所定の速度以上で動いている場合に、エリアAに置かれた商品を取り出す動作を特定する。ここで、手が所定の速度以上で動いていることは、例えば、連続して撮像された撮像画像の各々から特定された手の動き、すなわち移動量から判断可能である。また、不正検知装置10は、例えば、撮像画像から特定された各商品と手先の骨格との動きを判断して、商品が取り出されたか、さらに、どの商品が取り出されたかなど、より詳細な動作を特定できる。
図11は、実施例1にかかるカゴ入れ動作特定の一例を示す図である。図11に示すように、不正検知装置10は、例えば、人物の手が所定の速度以上で動きながら、特定されたカゴの領域に入ってから出た場合に、人物が商品をカゴに入れる動作を特定する。また、不正検知装置10は、例えば、撮像画像から特定された各商品と手先の骨格との動きを判断して、どの商品がカゴに入れられたかなど、より詳細な動作を特定できる。
図12は、実施例1にかかる商品登録動作特定の例を示す図である。図12では、特定される商品登録動作を例として3つ示す。例えば、図12に商品登録動作1として示すように、不正検知装置10は、特定されたカゴの領域の所定範囲内で人物の両肘が前に曲げられたまま所定時間動かない場合に、人物が利用者端末100に対して購入対象の商品を登録する動作を特定する。
また、図12に商品登録動作2として示すように、少なくとも右手または左手を前に出し、どちらかの手と特定された利用者端末100の画像上の領域との距離が所定距離以内と近く、両手が一定時間止まっている場合に、商品登録動作が特定される。
また、図12に商品登録動作3として示すように、手と利用者端末100の領域との距離が所定距離以内と近く、さらに利用者端末100の領域と商品用のバーコード用ROIとの距離が所定距離以内と近い場合に、商品登録動作が特定される。また、不正検知装置10は、例えば、各商品のバーコード面を検出して、どの商品が登録されたかなど、より詳細な動作を特定できる。
なお、不正検知装置10が各動作を特定する際、撮像画像を直接処理するのではなく、撮像画像からより情報量の少ない骨格情報を生成して処理することにより、処理負荷を低減させることができる。
図8の説明に戻り、不正検知装置10は、図9~12を用いて説明したように、撮像画像250から人物や物体を特定し、特定された人物の商品取り出し動作やカゴ入れ動作、商品登録動作を特定する。また、不正検知装置10は、撮像画像250から各動作を検出した時に人物が滞在しているエリアを特定し、特定されたエリアによって、人物の商品に対する行動を評価するためのパラメータを変更する。パラメータの変更とは、例えば、各動作を特定するための動作スピードに対するパラメータや、各動作間の猶予時間に対するパラメータを変更することである。各パラメータの変更について図13を用いて説明する。
図13は、実施例1にかかるパラメータ変更の一例を示す図である。不正検知装置10は、特定されたエリアと対応づけられた設定情報に基づいて、人物の商品に対する行動を評価するためのパラメータを変更する。図13に示す「エリア」、「エリア座標」、「棚区分」は、図6に示すエリア情報33と同一の情報であり、不正検知装置10によって人物が滞在しているエリアとして特定され得る各エリアと対応付けられた情報である。
一方、「棚から商品を取る速度X」、「カゴに入れる速度Y」、「商品登録までの時間T」は人物の商品に対する行動を評価するためのパラメータである。「棚から商品を取る速度X」や「カゴに入れる速度Y」は、例えば、連続して撮像された撮像画像における手の移動量の閾値である。不正検知装置10は、例えば、当該閾値以上の速度で手が動いており、各動作の他の条件を満たす場合に、その手の動作は棚から商品を取る動作やカゴに入れる動作と判断する。換言すると、各動作の条件を満たしていても、手のスピードが当該閾値未満である場合は、各動作とは判断されない。図13に示すように、「棚から商品を取る速度X」および「カゴに入れる速度Y」はエリアごとに設定され、人物の行動を評価する際、特定されたエリアに応じて変更される。
このようにして、不正検知装置10は、各動作の検出精度を向上させつつ、不要な動作を誤検出してその後の不要な処理を継続することを抑止し、処理負荷を軽減させることができる。なお、図13の「棚から商品を取る速度X」および「カゴに入れる速度Y」の設定値は一例であり、閾値の下限ではなく上限が設定されてもよい。この場合は、上限内の速度で手が動いており、各動作の他の条件を満たす場合に、その手の動作は棚から商品を取る動作やカゴに入れる動作と判断される。
「商品登録までの時間T」は、例えば、商品をカゴに入れた時から、当該商品を利用者端末100に登録するまでの時間(秒)の閾値である。不正検知装置10は、例えば、商品をカゴに入れた動作を検出してから、当該商品を利用者端末100に登録する動作を検出するまでの時間が「商品登録までの時間T」を超えた場合、人物が不正をしたと評価する。なお、商品を利用者端末100に登録してから、当該商品をカゴに入れる場合も有り得るが、この場合は、商品を登録する動作を検出するまでの時間がマイナス時間になるため、「商品登録までの時間T」を超えることはなく、人物が不正をしたと評価されない。
なお、「棚から商品を取る速度X」、「カゴに入れる速度Y」、「商品登録までの時間T」に設定される閾値は、実際の顧客の動作に基づいて機械学習などによって調整されてよい。例えば、図13の例では、エリアCの「商品登録までの時間T」に15秒が設定されているが、各顧客の実際の動作を検出した結果、15秒以上かかる場合が一定数ある場合などは、20秒や25秒などの値に調整されてよい。
再び図8の説明に戻り、不正検知装置10は、図13を用いて説明したように、特定されたエリアによって、人物の商品に対する行動を評価するための各パラメータを変更する。そして、不正検知装置10は、各パラメータと、撮像画像250から特定された人物の各動作とに基づいて、人物の商品に対する行動を評価する。図14は、実施例1にかかる行動評価の一例を示す図である。
図14に示す行動評価の一例は、撮像画像における人物の動作を4段階で判定し、当該人物の行動を評価するものである。まず、1段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定された商品棚を用いて、撮像画像における人物の手が商品棚を示す所定領域に入っているか否かを判定する。
次に、人物の手が商品棚の領域に入っている場合、2段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定された商品棚を用いて、人物が商品棚から商品を取り出したか否かを判定する。商品を取り出したか否かの判定について、例えば、人物が立つ、しゃがむ、またはかがむ姿勢をし、商品棚の領域に入った手を含む腕を前に向け、手が所定の速度X以上で動いている場合に、不正検知装置10は、人物が商品棚から商品を取り出したと判定する。
次に、人物の商品棚から商品を取り出した場合、3段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定されたカゴを用いて、人物が取り出した商品をカゴに入れたか否かを判定する。商品をカゴに入れたか否かの判定について、例えば、人物の手が所定の速度Y以上で動きながら、特定されたカゴの領域に入ってから出た場合に、不正検知装置10は、人物が商品をカゴに入れたと判定する。また、さらに撮像画像から特定された利用者端末100を用いて、人物の手と利用者端末100の領域との距離が所定距離以内と近く、人物が利用者端末100を所持していることを、人物が取り出した商品をカゴに入れたか否かを判定する条件の1つとしてよい。
次に、商品をカゴに入れた場合、4段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定されたカゴを用いて、人物がカゴに入れた商品をスキャンして利用者端末100に登録したか否かを判定する。商品を登録したか否かの判定について、例えば、人物が立つ姿勢をし、腕を前に向け手が特定されたカゴの領域に入っている場合に、不正検知装置10は、人物が商品を利用者端末100に登録したと判定する。また、この際も、人物が利用者端末100を所持していることを、動作の判定条件の1つとしてよい。
そして、人物が商品をカゴに入れてから、所定時間T以内に商品を利用者端末100に登録する動作が行われないと判定した場合、不正検知装置10は、当該人物はスキャン漏れ対象者であると判定する。なお、図14の例では、人物の動作を4段階で判定しているが、4段階より少ないまたは多い段階数の判定を行ってもよい。また、不正検知装置10は、撮像画像250から人物の年齢および性別などの人物属性を特定し、特定された人物属性に基づいて重み付けして行動を評価してもよい。
また、図14に示すように人物の行動評価を段階的に行うことで、各段階の判定条件に合致しない場合に不正検知装置10はそれ以降の処理を実行する必要はなく、処理負荷を軽減させることができる。このような段階的な判定処理は、例えば、エリアの数と顧客の行動との組み合わせによって、顧客の不正行動を評価するための判定条件が増加してしまい、不正行動を検出するための処理量が増加してしまう可能性のある本実施形態に適している。
なお、図14の例では、商品をカゴに入れてから利用者端末100に登録するパターンを示したが、不正検知装置10は、商品を利用者端末100に登録してからカゴに入れるパターンの行動評価を行うこともできる。図15は、実施例1にかかる行動評価の別例を示す図である。
図15に示す行動評価の別例も、図14の例と同様、撮像画像における人物の動作を4段階で判定し、当該人物の行動を評価するものである。図15の例における1段階目および2段階目の判定は、図14の例と同様である。
そして、人物の商品棚から商品を取り出した場合、3段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定された利用者端末100を用いて、人物が取り出した商品をスキャンして利用者端末100に登録したか否かを判定する。商品を登録したか否かの判定について、例えば、少なくとも右手または左手を前に出し、どちらかの手と利用者端末100の画像上の領域との距離が所定距離以内と近く、両手が一定時間止まっている場合に、不正検知装置10は、人物が商品を登録したと判定する。
次に、人物の商品を利用者端末100に登録した場合、4段階目として、不正検知装置10は、人物の骨格情報および撮像画像から特定されたカゴを用いて、人物が取り出した商品をカゴに入れたか否かを判定する。4段階目の商品のカゴ入れ動作の判定条件は、例えば、図13の3段階目に示したカゴ入れ動作の判定条件と同様である。
そして、人物が商品をカゴに入れてから、所定時間T以内に商品を利用者端末100に登録する動作が行われないと判定した場合、不正検知装置10は、当該人物はスキャン漏れ対象者であると判定する。このスキャン漏れ対象の判定条件は、図14の判定条件と同様であってよい。これは、図15に示すような、商品を利用者端末100に登録してからカゴに入れるパターンでは、商品のカゴ入れ動作の検出から商品登録動作の検出までの時間がマイナス時間になるが、マイナス時間であれば所定時間T以内という条件を満たすためである。
図8の説明に戻り、不正検知装置10は、図14や15を用いて説明したように、人物の各動作を段階的に判定して人物の商品に対する行動を評価し、スキャン漏れ対象を不正行動として検知する。そして、検知した不正行動のすべてをアラートとして店員端末300に通知することもできるが、商品の重要度や販売エリアの注目度合いに関係なく一律にアラートを通知してしまうと、重要度の高い商品に対する対応が遅れてしまうなどの問題が起こり得る。また、不正検知装置10の処理量も増加してしまう。さらに、年齢や性別など人物属性によって不正行動をする可能性の高さも変わってくるため、不正行動をする可能性の高い人物のアラート通知基準を厳格化して不正行動が検知され易くすることも考えられる。そこで、本実施形態は、不正行動を検知したエリアや不正行動をした人物の人物属性によってアラート通知の優先度を変更した上で、当該優先度に応じてアラートの通知を制御する。
図16は、実施例1にかかるアラート通知の優先度変更の一例を示す図である。図16の上段に示される情報は、図6に示すエリア情報33である。また、図16の下段に示される情報は、図7に示す人物属性情報34である。図16に示すように、不正検知装置10は、不正行動を検知したエリアに対応する重みW1をエリア情報33から取得し、また、不正行動をした人物の人物属性に対応する重みW2を人物属性情報34から取得する。そして、不正検知装置10は、アラート通知の優先度の一例である発報スコアSを算出する。例えば、発報スコアSが高い方が、より優先的にアラートが通知され易くなる。また、発報スコアSは、例えば、「発報スコアS=現在の発報スコアS0+重みW1+重みW2」の式によって算出される。ここで、現在の発報スコアS0とは、例えば、同一人物が不正行動を複数回繰り返している場合に、発報スコアSを累積的に算出するための現在の発報スコアであり、初期値は0である。また、発報スコアSの算出時に用いられる重みは、重みW1および重みW2のいずれか一方であってもよい。このように、発報スコアSを累積的に算出することにより、不正行動を繰り返している人物に対して、より優先的にアラートが通知されるように制御できる。
[処理の流れ]
次に、不正検知装置10によって実行される不正検知処理の流れを説明する。図17は、実施例1にかかる不正検知処理の流れを示すフローチャートである。図17に示す不正検知処理は、例えば、一定時間ごと、またはカメラ装置200から撮像画像が受信される度に実行されてよい。
まず、図17に示すように、不正検知装置10は、カメラ装置200によって小売店の店舗内や敷地内など所定の撮像範囲が撮像された撮像画像を画像DB31から取得する(ステップS101)。なお、図17に示す不正検知処理では、カメラ装置200によって撮像された撮像画像、厳密には監視映像をリアルタイムに処理するため、撮像画像はカメラ装置200から随時送信され、画像DB31に記憶される。
次に、不正検知装置10は、既存の物体検出アルゴリズムを用いて、ステップS101で取得した撮像画像から買い物カゴを検出する(ステップS102)。
次に、不正検知装置10は、既存の物体検出アルゴリズムを用いて、ステップS101で取得した撮像画像から人物を検出し、さらに、既存の姿勢推定および骨格推定アルゴリズムを用いて、検出された人物の骨格を検出する(ステップS103)。なお、ステップS102およびS103の実行順は、逆であってもよいし、並列に実行されてもよい。
次に、不正検知装置10は、ステップS103で検出した人物が滞在しているエリアを特定する(ステップS104)。なお、人物が滞在しているエリアは、例えば、撮像画像の中の人物と、商品の売場や棚との位置情報を用いて特定できる。
次に、不正検知装置10は、ステップS104で特定したエリアと対応づけられた設定情報に基づいて、人物の商品に対する行動を評価するためのパラメータを変更する(ステップS105)。
次に、不正検知装置10は、ステップS102で検出したカゴ、およびステップS103で検出した骨格などに基づいて、人物の動作を検出する(ステップS106)。ステップS106で検出される動作は、例えば、人物が商品を収容した棚から商品を取り出す動作、人物が商品をカゴに入れる動作、および人物が利用者端末100に対して購入対象の商品をスキャンして登録する動作などである。
なお、商品取り出し動作は、例えば、人物の手が商品棚などの領域に入った後、人物が立つ、しゃがむ、またはかがむ姿勢をし、その手を含む腕を前に向け、手が所定の速度以上で動いている場合に特定される。また、カゴ入れ動作は、例えば、人物の手先の骨格がカゴの領域に所定時間入ってから出た場合に特定される。また、商品登録動作は、例えば、カゴの領域の所定範囲内で人物の両肘が前に曲げられたまま所定時間動かない場合に特定される。なお、人物の動作を特定するため、連続して撮像された撮像画像および当該撮像画像から検出されるカゴおよび骨格情報が必要となる。そのため、ステップS106の実行にあたり、ステップS101~S103が異なる撮像画像で所定回数繰り返されてよい。また、ステップS106は、ステップS104およびS105より先に実行されてもよいし、並列に実行されてもよい。
ステップS106の動作検出においてカゴ入れ動作が検出されない場合(ステップS107:No)、不正検知装置10は、一定時間経過後、再度、ステップS107を実行する。
一方、ステップS106の動作検出においてカゴ入れ動作が検出された場合(ステップS107:Yes)、不正検知装置10は、カゴ入れ動作の検出から所定時間内に商品登録動作を検出したか否かを判定する(ステップS108)。所定時間内に商品登録動作が検出された場合(ステップS108:Yes)、商品のスキャン漏れは発生していないものとして、図17に示す不正検知処理は終了する。なお、カゴ入れ動作よりも商品登録動作が先に行われていた場合、カゴ入れ動作に対して商品登録動作を検出するまでの時間がマイナス時間になるため、所定時間内に商品登録動作が検出された場合(ステップS108:Yes)に該当することになる。
一方、所定時間内に商品登録動作が検出されない場合(ステップS108:No)、不正検知装置10は、アラート通知の優先度を示す発報スコアを算出する(ステップS109)。発報スコアSは、例えば、「発報スコアS=現在の発報スコアS0+不正行動を検知したエリアに対応する重みW1+不正行動をした人物の人物属性に対応する重みW2「の式によって算出される。
そして、ステップS109で算出した発報スコアが予め設定された所定の閾値以上である場合(ステップS110:Yes)、不正検知装置10は、店員端末300にアラートを通知する(ステップS111)。ステップS111の実行後、図17に示す不正検知処理は終了する。
一方、ステップS109で算出した発報スコアが予め設定された所定の閾値未満である場合(ステップS110:No)、アラートを通知することなく、図17に示す不正検知処理は終了する。この場合、例えば、一定時間経過などに、ステップS101から再度、図17に示す不正検知処理が繰り返され、発報スコアが閾値以上になったらアラートが通知されることになる。
[効果]
上述したように、不正検知装置10は、撮像した画像から、店舗に滞在する人物の骨格情報を生成し、骨格情報を用いて、人物の商品に対する特定の動作を検出し、画像の中の人物の位置情報を用いて、店舗において特定の動作を検出した時に人物が滞在しているエリアを特定し、特定されたエリアと対応づけられた設定情報を特定し、特定された設定情報に基づいて、人物の商品に対する特定の動作に関連するアラートの通知の優先度を決定する。
このようにして、不正検知装置10は、特定の動作を検出した時に人物が滞在している商品の販売エリアに基づいて、アラート通知の優先度を決定する。これにより、顧客自らが商品スキャンを行うシステムにおいて、不正検知装置10は、商品ごとに不正行動に対する対応の優先度を決定できる。
また、不正検知装置10によって実行される、特定の動作を検出する処理は、人物が商品を収容した棚から商品を取り出す第1の動作、棚から取り出した商品を買い物カゴに入れる第2の動作、および人物が棚から取り出した商品を第1の端末に登録する第3の動作の少なくとも1つを特定の動作として検出する処理を含む。
これにより、不正検知装置10は、商品取り出し動作など特定の動作を検出した時に人物が滞在している商品の販売エリアに基づいて、不正行動時のアラート通知の優先度を決定する。これにより、顧客自らが商品スキャンを行うシステムにおいて、不正検知装置10は、商品ごとに不正行動に対する対応の優先度を決定できる。
また、不正検知装置10は、人物の商品に対する行動を評価するためのパラメータに基づいて人物の商品に対する行動を評価する。
これにより、不正検知装置10は、商品の種類やサイズなどによって変わってくる顧客の動作をより正確に判定できるので、顧客自らが商品スキャンを行うシステムにおいて商品のスキャン漏れを検知する精度を向上させることができる。
また、不正検知装置10は、特定された設定情報に基づいて、人物の商品に対する行動を評価するためのパラメータを変更する。
これにより、不正検知装置10は、特定の動作を検出した時に人物が滞在している商品の販売エリアに基づいて人物の行動を評価するため、商品の種類やサイズなどによって変わってくる顧客の動作をより正確に判定できる。
また、不正検知装置10によって実行される、パラメータを変更する処理は、第1の動作のスピードに対する第1のパラメータをパラメータとして変更する処理を含む。
これにより、不正検知装置10は、商品の種類やサイズなどによって変わってくる顧客の動作をより正確に判定できるので、顧客自らが商品スキャンを行うシステムにおいて商品のスキャン漏れを検知する精度を向上させることができる。
また、不正検知装置10によって実行される、パラメータを変更する処理は、第2の動作のスピードに対する第2のパラメータをパラメータとして変更する処理を含む。
これにより、不正検知装置10は、商品の種類やサイズなどによって変わってくる顧客の動作をより正確に判定できるので、顧客自らが商品スキャンを行うシステムにおいて商品のスキャン漏れを検知する精度を向上させることができる。
また、不正検知装置10によって実行される、パラメータを変更する処理は、第2の動作と第3の動作との検出時間の差分に対する第3のパラメータをパラメータとして変更する処理を含む。
これにより、不正検知装置10は、商品の種類やサイズなどによって変わってくる顧客の動作をより正確に判定できるので、顧客自らが商品スキャンを行うシステムにおいて商品のスキャン漏れを検知する精度を向上させることができる。
また、不正検知装置10によって実行される、優先度を決定する処理は、人物の年齢および性別の少なくとも1つに基づいて優先度を決定する処理を含む。
これにより、不正検知装置10は、商品や、人物の年齢や性別に応じて不正行動に対する対応の優先度を決定できる。
また、不正検知装置10は、行動を評価する処理によって、人物が不正をしたと評価された場合、優先度に基づいて、アラートを通知するか否かを決定し、アラートを通知することが決定された場合、第2の端末にアラートを通知する。
これにより、不正検知装置10は、顧客自らが商品スキャンを行うシステムにおいて商品のスキャン漏れを検知した場合に店員に通知できる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報は、特記する場合を除いて任意に変更されてもよい。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更されてもよい。
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図18は、不正検知装置10のハードウェア構成例を説明する図である。図18に示すように、不正検知装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図18に示した各部は、バスなどで相互に接続される。
通信インタフェース10aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD10bは、図5に示した機能を動作させるプログラムやデータを記憶する。
プロセッサ10dは、図5に示した各処理部と同様の処理を実行するプログラムをHDD10bなどから読み出してメモリ10cに展開することで、図5などで説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、不正検知装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、特定部41、生成部42、評価部43、および通知部44などと同様の機能を有するプログラムをHDD10bなどから読み出す。そして、プロセッサ10dは、特定部41などと同様の処理を実行するプロセスを実行する。
このように、不正検知装置10は、図5に示した各処理部と同様の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、不正検知装置10は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することで上述した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、不正検知装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
また、図5に示した各処理部と同様の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
図19は、情報処理端末1000のハードウェア構成例を説明する図である。利用者端末100および店員端末300は同様の構成を有してよいため、図19では利用者端末100および店員端末300をまとめて情報処理端末1000として利用者端末100および店員端末300のハードウェア構成例として示す。図19に示すように、情報処理端末1000は、通信インタフェース1000a、HDD1000b、メモリ1000c、プロセッサ1000d、入力部1000e、表示部1000fを有する。また、図19に示した各部は、バスなどで相互に接続される。
通信インタフェース1000aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD1000bは、情報処理端末1000の各機能を動作させるプログラムやデータを記憶する。
プロセッサ100dは、情報処理端末1000の各機能の処理を実行するプログラムをHDD1000bなどから読み出してメモリ1000cに展開することで、情報処理端末1000の各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、情報処理端末1000が有する各処理部と同様の機能を実行する。
このように、情報処理端末1000は、情報処理端末1000の各機能の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、情報処理端末1000は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することで情報処理端末1000の各機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理端末1000によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
また、情報処理端末1000の各機能の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、FD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
入力部1000eは、プロセッサ100dによって実行されるプログラムに対する入力操作など、ユーザによる各種入力操作を検知する。当該入力操作には、例えば、タッチ操作や情報処理端末1000に対するイヤホン端子の挿入などが含まれる。ここでタッチ操作とは、表示部1000fに対する種々の接触動作、例えば、タップ、ダブルタップ、スワイプ、ピンチなどをいう。また、タッチ操作には、表示部1000fに対し、例えば、指などの物体を近づける動作を含む。入力部1000eは、例えば、ボタン、タッチパネル、近接センサなどであってよい。
表示部1000fは、プロセッサ1000dによる制御に基づいて各種視覚情報を表示する。表示部1000fは、液晶ディスプレイ(LCD:Liquid Crystal Display)や、OLED(Organic Light Emitting Diode)、いわゆる有機EL(Electro Luminescence)ディスプレイなどであってよい。
図20は、セルフレジ端末400のハードウェア構成例を説明する図である。図20に示すように、セルフレジ端末400は、通信インタフェース400a、HDD400b、メモリ400c、プロセッサ400d、入力部400e、出力部400fを有する。また、図20に示した各部は、バスなどで相互に接続される。
通信インタフェース400aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD400bは、セルフレジ端末400の各機能を動作させるプログラムやデータを記憶する。
プロセッサ400dは、セルフレジ端末400の各機能の処理を実行するプログラムをHDD400bなどから読み出してメモリ400cに展開することで、セルフレジ端末400の各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、セルフレジ端末400が有する各処理部と同様の機能を実行する。
このように、セルフレジ端末400は、セルフレジ端末400の各機能の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、セルフレジ端末400は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することでセルフレジ端末400の各機能を実現することもできる。なお、この他の実施例でいうプログラムは、セルフレジ端末400によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
また、セルフレジ端末400の各機能の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、FD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
入力部400eは、プロセッサ400dによって実行されるプログラムに対する入力操作など、ユーザによる各種入力操作を検知する。当該入力操作には、例えば、タッチ操作などが含まれる。タッチ操作の場合、セルフレジ端末400はさらに表示部を備え、入力部400eによって検知される入力操作は、当該表示部に対するタッチ操作であってよい。入力部400eは、例えば、ボタン、タッチパネル、近接センサなどであってよい。
出力部400fは、プロセッサ400dによって実行されるプログラムから出力されるデータをセルフレジ端末400に接続された外部装置、例えば、外部ディスプレイ装置などを介して出力する。なお、セルフレジ端末400が表示部を備える場合、セルフレジ端末400は出力部400fを備えなくてもよい。
図21は、ゲート用リーダ500のハードウェア構成例を説明する図である。図21に示すように、ゲート用リーダ500は、USBインタフェース500a、イメージセンサ500b、発光部500c、プロセッサ500dを有する。また、図21に示した各部は、バスなどで相互に接続される。
USBインタフェース500aは、他の情報処理装置との通信を行う。
イメージセンサ500bは、ゲート用リーダ500によって読み込まれる対象物が発した、または反射した光を受光し、光の明暗を電気情報に変換する。
発光部500cは、高輝度LEDなどの照明光源であり、ゲート用リーダ500によって読み込まれる対象物を読み取り易くするために光を照射する。なお、ゲート用リーダ500によって読み込まれる対象物またはその対象物を表示する装置などが発光する場合、ゲート用リーダ500は、発光部500cを備えなくてもよい。
プロセッサ500dは、発光部500cを制御して対象物に対し光を照射し、イメージセンサ500bを制御して対象物を電気情報に変換して読み込む。また、プロセッサ500dは、USBインタフェース500aを介して、読み込んだ対象物の電気情報を他の情報処理装置に送信する。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)撮像した画像から、店舗に滞在する人物の骨格情報を生成し、
前記骨格情報を用いて、前記人物の商品に対する特定の動作を検出し、
前記画像の中の人物の位置情報を用いて、前記店舗において前記特定の動作を検出した時に前記人物が滞在しているエリアを特定し、
前記特定されたエリアと対応づけられた設定情報を特定し、
前記特定された設定情報に基づいて、前記人物の商品に対する特定の動作に関連するアラートの通知の優先度を決定する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記2)前記特定の動作を検出する処理は、前記人物が前記商品を収容した棚から前記商品を取り出す第1の動作、前記棚から取り出した前記商品を買い物カゴに入れる第2の動作、および前記人物が前記棚から取り出した前記商品を第1の端末に登録する第3の動作の少なくとも1つを前記特定の動作として検出する処理を含むことを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記人物の前記商品に対する行動を評価するためのパラメータに基づいて前記人物の前記商品に対する行動を評価する処理を前記コンピュータに実行させることを特徴とする付記1に記載の情報処理プログラム。
(付記4)前記特定された設定情報に基づいて、前記人物の前記商品に対する行動を評価するためのパラメータを変更する処理を前記コンピュータに実行させることを特徴とする付記2に記載の情報処理プログラム。
(付記5)前記パラメータを変更する処理は、前記第1の動作のスピードに対する第1のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記4に記載の情報処理プログラム。
(付記6)前記パラメータを変更する処理は、前記第2の動作のスピードに対する第2のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記4に記載の情報処理プログラム。
(付記7)前記パラメータを変更する処理は、前記第2の動作と前記第3の動作との検出時間の差分に対する第3のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記4に記載の情報処理プログラム。
(付記8)前記優先度を変更する処理は、前記人物の年齢および性別の少なくとも1つに基づいて前記優先度を変更する処理を含むことを特徴とする付記1に記載の情報処理プログラム。
(付記9)前記行動を評価する処理によって、前記人物が不正をしたと評価された場合、前記優先度に基づいて、前記アラートを通知するか否かを決定し、
前記アラートを通知することが決定された場合、第2の端末に前記アラートを通知する
処理を前記コンピュータに実行させることを特徴とする付記3乃至8のいずれか1つに記載の情報処理プログラム。
(付記10)撮像した画像から、店舗に滞在する人物の骨格情報を生成し、
前記骨格情報を用いて、前記人物の商品に対する特定の動作を検出し、
前記画像の中の人物の位置情報を用いて、前記店舗において前記特定の動作を検出した時に前記人物が滞在しているエリアを特定し、
前記特定されたエリアと対応づけられた設定情報を特定し、
前記特定された設定情報に基づいて、前記人物の商品に対する特定の動作に関連するアラートの通知の優先度を決定する
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記11)前記特定の動作を検出する処理は、前記人物が前記商品を収容した棚から前記商品を取り出す第1の動作、前記棚から取り出した前記商品を買い物カゴに入れる第2の動作、および前記人物が前記棚から取り出した前記商品を第1の端末に登録する第3の動作の少なくとも1つを前記特定の動作として検出する処理を含むことを特徴とする付記10に記載の情報処理方法。
(付記12)前記人物の前記商品に対する行動を評価するためのパラメータに基づいて前記人物の前記商品に対する行動を評価する処理を前記コンピュータが実行することを特徴とする付記10に記載の情報処理方法。
(付記13)前記特定された設定情報に基づいて、前記人物の前記商品に対する行動を評価するためのパラメータを変更する処理を前記コンピュータが実行することを特徴とする付記11に記載の情報処理方法。
(付記14)前記パラメータを変更する処理は、前記第1の動作のスピードに対する第1のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記13に記載の情報処理方法。
(付記15)前記パラメータを変更する処理は、前記第2の動作のスピードに対する第2のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記13に記載の情報処理方法。
(付記16)前記パラメータを変更する処理は、前記第2の動作と前記第3の動作との検出時間の差分に対する第3のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記13に記載の情報処理方法。
(付記17)前記優先度を変更する処理は、前記人物の年齢および性別の少なくとも1つに基づいて前記優先度を変更する処理を含むことを特徴とする付記10に記載の情報処理方法。
(付記18)前記行動を評価する処理によって、前記人物が不正をしたと評価された場合、前記優先度に基づいて、前記アラートを通知するか否かを決定し、
前記アラートを通知することが決定された場合、第2の端末に前記アラートを通知する
処理を前記コンピュータが実行することを特徴とする付記12乃至17のいずれか1つに記載の情報処理方法。
(付記19)撮像した画像から、店舗に滞在する人物の骨格情報を生成し、
前記骨格情報を用いて、前記人物の商品に対する特定の動作を検出し、
前記画像の中の人物の位置情報を用いて、前記店舗において前記特定の動作を検出した時に前記人物が滞在しているエリアを特定し、
前記特定されたエリアと対応づけられた設定情報を特定し、
前記特定された設定情報に基づいて、前記人物の商品に対する特定の動作に関連するアラートの通知の優先度を決定する
処理を実行する制御部を有することを特徴とする情報処理装置。
(付記20)前記特定の動作を検出する処理は、前記人物が前記商品を収容した棚から前記商品を取り出す第1の動作、前記棚から取り出した前記商品を買い物カゴに入れる第2の動作、および前記人物が前記棚から取り出した前記商品を第1の端末に登録する第3の動作の少なくとも1つを前記特定の動作として検出する処理を含むことを特徴とする付記19に記載の情報処理装置。
(付記21)前記人物の前記商品に対する行動を評価するためのパラメータに基づいて前記人物の前記商品に対する行動を評価する処理を前記制御部が実行することを特徴とする付記19に記載の情報処理装置。
(付記22)前記特定された設定情報に基づいて、前記人物の前記商品に対する行動を評価するためのパラメータを変更する処理を前記制御部が実行することを特徴とする付記20に記載の情報処理装置。
(付記23)前記パラメータを変更する処理は、前記第1の動作のスピードに対する第1のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記22に記載の情報処理装置。
(付記24)前記パラメータを変更する処理は、前記第2の動作のスピードに対する第2のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記22に記載の情報処理装置。
(付記25)前記パラメータを変更する処理は、前記第2の動作と前記第3の動作との検出時間の差分に対する第3のパラメータを前記パラメータとして変更する処理を含むことを特徴とする付記22に記載の情報処理装置。
(付記26)前記優先度を変更する処理は、前記人物の年齢および性別の少なくとも1つに基づいて前記優先度を変更する処理を含むことを特徴とする付記19に記載の情報処理装置。
(付記27)前記行動を評価する処理によって、前記人物が不正をしたと評価された場合、前記優先度に基づいて、前記アラートを通知するか否かを決定し、
前記アラートを通知することが決定された場合、第2の端末に前記アラートを通知する
処理を前記制御部が実行することを特徴とする付記21乃至26のいずれか1つに記載の情報処理装置。
(付記28)プロセッサと、
プロセッサに動作可能に接続されたメモリと
を備えた情報処理装置であって、プロセッサは、
撮像した画像から、店舗に滞在する人物の骨格情報を生成し、
前記骨格情報を用いて、前記人物の商品に対する特定の動作を検出し、
前記画像の中の人物の位置情報を用いて、前記店舗において前記特定の動作を検出した時に前記人物が滞在しているエリアを特定し、
前記特定されたエリアと対応づけられた設定情報を特定し、
前記特定された設定情報に基づいて、前記人物の商品に対する特定の動作に関連するアラートの通知の優先度を決定する
処理を実行することを特徴とする情報処理装置。