(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024091181
(43)【公開日】2024-07-04
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06Q 20/20 20120101AFI20240627BHJP
G07G 1/12 20060101ALI20240627BHJP
G07G 1/00 20060101ALI20240627BHJP
G06T 7/00 20170101ALI20240627BHJP
【FI】
G06Q20/20 360
G07G1/12 341G
G07G1/00 331B
G06T7/00 350B
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022207689
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大日方 裕也
(72)【発明者】
【氏名】山本 琢麿
(72)【発明者】
【氏名】内田 大輔
【テーマコード(参考)】
3E142
5L020
5L055
5L096
【Fターム(参考)】
3E142BA20
3E142CA12
3E142DA07
3E142GA41
3E142JA01
5L020AA42
5L055AA42
5L096CA04
5L096DA03
5L096FA69
5L096KA04
(57)【要約】
【課題】会計機に登録される商品を識別することを課題とする。
【解決手段】情報処理装置は、人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、取得した映像データを分析することで、映像データの中から商品領域を抽出する。情報処理装置は、抽出した商品領域の時系列の座標位置を記憶部に記憶する。情報処理装置は、人物が会計機に商品を登録する操作を基準としたタイミングを特定し、特定された操作を基準としたタイミングと、記憶部に記憶された時系列の座標位置とに基づいて、会計機に登録された商品に関連する商品領域を特定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータに、
人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、
取得した前記映像データを分析することで、前記映像データの中から商品領域を抽出し、
抽出した前記商品領域の時系列の座標位置を記憶部に記憶し、
前記人物が前記会計機に商品を登録する操作を基準としたタイミングを特定し、
特定された前記操作を基準としたタイミングと、前記記憶部に記憶された時系列の座標位置とに基づいて、前記会計機に登録された商品に関連する商品領域を特定する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項2】
前記商品領域を抽出する処理は、
取得した前記映像データを第一の機械学習モデルに入力することで、前記映像データの中から商品領域を抽出する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記会計機に登録された商品に関連する前記商品領域を第二の機械学習モデルに入力することで、前記商品の項目を特定し、
前記人物が前記会計機に登録した前記商品の項目と、前記第二の機械学習モデルを用いて特定された前記商品の項目とが一致しないときに、アラートを生成する、
処理を前記コンピュータにさらに実行させることを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記商品領域を特定する処理は、
前記記憶部に記憶された時系列の座標位置の中から、前記人物が前記会計機に前記商品を登録する操作をしたタイミングの直前もしくは直後の座標位置に基づいて、前記商品領域を特定する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項5】
前記商品領域を特定する処理は、
前記記憶部に記憶された時系列の座標位置のうち、前記人物が前記会計機に前記商品を登録する操作をしたタイミングの前に取得された各座標位置の分布に基づいて、商品領域を特定する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項6】
前記第一の機械学習モデルは、映像データの入力に応じて、人物の手を含む第一の領域と、商品を含む第二の領域と、第一領域と第二の領域の関係性を特定し、
前記抽出する処理は、
取得した前記映像データを前記第一の機械学習モデルに入力することで、前記映像データ内の人物と商品について、前記第一の領域と、前記第二の領域と、前記第一領域と前記第二の領域の関係性を特定し、
特定された前記第一の領域と、前記第二の領域と、前記関係性とに基づいて、前記人物が商品を把持する関係性を示す行動を追跡し、
追跡された前記行動に基づいて、前記第二の領域の時系列の座標位置を特定し、
特定された前記第二の領域の時系列の座標位置を、前記商品領域の時系列の座標位置として、記憶部に記憶する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項7】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関連するアラートとして、前記人物が前記会計機に登録した商品が異常であることを示すアラートを生成する、
ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項8】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関するアラートが生成されたときに、店員の有する端末に対して、前記会計機の識別情報と生成された前記アラートとを対応づけて通知する、ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項9】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関するアラートが生成された場合に、前記会計機に位置する前記人物にアラート内容の音声または画面を、前記会計機から出力する、
ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項10】
前記アラートを生成する処理は、
前記会計機に商品を登録する行動の異常に関するアラートが生成されたときに、前記会計機の有するカメラにて、人物を撮影させ、
撮影された前記人物の画像データと、前記アラートを対応づけて記憶部に記憶する、ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項11】
前記会計機に商品を登録する操作は、バーコードのない商品の項目が表示された選択画面に対する選択操作に基づいて、前記人物が選択した商品の項目を前記会計機に登録する第一の操作であり、
前記会計機に登録した商品の前記商品の項目と、特定された前記商品領域に含まれる商品の前記商品の項目とが一致しないときに、前記会計機に登録する商品の異常に関するアラートを通知する、処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項12】
前記商品領域を特定する処理は、
前記第一の操作に基づいて前記バーコードのない商品の項目が前記会計機に登録されたときに、前記会計機からのネットワークを介した通知を用いて、前記バーコードのない商品の項目を前記会計機に登録する操作を基準としたタイミングを特定し、
特定された前記操作を基準したタイミングに基づいて、前記記憶部に記憶された時系列の座標位置の中から前記商品の商品領域を特定する、ことを特徴とする請求項11に記載の情報処理プログラム。
【請求項13】
前記会計機に商品を登録する操作は、バーコードのある商品の前記バーコードをスキャンすることで、商品の項目を前記会計機に登録する第二の操作であり、
前記会計機に登録した商品の前記商品の項目と、特定された前記商品領域に含まれる商品の前記商品の項目とが一致しないときに、前記会計機に登録する商品の異常に関するアラートを通知する、処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項14】
前記商品領域を特定する処理は、
前記バーコードのある商品の項目が前記会計機に登録されたときは、前記会計機からのネットワークを介した通知を用いて、前記バーコードのある商品の項目を前記会計機に登録する操作を基準としたタイミングを特定し、
前記操作を基準としたタイミングに基づいて、前記記憶部に記憶された時系列の座標位置の中から前記商品の商品領域を特定する、ことを特徴とする請求項13に記載の情報処理プログラム。
【請求項15】
前記会計機は、前記会計機に商品を登録する操作として、年齢制限のある商品の登録を受け付けたときに、前記人物の個人情報をスキャンし、スキャンした結果に基づいて、前記会計機に登録された商品の精算処理を実行し、
前記人物の個人情報は、マイナンバーカードまたはマイナンバーカード機能を有する端末をスキャンすることで取得された個人情報であり、
前記年齢制限のある商品は、アルコール飲料、たばこ、のいずれかであることを特徴とする請求項14に記載の情報処理プログラム。
【請求項16】
前記会計機は、セルフレジ端末であることを特徴とする請求項1に記載の情報処理プログラム。
【請求項17】
コンピュータが、
人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、
取得した前記映像データを分析することで、前記映像データの中から商品領域を抽出し、
抽出した前記商品領域の時系列の座標位置を記憶部に記憶し、
前記人物が前記会計機に商品を登録する操作を基準としたタイミングを特定し、
特定された前記操作を基準としたタイミングと、前記記憶部に記憶された時系列の座標位置とに基づいて、前記会計機に登録された商品に関連する商品領域を特定する、
処理を実行することを特徴とする情報処理方法。
【請求項18】
人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、
取得した前記映像データを分析することで、前記映像データの中から商品領域を抽出し、
抽出した前記商品領域の時系列の座標位置を記憶部に記憶し、
前記人物が前記会計機に商品を登録する操作を基準としたタイミングを特定し、
特定された前記操作を基準としたタイミングと、前記記憶部に記憶された時系列の座標位置とに基づいて、前記会計機に登録された商品に関連する商品領域を特定する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
画像から特定の物体を認識する画像認識技術は、広く普及している。この技術では、例えば、画像における特定の物体の領域がバウンディングボックス(Bbox)として特定される。また、物体の画像認識を機械学習を用いて行う技術も存在する。そして、このような画像認識技術は、例えば、店舗における顧客の購買動作の監視や、工場における作業者の作業管理に応用することが考えられている。
【0003】
スーパーマーケットやコンビニエンスストア等の店舗において、セルフレジが普及している。セルフレジは、商品を購入するユーザ自身が、商品のバーコードの読み取りから精算までを行うPOS(Point Of Sale)レジシステムである。たとえば、セルフレジを導入することで、人口減少による人手不足の改善、人件費の抑制を防止することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、映像から抽出されるBboxの位置関係は2次元空間によるものなので、例えば、Bbox間の奥行きについては分析できず、セルフレジなどの会計機と、会計機に登録される商品との関係を検出することが難しい。また、会計機では、ユーザによる不可抗力の誤りや故意の不正を検出することが難しい。
【0006】
不可抗力の誤りとしては、商品のスキャンを忘れてカゴからレジ袋に商品を移動させてしまうスキャン漏れ、例えば6缶で1セットのビール箱にはビール箱と各缶にバーコードがついており誤って缶のバーコードを読み取らせる読み取り誤りなどがある。また、故意の不正としては、ユーザがバーコードだけを指で隠しながら商品をスキャンするフリをするバーコード隠しなどがある。
【0007】
なお、各セルフレジに重量センサなどを導入することで、自動で商品数を計数して不正を検出することも考えられるが、コストが過大であり、特に大型店舗や全国展開する店舗にとっては現実的ではない。
【0008】
一つの側面では、会計機に登録される商品を識別することができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
第1の案では、情報処理プログラムは、コンピュータに、人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、取得した前記映像データを分析することで、前記映像データの中から商品領域を抽出し、抽出した前記商品領域の時系列の座標位置を記憶部に記憶し、前記人物が前記会計機に商品を登録する操作を基準としたタイミングを特定し、特定された前記操作を基準としたタイミングと、前記記憶部に記憶された時系列の座標位置とに基づいて、前記会計機に登録された商品に関連する商品領域を特定する、処理を実行させることを特徴とする。
【発明の効果】
【0010】
一実施形態によれば、会計機に登録される商品を識別することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施例1にかかるセルフレジシステムの全体構成例を示す図である。
【
図2】
図2は、実施例1にかかる異常行動の検出例を説明する図である。
【
図3】
図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図5】
図5は、第一の機械学習モデルの機械学習を説明する図である。
【
図6】
図6は、第二の機械学習モデルの機械学習を説明する図である。
【
図7】
図7は、商品領域の抽出を説明する図である。
【
図8】
図8は、商品領域の座標位置の特定を説明する図である。
【
図9】
図9は、不正行動の判定対象となる情報の特定を説明する図である。
【
図10】
図10は、不正行動を判定する商品領域の特定を説明する図である。
【
図11】
図11は、HOIDを用いた不正行動を判定する商品領域の特定を説明する図である。
【
図12】
図12は、分布を用いた不正行動を判定する商品領域の特定を説明する図である。
【
図15】
図15は、セルフレジへのアラート表示例を示す図である。
【
図17】
図17は、情報処理装置の処理の流れを示すフローチャートである。
【
図18】
図18は、セルフレジの処理の流れを示すフローチャートである。
【
図20】
図20は、セルフレジのハードウェア構成例を説明する図である。
【発明を実施するための形態】
【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に商品を登録する操作を基準としたタイミングを特定し、特定された操作を基準としたタイミングと、記憶部に記憶された時系列の座標位置とに基づいて、セルフレジ50に登録された商品に関連する商品領域を特定する。
【0022】
図2は、実施例1にかかる異常行動の検出例を説明する図である。
図2に示すように、情報処理装置100は、セルフレジ50を映すカメラ30により撮像された映像データから画像データを取得し、HOID(Human Object Interaction Detection)などを用いて、取得画像データからHOID結果を取得する。すなわち、情報処理装置100は、映像データから、人物の領域、モノの領域、人物とモノとの関係性を取得する。
【0023】
続いて、情報処理装置100は、HOID結果の画像データから、人物と関係性があるモノ(商品)の領域部分を抽出した手持ち商品画像データ(以下では、手持ち商品画像と記載する場合がある)を生成する。そして、情報処理装置100は、手持ち商品画像を解析して、手持ち商品画像に写っている商品の画像(例えばワイン)を識別する。
【0024】
一方、情報処理装置100は、セルフレジ50からセルフレジ50にスキャンされた商品の情報であるスキャン結果(例えばegg)を取得する。
【0025】
ここで、情報処理装置100は、映像データから特定した商品項目(例えばワイン)と、セルフレジ50に実際にスキャンされた商品項目(例えばegg)とを比較し、不一致の場合に異常行動(不正行動)と判定し、アラートを報知する。
【0026】
すなわち、情報処理装置100は、スキャンされたタイミングで撮像された画像データを解析してスキャン対象の商品と、実際にスキャンされた商品とが一致するかを判定する。この結果、情報処理装置100は、商品自体にバーコードが付与されていない商品が把持された後、セルフレジ50の登録画面で別の低額な商品の登録が行われる不正(例えばバナナトリック)を検知することができるので、セルフレジ50に登録される商品を識別することができる。
【0027】
<機能構成>
図3は、実施例1にかかる情報処理装置100の機能構成を示す機能ブロック図である。
図3に示すように、情報処理装置100は、通信部101、記憶部102、制御部110を有する。
【0028】
通信部101は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部101は、カメラ30から映像データを受信し、制御部110による処理結果を管理者端末60に送信する。
【0029】
記憶部102は、各種データや制御部110が実行するプログラムなどを記憶する処理部であり、メモリやハードディスクなどにより実現される。記憶部102は、訓練データDB103、第一の機械学習モデル104、第二の機械学習モデル105、映像データDB106、座標位置DB107を記憶する。
【0030】
訓練データDB103は、第一の機械学習モデル104の訓練に使用される訓練データおよび第二の機械学習モデル105の訓練に使用される訓練データを記憶するデータベースである。例えば、
図4を用いて、第一の機械学習モデル104にHOID(Human Object Interaction Detection)が採用されている例で説明する。
図4は、訓練データを説明する図である。
図4に示すように、各訓練データは、入力データとなる画像データと、当該画像データに対して設定された正解情報(ラベル)とを有する。
【0031】
正解情報には、検出対象であるヒトとモノのクラスと、ヒトとモノの相互作用を示すクラスと、各クラスの領域を示すBbox(Bounding Box:物体の領域情報)とが設定される。例えば、正解情報として、商品等の物体であってレジ袋以外の物体を示すSomethingクラスの領域情報、商品を購入するユーザを示すヒトのクラスの領域情報、Somethingクラスとヒトのクラスとの相互作用を示す関係性(把持クラス)とが設定される。すなわち、正解情報として、人が把持している物体に関する情報が設定される。なお、ヒトのクラスは、第1クラスの一例であり、Somethingクラスは、第2クラスの一例であり、ヒトのクラスの領域情報は、第1の領域の一例であり、Somethingのクラスの領域情報は、第2の領域の一例であり、ヒトとモノの相互作用は、相互作用の一例である。
【0032】
また、正解情報として、レジ袋を示すレジ袋のクラスの領域情報と、レジ袋を使用するユーザを示すヒトのクラスの領域情報と、レジ袋のクラスとヒトのクラスとの相互作用を示す関係性(把持クラス)とが設定される。すなわち、正解情報として、人が把持しているレジ袋に関する情報が設定される。
【0033】
一般的に、通常の物体識別(物体認識)でSomethingクラスを作ると、すべての背景、服装品、小物などタスクと関係ないものをすべて検出することになる。かつ、それらはすべてSomethingなので、画像データ内に大量のBboxが識別されるだけで何も分からない。HOIDの場合は、ヒトが持っているモノという特殊な関係性(座っている、操作している、など他の関係の場合もある)であることが分かるので、意味のある情報としてタスク(例えばセルフレジの不正検出タスク)に利用することができる。物体をSomethingで検出した上で、レジ袋などをBag(レジ袋)という固有のクラスとして識別する。このレジ袋は、セルフレジの不正検出タスクでは価値のある情報だが、他のタスクでは重要な情報ではないので、商品はカゴ(買い物かご)から取り出され袋に収納されるというセルフレジの不正検出タスクの固有の知見に基づいて利用することに価値があり、有用な効果が得られる。
【0034】
図3に戻り、第一の機械学習モデル104は、訓練データに写っている人物と物(例えば、人物や収納(レジ袋など))を識別するように訓練された機械学習モデルの一例である。具体的には、第一の機械学習モデル104は、入力された画像データから、ヒト、商品、ヒトと商品の関係性を識別して識別結果を出力する機械学習モデルである。例えば、第一の機械学習モデル104は、HOIDを採用することができ、各種ニューラルネットワークなどを用いた機械学習モデルを採用することもできる。HOIDの場合は、「ヒトのクラスと領域情報、商品(モノ)のクラスと領域情報、ヒトと商品の相互作用」が出力される。
【0035】
第二の機械学習モデル105は、訓練データに写っている商品の項目を特定するように訓練された機械学習モデルの一例である。例えば、第二の機械学習モデル105は、ゼロショット画像分類器により実現されてよい。この場合、第二の機械学習モデル105は、テキストのリストおよび画像を入力とし、テキストのリストのうち画像に対する類似度が最高であるテキストを当該画像のラベルとして出力する。
【0036】
ここで、上記のゼロショット画像分類器の例として、CLIP(Contrastive Language-Image Pre-training)が挙げられる。CLIPとは、画像およびテキストの複数種類、いわゆるマルチモーダルの特徴量空間への埋め込みを実現する。すなわち、CLIPでは、画像エンコーダおよびテキストエンコーダを訓練することにより、意味が近い画像およびテキストのペア間でベクトルの距離が近くなる埋め込みが実現される。例えば、画像エンコーダは、ViT(Vision Transformer)により実現されてもよいし、畳み込み系のニューラルネットワーク、例えばResNetなどにより実現されてもよい。また、テキストエンコーダは、GPT(Generative Pre-trained Transformer)ベースのTransformerにより実現されてもよいし、回帰型のニューラルネットワーク、例えばLSTM(Long Short-Term Memory)により実現されてもよい。
【0037】
映像データDB106は、セルフレジ50に設置されるカメラ30により撮像された映像データを記憶するデータベースである。例えば、映像データDB106は、セルフレジ50ごと、または、カメラ30ごとに、映像データを記憶する。
【0038】
座標位置DB107は、映像データから取得された商品の位置情報である座標位置を、時系列で記憶するデータベースである。例えば、座標位置DB107は、追跡された商品ごとに、当該商品に座標位置を時系列で記憶する。なお、座標位置の基準となる原点は、画像データの真ん中、画像データの隅(例えば左下の隅(角))など、任意に設定することができる。
【0039】
制御部110は、情報処理装置100全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部110は、機械学習部111、映像取得部112、領域抽出部113、座標位置特定部114、商品領域特定部115、不正検知部116、警告制御部117を有する。なお、機械学習部111、映像取得部112、領域抽出部113、座標位置特定部114、商品領域特定部115、不正検知部116、警告制御部117は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0040】
(機械学習)
機械学習部111は、訓練データDB103に記憶される各訓練データを用いて、第一の機械学習モデル104および第二の機械学習モデル105の機械学習を実行する処理部である。なお、第一の機械学習モデル104および第二の機械学習モデル105は、事前に機械学習されたものでもよく、機械学習部111は、機械学習済みの第一の機械学習モデル104および第二の機械学習モデル105が精度不足の場合のファインチューニングとして以下の処理を実行することもできる。
【0041】
まず、第一の機械学習モデル104の訓練について説明する。
図5は、第一の機械学習モデル104の機械学習を説明する図である。
図5では、第一の機械学習モデル104にHOIDを用いた例を図示している。
図5に示すように、機械学習部111は、訓練データの入力データをHOIDに入力し、HOIDの出力結果を取得する。この出力結果には、HOIDが検出したヒトのクラスと、モノのクラスと、ヒトとモノの相互作用などが含まれる。そして、機械学習部111は、訓練データの正解情報と、HOIDの出力結果との誤差情報を算出し、誤差が小さくなるように、誤差逆伝播によりHOIDのパラメータ更新を行う機械学習(訓練)を実行する。
【0042】
次に、第二の機械学習モデル105の訓練について説明する。
図6は、第二の機械学習モデル105の機械学習を説明する図である。
図6には、第二の機械学習モデル105の例として、CLIPモデル10が示されている。
図6に示すように、CLIPモデル10の訓練には、画像データ(以下では画像と記載する場合がある)およびテキストのペアが訓練データとして用いられる。このような訓練データには、インターネット上のWebページから画像および画像のキャプションとして記述されたテキストのペアが抽出されたデータセット、いわゆるWIT(WebImageText)を用いることができる。例えば、犬が撮影された写真、あるいは犬のイラストが描画された絵などの画像と、そのキャプションとして記述されたテキスト「犬の写真」とのペアが訓練データとされる。このようにWITを訓練データに用いることで、ラベル付けの作業を不要化すると共に大量の訓練データを獲得できる。
【0043】
これら画像およびテキストのペアのうち、画像が画像エンコーダ10Iへ入力されると共に、テキストがテキストエンコーダ10Tへ入力される。このように画像が入力された画像エンコーダ10Iは、当該画像を特徴量空間に埋め込むベクトルを出力する。一方、テキストが入力されたテキストエンコーダ10Tは、当該テキストを特徴量空間に埋め込むベクトルを出力する。
【0044】
例えば、
図6には、画像1およびテキスト1のペア、画像2およびテキスト2のペア、・・・、画像NおよびテキストNのN個のペアの訓練データを含むバッチサイズNのミニバッチが例示されている。この場合、N個のペアの画像およびテキストの各々を画像エンコーダ10Iおよびテキストエンコーダ10Tへ入力することにより、N×N個の埋め込みベクトルの類似度行列M1を得ることができる。なお、ここで言う「類似度」は、あくまで一例として、埋め込みベクトル間の内積やコサイン類似度であってよい。
【0045】
ここで、CLIPモデル10の訓練には、Webのテキストのキャプションの形式が様々であることからラベルが不定となるので、Contrastive objectiveと呼ばれる目的関数が用いられる。
【0046】
Contrastive objectiveでは、ミニバッチのi番目の画像であればi番目のテキストが正しいペアに対応するので、i番目のテキストを正例とする一方で、それ以外の全てのテキストが負例とされる。つまり、訓練データごとに1つの正例およびN-1個の負例が設定されるので、ミニバッチ全体ではN個の正例およびN2-N個の負例が生成されることになる。例えば、類似度行列M1の例で言えば、白黒の反転表示がなされたN個の対角成分の要素を正例とし、白地の表示がなされたN2-N個の要素が負例とされる。
【0047】
このような類似度行列M1の下、正例に対応するN個のペアの類似度を最大化すると共に、負例に対応するN2-N個のペアの類似度を最小化する画像エンコーダ10Iおよびテキストエンコーダ10Tのパラメータが訓練される。
【0048】
例えば、1番目の画像1の例で言えば、1番目のテキストを正例とし、2番目以降のテキストを負例とし、類似度行列Mの行方向に損失、例えばクロスエントロピー誤差を算出する。このような損失の計算をN個の画像ごとに実行することで、画像に関する損失が求まる。一方、2番目のテキスト2の例で言えば、2番目の画像を正例とし、2番目以外の全ての画像を負例とし、類似度行列Mの列方向に損失を算出する。このような損失の計算をN個のテキストごとに実行することで、テキストに関する損失が求まる。これら画像に関する損失およびテキストに関する損失の統計値、例えば平均を最小化するパラメータの更新が画像エンコーダ10Iおよびテキストエンコーダ10Tに実行される。
【0049】
このようなContrastive objectiveを最小化する画像エンコーダ10Iおよびテキストエンコーダ10Tの訓練により、訓練済みのCLIPモデル10(例えば第二の機械学習モデル105)が生成される。
【0050】
(映像取得)
映像取得部112は、カメラ30から映像データを取得する処理部である。例えば、映像取得部112は、セルフレジ50に設置されるカメラ30から映像データを随時取得し、映像データDB106に格納する。
【0051】
(領域抽出)
領域抽出部113は、映像取得部112により取得された映像データを第一の機械学習モデル104に入力することで、映像データの中から商品領域を抽出する処理部である。具体的には、領域抽出部113は、HOIDである第一の機械学習モデル104に映像データを入力することで、映像データの中から、人物の手を含む第一の領域と、商品を含む第二の領域と、第一領域と第二の領域の関係性を特定する。
【0052】
すなわち、領域抽出部113は、映像データ内において人物が行動の対象としている商品の領域を抽出する。例えば、領域抽出部113は、買い物かごから取り出した商品、人物が把持している商品、レジ袋にしまった商品の領域を抽出する。
【0053】
図7は、商品領域の抽出を説明する図である。
図7は、HOIDに入力される画像データと、HOIDの出力結果とが示されている。さらに、
図7には、ヒトのBboxが実線の枠で示されると共に、モノのBboxが破線の枠で示されている。
図7に示すように、HOIDの出力結果には、ヒトのBbox、モノのBbox、ヒトとモノの相互作用の確率値およびクラス名などが含まれる。これらのうちモノのBboxを参照して、領域抽出部113は、画像データからモノのBbox、すなわち
図7の破線の枠に対応する部分画像を切り出すことにより、人物が把持している商品の領域を抽出する。
【0054】
また、領域抽出部113は、人物が手で把持をしている商品が検出された場合に、当該商品を追跡する。すなわち、領域抽出部113は、映像データ内で商品領域が抽出されたあるフレーム以降の連続するフレームで、同じ商品に関する動作や同じ商品の領域を追跡する。例えば、領域抽出部113は、HOIDにより検出された個々の商品について、HOIDにより商品が検出されてからHOIDによりレジ袋に入れられた商品が検出されるまでの間、その商品を追跡する。そして、領域抽出部113は、追跡結果を記憶部102に格納する。
【0055】
(座標位置の特定)
座標位置特定部114は、領域抽出部113により抽出された商品領域の時系列の座標位置を特定して記憶部に格納する処理部である。具体的には、座標位置特定部114は、領域抽出部113による追跡が開始されて終了するまで、追跡された商品の商品領域の座標を時系列で取得する。例えば、座標位置特定部114は、追跡された商品の中心の座標、もしくは、追跡された商品の商品領域を特定する四隅の各座標を時系列で取得する。
【0056】
図8は、商品領域の座標位置の特定を説明する図である。
図8では、HOIDへの入力データである画像データ1から7と、画像データ1から7が順に入力されたときのHOIDの検出内容を図示している。なお、
図8において、画像データに上に書かれている説明は、画像データに写っている情報であって、HOIDへの入力としては未知の情報であり、HOIDによる検出対象の情報である。
【0057】
図8に示すように、領域抽出部113が、ヒトやモノも写っていない画像データ1を取得してHOIDに入力して出力結果を取得するが、ヒトとモノの検出結果はないと判定する。続いて、領域抽出部113が、買い物かごを持ったヒトが写っている画像データ2を取得してHOIDに入力し、出力結果にしたがって、ユーザ2(人物)とユーザ2が把持する買い物かごを検出する。
【0058】
続いて、領域抽出部113が、買い物かごから商品を取り出す人が写っている画像データ3を取得してHOIDに入力し、出力結果にしたがって、把持する商品を買い物かごの上に移動させたユーザ2の行動を検出する。すると、領域抽出部113が、商品を検出したことから追跡を開始する。ここで、座標位置特定部114は、買い物かごから取り出された商品の座標位置A1もしくは買い物かごから取り出された商品の商品領域の座標位置A1を取得する。なお、領域抽出部113は、買い物かごのみが検出された画像データ2のタイミングで、追跡を開始することもできる。その場合、領域抽出部113が、買い物も商品として、領域の抽出を行い、座標位置特定部114は、座標位置を取得する。
【0059】
続いて、領域抽出部113が、商品をスキャンする人が写っている画像データ4を取得してHOIDに入力し、出力結果にしたがって、把持する商品をスキャン位置に移動させたユーザ2の行動を検出する。ここで、座標位置特定部114は、把持される商品の座標位置A2もしくは把持される商品の商品領域の座標位置A2を取得する。
【0060】
続いて、領域抽出部113が、商品をレジ袋に入れる人が写っている画像データ5を取得してHOIDに入力し、出力結果にしたがって、把持するレジ袋に把持する商品を入れるユーザ2の行動を検出する。ここで、座標位置特定部114は、レジ袋に把持される商品の座標位置A3もしくはレジ袋に把持される商品の商品領域の座標位置A3を取得する。
【0061】
なお、領域抽出部113は、画像データ5の解析により、商品がレジ袋に入れられたことを検出したので、その商品に対する追跡を終了する。そして、座標位置特定部114は、追跡された商品に関する座標位置である座標位置A1、座標位置A2、座標位置A3を時系列で座標位置DB107に格納する。
【0062】
このようにして、座標位置特定部114は、商品に関する座標位置を特定し、座標位置の時系列データを生成して、座標位置DB107に格納する。
【0063】
(商品領域)
図3に戻り、商品領域特定部115は、人物がセルフレジ50に商品を登録する操作をしたタイミングを特定し、特定された操作のタイミングと、座標位置DB107に記憶された時系列の座標位置とに基づいて、セルフレジ50に登録された商品に関連する商品領域を特定する処理部である。
【0064】
例えば、商品領域特定部115は、座標位置DB107に記憶された時系列の座標位置の中から、人物がセルフレジ50に商品を登録する操作をしたタイミングの直前の座標位置に基づいて、商品領域を特定する。もしくは、商品領域特定部115は、座標位置DB107に記憶された時系列の座標位置の中から、人物がセルフレジ50に商品を登録する操作をしたタイミングの直後の座標位置に基づいて、商品領域を特定する。
【0065】
人物は、把持していた商品をセルフレジ50の周辺に置いた状態で、その商品のスキャンを実行せずに、セルフレジ50を操作して低額な商品を登録する不正行動を行うことが予想される。そこで、商品領域特定部115は、商品を把持していた人物がセルフレジ50の周辺に置いた商品の商品領域を、不正行動の判定対象として特定する。
【0066】
バーコードなし商品を購入するときには、人物がセルフレジ50を操作して、購入対象の商品を登録する。このとき、人物は、購入対象の商品がメロンであるにもかかわらず、メロンよりも低額であるバナナを購入対象の商品と登録する不正が考えられる。そこで、商品領域特定部115は、商品を把持していた人物がセルフレジ50の周辺に置いた商品の商品領域を、不正行動の判定対象として特定する。
【0067】
また、人物は、セット商品に付与されたバーコードの位置ではなく、セット商品に含まれる単品の商品に付与されているバーコードをセルフレジ50にスキャンさせて、単品の低額領域でセット商品を購入したことにする不正が考えられる。例えば、セット商品は、アルコール飲料入りの缶を6本纏めて持ち運べるように、包装材によって、3本ずつ2列に並んだ状態で集合包装する。このとき、アルコール飲料入りの複数の缶の集合を包装する包装材と、包装材に包装されたアルコール飲料入りの缶とのそれぞれにバーコードが付されている。人物は、包装材のバーコードではなく、包装材に包装されたアルコール飲料のバーコードをセルフレジ50にスキャンさせる不正が考えられる。セルフレジ50には、セット商品に含まれる単品の商品が登録されている。一方で、ユーザが把持した商品は、セット商品である。そこで、商品領域特定部115は、商品を把持していた人物がセルフレジ50の周辺に置いた商品の商品領域を、不正行動の判定対象として特定する。
【0068】
(商品を登録する操作)
ここで、セルフレジ50に商品を登録する操作を説明する。商品を登録する操作として、バーコードなし商品の一覧が表示された選択画面に対する操作を介して、商品の項目をセルフレジ50に登録する操作がある。また、バーコードが付された商品のバーコードをセルフレジ50がスキャンすることで、商品の項目をセルフレジ50に登録する操作がある。
【0069】
セルフレジ50は、バーコードのない商品についてのレジ登録は、人物の手動入力により行われる。セルフレジ50は、バーコードのない商品の項目が表示された選択画面の中から、商品の項目のレジ登録を受け付ける場合がある。例えば、セルフレジ50は、ユーザの選択画面へのタッチ操作に基づいて、バーコードのない商品の項目の一覧の中から、ユーザが選択した商品の項目をセルフレジ50の記録媒体に登録する。このとき、情報処理装置100の商品領域特定部115は、バーコードのない商品の項目がセルフレジ50に登録されたタイミングを基準に、商品の商品領域を特定する。
【0070】
セルフレジ50は、商品を登録する操作がされたことを示すスキャン情報の通知を、ネットワークを介して、情報処理装置100に送信する。商品領域特定部115は、セルフレジ50からのネットワークを介したスキャン情報の通知に基づいて、登録されたタイミングを識別する。具体的には、バーコードのない商品の項目がセルフレジ50に登録されたときは、商品領域特定部115は、バーコードのない商品の項目がセルフレジ50に登録されたタイミングを基準に、記憶された時系列の座標位置の中から商品の商品領域を特定する。なお、商品領域特定部115は、セルフレジ50のディスプレイへのタッチ操作がされたタイミングを基準に、商品の商品領域を特定してもよい。
【0071】
一方で、セルフレジ50は、バーコードのある商品についてのレジ登録は、バーコードのスキャンにより行われる。セルフレジ50は、バーコードをスキャンすることで、商品の項目を識別する。そして、セルフレジ50は、識別された商品の項目をセルフレジ50の記録媒体に登録する。このとき、情報処理装置100の商品領域特定部115は、バーコードのスキャンを介して、商品の項目がセルフレジ50に登録したタイミングを基準に、商品の商品領域を特定する。
【0072】
セルフレジ50は、商品を登録する操作がされたことを示すスキャン情報の通知を、ネットワークを介して、情報処理装置100に送信する。商品領域特定部115は、セルフレジ50からのネットワークを介したスキャン情報の通知に基づいて、登録されたタイミングを識別する。具体的には、バーコードのある商品の項目がセルフレジ50に登録されたときは、商品領域特定部115は、バーコードのある商品の項目がセルフレジ50に登録されたタイミングを基準に、記憶された時系列の座標位置の中から商品の商品領域を特定する。
【0073】
図9は、不正行動の判定対象となる情報の特定を説明する図である。
図9は、
図8と同様、HOIDへの入力データである画像データn以降の各画像データと、画像データn以降の各画像データが順に入力されたときのHOIDの検出内容を図示している。
【0074】
図9に示すように、領域抽出部113が、買い物かごから商品を取り出す人が写っている画像データnを取得してHOIDに入力し、出力結果にしたがって、把持する商品を買い物かごの上に移動させたユーザ2の行動を検出する。すると、領域抽出部113が、商品を検出したことから追跡を開始する。ここで、座標位置特定部114は、追跡中の商品に関する商品領域の座標位置Mを取得する。
【0075】
続いて、領域抽出部113が、商品を把持する人が写っている画像データn1を取得してHOIDに入力し、出力結果にしたがって、買い物かごから商品を取り出して把持するユーザ2の行動を検出する。ここで、座標位置特定部114は、追跡中の商品であって、把持される商品に関する商品領域の座標位置M1を取得する。
【0076】
続いて、領域抽出部113が、人物がセルフレジ50周辺で把持する商品が写っている画像データn2を取得してHOIDに入力し、出力結果にしたがって、人物がセルフレジ50周辺に商品を置いたユーザ2の行動を検出する。ここで、座標位置特定部114は、追跡中の商品であって、置かれた商品に関する商品領域の座標位置M2を取得する。
【0077】
続いて、領域抽出部113が、人物がセルフレジ50周辺に置いた商品が写っている画像データn3を取得してHOIDに入力し、出力結果にしたがって、セルフレジ50周辺に置かれたままの商品を検出する。ここで、座標位置特定部114は、追跡中の商品であって、置かれたままの商品に関する商品領域の座標位置M3を取得する。
【0078】
さらに続いて、領域抽出部113が、人物が商品を把持する画像データn4を取得してHOIDに入力し、出力結果にしたがって、セルフレジ50周辺に置かれた商品を把持するユーザ2の行動を検出する。ここで、座標位置特定部114は、追跡中の商品であって、把持された商品に関する商品領域の座標位置M4を取得する。
【0079】
その後、領域抽出部113が、商品をレジ袋に入れる人が写っている画像データn5を取得してHOIDに入力し、出力結果にしたがって、把持するレジ袋に把持する商品を入れるユーザ2の行動を検出する。そして、座標位置特定部114が、追跡中の商品であって、レジ袋に入った商品に関する商品領域の座標位置M4を取得し、領域抽出部113による追跡が終了する。
【0080】
このように座標位置の時系列データが収集されている状況で、商品領域特定部115は、セルフレジ50からスキャン結果を受信する。そして、商品領域特定部115は、スキャン結果に含まれるスキャン時刻の直前である座標位置M3と、スキャン時刻の直後である座標位置M4とを特定する。この結果、商品領域特定部115は、人物がセルフレジ50に商品を登録する操作をしたタイミングに該当する商品の座標位置を座標位置M3または座標位置M4と特定する。
【0081】
次に、商品領域特定部115は、特定された座標位置に該当する領域であって、不正行動の判定対象とする商品領域の画像データを特定する。ここで、不正行動の判定対象とする商品領域の特定例を、座標位置M3を用いた例で説明するが、座標位置M4を用いてもよい。
【0082】
例えば、商品領域特定部115は、座標位置の特定元となった画像データから、座標位置を含む商品の領域を、不正行動の判定対象として特定する。
図10は、不正行動を判定する商品領域の特定を説明する図である。
図10に示すように、商品領域特定部115は、特定元の画像データである画像データn3内で、座標位置M3を含む商品C2の領域を特定する。そして、商品領域特定部115は、画像データn3から商品C2の領域を含む画像データを、不正行動の判定対象とする商品領域の画像データとして抽出する。
【0083】
例えば、商品領域特定部115は、HOIDにより抽出された複数の商品の領域のうち、特定された座標位置を含む商品の領域を、不正行動の判定対象として特定することもできる。
図11は、HOIDを用いた不正行動を判定する商品領域の特定を説明する図である。
図11に示すように、商品領域特定部115は、HOIDにより画像データn3から抽出された人物領域、商品C1の領域、商品C2の領域のうち、座標位置M3を含む商品C2の領域を特定する。そして、商品領域特定部115は、画像データn3から商品C2の領域を含む画像データを、不正行動の判定対象とする商品領域の画像データとして抽出する。
【0084】
例えば、商品領域特定部115は、時系列の座標位置の分布に基づいて、不正行動の判定対象とする商品領域を特定することもできる。
図12は、分布を用いた不正行動を判定する商品領域の特定を説明する図である。
図12に示すように、商品領域特定部115は、追跡対象の商品の各座標位置(座標位置M、座標位置M1・・・)をx軸、y軸にプロットする。そして、商品領域特定部115は、クラスタリングを実行し、最も多くの座標位置を含むクラスタを特定する。その後、商品領域特定部115は、クラスタ内の中心、もしくは、クラスタ内の全座標位置の平均値などにより、座標位置Sを算出する。そして、商品領域特定部115は、画像データn3から座標位置Sを含む画像データを、不正行動の判定対象とする商品領域の画像データとして抽出する。なお、抽出する画像データの大きさ(領域の大きさ)は、予め設定しておくことができる。
【0085】
なお、商品領域特定部115は、追跡されている商品の全座標位置の分布に限らず、全座標位置のうち、人物がセルフレジ50に商品を登録する操作をしたタイミングより前の各座標位置の分布を用いることもできる。
図12の例では、商品領域特定部115は、座標位置M、座標位置M1、座標位置M2、座標位置M3の座標位置の分布を用いることもできる。
【0086】
(不正行動の検知)
図3に戻り、不正検知部116は、セルフレジ50に登録された商品に関連する商品領域を第二の機械学習モデル105に入力することで商品の項目を特定し、人物がセルフレジ50に登録した商品の項目と、第二の機械学習モデル105を用いて特定された商品の項目とが一致しないときに、不正な行動を検知する処理部である。すなわち、不正検知部116は、スキャンされた商品と、映像から特定された商品とが異なる場合に、不正な行動が発生したと判定する。
【0087】
図13は、商品項目の特定を説明する図である。
図13に示すように、CLIPモデル10の画像エンコーダ10Iには、商品領域特定部115により不正行動の判定対象と特定された商品領域の画像データ20が入力される。この結果、画像エンコーダ10Iは、商品領域の画像データ20の埋め込みベクトルI
1を出力する。
【0088】
一方、CLIPモデル10のテキストエンコーダ10Tには、予め用意されたテキスト「メロン」、「米」、「ワイン」および「ビール」などがクラスキャプションのリストとして入力される。このとき、テキスト「メロン」、「米」、「ワイン」および「ビール」をそのままテキストエンコーダ10Tへ入力することもできるが、推論時のクラスキャプションの形式を訓練時のクラスキャプションの形式に側面から“Prompt Engineering”を行うことができる。例えば、“{物体}の写真”の{物体}の部分に商品の属性に対応するテキスト、例えば「飲み物」を挿入して、“飲み物の写真”として入力することもできる。
【0089】
この結果、テキストエンコーダ10Tは、テキスト「メロン」の埋め込みベクトルT1、テキスト「米」の埋め込みベクトルT2、テキスト「ワイン」の埋め込みベクトルT3、・・・、テキスト「ビール」の埋め込みベクトルTNを出力する。
【0090】
そして、商品領域の画像データ20の埋め込みベクトルI1と、テキスト「メロン」の埋め込みベクトルT1、テキスト「米」の埋め込みベクトルT2、テキスト「ワイン」の埋め込みベクトルT3およびテキスト「ビール」の埋め込みベクトルTNとの間で類似度が算出される。
【0091】
図13に白黒の反転表示で示す通り、本例では、商品領域の画像データ20の埋め込みベクトルI
1と、テキスト「ワイン」の埋め込みベクトルT
1との類似度が最大となる。このため、CLIPモデル10は、商品領域の画像データ20のクラスの予測結果として「ワイン」を出力する。
【0092】
次に、不正検知部116は、このようにして第二の機械学習モデル105を用いて特定された商品項目「ワイン」と、セルフレジ50に登録された商品項目とを比較して、不正な行動が発生したか否かを判定する。
【0093】
図14は、不正な行動の検出を説明する図である。
図14に示すように、不正検知部116は、
図13に示した方法により、映像データから商品項目「ワイン」を特定する。一方で、不正検知部116は、セルフレジ50に登録された商品項目「バナナ」を、セルフレジ50から取得する。そして、不正検知部116は、商品項目が不一致なので、不正な行動が発生したと判定し、セルフレジ50の識別子などを含むアラーム報知指示を、警告制御部117に通知する。
【0094】
(アラート報知)
警告制御部117は、不正検知部116により不正な行動(不正な動作)が検知された場合に、アラートを生成して、アラートの報知制御を実行する処理部である。例えば、警告制御部117は、人物がセルフレジ50に登録した商品が異常であることを示すアラートを生成して、セルフレジ50や管理者端末60に出力する。
【0095】
図15は、セルフレジ50へのアラート表示例を示す図である。
図15には、バナナトリック検出時にセルフレジ50に表示されるアラートが示されている。
図15に示すように、セルフレジ50のタッチパネル51には、アラートウィンドウ230が表示される。このアラートウィンドウ230には、手動入力を介してレジ登録された商品アイテム「バナナ」と、第二の機械学習モデル105(例えば、ゼロショット画像分類器)の画像解析により特定された商品アイテム「ワイン」とが対比できる状態で表示される。この他、アラートウィンドウ230には、訂正入力のやり直しを促す通知を含めることができる。このようなアラートウィンドウ230の表示によれば、「ワイン」を手動入力すべきレジ登録の代わりに「バナナ」の手動入力でレジ登録するバナナトリックの検知をユーザに警告できる。このため、バナナトリックによる精算の中止を促すことができる結果、バナナトリックによる店舗の被害を抑制できる。なお、警告制御部117は、
図15に示したアラートの内容を音声で出力することもできる。
【0096】
また、警告制御部117は、セルフレジ50に設置されている警告灯を点灯させたり、管理者端末60に該当セルフレジ50の識別子と不正発生の可能性があるメッセージとを表示させたり、店内にいる店員の端末に該当セルフレジ50の識別子と不正発生と確認の必要性を示すメッセージとを送信させたりする。
【0097】
図16は、店員へのアラート表示例を示す図である。
図16には、バナナトリック検出時に管理者端末60の表示部に表示されるアラートが示されている。
図16に示すように、管理者端末60の表示部には、アラートウィンドウ250が表示される。このアラートウィンドウ250には、手動入力を介してレジ登録された商品アイテム「バナナ」及び価格「350円」と、画像解析により特定された商品アイテム「ワイン」及び価格「4500円」とが対比できる状態で表示される。さらに、アラートウィンドウ250には、不正種別「バナナトリック」と、バナナトリックが発生しているレジ番号「2」と、バナナトリックでの精算で発生する被害予想額「4150円(=4500円-350円)」とが表示される。この他、アラートウィンドウ250には、レジ番号「2」のセルフレジ50を利用するユーザ2の顔などが撮影された顔写真の表示、店内放送、あるいは警察などへの通報などのリクエストを受け付けるGUI部品251~253などが表示される。このようなアラートウィンドウ250の表示によれば、バナナトリックの被害発生の報知、被害度合いの把握、さらには、被害への各種の対策の提示を実現できる。このため、ユーザ2によるバナナトリックへの対応を促すことができる結果、バナナトリックによる店舗の被害を抑制できる。
【0098】
また、警告制御部117は、セルフレジ50に商品を登録する行動の異常に関するアラートを生成した場合に、セルフレジ50が有するカメラ30にて人物を撮影させ、撮影された人物の画像データと、アラートを対応づけて記憶部に記憶する。このようにすることで、不正な行動を行う不正な人物の情報を収集することができるので、店舗の入り口で不正な行動を行ったことがある来店者を検知するなど、不正行動を未然に防ぐための各種施策に役立てることができる。また、警告制御部117は、不正な人物の画像データを用いた教師あり学習により、機械学習モデルを生成することで、セルフレジ50を使用する人物の画像データから不正な人物の検出や店舗の入り口での不正な人物の検出などを行うことができる。また、警告制御部117は、不正な行動を行った人物のクレジットカードの情報をセルフレジ50から取得して保持することもできる。
【0099】
(精算処理)
ここで、セルフレジ50の精算処理を説明する。セルフレジ50は、登録された商品の項目の精算を受け付ける。セルフレジ50は、商品の精算に用いられる金銭を受け付けるとともに、釣銭を払い出す。セルフレジ50は、現金だけでなく各種のクレジットカード、プリペイドカードなどを用いて、精算処理を行なってもよい。なお、セルフレジ50は、商品を登録する行動の異常に関するアラートがあるときは、精算処理を停止する。
【0100】
また、セルフレジ50は、年齢制限のある商品の登録を受け付けたときに、ユーザの個人情報をスキャンし、スキャンした結果に基づいて、セルフレジ50に登録された商品の精算処理を実行する。
【0101】
セルフレジ50は、商品を登録する操作として、アルコール飲料、たばこ等の年齢制限のある商品の登録を受け付ける場合がある。セルフレジ50は、商品のバーコードをスキャンすることで、年齢制限のある商品を識別する。セルフレジ50は、ユーザのマイナンバーカードまたはマイナンバーカード機能を有する端末に記憶された個人情報をスキャンし、生年月日から、ユーザの年齢を特定する。そして、セルフレジ50は、ユーザの年齢が、年齢制限のある商品の販売対象の年齢であるときに、ユーザの購入商品の精算を許可することができる。一方で、セルフレジ50は、ユーザの年齢が、年齢制限のある商品の販売対象の年齢でないときに、登録された商品は販売できないことを示すアラートを出力する。これにより、セルフレジ50は、ユーザの年齢制限を考慮して、アルコール飲料、たばこ等の販売の許可をすることができる。
【0102】
<情報処理装置100の処理の流れ>
図17は、情報処理装置100の処理の流れを示すフローチャートである。
図17に示すように、情報処理装置100は、映像データを随時取得する(S101)。
【0103】
続いて、情報処理装置100は、不正検知の処理開始が指示されると(S102:Yes)、映像データ内のフレームを取得し(S103)、第一の機械学習モデル104を用いて、商品の領域を抽出する(S104)。
【0104】
ここで、情報処理装置100は、検出された商品がまだ追跡中ではない場合(S105:No)、追跡を開始する(S106)。一方、情報処理装置100は、検出された商品がすでに追跡中である場合(S105:Yes)、もしくは、追跡が開始された場合、座標位置を特定し、時系列データとして保持する(S107)。
【0105】
ここで、情報処理装置100は、追跡を継続する間(S108:No)、S103以降を繰り返し、追跡を終了すると(S108:Yes)、セルフレジ50からスキャン時刻や商品項目を含むスキャン情報(スキャン結果)を取得する(S109)。
【0106】
続いて、情報処理装置100は、スキャン情報に基づき、スキャンタイミングを特定し(S110)、スキャンタイミングに基づき、不正行動の判定対象となる商品領域を特定する(S111)。
【0107】
そして、情報処理装置100は、商品領域の画像データを第二の機械学習モデル105に入力して、商品項目を特定する(S112)。
【0108】
ここで、情報処理装置100は、スキャン情報内の商品項目と、第二の機械学習モデル105を用いて特定した商品項目とが一致しない場合に(S113:No)、アラートを報知し(S114)、一致する場合に(S113:Yes)、処理を終了する。
【0109】
<セルフレジ50の処理の流れ>
図18は、セルフレジ50の処理の流れを示すフローチャートである。
図18に示すように、セルフレジ50は、ユーザから商品を登録する操作を識別する。具体的には、セルフレジ50は、バーコードなし商品の一覧が表示された選択画面に対する操作を介して、商品を登録する操作を識別する。また、セルフレジ50は、バーコードが付された商品のバーコードをスキャンすることで、商品を登録する操作を識別する(S201)。続いて、セルフレジ50は、商品項目とスキャン時刻とを特定する。具体的には、セルフレジ50は、商品を登録する操作に基づいて、商品項目を特定する。また、セルフレジ50は、商品を登録する操作に基づいて、商品を登録する操作の識別された時刻を、スキャン時刻として特定する(S202)。セルフレジ50は、商品項目とスキャン時刻とを含む、スキャン情報を、情報処理装置100に送信する(S203)。そして、セルフレジ50は、情報処理装置100から報知されたアラートがあるか否かを判定する。セルフレジ50は、アラートがあると判定された場合、S205に移行する(S204:Yes)。一方で、セルフレジ50は、アラートがないと判定された場合、S206に移行する(S204:No)。セルフレジ50は、商品項目の精算処理を中止する(S206)。セルフレジ50は、商品項目の精算処理を実行する(S205)。
【0110】
<効果>
上述したように、情報処理装置100は、人物が商品を登録する会計機を含む所定のエリアの映像データを取得し、映像データを第一の機械学習モデル104に入力することで、映像データの中から商品領域を抽出する。情報処理装置100は、抽出した商品領域の時系列の座標位置を記憶し、人物がセルフレジ50に商品を登録する操作をしたタイミングを特定し、特定された操作のタイミングと時系列の座標位置とに基づいて、セルフレジ50に登録された商品に関連する商品領域を特定する。この結果、情報処理装置100は、映像データから不正対象の商品の領域を特定することができるので、人物の会計が終了する前や人物が退店する前に該当商品を抑えることもでき、セルフレジ50における不正を検出することができる。
【0111】
また、情報処理装置100は、セルフレジ50に登録された商品に関連する商品領域を第二の機械学習モデル105に入力することで、商品の項目を特定する。情報処理装置100は、人物がセルフレジ50に登録した商品の項目と、第二の機械学習モデル105を用いて特定された商品の項目とが一致しないときに、アラートを生成する。したがって、情報処理装置100は、高額商品の代わりに低額商品のバーコードをスキャンさせる不正を検知することができる。
【0112】
また、情報処理装置100は、時系列の座標位置の中から、人物がセルフレジ50に商品を登録する操作をしたタイミングの直前もしくは直後の座標位置に基づいて、不正行動の判定対象となる商品領域を特定する。したがって、情報処理装置100は、商品を登録する操作をしたタイミング前後で把持していた商品を正確に特定することができるので、不正の検知精度を向上させることができる。
【0113】
また、情報処理装置100は、時系列の座標位置の分布から、不正行動の判定対象となる商品領域を特定する。したがって、情報処理装置100は、画像データが不鮮明など画像データでの判定が難しい状況であっても、商品を登録する操作をしたタイミング前後で把持していた商品を正確に特定することができる。
【0114】
また、情報処理装置100は、人物がセルフレジ50に登録した商品が異常であることを示すアラートを生成する。したがって、情報処理装置100は、不正な行動を起こした人物が店外に出るまでに事情を聞くなどの対応を行うことができる。
【0115】
また、情報処理装置100は、セルフレジ50に商品を登録する行動の異常に関するアラートが生成された場合に、セルフレジ50に位置する人物にアラート内容の音声または画面を、セルフレジ50から出力する。したがって、情報処理装置100は、不可抗力のミスであっても故意の不正であっても、スキャン中の人物に直接注意を促すことができるので、ミスや故意の不正を削減することができる。
【0116】
また、情報処理装置100は、セルフレジ50に商品を登録する行動の異常に関するアラートが生成されたときに、セルフレジ50の有するカメラにて、人物を撮影させ、撮影された人物の画像データと、アラートを対応づけて記憶部に記憶する。したがって、情報処理装置100は、不正な行動を行う不正な人物の情報を収集して保持することができるので、来店者を撮像するカメラの撮像データから不正な人物の来店を検出することで、不正行動を未然に防ぐための各種施策に役立てることができる。また、情報処理装置100は、不正な行動を行った人物のクレジットカードの情報をセルフレジ50から取得して保持することもできるので、不正な行動が確定した場合、クレジットカード会社を介して料金を請求することができる。
また、情報処理装置100は、スキャン位置や買い物かごの位置については、位置を検出する別の機械学習モデル、物体検知技術、位置検出技術など公知の技術を用いることもできる。例えば、情報処理装置100は、フレーム(画像データ)間差分、フレームの時系列の変化に基づき、買い物かごの位置を検出することができるので、それを用いて検出してもよく、それを用いて別のモデルを生成してもよい。また、情報処理装置100は、予め買い物かごの大きさを指定しておくことで、画像データからその大きさの物体が検出された場合に、買い物かごの位置として識別することもできる。なお、スキャン位置は、ある程度固定された位置なので、情報処理装置100は、管理者等が指定した位置をスキャン位置として識別することもできる。
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。例えば、領域抽出部113と座標位置特定部114とが統合されてもよい。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、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を備えなくてもよい。