以下、本発明を具体化した実施形態による不正防止システム、及び不正防止プログラムについて、図面を参照して説明する。図1は、本発明の第1の実施形態による不正防止システム1の概略のハードウェア構成を示すブロック構成図である。本実施形態では、分析ボックス3(請求項における「コンピュータ」)、及びこの分析ボックス3に接続されるネットワークカメラ(IP(Internet Protocol)カメラ)2(以下、「カメラ2」と略す)が、チェーン店等の店舗S内に配される場合の例について説明する。上記のカメラ2は、請求項における撮影手段に相当する。図1に示すように、不正防止システム1は、店舗S内に、上記の分析ボックス3とカメラ2に加えて、ハブ5と、ルータRと、タブレット端末6と、検証用端末7とを備えている。
上記の分析ボックス3は、LAN(Local Area Network)4とハブ5とを介して、複数のカメラ2と接続され、これらのカメラ2の各々から入力された画像を分析する。具体的には、分析ボックス3は、カメラ2の各々から入力された画像に対する物体検出処理(例えば、商品の検出処理や、顧客の顔の検出処理)と、この物体検出処理で検出された物体の画像に対する物体認識処理(例えば、検出した商品の特定処理、顧客の顔画像のベクトル化処理、及び顧客の骨格検出処理等)とを行う。
タブレット端末6は、いわゆるサッキング・コーナーSC(店舗における、ビニール袋や紙袋に袋詰めするための場所)に配置されて、顧客(ユーザ)の認証や、顧客による決済の指示操作を受け付ける。詳細については後述するが、このタブレット端末6は、本実施形態におけるセルフレジ30の一部を構成する。なお、本明細書及び請求項において、「セルフレジ」とは、顧客が購入しようとする商品の入力と精算を自分で行うセルフチェックアウト方式のレジを意味する。検証用端末7は、上記の分析ボックス3による分析結果(物体認識結果)に基づいて、後述するAI分析サーバ8が、顧客が不正行動を行ったと判定した時に、オペレータが、上記の判定結果の検証結果を入力するためのパーソナル・コンピュータ等の情報機器である。
また、不正防止システム1は、クラウドC上のAI分析サーバ8、管理サーバ10、及び学習サーバ9を備えている。AI分析サーバ8は、分析ボックス3からの物体認識結果に基づいて、例えば、各店舗内における人物の行動を分析し、分析結果の情報を、顧客の不正防止を含む防犯や、マーケティング等の種々の用途のアプリケーションが使い易いデータに変換して出力する。
上記の管理サーバ10は、各店舗に配された多数の分析ボックス3、及びこれらの分析ボックス3に接続されたカメラ2の管理を行う。具体的には、管理サーバ10は、各店舗の分析ボックス3へのアプリパッケージのインストールや、これらの分析ボックス3に接続されたカメラ2の起動及び停止等の制御を行う。なお、このアプリパッケージは、数種類の学習済の物体検出用ニューラルネットワークモデル(以下、「物体検出用NNモデル」という)と、数種類の学習済の物体認識用ニューラルネットワークモデル(以下、「物体認識用NNモデル」という)と、これらのニューラルネットワークモデル(以下、「NNモデル」という)の使い方(処理の順番)を記載した制御用スクリプトとを含んだパッケージ・プログラムである。
上記の学習サーバ9の詳細については後述するが、この学習サーバ9は、顧客が購入しようとする商品の特定時に商品が位置するべき所定の領域を撮影した画像に基づいて、上記の所定の領域に入り込んだ商品を特定する物体認識用NNモデル(以下、「商品特定用NNモデル」という)の再学習用データセットを生成する機能と、この生成後の再学習用データセットを用いて、上記の商品特定用NNモデルの再学習を行う機能とを有している。この再学習が済むと、再学習後の新しいバージョンの商品特定用NNモデルを含むアプリパッケージが、学習サーバ9から、管理サーバ10を介して、分析ボックス3にインストールされる。
次に、図2を参照して、分析ボックス3のハードウェア構成について説明する。分析ボックス3は、装置全体の制御及び各種演算を行うCPU11と、各種のデータやプログラムを格納するハードディスク12と、RAM(Random Access Memory)13と、DNN推論用プロセッサである推論チップ(以下、「チップ」と略す)14a〜14hと、通信制御IC15とを備えている。CPU11は、一般的な汎用CPU、又は多数の映像ストリームを同時処理するため並列処理性能を高めるように設計されたCPUである。また、ハードディスク12に格納されるデータには、カメラ2の各々から入力された映像ストリーム(のデータ)をデコードした後の映像データ(フレーム画像のデータ)が含まれ、ハードディスク12に格納されるプログラムには、上記のアプリパッケージ17(請求項及び図5中の「不正防止プログラム」に相当)に加えて、図5の説明で述べる分析ボックスOS54のプログラムが含まれている。また、アプリパッケージ17(不正防止プログラム)には、上記の学習サーバ9からインストールされた商品特定用NNモデル18(請求項における「第1の物体認識用機械学習済モデル」)が含まれている。
上記の(推論)チップ14a〜14hは、DNN(Deep Neural Networks)推論に最適化されたプロセッサ(推論専用チップ)であることが望ましいが、一般的な用途に用いられる汎用のGPU(Graphics Processing Unit)、又はその他のプロセッサであってもよい。また、上記の各チップ14a〜14hは、1つのボードコンピュータ上に複数のチップ(推論用プロセッサ)が集積(搭載)されたデバイスであってもよい。
図2に示すように、上記の(推論)チップ14a〜14hは、PCI Express又はUSBにより、CPU11に接続される。また、上記の通信制御IC15は、Ethernet規格のLANへの接続用のポートであるLANポート16を有している。
図3は、図1中の分析ボックス3におけるCPU11の機能ブロックを示す。分析ボックス3は、機能ブロックとして、商品特定部21と、再特定部22と、ID付与部23と、プロセッサ割当部24と、骨格検出部25とを備えている。上記の商品特定部21と再特定部22とは、それぞれ、請求項における商品特定手段と再特定手段とに相当する。
上記の商品特定部21は、顧客が商品を、上記の商品の特定時に商品が位置するべき所定の領域に移動させたときに、上記の所定の領域を撮影可能な一つ以上の場所に設置された一つ以上のカメラ2で撮影した画像を用いて、商品特定用NNモデル18により上記の所定の領域に入り込んだ商品を特定する。再特定部22は、商品特定部21による商品の特定の精度が所定値以下の場合は、この商品のバーコードをスキャンさせるように、顧客に促す。ID付与部23は、上記のアプリパッケージ(図5の不正防止プログラム55)に含まれるベクトル化モデルを利用して、同じ顧客の顔か否かを識別して、この識別結果に基づいて、人物IDを付与する。具体的には、分析ボックス3のCPU11のID付与部23は、上記のベクトル化モデルを用いて、異なるフレーム画像に映っていた顔の画像をベクトル化し、これらのベクトルに基づいて、これらの画像の類似度に基づく距離を求める。そして、この距離に基づいて、これらの画像に映っていた顔が、同じ顧客の顔か否かを識別する。すなわち、分析ボックス3のID付与部23は、同じカメラが撮影した異なるフレーム画像間の人(顧客)の同定を行い、同じ顧客に、同じローカルID(同じカメラによる撮影画像内の顧客のID)を付与する。
上記のプロセッサ割当部24は、アプリパッケージの各インスタンスに含まれる各NNモデルの推論処理に必要な推論時間と使用頻度とに基づいて、複数のチップ14のうち、各NNモデルにおける推論処理に用いるチップ(推論用プロセッサ)の割り当てを行う。骨格検出部25は、各顧客の店内行動を推定するために、各カメラ2のフレーム画像に映り込んだ各顧客の骨格を検出する。
次に、図4を参照して、AI分析サーバ8のハードウェア構成について説明する。AI分析サーバ8は、装置全体の制御及び各種演算を行うCPU31と、各種のデータやプログラムを格納するハードディスク32(不正情報保持手段、及び顔認証情報記憶手段)と、RAM(Random Access Memory)33と、ディスプレイ34と、操作部35と、通信部36とを備えている。AI分析サーバ8のCPU31は、機能ブロックとして、行動追跡部41と、不正判定部42と、通知部43と、検証部44と、顔認証情報生成部45と、再来店検出部46とを備えている。行動追跡部41、不正判定部42、通知部43、検証部44、顔認証情報生成部45、再来店検出部46は、それぞれ、請求項における行動追跡手段、不正判定手段、通知手段、検証手段、顔認証情報生成手段、再来店検出手段に相当する。
行動追跡部41は、店内の各所に設置されたカメラ2で撮影した画像を用いて、顧客の店内における行動を追跡して、顧客の店内行動情報(図10に示す行動リスト88等)を生成する。不正判定部42は、分析ボックス3のCPU11における再特定部22が顧客にバーコードのスキャンを促したときに、顧客によるバーコードのスキャン結果、及び顧客の店内行動情報等を用いて、顧客が不正行動を行ったか否かを判定する。通知部43は、不正判定部42により顧客が不正行動を行ったと判定されたときに、顧客と店員の少なくともいずれかに、所定の通知(不正が行われた可能性がある旨の通知)を行う。検証部44は、不正判定部42により顧客が不正行動を行ったと判定されたときに、顧客が上記の不正行動を行ったと思われる時刻に、上記の所定の領域を撮影可能な場所に設置されたカメラ2(図6及び図8中のカメラ2aとカメラ2b)により撮影された画像と、行動追跡部41が生成した顧客の店内行動情報とを検証用端末7の画面に表示させて、不正判定部42による判定結果に対する、(検証用端末7を用いて入力された)オペレータの検証結果を受け付ける。
顔認証情報生成部45は、ハードディスク32に保持された不正情報47に対応する不正行動を行った顧客の顔画像から、顧客の顔認証のための顔認証情報を生成する。顔認証情報生成部45により生成された、不正行動を行った顧客の顔認証情報は、ハードディスク32に記憶される。再来店検出部46は、カメラ2により撮影した新たに来店した顧客の顔画像から生成された、新たに来店した顧客の顔認証情報と、ハードディスク32に記憶された不正行動を行った顧客の顔認証情報48とを比較することにより、不正行動を行った顧客を再来店時に検出する。
また、AI分析サーバ8のハードディスク32は、上記の不正行動を行った顧客の顔認証情報48に加えて、不正情報47を記憶している。この不正情報47は、上記の不正判定部42による判定結果に対するオペレータの検証結果が、顧客が不正行動を行ったという検証結果である場合に、検証部44により受け付けられた検証結果を含む顧客の情報である。
次に、図5を参照して、学習サーバ9のハードウェア構成と、学習サーバ9による商品特定用NNモデル18の再学習の仕組みについて説明する。学習サーバ9は、装置全体の制御及び各種演算を行うCPU61と、各種のデータやプログラムを格納するハードディスク62と、RAM(Random Access Memory)63と、ディスプレイ64と、操作部65と、通信部66とを備えている。CPU61は、機能ブロックとして、再学習用データセット生成部67と、再学習部69とを備えている。上記の再学習用データセット生成部67は、請求項における再学習用データセット生成手段に相当する。
上記のハードディスク62には、商品特定用NNモデル18の再学習用データセット68が含まれている。上記の学習サーバ9のCPU61の再学習用データセット生成部67は、分析ボックス3の再特定部22が顧客にバーコードのスキャンを促したときに、顧客によるバーコードのスキャンで得られた商品再特定情報(JANコード又は商品名)と、図6及び図8中のカメラ2aとカメラ2bで撮影した画像から検出した商品の部分の画像である商品画像と、分析ボックス3の商品特定部21による特定結果である商品特定情報(商品分類用の情報)とを分析ボックス3から受信して、ハードディスク62に格納しておく。そして、ハードディスク62に格納しておいた、上記の商品再特定情報と、商品画像と、商品特定情報とを組み合わせて、上記の商品特定用NNモデル18の再学習用データセット68を自動生成する。そして、学習サーバ9のCPU61の再学習部69は、上記の再学習用データセット生成部67により生成された再学習用データセット68を用いて、上記の商品特定用NNモデル18の再学習を行う。
次に、図5を参照して、不正防止システム1において、管理サーバ10が果たす機能の概要について説明する。管理サーバ10は、そのハードディスク51に、アプリパッケージを格納したアプリケーションDB52を格納している。アプリケーションDB52に格納されているアプリパッケージは、上記の商品特定用NNモデル18を含む、学習済の各種のNNモデルと、これらのNNモデルの処理の順番を記載した制御用スクリプトとを含んでいる。このアプリパッケージは、アプリ配信部53により分析ボックス3に配信される。
分析ボックス3は、管理サーバ10から受信した上記のアプリパッケージを、図5に示す不正防止プログラム55としてインストールする。また、分析ボックス3は、管理サーバ10から、分析ボックスOS54も受信する。この分析ボックスOS54は、分析ボックス3内の不正防止プログラム55等のアプリケーションの制御を行うと共に、管理サーバ10との送受信を行う。なお、上記の不正防止プログラム55は、図3中における商品特定部21と、再特定部22と、ID付与部23と、骨格検出部25に相当する処理を行うためのアプリパッケージである。
図6は、図1中のサッキング・コーナーSCを示す。第1の実施形態による不正防止システム1では、セルフレジ30は、サッキング・コーナーSCに設けられている。図6及び図8に示すように、セルフレジ30において、商品特定用(商品入力(スキャン)用)のカメラ2a,2bは、顧客が、買い物かご73に入れた商品をビニール袋74に移す際に、商品が通るであろう所定領域75(請求項における「商品の特定時に商品が位置するべき所定の領域」に相当)を撮影可能な場所(所定領域75の斜め上方と斜め下方)に配設されている。
次に、図6を参照して、第1の実施形態による不正防止システム1におけるセルフレジ30の仕組み(商品の入力(スキャン)と精算の仕組み)について、説明する。このセルフレジ30において、顧客が、自分のスマートフォン70のディスプレイ71に、自分の認証用のQRコード(登録商標)72を表示して、QRコード(登録商標)72をタブレット端末6の前面に近づけると、QRコード(登録商標)72をタブレット端末6の前面に配置された内蔵カメラ6aが読み取って、タブレット端末6(のCPU)が、この顧客の認証を行い、この顧客のアカウントにログインする。これにより、この顧客が、セルフレジ30で、商品の入力や精算を行うことができるようになる。このセルフレジ30では、顧客が買い物かご73に入れた商品をビニール袋74に移す際に所定領域75に入り込んだ商品を、上記のカメラ2a,2bで撮影して、分析ボックス3のCPU11の商品特定部21が、上記の撮影画像を用いて商品特定用NNモデル18により上記の商品を特定することで、商品の入力(スキャン)を行う。そして、顧客が、買い物かご73の中の全ての商品をビニール袋74に移し終えた後に、タブレット端末6のタッチパネル6bに表示された決済ボタン(不図示)をタッチすることにより、購入した商品の決済が行われる。
図7は、この不正防止システム1における処理の概要のフローチャートである。まず、顧客が、買い物かご73に入れた商品を上記の所定領域75に移動させた時に、分析ボックス3のCPU11の商品特定部21は、この所定領域75に入り込んだ商品をカメラ2a又はカメラ2bで撮影したフレーム画像を、商品特定用NNモデル18に入力して、上記の商品の特定処理を行う(S1)。この商品の特定処理における特定精度が、所定値以下の場合には(S2でYES)、図8に示すような処理が行われる。
すなわち、顧客が商品の(ビニール袋74への)袋詰めの際に行う、商品76のカメラ2a,2bへの向け方(カメラ2a,2bによる商品76のスキャンの仕方)が不適切である等の理由のために、商品76の(商品特定用NNモデル18による)特定精度が所定値以下の場合には、分析ボックス3のCPU11の再特定部22は、例えば、図8に示すように、タブレット端末6のタッチパネル6bに、「商品が特定できませんでした。バーコード面を近づけて下さい。」というメッセージ78を表示して、この商品76のバーコードをカメラ2a又はカメラ2bでスキャンさせるように、顧客を促す(図7のS3)。そして、分析ボックス3のCPU11の再特定部22は、カメラ2a又はカメラ2bでスキャンしたバーコード情報(JANコード)で商品を特定する。例えば、図8中の商品特定リスト77に示すように、「カメラ1」(例えば、カメラ2a)で、”00:06:12〜00:06:20”の間に読み取った(撮影した)商品76の特定ができない場合(商品特定用NNモデル18による特定精度が所定値以下の場合)には、分析ボックス3のCPU11の再特定部22は、カメラ2a又はカメラ2bで読み取ったバーコード情報(JANコード)で商品を特定する。
なお、上記のバーコード・スキャン処理は、カメラ2aとカメラ2bのいずれか一方による撮影画像を商品特定用NNモデル18に入力した場合における「商品の特定精度が所定値以下の場合」に行われるようにしても良いが、カメラ2aとカメラ2bの両方の撮影画像を商品特定用NNモデル18に入力した場合における、高い方の「商品の特定精度が所定値以下の場合」に行われるようにした方が望ましい。また、上記の商品76のバーコードの読み取り(スキャン)は、セルフレジ30に設けた専用のバーコードリーダ(例えば、タブレット端末6に接続されたバーコードリーダ)により行ってもよい。
次に、図9を参照して、上記S1の商品特定処理に用いられる商品特定用NNモデル18(図2参照)について、説明する。本不正防止システム1の商品特定処理に用いられる商品特定用NNモデル18は、図9中のCNN(Convolutional Neural Network)80のようなNNモデルである。このCNN80は、通常のCNN(例えば、VGG16)の損失関数(主に、交差エントロピー誤差)を、Triplet Loss(関数)等のDeep Metric Learning用の損失関数に入れ替えることで、類似した特徴を持つ入力画像に基づいて出力されるベクトル同士は、ベクトル空間(図9中のEmbedding Space82)内の近い位置に配置することができるように学習させたCNNである。このように、損失関数を、Triplet Loss(関数)等の損失関数に入れ替えて、CNNの学習を行うことで、同一商品については、どの面から撮影した画像であっても、この画像を、上記の学習済のCNN80に適用(入力)すると、出力されるベクトルは、ベクトル空間内の近接した領域に写像されるようになる。この特徴を利用して、ベクトル空間におけるアンカー(特定の商品の基準となるベクトル位置)からの距離に基づいて、入力画像に映り込んだ商品が、どの商品であるかを特定することができる。
例えば、図9に示すように、Aスナックについての入力画像79を、上記のTriplet Loss(関数)等の損失関数を用いて学習したCNN80に入力すると、CNN80から出力されるベクトル81は、Embedding Space82(次元圧縮後のベクトルデータが埋め込まれる空間)において、Aスナックのアンカー83に近い位置に配置される。上記図7のS2において、商品の特定精度が所定値以下の場合とは、例えば、図9のベクトル85のように、いずれの商品のアンカー(この場合は、Aスナックのアンカー83及びBスナックのアンカー84)からも離れており、入力画像79に映り込んだ商品の同定(特定)ができないような場合を意味する。上記のように、Deep Metric Learningの手法を用いることにより、数千の商品を対象にした商品特定を行うことが可能になる。なお、図9中のGAP(Global Average Pooling)とは、VGG16等のCNNの最深段(最後の全結合の部分)の出力の次元削減を図るための技術である。このGAPを利用して、図9中のCNN80の最深段の出力を、256次元のベクトル等に変換する。また、上記のVGG16は、ImageNetという大規模な画像データセットで学習された、16層のCNNモデルである。
ただし、上記図7のS1の商品特定処理は、顧客の店内行動情報も利用して、行われる。図10を参照して、顧客の店内行動情報を利用した商品特定処理について、説明する。カメラ2は、図6等に示す所定領域75を撮影可能な場所だけではなく、店内全体の各所に配置されている。図4に示すAI分析サーバ8の行動追跡部41は、店内の各所に設置されたカメラ2で撮影した画像を用いて、顧客の店内における行動を追跡して、顧客の店内行動情報(図10に示す行動リスト88等)を生成する。分析ボックス3の商品特定部21は、商品特定用NNモデル18(図9中のCNN80)に加えて、上記の顧客の店内行動情報(商品接触情報)も利用して、図7のS1の商品特定処理を行う。
上記の行動リスト88の生成は、具体的には、以下のようにして行われる。まず、顧客の店内行動の追跡には、Person Re−Identificationの技術を利用する。店内の各所に配置された各カメラ2による撮影画像を分析ボックス3のCPU11(の主にID付与部23)が分析して、その分析結果に基づき、AI分析サーバ8の行動追跡部41(のPerson Re−Identification用の学習済NNモデル)が、店内の各カメラ2の撮影画像に映り込んだ同じ人物(顧客)の同定を行い、同じ顧客に、同じグローバルID(カメラ間を跨った顧客のID)を付与する。例えば、AI分析サーバ8の行動追跡部41は、図10における撮影画像79aに映り込んだ顧客86aと、この撮影画像79aを撮影したカメラとは異なるカメラ2による撮影画像79bに映り込んだ顧客86bとが同一人物であった場合に、同じグローバルIDを付与する。このPerson Re−Identificationの技術を利用して、店内の各カメラ2の撮影画像に映り込んだ顧客を追跡することができる。
また、AI分析サーバ8の行動追跡部41は、分析ボックス3のCPU11の骨格検出部25により検出した各顧客の骨格(情報)に基づいて、各カメラ2のフレーム画像に映り込んだ各顧客の行動を推定する。具体的には、骨格検出部25により検出した各顧客の骨格の時系列情報(例えば、図10中の骨格情報87a,87b等から構成される時系列に沿った骨格情報)を、再帰型ニューラルネットワーク(RNN(Recurrent Neural Network)に入力して、骨格情報の時間的推移から、各顧客の行動を予測する。AI分析サーバ8の行動追跡部41は、上記のPerson Re−Identificationの技術を利用して、各カメラ2に映り込んだ同一の顧客に同一のグローバルIDを付与しつつ、この顧客の骨格の時系列情報をRNNに入力することにより当該顧客の行動を推定して、この推定結果に基づいて、図10に示すように、当該顧客の行動リスト88を生成する。
分析ボックス3のCPU11の商品特定部21が、ある顧客が購入しようとする商品を特定するときに、当該顧客の行動リスト88に含まれる、この顧客がどこで商品と接触したか(どの棚のどの段の商品と接触したか)という情報を用いて商品特定を行うことにより(例えば、当該顧客が接触する可能性のある商品のアンカーに絞って上記の商品特定を行うことにより)、商品特定の精度を向上させることができる。
この不正防止システム1では、図7のS3に示したように、顧客が商品のバーコードをスキャンさせるように促されたときに、AI分析サーバ8の不正判定部42が、顧客によるバーコードのスキャン結果、及び顧客の店内行動情報(上記の行動リスト88)を用いて、顧客が不正行動を行ったか否かを判定して、不正判定部42により顧客が不正行動を行ったと判定されたときに、AI分析サーバ8の通知部43が、顧客と店員の少なくとも一方(できれば両方)に、所定の通知を行うようにする。
例えば、顧客が商品のバーコードをスキャンさせるように促されたときに、図11中の商品特定リスト77に示すように、顧客がカメラ2a又はカメラ2bにより読み取らせたバーコード情報(JANコード)が、12345678であり、JANコード=12345678が菓子を表すとする。この場合には、図11中の行動リスト88からは、顧客が商品のバーコードをスキャンさせるように促された商品は、薬又は酒であることが想定されるのに、異なっているので、AI分析サーバ8の不正判定部42は、顧客が万引きしたとか、顧客が自分で持ち込んだ別の商品のバーコードを読み取らせるという不正行動を行った可能性があると判定する。また、図11中の行動リスト88によれば、顧客が3か所で商品と接触したのに、商品特定リスト77によれば、顧客が(ビニール袋に)袋詰めした(上記の所定領域75に入り込んだ)商品数が2点しかないので、AI分析サーバ8の不正判定部42は、顧客が万引きという不正行動を行った可能性があると判定する。
上記のように、不正判定部42により顧客が不正行動を行ったと判定されたときには、AI分析サーバ8の通知部43が、例えば、図11に示すように、タブレット端末6のタッチパネル6bに、「大変申し訳ございません。お客様が袋詰した商品が適切に読み取られなかった可能性があります。まもなく店員が参りますので、しばらくお待ちください。」というメッセージを表示して、顧客に、商品のバーコードのスキャン(読み取り)結果に問題があった旨を通知する。また、この通知と同時に、店員に、該当の(行動リスト88におけるグローバルID=001の)顧客が万引き等の不正行動を行った可能性がある旨を通知する。
次に、図12を参照して、上記のAI分析サーバ8の不正判定部42により顧客が不正行動を行ったと判定されたときに、オペレータ89が検証用端末7から行う検証処理について、説明する。AI分析サーバ8の検証部44は、不正判定部42により顧客が不正行動を行ったと判定されたときに、顧客が上記の不正行動を行ったと思われる時刻に、上記の所定領域75を撮影可能な場所に設置されたカメラ2aとカメラ2b(図6及び図8参照)により撮影された画像と、行動追跡部41が生成した顧客の店内行動情報(行動リスト88を含む)とを検証用端末7の画面に表示させて、不正判定部42による判定結果に対する、オペレータ89の検証結果を受け付ける。不正判定部42による判定結果に対するオペレータ89の検証結果が、顧客が不正行動を行ったという検証結果である場合には、AI分析サーバ8のハードディスク32は、検証部44により受け付けられた検証結果を含む、顧客の不正情報47を保持(記憶)する。この不正情報47には、図12に示す行動リスト88と商品特定リスト77が含まれている。
図13乃至図23の検証用画面を参照して、上記のオペレータ89が検証用端末7から行う検証処理について、詳細に説明する。図13は、検証用端末7の検証システムへのログイン時に、ディスプレイ90に表示されるログイン画面91を示す。オペレータ89は、検証システムへのログイン時にはユーザID入力欄91aとパスワード入力欄91bとに、ユーザIDとパスワードとを入力して、検証用端末7のマウスで、ログインボタン91cをクリックする。これにより、検証システムへのログインが完了し、ディスプレイ90に表示される画面が、図14に示す第1メイン画面92に遷移する。なお、図13乃至図23におけるPは、マウスポインタを表す。
図14に示す第1メイン画面92は、AI分析サーバ8の通信部36から検証用端末7に送られた検証依頼が何件溜まっているかを示す画面である。図14に示すように、オペレータ89が、マウスで、画面上の件数表示欄92aをクリックすると、ディスプレイ90に表示される画面は、図15に示す第2メイン画面93に遷移する。この第2メイン画面93を開いたときには、AI分析サーバ8から検証用端末7に送られた各検証依頼の番号と発生日時と詳細ボタン93dが表示される。オペレータ89が、この第2メイン画面93に表示された各検証依頼のうち、これから検証を行う検証依頼の詳細ボタン93dをクリックすることにより、図15に示すように、これから検証を行う検証依頼に対応する不正情報47の概要である行動リスト88と商品特定リスト77が表示される。
上記の第2メイン画面93において、オペレータ89が、(不正判定部42が不正行動を行ったと判定した根拠となる、)顧客によるバーコード・スキャンの対象になった商品が何であったのかを確認するために、図16に示すように、第2メイン画面93における詳細映像ボタン93aをマウスでクリックすると、ディスプレイ90における第2メイン画面93の上に、図17に示す映像確認画面94が重畳表示される。この映像確認画面94は、図17に示すように、顧客が上記の不正行動を行ったと思われる時刻に、上記の所定領域75を撮影可能な場所に設置されたカメラ2aとカメラ2b(図6及び図8参照)により撮影された画像(フレーム画像)を表示する。なお、図17において、「上面カメラ」というタイトルの下に表示された画像94b〜94dと、「下面カメラ」というタイトルの下に表示された画像94e〜94gは、それぞれ、カメラ2aとカメラ2bとにより、顧客が上記の不正行動を行ったと思われる時刻に撮影した画像である。
映像確認画面94において、オペレータ89が、顧客によるバーコード・スキャンの対象になった商品を確認するために、顧客の手等で商品の一部が隠された画像(例えば、画像94b〜94d)から手等を除いた画像を見たい場合には、オペレータ89は、図17に示すように、画像復元ボタン94aをマウスでクリックする。これにより、ディスプレイ90における第2メイン画面93の上に重畳表示される画面が、図18に示す画像選択画面95に遷移する。この画像選択画面95に表示される「復元する画像の基になる画像を左の画像より選択して下さい」というメッセージに従って、オペレータ89が、復元したい画像の基になる画像(図18の例では、画像94c)を、マウスでクリックして選択すると、ディスプレイ90における第2メイン画面93の上に重畳表示される画面が、図19に示す削除領域選択画面96に遷移する。
図19に示すように、削除領域選択画面96には、図18に示す画像選択画面95でオペレータ89が選択した画像94cが拡大表示されると共に、「削除する領域を塗りつぶして下さい」というメッセージが表示される。このメッセージに従って、オペレータ89が、例えば、マウスによるドラッグ操作で、画像94cにおける削除したい領域(図19の場合は、手画像96bの領域)を塗りつぶした上で、復元ボタン96aをマウスでクリックすると、ディスプレイ90における第2メイン画面93の上に重畳表示される画面が、図20に示す復元画像表示画面97に遷移する。
図20に示すように、復元画像表示画面97には、復元画像97aが表示される。この復元画像97aにおける商品画像97bは、検証用端末7のCPUが、図19に示す画像94cにおける、手で隠れていない部分の画像や、図18等に示す画像94c以外のフレーム画像(画像94b、及び画像94d〜94g)から、画像94cに映り込んだ商品を類推して、管理サーバ10等に格納(登録)された上記の類推結果の商品の各方向からの撮影画像に基づいて、画像94cにおける手で隠れていない部分の画像を復元することにより、生成される。
オペレータ89は、上記の復元画像97aにおける商品画像97bを見て、顧客の不正行動に関連する商品を確認すると、クローズ・ボタン97cをマウスでクリックする。この操作に応じて、図20に示す復元画像表示画面97が閉じる。
また、オペレータ89が、不正判定部42が不正行動を行ったと判定した顧客の店内行動情報を詳細に確認したい場合には、図21に示すように、第2メイン画面93における行動履歴ボタン93bをマウスでクリックする。この操作に応じて、検証用端末7のCPUが、ディスプレイ90における第2メイン画面93の上に、図22に示す商品アクセス履歴画面98を重畳表示する。
図22に示すように、上記の商品アクセス履歴画面98には、第2メイン画面93に表示される行動リスト88に記載された顧客の店内行動情報のうち、顧客が商品とアクセスした時の詳細情報である商品アクセス履歴情報98aが表示される。この商品アクセス履歴情報98aには、カメラ2で撮影された顧客が商品とアクセス(接触)した時の画像(商品アクセス時画像98b)と、顧客が商品とアクセスした場所(例えば、お菓子コーナーの棚(菓子棚)の3段目)に陳列された商品の情報(商品情報98c)が含まれる。請求項における「顧客の店内行動情報」には、上記の行動リスト88に加えて、この商品アクセス履歴情報98aが含まれる。行動リスト88と同様に、商品アクセス履歴情報98aも、AI分析サーバ8の行動追跡部41が、生成する。具体的には、AI分析サーバ8の行動追跡部41は、Person Re−Identificationの技術を利用して、各カメラ2に映り込んだ同一の顧客に同一のグローバルIDを付与しつつ、この顧客の骨格の時系列情報をRNNに入力することにより当該顧客の行動を推定して、この推定結果と、店内の各所に設置されたカメラ2で撮影した画像に基づいて、商品アクセス履歴情報98aを生成する。
オペレータ89が、上記の顧客の不正行動に関連する商品の確認処理と、顧客の店内行動情報の詳細の確認処理を行った結果、顧客が不正行動を行ったと判断した場合には、図23に示すように、第2メイン画面93における不正登録ボタン93cをマウスでクリックする。この操作に応じて、検証用端末7のCPUと通信部が、顧客が不正行動を行ったという検証結果を含む、顧客の不正情報47を、AI分析サーバ8に送信する。AI分析サーバ8の通信部36は、検証用端末7から、顧客の不正情報47を受信すると、この不正情報47をハードディスク32に保持(記憶)する。なお、上述したように、不正情報47には、図23等に示す行動リスト88と商品特定リスト77が含まれている。この不正情報47には、図17等に示す画像94b〜94gや、図20に示す復元画像97aや、図22に示す商品アクセス履歴情報98aが含まれていてもよい。
本不正防止システム1では、上記のオペレータ89による検証の結果、不正行動を行ったと判断された顧客の再来店時に、この顧客を検出する。この不正行動を行った顧客の再来店時における検出処理について、図24を参照して説明する。具体的には、AI分析サーバ8の顔認証情報生成部45は、まず、ハードディスク32に保持された不正情報47に対応する不正行動を行った顧客の入店時の画像(図24中の不正顧客入店時画像99a)を、分析ボックス3のハードディスク12に格納された映像データから取得する。そして、この不正顧客入店時画像99aから、人の検出を行い、さらに、検出した人の顔領域を検出して、不正行動を行った顧客の顔画像99cを得る。次に、AI分析サーバ8の顔認証情報生成部45は、この顧客の顔画像99cを、CNN99dに入力して、顔特徴量ベクトル99eを取得して、この顔特徴量ベクトル99eを、不正行動を行った顧客の顔認証情報48として、ハードディスク32に記憶する。CNN99dは、上記のCNN80と同様に、CNNの損失関数を、Triplet Loss等のDeep Metric Learning用の損失関数に入れ替えて、学習を行わせたもので、同一人物の顔であれば、出力する顔特徴量ベクトル99eが近接するように学習された学習済モデルである。
次に、AI分析サーバ8の再来店検出部46が、カメラ2により撮影した新たに来店した顧客の顔画像を、分析ボックス3のハードディスク12に格納された映像データから取得して上記のCNN99dに入力し、新たに来店した顧客の顔特徴量ベクトル99eを取得する。そして、再来店検出部46は、この新たに来店した顔特徴量ベクトル99eと、ハードディスク32に記憶された不正行動を行った顧客の顔特徴量ベクトル99e(顔認証情報48)とを比較することにより、不正行動を行った顧客を再来店時に検出する。この不正行動を行った顧客の検出情報は、店舗Sの店員や警備員の持つモバイル端末等に送信されて、店員や警備員に報知される。なお、上記の新たに来店した顧客の顔特徴量ベクトルの生成処理を、AI分析サーバ8側ではなく、分析ボックス3側で行い、分析ボックス3側で生成した顔特徴量ベクトルを、AI分析サーバ8に送信して、AI分析サーバ8の再来店検出部46が、分析ボックス3から送信された顔特徴量ベクトルと、ハードディスク32に記憶された不正行動を行った顧客の顔特徴量ベクトル99eとを比較することにより、不正行動を行った顧客を再来店時に検出してもよい。
次に、主に図5を参照して、本不正防止システム1に採用されている、商品特定用NNモデル18による商品特定の精度を向上させるための工夫について説明する。この不正防止システム1では、上記図7のS3、及び図8に示すように、分析ボックス3の再特定部22が顧客にバーコードのスキャンを促したときに、図5に示すように、学習サーバ9の再学習用データセット生成部67が、上記の分析ボックス3の商品特定用NNモデル18(図2参照)の再学習用データセット68を生成する。より詳細に説明すると、学習サーバ9の再学習用データセット生成部67は、上記図7のS3に示すバーコード・スキャンの催促に応じて顧客が行ったバーコード・スキャンで得られた商品再特定情報(主に、JANコード)と、図6及び図8中のカメラ2aとカメラ2bで撮影した画像から検出した商品の部分の画像である商品画像と、分析ボックス3の商品特定部21による特定結果である商品特定情報(商品分類用の情報)とを組み合わせて、上記の再学習用データセット68を自動生成する。
そして、図5に示すように、学習サーバ9のCPU61の再学習部69が、上記の再学習用データセット68を用いて、上記の商品特定用NNモデル18の再学習を行うことにより、商品特定用NNモデル18による商品特定の精度を向上させることができる。
上記のように、本実施形態の不正防止システム1、及び不正防止プログラム55によれば、顧客が、故意又は過失により、購入しようとする商品を、カメラ2a,2bで撮影しにくいようにした(例えば、手で商品を隠したりした)ために、学習済の商品特定用NNモデル18により商品を特定することができなかった場合でも、特定することができなかった商品のバーコードをスキャンするように顧客に促すことができるので、セルフレジ30における顧客の不正行動を防止することができる。
また、本実施形態の不正防止システム1によれば、店内の各所に設置されたカメラ2で撮影した画像を用いて、顧客の店内における行動を追跡して、顧客の行動リスト88を含む店内行動情報を生成して、分析ボックス3の商品特定部21が、この顧客の行動リスト88等の店内行動情報を用いて、商品特定の対象になる商品を絞り込むようにした。これにより、商品特定の精度を向上させることができる。
また、本実施形態の不正防止システム1によれば、顧客にバーコードのスキャンを促したときに、顧客によるバーコードのスキャン結果、及び顧客の行動リスト88を用いて、顧客が不正行動を行ったか否かを判定して、顧客が不正行動を行ったと判定したときに、顧客又は店員に、所定の通知(例えば、顧客が不正行動を行った可能性がある旨の通知)を行うようにした。これにより、セルフレジ30において顧客の万引き等の不正行動があった場合でも、この不正行為の成功を防ぐことができる。
また、本実施形態の不正防止システム1によれば、AI分析サーバ8の不正判定部42により顧客が不正行動を行ったと判定されたときに、顧客が上記の不正行動を行ったと思われる時刻に、上記の所定領域75を撮影可能な場所に設置されたカメラ2aとカメラ2b(図6及び図8参照)により撮影された画像と、行動追跡部41が生成した顧客の店内行動情報(行動リスト88を含む)とを検証用端末7の画面に表示させて、不正判定部42による判定結果に対する、オペレータ89の検証結果を受け付けるようにした。そして、不正判定部42による判定結果に対する、オペレータ89の検証結果が、顧客が不正行動を行ったという検証結果である場合には、受け付けた検証結果を含む、顧客の不正情報47を、AI分析サーバ8のハードディスク32に保持するようにした。これにより、検証を経た、確実に不正行動を行った顧客の不正情報47を保持することができるので、この不正情報47を用いて、不正行動を行った顧客を要注意人物としてマークすることができる。また、この不正行動を行った顧客の不正情報47を警備会社や警察等に送信して、この顧客の不正行動を警備会社や警察等に報知することができる。
また、本実施形態の不正防止システム1によれば、カメラ2により撮影した新たに来店した顧客の顔画像から生成された、新たに来店した顧客の顔特徴量ベクトル99eと、ハードディスク32に記憶された不正行動を行った顧客の顔特徴量ベクトル99e(顔認証情報48)とを比較することにより、不正行動を行った顧客を再来店時に検出するようにした。これにより、不正行動を行った顧客が再来店したことを、店員や警備員に報知して、該当の顧客が再び、万引き等の不正行動を行うことを未然に防止することができる。
また、本実施形態の不正防止システム1によれば、上記図7のS3に示すように、顧客にバーコードのスキャンを促したときに、顧客によるバーコードのスキャンで得られた商品再特定情報(主に、JANコード)と、図6及び図8中のカメラ2aとカメラ2bで撮影した画像に基づく商品画像と、商品特定部21(商品特定用NNモデル18)による特定結果である商品特定情報(商品分類用の情報)とを組み合わせて、商品特定用NNモデル18の再学習用データセット68を自動生成するようにした。この再学習用データセット68を用いて、商品特定用NNモデル18の再学習を行うことにより、商品特定用NNモデル18による商品特定の精度を向上させることができる。
次に、図25乃至図31を参照して、第1の実施形態の変形例の不正防止システム101(図28参照)について、説明する。図25乃至図31では、第1の実施形態の不正防止システム1と同様な部材については、同じ番号を付して、その説明を省略する。この変形例の不正防止システム101では、ガラス製の商品置台120におかれた商品76の特定(と入力(スキャン))を行う点と、商品置台120におかれた商品76の消費期限を識別して(読み取って)、この消費期限を用いて商品の消費期限を管理する点が、第1の実施形態における不正防止システム1と異なる。
図25に示すように、この変形例におけるセルフレジ130は、ガラス製の商品置台120と、商品特定用(商品入力用)のカメラ2a(上面カメラ)及びカメラ2b(下面カメラ)と、タブレット端末6と、これらを保持する筐体111とを備えている。このセルフレジ130においても、第1の実施形態のセルフレジ30と同様に、図6に示すように、顧客が、自分のスマートフォン70のディスプレイ71に、自分の認証用のQRコード(登録商標)72を表示してタブレット端末6に近づけると、QRコード(登録商標)72をタブレット端末6の内蔵カメラ6aが読み取って、タブレット端末6(のCPU)が、この顧客の認証を行い、この顧客のアカウントにログインする。そして、このセルフレジ130において、顧客が商品置台120に商品76を置くと、カメラ2a及びカメラ2bで撮影した商品76の画像を用いて、上記の分析ボックス3の商品特定部21による商品特定と、分析ボックス3の消費期限識別部126(図30参照)による商品76の消費期限の識別が行われる。消費期限識別部126(請求項における「消費期限識別手段」)は、商品置台120上の所定領域175に入り込んだ商品76をカメラ2a及びカメラ2bで撮影した画像を、図29に示す消費期限識別用NNモデル119(請求項における「第2の物体認識用機械学習済モデル」)に入力して、この消費期限識別用NNモデル119の出力から、商品76の消費期限を識別する。
図26は、(商品置台120の上面側に配された)カメラ2aからの撮影画像178と、(商品置台120の下面側に配された)カメラ2bからの撮影画像179とを示す。図26において、実線のバウンディングボックス181で囲まれた商品の画像は、消費期限識別部126が上面側のカメラ2aによる撮影画像178から消費期限を識別することができた商品の画像であり、バウンディングボックス182で囲まれた商品の画像は、消費期限識別部126が下面側のカメラ2bによる撮影画像179から消費期限を識別することができた商品の画像である。図26の例の場合は、撮影画像178、179における一番左側の商品については、上面側のカメラ2aによる撮影画像178から商品の特定が可能であり、バウンディングボックス182に示すように、下面側のカメラ2bによる撮影画像179から消費期限を識別することができる。また、撮影画像178、179における真ん中の商品については、下面側のカメラ2bによる撮影画像179から商品の特定が可能であり、バウンディングボックス181に示すように、上面側のカメラ2aによる撮影画像178から消費期限を識別することができる。
ただし、撮影画像178、179における一番右側の商品のように、商品76が商品置台120に縦置き等されて、分析ボックス3の商品特定部21が、上面側のカメラ2aによる撮影画像178からも、下面側のカメラ2bによる撮影画像179からも、商品76の特定を行うことができない場合には、分析ボックス3のCPU11が、商品76の置く向きを変えてほしいという趣旨のメッセージを、タブレット端末6のタッチパネル6b上に表示する。また、分析ボックス3の商品特定部21が商品76の特定を行うことはできるが、分析ボックス3の消費期限識別部126が、上面側のカメラ2aによる撮影画像178からも、下面側のカメラ2bによる撮影画像179からも、商品76の消費期限の識別を行うことができない場合には、分析ボックス3のCPU11が、図27に示すように、消費期限識別に失敗したことを示す一点鎖線のバウンディングボックス183で商品76の画像を囲むと共に、この商品76の消費期限が見える向きの画像の表示と、商品76の置く向きを変えてほしいという趣旨のメッセージとを含むワーニング表示184を、タブレット端末6のタッチパネル6b上に表示する。
上記のように、商品76の特定を行うことができない場合や、商品76の消費期限の識別を行うことができない場合には、タッチパネル6b上にメッセージが表示されて、顧客による商品置台120への商品76の置き直しが促される。そして、顧客が、上記のメッセージに応えて、商品76の向きを変えて商品置台120に置き直すと、分析ボックス3のCPU11が、再度、商品特定部21による商品76の特定と、消費期限識別部126による商品76の消費期限の識別を、やり直す。このようにして、商品置台120に置かれた全ての商品76の特定と消費期限の識別が完了すると、分析ボックス3のCPU11からの指示に従って、タブレット端末6のCPUが、タッチパネル6b上に、顧客に次の商品群を置くことを促すメッセージを表示する。そして、顧客は、このメッセージに従って、次の商品群を置く。
上記のようにして、この顧客の全ての商品76についての商品特定と消費期限の識別が完了すると、第1の実施形態のセルフレジ30の場合と同様に、顧客が、タブレット端末6のタッチパネル6bに表示された決済ボタン(不図示)をタッチすることにより、購入した商品の決済が行われる。なお、この変形例の不正防止システム101では、上記のワーニング表示184における、商品76の消費期限が見える向きの表示を行うために、新しい商品の登録時に、この商品76のバーコードに加えて、この商品76の消費期限が見える向きの画像を、AI分析サーバ8等に登録する。
上記の消費期限識別部126により識別した各商品の消費期限は、各商品の在庫管理と消費期限管理に利用される。
図28は、第1の実施形態の変形例の不正防止システム101の概略のハードウェア構成を示すブロック構成図である。この図28では、図1に示す第1の実施形態の不正防止システム1のブロック構成図と異なり、サッキング・コーナーSCに配置されるセルフレジが、ガラス製の商品置台を有するセルフレジ130である。上記の点以外は、図28は、基本的に、図1と同様であるので、同じ番号を付して、その説明を省略する。
図29は、第1の実施形態の変形例の不正防止システム101の分析ボックス3のハードウェア構成と、ハードディスク12に格納されたデータ及びプログラムとを示す。この図29では、アプリパッケージ17(不正防止プログラム)に、消費期限識別用NNモデル119を含む点のみが、第1の実施形態における図2と異なる。上記の点以外は、図29は、基本的に、図2と同様であるので、同じ番号を付して、その説明を省略する。
図30は、第1の実施形態の変形例の不正防止システム101の分析ボックス3におけるCPU11の機能ブロックを示す。この変形例の分析ボックス3におけるCPU11は、図3に示す第1の実施形態の分析ボックス3におけるCPU11と同じ機能ブロックに加えて、消費期限識別部126(請求項における「消費期限識別手段」)を備えている。この消費期限識別部126は、顧客が商品を、上記の商品置台120上の所定領域175に移動させたときに、上面側のカメラ2a及び下面側のカメラ2bで撮影した画像を用いて、消費期限識別用NNモデル119により、所定領域175に入り込んだ商品の消費期限を識別する。上記の点以外は、図30は、基本的に、第1の実施形態における図3と同様であるので、同じ番号を付して、その説明を省略する。
図31は、第1の実施形態の変形例の不正防止システム101のAI分析サーバ8のハードウェア構成を示す。この変形例のAI分析サーバ8におけるCPU31は、図4に示す第1の実施形態のAI分析サーバ8におけるCPU31と同じ機能ブロックに加えて、消費期限管理部146(請求項における「消費期限管理手段」)を備えている。この消費期限管理部146は、上記の消費期限識別部126により識別した各商品の消費期限を用いて、商品特定部21により特定した商品の消費期限を管理する。上記の点以外は、図31は、基本的に、第1の実施形態における図4と同様であるので、同じ番号を付して、その説明を省略する。
上記のように、第1の実施形態の変形例の不正防止システム101によれば、顧客が商品を、上記の商品置台120上の所定領域175に移動させたときに、上面側のカメラ2a及び下面側のカメラ2bで撮影した画像を用いて、消費期限識別用NNモデル119により、所定領域175に入り込んだ商品の消費期限を識別するようにした。そして、識別した商品の消費期限を用いて、商品特定部21により特定した(顧客に購入された)商品の在庫(陳列点数)と消費期限を管理するようにした。これにより、各商品の在庫(陳列点数)と消費期限とを簡単に管理することができる。
次に、図32を参照して、第2の実施形態による不正防止システム201(図33参照)におけるセルフレジ230の仕組み(商品の入力(スキャン)と精算の仕組み)について、説明する。このセルフレジ230では、分析ボックス203(図33参照)のCPUの商品特定部(不図示)が、ショッピンカート211に取り付けられたカメラ202a,202bで撮影された画像を用いて商品を特定する点と、第1の実施形態におけるタブレット端末6の代わりに、スマートフォン270を用いて、顧客のアカウントへのログインと決済の操作を行う点が、第1の実施形態におけるセルフレジ30と異なる。
具体的には、図32に示すセルフレジ230において、顧客が、ショッピンカート211に買い物かご273(顧客のマイバッグでもよい)を置き、自分のスマートフォン270にインストールしたアプリケーションを用いて、不正防止システム201における自分のアカウントにログインする。これにより、この顧客が、セルフレジ230で、商品の入力や精算を行うことができるようになる。このセルフレジ230では、顧客が買い物かご273に商品を入れる度に、所定領域275に入り込んだ商品を、上記のカメラ202a,202bで撮影して、分析ボックス203のCPUの商品特定部が、上記の撮影画像を用いて上記の商品を特定することで、商品の入力(スキャン)を行う。そして、顧客が、買い物を終了して、ショッピンカート211を戻す時に、スマートフォン270のタッチパネル上に表示された、上記のアプリケーションの画面における決済ボタン(不図示)を指でタッチすることにより、購入した商品の決済が行われる。
図33は、第2の実施形態による不正防止システム201の概略のハードウェア構成を示すブロック構成図である。第2の実施形態の不正防止システム201では、第1の実施形態による不正防止システム1と異なり、サッキング・コーナーSCにタブレット端末6が配置されておらず、スマートフォン270が、無線で、アクセスポイント機能を有するハブ205に接続されている。また、上述したように、第2の実施形態では、第1の実施形態と異なり、商品特定用の画像の撮影に用いられるカメラが、サッキング・コーナーSCに設置されたカメラ2a、2bではなく、ショッピンカート211に取り付けられたカメラ202a,202bである。第2の実施形態による不正防止システム201のハードウェア構成は、上記の点以外は、基本的に、第1の実施形態の不正防止システム1と同様であるので、同じ番号を付して、その説明を省略する。なお、図33における、分析ボックス203、LAN204、検証用端末207、AI分析サーバ208、学習サーバ209、管理サーバ210は、それぞれ、図1における分析ボックス3、LAN4、検証用端末7、AI分析サーバ8、学習サーバ9、管理サーバ10に相当する。
次に、図34を参照して、第3の実施形態による不正防止システム301(図35参照)におけるセルフレジ330の仕組み(商品の入力(スキャン)と精算の仕組み)について、説明する。このセルフレジ330では、分析ボックス303(図33参照)のCPUの商品特定部(不図示)が、スマートフォン370のカメラ(スマホカメラ371)で撮影された画像を用いて商品を特定する点と、顧客のアカウントへのログインと決済の操作が、第1の実施形態におけるセルフレジ30と異なる。
具体的には、図34に示すセルフレジ330において、顧客が、買い物かご373の横に設置されているスマホ挿入部373aに、スマートフォン370を横方向から挿入(セット)して、スマートフォン370の端部のコネクタを、スマホ挿入部373a側のコネクタに接続する。この操作に応じて、スマートフォン370のCPUが、スマートフォン370にインストールされたアプリケーション(スマホアプリ)を起動して、不正防止システム301における該当の顧客のアカウントにログインする。これにより、この顧客が、セルフレジ330で、商品の入力や精算を行うことができるようになる。このセルフレジ330では、顧客が買い物かご373に商品を入れる度に、所定領域375に入り込んだ商品を、上記のスマホカメラ371で撮影して、分析ボックス303のCPUの商品特定部が、上記の撮影画像を用いて上記の商品を特定することで、商品の入力(スキャン)を行う。そして、顧客が、買い物を終了して、スマホ挿入部373aからスマートフォン370を取り外すと、スマートフォン370のCPUが、上記のスマホアプリを用いて、この顧客の買い物が終了したことを、クラウドC上のサーバ(例えば、図35中の管理サーバ310)に通知する。これにより、この顧客が購入した商品の決済が行われる。
図35は、第3の実施形態による不正防止システム301の概略のハードウェア構成を示すブロック構成図である。第3の実施形態の不正防止システム301では、第2の実施形態の不正防止システム201と同様に、サッキング・コーナーSCにタブレット端末6が配置されておらず、スマートフォン370が、無線で、アクセスポイント機能を有するハブ305に接続されている。また、上述したように、第3の実施形態では、第1及び第2の実施形態と異なり、商品特定用の画像の撮影に用いられるカメラが、スマホカメラ371である。第3の実施形態による不正防止システム301のハードウェア構成は、上記の点以外は、基本的に、第1の実施形態と同様であるので、同じ番号を付して、その説明を省略する。なお、図35における、分析ボックス303、LAN304、検証用端末307、AI分析サーバ308、学習サーバ309、管理サーバ310は、それぞれ、図1における分析ボックス3、LAN4、検証用端末7、AI分析サーバ8、学習サーバ9、管理サーバ10に相当する。
変形例:
なお、本発明は、上記の各実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。次に、本発明の変形例について説明する。
変形例1:
上記第1乃至第3の実施形態では、AI分析サーバのCPUが、機能ブロックとして、行動追跡部と、不正判定部と、通知部と、検証部と、顔認証情報生成部と、再来店検出部とを備える場合の例を示したが、分析ボックスのCPUが、図3に示す機能ブロック(商品特定部、再特定部、ID付与部、プロセッサ割当部、及び骨格検出部)に加えて、上記の機能ブロック(行動追跡部、不正判定部、通知部、検証部、顔認証情報生成部、及び再来店検出部)も備えるようにしてもよい。
また、上記と同様に、上記の第1の実施形態の変形例の不正防止システム101では、AI分析サーバ8のCPU31が、機能ブロックとして、行動追跡部41と、不正判定部42と、通知部43と、検証部44と、顔認証情報生成部45と、再来店検出部46と、消費期限管理部146とを備える場合の例を示したが、分析ボックスのCPUが、図30に示す機能ブロック(商品特定部、再特定部、ID付与部、プロセッサ割当部、骨格検出部、及び消費期限識別部)に加えて、上記の機能ブロック(行動追跡部、不正判定部、通知部、検証部、顔認証情報生成部、再来店検出部、及び消費期限管理部)も備えるようにしてもよい。
変形例2:
上記第1の実施形態では、分析ボックス3のCPU11の再特定部22が、図8に示すように、タブレット端末6のタッチパネル6bにメッセージを表示して、商品のバーコードをスキャンさせるように、顧客に促したが、再特定部による顧客へのバーコード・スキャンの促し方は、これに限られず、例えば、タブレット端末のスピーカで、音声によるメッセージを出力することにより、顧客にバーコード・スキャンを促してもよいし、顧客のスマートフォンのタッチパネルやスピーカにメッセージを出力することにより、顧客にバーコード・スキャンを促してもよい。
変形例3:
上記第1乃至第3の実施形態では、商品特定用の学習済物体認識用NNモデル(商品特定用NNモデル18)として、損失関数を、Triplet Loss等のDeep Metric Learning用の損失関数に入れ替えて学習させたCNN80(図9参照)を用いる場合の例を示したが、商品特定用の学習済物体認識用NNモデルとして、一般の損失関数(例えば、交差エントロピー誤差)を用いて学習させたCNN等の学習済物体認識用NNモデル(例えば、VGG16)を用いてもよい。
また、上記第1乃至第3の実施形態では、請求項における「第1の物体認識用機械学習済モデル」及び「第2の物体認識用機械学習済モデル」が、学習済物体認識用NNモデルである場合の例を示したが、請求項における「第1の物体認識用機械学習済モデル」及び「第2の物体認識用機械学習済モデル」は、必ずしも、これに限られず、物体認識用の機械学習済モデルであればよい。
変形例4:
上記第1の実施形態では、分析ボックス3のCPU11の商品特定部21が、商品特定用NNモデル18(CNN80)だけではなく、顧客の店内行動情報(図10に示す行動リスト88)も用いて、商品特定を行う場合の例を示したが、商品特定用NNモデル18(CNN80)からの出力のみを用いて、所定領域に入り込んだ商品を特定するようにしてもよい。
変形例5:
上記第1の実施形態では、AI分析サーバ8の不正判定部42により顧客が不正行動を行ったと判定されたときでも、不正判定部42による判定結果に対するオペレータ89の検証結果が、顧客が不正行動を行ったという検証結果である場合に限り、この顧客を再来店時に検出するようにした。けれども、これに限られず、AI分析サーバ8の不正判定部42により不正行動を行ったと判定された顧客については、無条件に、再来店時に検出するようにしてもよい。
変形例6:
上記第1の実施形態では、分析ボックス3のCPU11が、商品特定部21と、ID付与部23と、骨格検出部25とを備える構成にしたが、この構成に限られず、例えば、各店舗に配するカメラを、いわゆるエッジコンピューティング機能を有するAI(Artificial Intelligence)カメラにして、このAIカメラに、学習済の商品特定用NNモデルと、学習済のベクトル化モデルと、学習済の骨格検出用NNモデルと、これらのNNモデルの処理の順番を記載した制御用スクリプトとを備えたアプリパッケージをインストールして、AIカメラが、上記の商品特定部と、ID付与部と、骨格検出部の機能を備えるようにしてもよい。