(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024082167
(43)【公開日】2024-06-19
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20240612BHJP
G06Q 30/06 20230101ALI20240612BHJP
G06T 7/00 20170101ALI20240612BHJP
G06V 40/20 20220101ALI20240612BHJP
G07G 1/00 20060101ALI20240612BHJP
【FI】
G06T7/20 300Z
G06Q30/06
G06T7/00 350B
G06T7/00 660Z
G06V40/20
G07G1/00 331B
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022195932
(22)【出願日】2022-12-07
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】石田 諒
(72)【発明者】
【氏名】内田 大輔
(72)【発明者】
【氏名】青木 康洋
【テーマコード(参考)】
3E142
5L030
5L049
5L096
【Fターム(参考)】
3E142AA01
3E142AA02
3E142BA16
3E142EA04
3E142EA25
3E142FA25
3E142GA41
3E142JA01
3E142KA01
5L030BB72
5L049BB72
5L096AA06
5L096BA02
5L096CA04
5L096DA03
5L096FA16
5L096HA05
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
【課題】会計機における、ユーザの誤りまたは不正を検出することを課題とする。
【解決手段】情報処理装置は、商品のコードを会計機にスキャンする人物の映像データを取得し、取得した映像データを分析することで、取得した映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定する。情報処理装置は、商品を把持している人物の手の動き、または、把持された商品の動きのいずれかを追跡し、追跡された手の動きの変化または商品の動きの変化に基づいて、会計機に商品を登録する行動の異常に関連するアラートを生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータに、
商品のコードを会計機にスキャンする人物の映像データを取得し、
取得した前記映像データを分析することで、取得した前記映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定し、
前記商品を把持している人物の手の動き、または、把持された前記商品の動きのいずれかを追跡し、
追跡された前記手の動きの変化または前記商品の動きの変化に基づいて、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項2】
前記特定する処理は、
取得した前記映像データを機械学習モデルに入力することで、取得した前記映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定し、
前記追跡する処理は、
前記人物が手で把持をしている商品の個数が複数であるときに、複数の商品を把持している人物の手の動き、または、前記複数の商品の動きのいずれかを追跡し、
前記アラートを生成する処理は、
追跡された前記手の動きの変化または前記複数の商品の動きの変化に基づいて、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記アラートを生成する処理は、
前記商品の動きが追跡された場合に、前記商品の領域に含まれる前記複数の商品の動きの変化が予め指定したパターンに該当するか否かを判定し、
前記複数の商品の動きの変化が前記パターンに該当する場合に、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記アラートを生成する処理は、
前記手の動きが追跡された場合に、前記手の動きが前記複数の商品を重ねる動作に該当する場合に、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項5】
前記機械学習モデルは、映像データの入力に応じて、前記手の領域を示すバウンディングボックスと、前記商品の領域を示す商品のバウンディングボックスと、前記人物の手の骨格情報とを出力し、
前記特定する処理は、
取得した前記映像データを前記機械学習モデルに入力することで、前記手の領域を示すバウンディングボックスと、前記商品の領域を示す商品のバウンディングボックスと、前記手の骨格情報とを生成し、
前記追跡する処理は、
生成された前記商品のバウンディングボックスの個数が複数である場合に、複数の前記バウンディングボックスの位置の重なりがあるか否かを判定し、
前記アラートを生成する処理は、
前記重なりがあると判定されたときは、前記人物の手の骨格情報に基づいて、前記人物の手の動きのパターンを識別し、
識別された前記手の動きのパターンと、予め設定されたルールとを比較することで、前記会計機に商品を登録する行動の異常に関するアラートを生成する、
ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項6】
前記機械学習モデルは、映像データの入力に応じて、人物の手を含む第一の領域と、商品を含む第二の領域と、第一領域と第二の領域の関係性を特定し、
前記特定する処理は、
取得した前記映像データを前記機械学習モデルに入力することで特定された前記第一の領域と、前記第二の領域と、前記関係性とに基づいて、人物の右手で第一の商品を把持する第一の動作および左手で第二の商品を把持する第二の動作を特定し、
前記追跡する処理は、
前記第一の動作および前記第二の動作を追跡し、
前記アラートを生成する処理は、
追跡される前記第一の動作および前記第二の動作に基づいて、前記第一の商品または前記第二の商品のいずれかの商品のコードが前記会計機にスキャンされていないことを検出する、
ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項7】
前記アラートを生成する処理は、
追跡した前記第一の動作および前記第二の動作と、商品を前記会計機にスキャンをするために設定されたエリアとの位置関係に基づいて、前記第一の商品および前記第二の商品のそれぞれの商品のコードが前記会計機にスキャンされていないと判定されるときに、前記会計機に商品を登録する行動の異常を示すアラートを生成する、
ことを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関連するアラートとして、前記人物が前記会計機に登録していない商品があること、または、前記人物が前記会計機に登録した商品が異常であることを示すアラートを生成する、
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項9】
前記会計機に商品を登録する行動の異常に関するアラートが生成されたときに、店員の有する端末に対して、前記会計機の識別情報と生成された前記アラートとを対応づけて通知する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項10】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関するアラートが生成された場合に、前記会計機に位置する前記人物に前記商品の登録漏れを促す音声または画面を、前記会計機から出力する、
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項11】
前記会計機に商品を登録する行動の異常に関するアラートが生成されたときに、前記会計機の有するカメラにて、人物を撮影させ、
撮影された前記人物の画像データと、前記アラートを対応づけて記憶部に記憶する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項12】
前記会計機は、セルフレジ端末であり、
前記特定する処理は、
取得した前記映像データに基づいて、取得した前記映像データの中から、人物の手の領域を特定し、
前記追跡する処理は、
前記人物が手で把持をしている商品の個数が複数であるときに、複数の商品を把持している人物の手の動きを追跡し、
前記アラートを生成する処理は、
追跡された前記手の動きの変化に基づいて、前記セルフレジ端末に商品を登録する行動の異常に関連するアラートを生成する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項13】
コンピュータが、
商品のコードを会計機にスキャンする人物の映像データを取得し、
取得した前記映像データを分析することで、取得した前記映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定し、
前記商品を把持している人物の手の動き、または、把持された前記商品の動きのいずれかを追跡し、
追跡された前記手の動きの変化または前記商品の動きの変化に基づいて、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、
処理を実行することを特徴とする情報処理方法。
【請求項14】
商品のコードを会計機にスキャンする人物の映像データを取得し、
取得した前記映像データを分析することで、取得した前記映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定し、
前記商品を把持している人物の手の動き、または、把持された前記商品の動きのいずれかを追跡し、
追跡された前記手の動きの変化または前記商品の動きの変化に基づいて、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
スーパーマーケットやコンビニエンスストア等の店舗において、セルフレジが普及している。セルフレジは、商品を購入するユーザ自身が、商品のバーコードの読み取りから精算までを行うPOS(Point Of Sale)レジシステムである。たとえば、セルフレジを導入することで、人口減少による人手不足の改善、人件費を抑制することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、不正を検出することが難しい。例えば、セルフレジなどの会計機では、ユーザによる不可抗力の誤りや故意の不正などがあり、未払い金などが発生する。
【0005】
不可抗力の誤りとしては、商品のスキャンを忘れてカゴからレジ袋に商品を移動させてしまうスキャン漏れ、などがある。また、故意の不正としては、ユーザがバーコードだけを指で隠しながら商品をスキャンするフリをするバーコード隠しや、例えば6缶で1セットのビール箱にはビール箱と各缶にバーコードがついており誤って缶のバーコードを読み取らせる読み取り誤りなどがある。
【0006】
なお、各セルフレジに重量センサなどを導入することで、自動で商品数を計数して不正を検出することも考えられるが、コストが過大であり、特に大型店舗や全国展開する店舗にとっては現実的ではない。
【0007】
また、セルフレジでは、商品コードのスキャンや精算がユーザ自身に委ねられるので、不正行為を検出することが困難である側面がある。たとえば、上記の不正行為を検出する側面から画像認識AI(Artificial Intelligence)を適用しようにも、画像認識AIの訓練には大量の訓練データが必要となる。ところが、スーパーマーケットやコンビニエンスストア等の店舗では、多数の種類の商品が存在する上、個々の商品のライフサイクルも短いので、商品の入れ替えが頻繁に起こる。このような商品のライフサイクルに合わせて画像認識AIをチューニングしたり、あるいは新たな画像認識AIを訓練したりすることは困難である。
【0008】
一つの側面では、会計機における、ユーザの誤りまたは不正を検出することができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
第1の案では、情報処理プログラムは、コンピュータに、商品のコードを会計機にスキャンする人物の映像データを取得し、取得した前記映像データを分析することで、取得した前記映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定し、前記商品を把持している人物の手の動き、または、把持された前記商品の動きのいずれかを追跡し、追跡された前記手の動きの変化または前記商品の動きの変化に基づいて、前記会計機に商品を登録する行動の異常に関連するアラートを生成する、処理を実行させることを特徴とする。
【発明の効果】
【0010】
一実施形態によれば、会計機における、ユーザの誤りまたは不正を検出することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施例1にかかるセルフレジシステムの全体構成例を示す図である。
【
図2】
図2は、実施例1にかかる異常行動の検出例を説明する図である。
【
図3】
図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図5】
図5は、不正ルールDBに記憶される情報の例を示す図である。
【
図6】
図6は、機械学習モデルの機械学習を説明する図(1)である。
【
図7】
図7は、機械学習モデルの機械学習を説明する図(2)である。
【
図9】
図9は、HOIDによる行動識別を説明する図である。
【
図10】
図10は、2つの商品を把持した場合の不正検知の例を示す図である。
【
図11】
図11は、予め定義した不正行動に基づく不正検知の例を示す図である。
【
図12】
図12は、位置関係による不正検知の例を説明する図である。
【
図14】
図14は、追跡、不正検出、アラート報知までの一連の流れを説明する図である。
【
図17】
図17は、セルフレジのハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0013】
<セルフレジシステムの説明>
図1は、実施例1にかかるセルフレジシステム5の全体構成例を示す図である。
図1に示すように、セルフレジシステム5は、カメラ30と、セルフレジ50と、管理者端末60と、情報処理装置100とを有する。
【0014】
情報処理装置100は、カメラ30およびセルフレジ50に接続されるコンピュータの一例である。情報処理装置100は、有線や無線を問わず様々な通信網を採用できるネットワーク3を介して、管理者端末60に接続される。カメラ30およびセルフレジ50は、ネットワーク3を介して、情報処理装置100に接続されてもよい。
【0015】
カメラ30は、セルフレジ50を含む領域の映像を撮影するカメラの一例である。カメラ30は、映像のデータを、情報処理装置100に送信する。以下の説明では、映像のデータを「映像データ」または単に「映像」と表記する場合がある。
【0016】
映像データには、時系列の複数の画像フレームが含まれる。各画像フレームには、時系列の昇順に、フレーム番号が付与される。1つの画像フレームは、カメラ30があるタイミングで撮影した静止画像の画像データである。以下の説明では、画像データを単に「画像」と表記する場合がある。
【0017】
セルフレジ50は、商品を購入するユーザ2が、商品のバーコードの読み取りから精算までを行うPOSレジシステムや会計機の一例である。例えば、ユーザ2が、購入対象の商品を、セルフレジ50のスキャン領域に移動させると、セルフレジ50は、商品のバーコードをスキャンして、購入対象の商品として登録する。
【0018】
なお、セルフレジ50は、上述したように、お客様自身が購入商品の登録(レジ作業)および支払いを行うセルフレジの一例であり、例えばSelf checkout、automated checkout、self-checkout machineやself-check-out registerなどと呼ばれる。バーコードとは、縞模様状の線の太さによって数値や文字を表す識別子の一種であり、セルフレジ50がスキャンする(読み込む)ことで、商品の金額や種別(例えば食品)などを特定することができる。バーコードは、コードの一例であり、バーコード以外にも、同じ機能を有するQR(Quick Response)コードなどの2次元コードを用いることもできる。
【0019】
ユーザ2は、上記商品登録の動作を繰り返し実行し、商品のスキャンが完了すると、セルフレジ50のタッチパネル等を操作し、精算要求を行う。セルフレジ50は、精算要求を受け付けると、購入対象の商品の数、購入金額等を提示し、精算処理を実行する。セルフレジ50は、ユーザ2がスキャンを開始してから、精算要求を行うまでの間にスキャンした商品の情報を、記憶部に格納しておき、セルフレジデータ(商品情報)として、情報処理装置100に送信する。
【0020】
管理者端末60は、店舗の管理者が利用する端末装置の一例である。管理者端末60は、情報処理装置100から、商品の購入に関して不正が行われたことを示すアラートの通知等を受け付ける。
【0021】
このような構成において、情報処理装置100は、商品のバーコードをセルフレジ50にスキャンする人物の映像データを取得し、映像データを機械学習モデルに入力することで、映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定する。なお、機械学習モデルではなく、画像分析等を用いて、映像データから各領域を特定することもできる。そして、情報処理装置100は、人物が手で把持をしている商品の個数が複数であるときに、複数の商品を把持している人物の手の動き、または、複数の商品の動きのいずれかを追跡する。その後、情報処理装置100は、追跡された手の動きの変化または複数の商品の動きの変化に基づいて、セルフレジ50に商品を登録する行動の異常に関連するアラートを生成する。
【0022】
図2は、実施例1にかかる異常行動の検出例を説明する図である。
図2に示すように、情報処理装置100は、セルフレジ50周辺を撮像するカメラ30が撮像した映像データに人物が検出されると、レジ開始と検出する。その後、情報処理装置100は、随時撮像される映像データから人物の手の領域と商品の領域とを特定する。そして、情報処理装置100は、映像から複数の商品が検出された場合に、追跡を開始して商品が1つになるまで追跡する。ここで、情報処理装置100は、追跡中の人物の手の動きや商品の動きにより、読み取り誤りやバーコード隠しなどの異常な行動を検出する。
【0023】
つまり、ユーザは、店内で選択した購入対象の商品を入れてセルフレジまで運ぶ買い物カゴや商品カートなどの運搬道具から、商品を1つずつ取り出して、セルフレジ50にスキャンするのが通常である。このため、情報処理装置100は、スキャン領域で複数の商品を持つ動作を検出した場合に、異常な行動につながる可能性があるとして、それ以降の動作に注目する。もっとも、商品を複数持つユーザもいることから、複数の商品を持つ動作が異常な行動に直接的に繋がるわけではない。そこで、情報処理装置100は、追跡中の人の手や商品の動きの変化が予め指定した不正なパターンに一致するか否かにより、異常な行動の即時検出を実現する。
【0024】
<機能構成>
図3は、実施例1にかかる情報処理装置100の機能構成を示す機能ブロック図である。
図3に示すように、情報処理装置100は、通信部101、記憶部102、制御部110を有する。
【0025】
通信部101は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部101は、カメラ30から映像データを受信し、制御部110による処理結果を管理者端末60に送信する。
【0026】
記憶部102は、各種データや制御部110が実行するプログラムなどを記憶する処理部であり、メモリやハードディスクなどにより実現される。記憶部102は、訓練データDB103、機械学習モデル104、映像データDB105、不正ルールDB106を記憶する。
【0027】
訓練データDB103は、機械学習モデル104の訓練に使用されるデータを記憶するデータベースである。例えば、
図4を用いて、機械学習モデル104にHOID(Human Object Interaction Detection)用のモデルが採用されている例で説明する。
図4は、訓練データを説明する図である。
図4に示すように、各訓練データは、入力データとなる画像データと、当該画像データに対して設定された正解情報(ラベル)とを有する。
【0028】
正解情報には、検出対象であるヒトとモノのクラスと、ヒトとモノの相互作用を示すクラスと、各クラスの領域を示すBbox(Bounding Box:物体の領域情報)とが設定される。例えば、正解情報として、商品等の物体であってレジ袋以外の物体を示すSomethingクラスの領域情報、商品を購入するユーザを示すヒトのクラスの領域情報、Somethingクラスとヒトのクラスとの相互作用を示す関係性(把持クラス)とが設定される。すなわち、正解情報として、人が把持している物体に関する情報が設定される。なお、ヒトのクラスは、第1クラスの一例であり、Somethingクラスは、第2クラスの一例であり、ヒトのクラスの領域情報は、第1の領域の一例であり、Somethingのクラスの領域情報は、第2の領域の一例であり、ヒトとモノの相互作用は、相互作用の一例である。
【0029】
また、正解情報として、レジ袋を示すレジ袋のクラスの領域情報と、レジ袋を使用するユーザを示すヒトのクラスの領域情報と、レジ袋のクラスとヒトのクラスとの相互作用を示す関係性(把持クラス)とが設定される。すなわち、正解情報として、人が把持しているレジ袋に関する情報が設定される。
【0030】
一般的に、通常の物体識別(物体認識)でSomethingクラスを作ると、すべての背景、服装品、小物などタスクと関係ないものをすべて検出することになる。かつ、それらはすべてSomethingなので、画像データ内に大量のBboxが識別されるだけで何も分からない。HOIDの場合は、ヒトが持っているモノという特殊な関係性(座っている、操作している、など他の関係の場合もある)であることが分かるので、意味のある情報としてタスク(例えばセルフレジの不正検出タスク)に利用することができる。物体をSomethingで検出した上で、レジ袋などをBag(レジ袋)という固有のクラスとして識別する。このレジ袋は、セルフレジの不正検出タスクでは価値のある情報だが、他のタスクでは重要な情報ではないので、商品はカゴ(買い物かご)から取り出され袋に収納されるというセルフレジの不正検出タスクの固有の知見に基づいて利用することに価値があり、有用な効果が得られる。
【0031】
図3に戻り、機械学習モデル104は、訓練データに写っている人物と物(例えば、人物や収納(レジ袋など))を識別するように訓練された機械学習モデルの一例である。具体的には、機械学習モデル104は、入力された画像データから、ヒト、商品、ヒトと商品の関係性を識別して識別結果を出力する機械学習モデルである。例えば、機械学習モデル104は、HOID用のモデルを採用することができ、各種ニューラルネットワークなどを用いた機械学習モデルを採用することもできる。HOIDの場合は、「ヒトのクラスと領域情報、商品(モノ)のクラスと領域情報、ヒトと商品の相互作用」が出力される。
【0032】
なお、機械学習モデル104は、画像データの入力に応じて、手の領域、商品の領域、手の骨格情報を出力するモデルを用いることもできる。
【0033】
映像データDB105は、セルフレジ50に設置されるカメラ30により撮像された映像データを記憶するデータベースである。例えば、映像データDB105は、セルフレジ50ごと、または、カメラ30ごとに、映像データを記憶する。
【0034】
不正ルールDB106は、不正な行動を判定される手の動作または商品の動作を規定するデータベースである。具体的には、不正ルールDB106は、過去の履歴等により特定される不正な行動パターンを記憶する。
【0035】
図5は、不正ルールDB106に記憶される情報の例を示す図である。
図5に示すように、不正ルールDB106は、「不正種別、対象、不正パターン」を対応付けて記憶する。ここで記憶される「不正種別」は、不正(異常な行動)の内容を示す情報である。「対象」は、不正の判定対象が手の動作か商品の動作かを特定する情報である。「不正パターン」は、不正と判定される対象の手の動きの変化または複数の商品の動きの変化である。
【0036】
図5の例では、不正1は、商品の動きを対象とした不正パターンであり、商品2個を把持した状態から、商品を重ねる動作を行った後、把持する2個の商品を袋(持ち帰り用の袋)に入れる動作が検出された場合に、不正と判定される異常行動である。つまり、不正1は、ラベルスイッチなどと呼ばれる読み取り誤りの不正に該当する。
【0037】
不正2は、商品の動きを対象とした不正パターンであり、小さい商品を複数スキャンした後に、買い物カゴから別の商品を取り出して袋に入れる動作が検出された場合に、不正と判定される異常行動である。不正3は、手の動きを対象とした不正パターンであり、小さい商品を両手に持つ動作が検出された場合に、不正と判定される異常行動である。つまり、不正3は、ラベルスイッチなどと呼ばれる読み取り誤りの不正に該当する。
【0038】
不正4は、手の動きを対象とした不正パターンであり、右手と左手にそれぞれ商品を把持した後、一方のみをスキャンして、両方を袋に入れる動作が検出された場合に、不正と判定される異常行動である。不正5は、手の動きおよび商品の動きを対象とした不正パターンであり、複数の商品を把持し、レジ画面で1つの商品を登録した後、複数の商品を袋に入れる動作が検出された場合に、不正と判定される異常行動である。つまり、不正5は、バナナトリックなどと呼ばれる不正やバーコード隠しなどの不正に該当する。
【0039】
図3に戻り、制御部110は、情報処理装置100全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部110は、機械学習部111、映像取得部112、領域特定部113、追跡部114、不正検知部115、警告制御部116を有する。なお、機械学習部111、映像取得部112、領域特定部113、追跡部114、不正検知部115、警告制御部116は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0040】
(機械学習)
機械学習部111は、訓練データDB103に記憶される各訓練データを用いて、機械学習モデル104の機械学習を実行する処理部である。
図6は、機械学習モデル104の機械学習を説明する図である。
図6では、機械学習モデル104にHOIDを用いた例を図示している。
図6に示すように、機械学習部111は、訓練データの入力データをHOIDに入力し、HOIDの出力結果を取得する。この出力結果には、HOIDが検出したヒトのクラスと、モノのクラスと、ヒトとモノの相互作用などが含まれる。そして、機械学習部111は、訓練データの正解情報と、HOIDの出力結果との誤差情報を算出し、誤差が小さくなるように、誤差逆伝播によりHOIDのパラメータ更新を行う機械学習を実行する。
【0041】
また、機械学習部111は、画像データの入力に応じて、手の領域、商品の領域、手の骨格情報を出力するモデルを生成することもできる。
図7は、機械学習モデル104の機械学習を説明する図である。
図7に示すように、機械学習部111は、「画像データ」を説明変数、「手の領域、商品の領域、手の骨格情報」を目的変数(正解情報)とする訓練データを機械学習モデル104に入力し、機械学習モデル104の出力結果「手の領域、商品の領域、手の骨格情報」と目的変数「手の領域、商品の領域、手の骨格情報」との誤差情報を算出する。そして、機械学習部111は、誤差が小さくなるように、誤差逆伝播により機械学習モデル104のパラメータ更新を行う機械学習を実行する。
【0042】
ここで、骨格情報とは、例えば
図8に示す情報である。
図8は、骨格情報の例を示す図である。骨格情報は、公知の骨格モデルで特定される各関節をナンバリングした、18個(0番から17番)の定義情報を用いることができる。例えば、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には14番が付与される。したがって、
図8に示した18個の骨格の座標情報が、画像データから取得可能であり、例えば、7番の右肩関節の位置として「X座標=X7、Y座標=Y7」が取得される。なお、X軸が画像の水平方向、Y軸が画像の垂直方向と定義することができる。
【0043】
なお、機械学習モデル104としては、
図6に示した機械学習モデルまたは
図7に示した機械学習モデルを用いることもでき、両方を用いることもできる。
【0044】
(映像取得)
映像取得部112は、カメラ30から映像データを取得する処理部である。例えば、映像取得部112は、セルフレジ50に設置されるカメラ30から映像データを随時取得し、映像データDB105に格納する。
【0045】
(領域特定)
領域特定部113は、映像データを機械学習モデル104に入力することで、映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域とを特定する処理部である。例えば、領域特定部113は、HOIDを用いることで、人物の手を含む第一の領域と、商品を含む第二の領域と、第一領域と第二の領域の関係性を特定し、人物の商品に対する行動を特定する。
【0046】
図9は、HOIDによる行動識別を説明する図である。
図9に示すように、領域特定部113は、映像データに含まれる各画像データをHOIDに入力し、HOIDの出力結果を取得する。上述したように、HOIDの出力結果には、ヒトのBbox、モノのBbox、ヒトとモノの相互作用の確率値およびクラス名などが含まれる。そして領域特定部113は、HOIDの出力結果に基づき、次の(a)、(b)、(c)のいずれかの行動を識別する。
【0047】
例えば、
図9の(a)に示すように、領域特定部113は、HOIDの出力結果から、ヒトと商品とヒトが商品を把持していることを識別(特定)する。なお、買い物かごの位置は、管理者等が指定してもよく、別の機械学習モデルなどを用いて自動で指定することもできる。また、
図9の(b)に示すように、領域特定部113は、HOIDの出力結果から、ヒトと商品とヒトが商品を把持していることを識別することで、セルフレジ50におけるバーコードや二次元コードなどの各コードのスキャン位置を通過させる商品も特定する。また、
図9の(c)に示すように、領域特定部113は、HOIDの出力結果から、ヒトと商品とヒトが商品を把持していることと、ヒトとレジ袋とヒトがレジ袋を把持していることを識別することで、ユーザがレジ袋に入れた商品も特定する。
【0048】
また、領域特定部113は、映像データを機械学習モデル104に入力することで、映像データの中から、人物の手の領域と人物が手で把持をしている商品の領域と人物の骨格情報とを特定することもできる。また、領域特定部113は、各行動と行動するときの骨格情報の遷移とを対応付けておくことで、映像データから特定される各領域と骨格情報とから、映像データ内の人物が商品に行う行動や人物がセルフレジ50に行う行動を特定することもできる。
【0049】
(追跡)
追跡部114は、人物が手で把持をしている商品の個数が複数であるときに、複数の商品を把持している人物の手の動き、または、複数の商品の動きのいずれかを追跡する処理部である。具体的には、追跡部114は、映像データ内のあるフレームに対する領域特定部113による特定結果において、複数の商品を把持している人物を検出した場合に、追跡を実行する。すなわち、追跡部114は、映像データ内で複数の商品が識別されたあるフレーム以降の連続するフレームで、同じ商品に関する動作を追跡する。そして、追跡部114は、追跡結果を記憶部102に格納し、不正検知部115に出力する。
【0050】
また、追跡部114は、HOIDの出力結果から、商品のバウンディングボックスの個数が複数である場合に、複数のバウンディングボックスの位置の重なりがあるか否かを判定し、重なりがある場合に、追跡を実行することもできる。
【0051】
(不正検知)
不正検知部115は、追跡部114により追跡された手の動きの変化または複数の商品の動きの変化に基づいて、セルフレジ50に商品を登録する行動の異常を検知する処理部である。具体的には、不正検知部115は、追跡された手の動きのパターンや商品の動きのパターンが、不正ルールDB106に記憶されるパターンに該当する場合に、不正行動を検知する。
【0052】
例えば、不正検知部115は、「商品2個を把持した状態から、商品を重ねる動作を行った後、把持する2個の商品を袋(持ち帰り用の袋)に入れる動作」が検出された場合に、不正1の不正行動を検知する。
【0053】
図10は、2つの商品を把持した場合の不正検知の例を示す図である。
図10に示すように、不正検知部115は、領域特定部113の領域特定結果により、商品を重ねる動作を検出した場合に、不正を検知する。例えば、不正検知部115は、高額の商品Aに少額の商品Bを重ねる動作を検知した場合に、高額商品のバーコードの代わりに低額商品のバーコードをスキャンさせる不正(例えばラベルスイッチ)を検知する。
【0054】
また、不正検知部115は、不正ルールDB106に記憶されるパターン以外であっても、予め不正行動として定義した動作「手の動きが複数の商品を重ねる動作」を検知した場合に、不正行動を検知することもできる。同様に、不正検知部115は、予め不正行動として定義した動作「商品を重ねる動作」や「バーコードを重ねる動作」に検知した場合に、不正行動を検知することもできる。
【0055】
図11は、予め定義した不正行動に基づく不正検知の例を示す図である。
図11に示すように、不正検知部115は、領域特定部113の領域特定結果により、商品を把持する動作を検出した後、スキャン動作を検知することなく、セルフレジ50から商品が登録されたことを検知した場合に、不正を検知する。例えば、不正検知部115は、高額であるとともに商品自体にバーコードが付与されていない商品(例えばメロン)が把持された後、セルフレジ50の登録画面で同種の商品であるが低額な商品(例えばバナナ)の登録が行われた場合に、不正(例えばバナナトリック)を検知する。
【0056】
例えば、不正検知部115は、手の動きのパターンとして「左手にワイン、右手にワインを把持した後、右手のワインだけをスキャンした動作」を検知した場合、
図5の不正ルールの不正4に該当すると判定し、不正4の不正行動を検知する。
【0057】
例えば、不正検知部115は、HOIDの出力結果から、商品をセルフレジ50にスキャンをするために設定されたエリアとの位置関係を特定する。そして、不正検知部115は、HOIDの出力結果から、2つの商品のそれぞれの商品のバーコードがセルフレジ50にスキャンされていないと判定されるときに、不正行動を検知する。すなわち、不正検知部115は、カメラごとに設定されるスキャン領域を、2つの商品のいずれもが通過しない場合に、不正行動を検知する。
【0058】
図12は、位置関係による不正検知の例を説明する図である。
図12に示すように、不正検知部115は、領域特定部113の領域特定結果により、商品を両手に持つ動作、および、商品について想定されるバーコード位置とは異なる位置でスキャンが行われる動作を検出した場合に、不正を検知する。例えば、不正検知部115は、それぞれの缶にバーコードが付加された6缶パッケージ商品のバーコードではなく、6缶パッケージ内の1つの缶のバーコードをスキャンさせる不正を検知する。
【0059】
また、不正検知部115は、機械学習モデル104により特定される骨格情報を用いることでより複雑な動作を検知することができるので、上記不正行動の判定の精度を向上させることもできる。例えば、不正検知部115は、骨格情報からユーザの姿勢、指の動き、関節の動き等を特定し、これらのパターンと予め用意したパターンとの比較により、不正行動を検知する。
【0060】
(アラート報知)
警告制御部116は、不正検知部115により不正な行動(不正な動作)が検知された場合に、アラートを生成して、アラートの報知制御を実行する処理部である。例えば、警告制御部116は、人物がセルフレジ50に登録していない商品があること、または、人物がセルフレジ50に登録した商品が異常であることを示すアラートを生成して、セルフレジ50や管理者端末60に出力する。
【0061】
また、警告制御部116は、セルフレジ50に商品を登録する行動の異常に関するアラートを生成した場合に、セルフレジ50に位置する人物に商品の登録漏れを促す音声または画面を、セルフレジ50から出力する。
【0062】
図13は、アラートの報知例を説明する図である。
図13に示すように、警告制御部116は、セルフレジ50のタッチパネルなどの表示画面に、「スキャン忘れの商品がありませんか?再度、商品のスキャンをお願いします。」などのメッセージを表示させる。
【0063】
また、警告制御部116は、セルフレジ50に設置されている警告灯を点灯させたり、管理者端末60に該当セルフレジ50の識別子と不正発生の可能性があるメッセージとを表示させたり、店内にいる店員の端末に該当セルフレジ50の識別子と不正発生と確認の必要性を示すメッセージとを送信させたりする。
【0064】
また、警告制御部116は、セルフレジ50に商品を登録する行動の異常に関するアラートを生成した場合に、セルフレジ50が有するカメラ30にて人物を撮影させ、撮影された人物の画像データと、アラートを対応づけて記憶部に記憶する。このようにすることで、不正な行動を行う不正な人物の情報を収集することができるので、店舗の入り口で不正な行動を行ったことがある来店者を検知するなど、不正行動を未然に防ぐための各種施策に役立てることができる。また、警告制御部116は、不正な人物の画像データを用いた教師あり学習により、機械学習モデルを生成することで、セルフレジ50を使用する人物の画像データから不正な人物の検出や店舗の入り口での不正な人物の検出などを行うことができる。また、警告制御部116は、不正な行動を行った人物のクレジットカードの情報をセルフレジ50から取得して保持することもできる。
【0065】
<具体例>
次に、上述した情報処理装置100が実行する処理の具体例を説明する。
図14は、追跡、不正検出、アラーム報知までの一連の流れを説明する図である。
図14に示すように、映像データには、識別子が付与された各画像データが含まれている。
図14では、HOIDを用いて領域や関係性を特定する例を示している。
【0066】
まず、画像データ1に対して、情報処理装置100は、領域特定部113により「買い物かご、人、人と買い物かごの相互関係(把持)」を特定すると、複数の商品が検出されていないので、追跡することなく、不正行動とは判定しない。
【0067】
続いて、画像データ2に対して、情報処理装置100は、領域特定部113により「商品1つ、人、人と商品の相互関係(把持)」を特定すると、複数の商品が検出されていないので、追跡することなく、不正行動とは判定しない。
【0068】
続いて、画像データ3に対して、情報処理装置100は、領域特定部113により「スキャン位置に商品、人、人と商品の相互関係(把持、スキャン)」を特定すると、複数の商品が検出されていないので、追跡することなく、不正行動とは判定しない。
【0069】
続いて、画像データ4に対して、情報処理装置100は、領域特定部113により「レジ袋に商品、人、人と商品の相互関係(把持)」を特定すると、複数の商品が検出されていないので、追跡することなく、不正行動とは判定しない。
【0070】
続いて、画像データ5に対して、情報処理装置100は、領域特定部113により「商品2つ、人と商品の相互関係(把持)」を特定すると、複数の商品が検出されたことから、追跡部114による追跡を開始する。さらに、情報処理装置10は、不正検知部115により、追跡開始後の手の動きの変化または複数の商品の動きの変化に基づいて不正検知を実行する。
【0071】
続いて、画像データ6に対して追跡を実行する。すなわち、情報処理装置100は、領域特定部113により2つの商品が検出されている間、不正検知部115により、追跡開始後の手の動きの変化または複数の商品の動きの変化に基づいて不正検知を実行する。
【0072】
同様に、画像データ7に対して追跡を実行する。ここで、情報処理装置100は、不正検知部115により、追跡開始後の手の動きの変化または複数の商品の動きの変化に基づいて、不正ルールに該当する動作を検知した場合に、不正行動を検知する。すると、情報処理装置10は、アラートを生成して報知する。このとき、情報処理装置100は、追跡を終了してもよく、アラートに対する店員等の対応が終わるまで追跡を終了してもよく、追跡を継続してもよい。
【0073】
<処理の流れ>
図15は、処理の流れを示すフローチャートである。
図15に示すように、情報処理装置100は、映像データを随時取得する(S101)。
【0074】
続いて、情報処理装置100は、不正検知の処理開始が指示されると(S102:Yes)、映像データ内のフレームを取得する(S103)。ここで、情報処理装置100は、映像データが存在しない場合は、処理を終了する。一方、情報処理装置100は、映像データが存在する場合は、機械学習モデル104を用いて、手の領域と商品の領域を特定する(S104)。
【0075】
そして、情報処理装置100は、複数の商品が検出されない場合(S105:No)、S103以降を繰り返す。一方、情報処理装置100は、複数の商品が検出された場合(S105:Yes)、追跡中か否かを判定する(S106)。
【0076】
ここで、情報処理装置100は、追跡中ではない場合(S106:No)、追跡を開始し(S107)、S108を実行する。一方、情報処理装置100は、追跡中である場合(S106:Yes)、S108を実行する。
【0077】
すなわち、情報処理装置100は、不正ルールに該当する動作が検出されない場合は(S108:No)、S103以降を繰り返し、不正ルールに該当する動作が検出された場合は(S108:Yes)、アラート報知を実行し(S109)、処理を終了する。
【0078】
<効果>
上述したように、情報処理装置100は、物が手で把持をしている商品の個数が複数であるときに、複数の商品を把持している人物の手の動き、または、複数の商品の動きのいずれかを追跡する。そして、情報処理装置100は、追跡された手の動きの変化または複数の商品の動きの変化に基づいて、セルフレジ50に商品を登録する行動の異常に関連するアラートを生成する。したがって、情報処理装置100は、重量センサなどを用いることなく、セルフレジ50における不正を検出することができる。
【0079】
また、情報処理装置100は、商品の動きが追跡された場合に、商品の領域に含まれる複数の商品の動きの変化が重なるなどの予め指定したパターンに該当する場合に、セルフレジ50に商品を登録する行動の異常に関連するアラートを生成する。したがって、情報処理装置100は、スキャン漏れなど不可抗力の誤りや故意の不正を検知することができる。
【0080】
また、情報処理装置100は、手の動きが追跡された場合に、手の動きが複数の商品を重ねる動作に該当する場合に、セルフレジ50に商品を登録する行動の異常に関連するアラートを生成する。したがって、情報処理装置100は、高額商品の代わりに低額商品のバーコードをスキャンさせる不正を検知することができる。
【0081】
また、情報処理装置100は、機械学習モデル104を用いて、手の領域を示すバウンディングボックスと、商品の領域を示す商品のバウンディングボックスと、人物の手の骨格情報とを取得する。この結果、情報処理装置100は、画像解析に比べて短時間で人物の動作や商品の動きを特定することができるので、リアルタイムな不正検知を実現することができる。
【0082】
また、情報処理装置100は、機械学習モデル104を用いて、人物の手を含む第一の領域と、商品を含む第二の領域と、第一の領域と第二の領域の関係性を特定する。そして、情報処理装置100は、人物が右手で第一の商品を把持する第一の動作および人物が左手で第二の商品を把持する第二の動作に基づいて、第一の商品または第二の商品のいずれかの商品のコードがセルフレジ50にスキャンされていないことを検出する。したがって、情報処理装置100は、1つの商品しかスキャンしないスキャン漏れや故意の不正を検知することができる。
【0083】
また、情報処理装置100は、人物がセルフレジ50に登録していない商品があること、または、人物がセルフレジ50に登録した商品が異常であることを示すアラートを生成する。したがって、店員等は、情報処理装置100を用いることで、不正な行動を起こした人物が店外に出るまでに事情を聞くなどの対応を行うことができる。
【0084】
また、情報処理装置100は、セルフレジ50に商品を登録する行動の異常に関するアラートが生成された場合に、セルフレジ50に位置する人物に商品の登録漏れを促す音声または画面を、セルフレジ50から出力する。したがって、情報処理装置100は、不可抗力のミスであっても故意の不正であっても、スキャン中の人物に直接注意を促すことができるので、ミスや故意の不正を削減することができる。
【0085】
また、情報処理装置100は、セルフレジ50に商品を登録する行動の異常に関するアラートが生成されたときに、セルフレジ50の有するカメラにて、人物を撮影させ、撮影された人物の画像データと、アラートを対応づけて記憶部に記憶する。したがって、情報処理装置100は、不正な行動を行う不正な人物の情報を収集して保持することができるので、来店者を撮像するカメラの撮像データから不正な人物の来店を検出することで、不正行動を未然に防ぐための各種施策に役立てることができる。また、情報処理装置100は、不正な行動を行った人物のクレジットカードの情報をセルフレジ50から取得して保持することもできるので、不正な行動が確定した場合、クレジットカード会社を介して料金を請求することができる。
また、情報処理装置100は、スキャン位置や買い物かごの位置については、位置を検出する別の機械学習モデル、物体検知技術、位置検出技術など公知の技術を用いることもできる。例えば、情報処理装置100は、フレーム(画像データ)間差分、フレームの時系列の変化に基づき、買い物かごの位置を検出することができるので、それを用いて検出してもよく、それを用いて別のモデルを生成してもよい。また、情報処理装置100は、予め買い物かごの大きさを指定しておくことで、画像データからその大きさの物体が検出された場合に、買い物かごの位置として識別することもできる。なお、スキャン位置は、ある程度固定された位置なので、情報処理装置100は、管理者等が指定した位置をスキャン位置として識別することもできる。
例えば、情報処理装置100は、スキャン位置の前で、指を使って小さな商品を複数重ねる動作を検知することで、不正な行動を検知することができる。このような動作は、複数の商品のうち1つの商品だけをスキャンさせた後、複数の商品を袋の入れるような不正な行動に繋がるが、情報処理装置100は、不正な行動として検知することができる。
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。例えば、追跡部114と不正検知部115とが統合されてもよい。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
このように、情報処理装置100は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、情報処理装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。
通信インタフェース400aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD400bは、セルフレジ50の各機能を動作させるプログラムやデータを記憶する。
プロセッサ400dは、セルフレジ50の各機能の処理を実行するプログラムをHDD400bなどから読み出してメモリ400cに展開することで、セルフレジ50の各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、セルフレジ50が有する各処理部と同様の機能を実行する。
このように、セルフレジ50は、セルフレジ50の各機能の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、セルフレジ50は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することでセルフレジ50の各機能を実現することもできる。なお、この他の実施例でいうプログラムは、セルフレジ50によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
また、セルフレジ50の各機能の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、FD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
入力装置400eは、プロセッサ400dによって実行されるプログラムに対する入力操作など、ユーザによる各種入力操作を検知する。当該入力操作には、例えば、タッチ操作などが含まれる。タッチ操作の場合、セルフレジ50はさらに表示部を備え、入力装置400eによって検知される入力操作は、当該表示部に対するタッチ操作であってよい。入力装置400eは、例えば、ボタン、タッチパネル、近接センサなどであってよい。また、入力装置400eは、バーコードの読み取りをする。入力装置400eは、例えば、バーコードリーダである。バーコードリーダは、光源と光センサを持ち、バーコードをスキャンする。
出力装置400fは、プロセッサ400dによって実行されるプログラムから出力されるデータをセルフレジ50に接続された外部装置、例えば、外部ディスプレイ装置などを介して出力する。なお、セルフレジ50が表示部を備える場合、セルフレジ50は出力装置400fを備えなくてもよい。