IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-91105情報処理プログラム、情報処理方法、および情報処理装置
<>
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図1
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図2
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図3
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図4
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図5
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図6
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図7
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図8
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図9
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図10
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図11
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図12
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図13
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図14
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図15
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図16
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図17
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図18
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図19
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024091105
(43)【公開日】2024-07-04
(54)【発明の名称】情報処理プログラム、情報処理方法、および情報処理装置
(51)【国際特許分類】
   G08B 13/196 20060101AFI20240627BHJP
   G06T 7/00 20170101ALI20240627BHJP
   G06V 10/70 20220101ALI20240627BHJP
   G07G 1/00 20060101ALI20240627BHJP
   G08B 25/00 20060101ALI20240627BHJP
   G08B 25/04 20060101ALI20240627BHJP
【FI】
G08B13/196
G06T7/00 350B
G06V10/70
G07G1/00 331B
G08B25/00 510M
G08B25/04 E
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022207557
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山本 琢麿
(72)【発明者】
【氏名】大日方 裕也
(72)【発明者】
【氏名】内田 大輔
【テーマコード(参考)】
3E142
5C084
5C087
5L096
【Fターム(参考)】
3E142AA01
3E142BA16
3E142CA13
3E142EA04
3E142FA25
3E142GA16
3E142GA41
3E142JA01
5C084AA03
5C084AA13
5C084BB04
5C084CC33
5C084DD11
5C084EE07
5C084HH01
5C084HH10
5C087AA10
5C087AA19
5C087AA37
5C087DD05
5C087DD31
5C087EE08
5C087FF01
5C087FF02
5C087FF04
5C087GG02
5C087GG19
5C087GG66
5C087GG70
5C087GG83
5C087GG84
5L096BA02
5L096DA03
(57)【要約】
【課題】監視カメラ映像から商品を特定する際、例えば、商品の写っている向きや照明などの撮影環境のわずかな影響によって機械学習モデルが商品を誤認識してしまい、顧客の不正行為を正しく検知できないことがある。
【解決手段】情報処理プログラムは、会計機に登録する商品を把持する人物の映像を取得し、取得した映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、映像に含まれる商品の信頼度を示すスコアを算出し、会計機を人物が操作することで会計機に登録された商品の情報を取得し、算出されたスコアに基づいて、複数の商品候補の中から商品候補を選択し、選択された商品候補と、取得した商品の情報とに基づいて、会計機に登録された商品の異常を示すアラートを生成する処理をコンピュータに実行させる。
【選択図】図15
【特許請求の範囲】
【請求項1】
会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記スコアを算出する処理は、
取得した前記映像を、機械学習モデルに入力することで、前記複数の商品候補のそれぞれに対して、前記スコアを算出する
処理を含むことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記会計機は、セルフレジ端末であることを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記複数の商品候補のそれぞれに対する前記スコアの中から、前記スコアの大きさが最大である第1のスコアの前記商品候補を特定し、
前記複数の商品候補のそれぞれに対する前記スコアの中から、前記会計機に登録された前記商品に対応する第2のスコアを特定し、
前記第1のスコアの前記商品候補と、前記会計機に登録された前記商品とが一致しない場合、前記第1のスコアと前記第2のスコアとの差分に基づいて、前記アラートを生成するか否かを判定する
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項5】
複数の階層ごとに前記商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した前記映像を入力することで、第1の階層の前記商品の属性の中から、前記映像に含まれる第1の商品の属性を特定し、
特定した前記第1の商品の属性に基づいて、前記第1の階層の配下の第2の階層の前記商品の属性の中から、第2の商品の属性を特定し、
取得した前記映像を前記機械学習モデルに入力することで、前記第2の商品の属性の中から、前記映像に含まれる前記商品の属性を、前記商品候補として選択する
処理を前記コンピュータに実行させることを特徴とする請求項2に記載の情報処理プログラム。
【請求項6】
前記アラートを生成する場合、予め設定されたメッセージを前記会計機に表示させる
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項7】
異常のある前記商品が登録された前記会計機の識別子を含む前記アラートを、店員が利用する情報処理端末に出力させる
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項8】
会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項9】
会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理を実行する制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
スーパーマーケットなど商品販売を行う店舗において、レジ業務の軽減による人件費の削減やレジの混雑回避などを目的として、顧客自らが商品のラベルをスキャンするなどして商品情報を登録し会計を行うセルフレジ端末の導入が進んでいる。このような顧客自らが購入対象の商品登録を行うシステムでは、顧客が購入対象の商品を正しくセルフレジ端末に登録することが重要になってくる。
【0003】
そのため、例えば、セルフレジ端末を利用する顧客を撮影した監視カメラ映像を用いて、顧客の不正行為を検知するシステムが開発されている。より具体的には、当該システムは、例えば、機械学習モデルを用いて監視カメラ映像から商品を特定し、セルフレジに登録された商品情報と比較することで、顧客の不正行為を検知する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-29021号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、監視カメラ映像から商品を特定する際、例えば、商品の写っている向きや照明などの撮影環境のわずかな影響によって機械学習モデルが商品を誤認識してしまい、顧客の不正行為を正しく検知できないことがある。
【0006】
1つの側面では、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為をより正確に検知することを目的とする。
【課題を解決するための手段】
【0007】
1つの態様において、情報処理プログラムは、会計機に登録する商品を把持する人物の映像を取得し、取得した映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、映像に含まれる商品の信頼度を示すスコアを算出し、会計機を人物が操作することで会計機に登録された商品の情報を取得し、算出されたスコアに基づいて、複数の商品候補の中から商品候補を選択し、選択された商品候補と、取得した商品の情報とに基づいて、会計機に登録された商品の異常を示すアラートを生成する処理をコンピュータに実行させる。
【発明の効果】
【0008】
1つの側面では、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為をより正確に検知できる。
【図面の簡単な説明】
【0009】
図1図1は、本実施形態にかかる情報処理システムの構成例を示す図である。
図2図2は、本実施形態にかかるセルフレジ端末100の一例を示す図である。
図3図3は、不正行為の一例であるラベルスイッチを説明する図である。
図4図4は、不正行為の別例であるバナナトリックを説明する図である。
図5図5は、機械学習モデルによる画像認識結果の一例を示す図である。
図6図6は、機械学習モデルによる画像認識結果の別例を示す図である。
図7図7は、本実施形態にかかる情報処理装置10の構成例を示す図である。
図8図8は、HOIDを説明するための図である。
図9図9は、CLIPモデル60の機械学習を説明する図である。
図10図10は、商品リストの一例を示す図である。
図11図11は、テンプレートの一例を示す図である。
図12図12は、階層構造データの生成を説明する図(1)である。
図13図13は、階層構造データの生成を説明する図(2)である。
図14図14は、階層構造データの一例を示す図である。
図15図15は、本実施形態にかかる不正検知の一例を示す図である。
図16図16は、本実施形態にかかる不正検知処理の流れを示すフローチャートである。
図17図17は、本実施形態にかかる不正検知処理の流れの別例を示すフローチャートである。
図18図18は、情報処理装置10のハードウェア構成例を説明する図である。
図19図19は、セルフレジ端末100のハードウェア構成例を説明する図である。
図20図20は、店員端末300のハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本実施形態に係る情報処理プログラム、情報処理方法、および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本実施形態が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0011】
まず、本実施形態を実施するための情報処理システムについて説明する。図1は、本実施形態にかかる情報処理システムの構成例を示す図である。図1に示すように、情報処理システム1は、情報処理装置10と、セルフレジ端末100とが、ネットワーク50を介して相互に通信可能に接続されるシステムである。また、情報処理装置10は、カメラ装置200や店員端末300ともネットワーク50を介して相互に通信可能に接続される。
【0012】
ネットワーク50には、有線や無線を問わず、例えば、イントラネットなどの各種通信網を採用できる。また、ネットワーク50は、単一のネットワークではなく、例えば、イントラネットとインターネットとがゲートウェイなどネットワーク装置やその他の装置(図示せず)を介して構成されてよい。
【0013】
セルフレジ端末100は、例えば、スーパーマーケットなど商品販売を行う店舗内のレジエリアに設置され、顧客自らが購入対象の商品を登録して会計を行うための情報処理端末である。セルフレジ端末100は、商品のラベルをスキャンするためのコードリーダや、精算画面などを表示して操作するためのタッチパネル式のディスプレイ部を備えるか、または、外付けのコードリーダやディスプレイと通信可能に接続される。なお、セルフレジ端末100は、例えば、会計機やセルフレジ、Self checkout、automated checkout、self-checkout machine、およびself-check-out registerなどと呼ばれる。
【0014】
図2は、本実施形態にかかるセルフレジ端末100の一例を示す図である。顧客は、商品の会計時、例えば、商品のラベルをコードリーダ150によってスキャンし、セルフレジ端末100に購入商品の登録を行う。なお、商品のラベルとは、例えば、バーコードを含んでよい。また、野菜や果物など、ラベルが貼付されていない商品の場合、顧客は、例えば、セルフレジ端末100が備えるディスプレイ部に表示された商品一覧から購入対象の商品を選択して、購入商品の登録を行う。そして、顧客は、セルフレジ端末100のディスプレイ部に表示された精算画面を操作し、現金や電子マネー、またはクレジットカードなどによって、セルフレジ端末100に登録された商品の会計を行う。
【0015】
図1の説明に戻り、カメラ装置200は、例えば、セルフレジ端末100の上部などに設置され、セルフレジ端末100によって会計を行う顧客を撮影する監視カメラである。カメラ装置200は、セルフレジ端末100ごとに複数台あってよい。カメラ装置200によって撮影された映像は、情報処理装置10に送信される。
【0016】
店員端末300は、スーパーマーケットなどの店員が所持するスマートフォンやタブレットPCなどのモバイル端末であってもよいし、店舗内のレジエリアに設置されるデスクトップPCやノートPCなどの情報処理装置であってもよい。店員端末300は、顧客の不正行為が情報処理装置10によって検知された場合に、情報処理装置10からアラートを受信する。なお、店員端末300は、例えば、店舗の店員ごとに複数存在してよいが、当該アラートが通知される端末は、例えば、レジエリアを担当する特定の店員が所持する端末などに限定されてよい。
【0017】
情報処理装置10は、例えば、店舗内に設置され、店舗スタッフや管理者などによって使用されるデスクトップPC(Personal Computer)やノートPC、またはサーバコンピュータなどの情報処理装置である。
【0018】
なお、図1では、情報処理装置10を1台のコンピュータとして示しているが、複数台のコンピュータで構成される分散型コンピューティングシステムであってもよい。また、情報処理装置10は、クラウドコンピューティングサービスを提供するサービス提供者によって管理されるクラウドコンピュータ装置であってもよい。
【0019】
情報処理装置10は、セルフレジ端末100で会計を行う顧客(以下、単に「人物」という場合がある)や商品をカメラ装置200によって撮影された映像を、カメラ装置200から受信する。なお、当該映像は、顧客や商品を撮像した一連のフレーム、すなわち、複数の画像であるため、本実施形態における映像の処理は、画像処理を含んでよい。
【0020】
また、情報処理装置10は、例えば、カメラ装置200によって撮影された映像を、機械学習モデルに入力することで、映像に含まれる商品の信頼度を示すスコアを算出し、当該スコアに基づいて、複数の商品候補の中から商品候補を選択する。そして、情報処理装置10は、選択された商品候補を、顧客の購入対象の商品として認識する。
【0021】
また、情報処理装置10は、例えば、顧客によってセルフレジ端末100に登録された商品情報を、セルフレジ端末100から受信する。そして、情報処理装置10は、例えば、登録された商品情報の商品と、映像から購入対象の商品として認識された商品とを比較して、両商品が一致しない場合は、異常を示すアラートを生成し、店員端末300に通知する。このようにして、情報処理装置10は、顧客の不正行為を検知する。
【0022】
顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為には、例えば、ラベルスイッチやバナナトリックなどと呼ばれる行為がある。図3は、不正行為の一例であるラベルスイッチを説明する図である。図3は、セルフレジ端末100の上部に設置されたカメラ装置200によって撮影された顧客がラベルスイッチを行う様子を示すものです。ラベルスイッチは、図3に示すように、購入対象の商品160に、例えば、商品160よりも安価な商品のラベル170を重ねてスキャンすることにより、商品をだまし取る行為である。
【0023】
図4は、不正行為の別例であるバナナトリックを説明する図である。一方、バナナトリックは、図4に示すように、ラベルが貼付されていない商品160を購入する際、セルフレジ端末100に表示された商品一覧から、商品160よりも安価な商品を選択、または数を少なく入力することにより、商品をだまし取る行為である。
【0024】
このような不正行為を検知するため、情報処理装置10は、例えば、後述するCLIP(Contrastive Language-Image Pre-training)モデルである機械学習モデルを用いて映像から商品を認識する。また、情報処理装置10は、例えば、映像からの商品の認識精度を上げるため、カメラ装置200によって撮影された映像を特徴量とし、当該映像に含まれる物体、すなわち商品を正解ラベルとして機械学習により訓練された機械学習モデルをさらに用いてもよい。
【0025】
図5は、機械学習モデルによる画像認識結果の一例を示す図である。図5は、上述したように映像から商品を特定するために訓練された機械学習モデルに映像を入力することにより得られる画像認識結果の一例を示すものである。図5の画像認識結果は、縦軸を、各商品を一意に示すクラス名、横軸を、0.0~1.0の数値によって示される信頼度を示すスコアとするグラフである。当該クラス名によって示される各商品は、例えば、スーパーマーケットなど商品販売を行う店舗内で取り扱われる商品群であって、映像から認識され得る商品群の候補である。また、信頼度を示すスコアは、既存のAI技術によって算出でき、スコア値が高いほど、機械学習モデルが、映像に含まれる商品を、当該スコアに対応する商品であるとより認識したことを示す。図5の例では、クラス“wine”(ワイン)が最も高いスコア値を示すため、情報処理装置10は、映像に含まれる商品をワインと特定する。
【0026】
しかしながら、例えば、商品の写っている向きや照明などの撮影環境のわずかな影響によって、類似する商品間でスコア値が拮抗することがある。図6は、機械学習モデルによる画像認識結果の別例を示す図である。図6の例では、クラス“watermelon”(すいか)とクラス“melon”(メロン)とのスコア値が拮抗しており、最も高いスコア値はクラス“watermelon”であるが、映像に含まれる商品は実際にはメロンであり、誤認識してしまうことがある。また、機械学習モデルは、AI(Artificial Intelligence)であるため、誤ったクラスのスコア値が異常に高くなってしまい、映像に含まれる商品を誤認識してしまうこともあり得る。このような機械学習モデルの誤認識は、顧客の不正行為を正しく検知できないことに繋がる。
【0027】
そこで、本実施形態では、例えば、機械学習モデルによる画像認識結果のスコア値が拮抗してしまったり、誤ったクラスのスコア値が異常に高くなってしまったりしてしまう場合であっても、顧客の不正行為をより正確に検知することを目的の1つとする。
【0028】
[情報処理装置10の機能構成]
次に、本実施形態の実行主体となる情報処理装置10の機能構成について説明する。図7は、本実施形態にかかる情報処理装置10の構成例を示す図である。図7に示すように、情報処理装置10は、通信部20、記憶部30、および制御部40を有する。
【0029】
通信部20は、セルフレジ端末100やカメラ装置200など、他の装置との間の通信を制御する処理部であり、例えば、ネットワークインタフェースカードなどの通信インタフェースである。
【0030】
記憶部30は、各種データや、制御部40が実行するプログラムを記憶する機能を有し、例えば、メモリやハードディスクなどの記憶装置により実現される。記憶部30は、映像DB31、モデルDB32、画像認識結果33、および商品情報34などを記憶する。
【0031】
映像DB31は、例えば、カメラ装置200によって撮影された映像や、当該映像に関する情報を記憶する。なお、映像DB31は、例えば、セルフレジ端末100やカメラ装置200ごとに情報を記憶してよい。カメラ装置200によって撮影された映像は、カメラ装置200から随時送信され、映像DB31に記憶される。また、映像DB31は、例えば、本実施形態において画像処理された映像の結果である画像データを記憶してよい。
【0032】
モデルDB32は、例えば、カメラ装置200によって撮影された映像から、当該映像に含まれる商品を特定するための機械学習モデルに関する情報や、当該機械学習モデルを構築するためのモデルパラメータ、および訓練データを記憶する。
【0033】
画像認識結果33は、例えば、カメラ装置200によって撮影された映像から、当該映像に含まれる商品を特定するための機械学習モデルによる画像認識結果に関する情報を記憶する。当該画像認識結果は、例えば、図5図6に示すような各商品のスコア値であってよい。
【0034】
商品情報34は、例えば、顧客によってセルフレジ端末100に登録された商品に関する情報を記憶する。なお、商品情報34は、例えば、セルフレジ端末100および顧客ごとに、購入対象として登録された商品の識別子や商品名、購入点数や金額などの情報を記憶してよい。セルフレジ端末100によって登録された商品の情報は、セルフレジ端末100から随時送信され、商品情報34に記憶される。
【0035】
なお、記憶部30に記憶される上記情報はあくまでも一例であり、記憶部30は、上記情報以外にも様々な情報を記憶できる。
【0036】
制御部40は、情報処理装置10全体を司る処理部であり、例えば、プロセッサなどである。制御部40は、取得部41、算出部42、選択部43、生成部44、出力部45などを備える。なお、各処理部は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【0037】
取得部41は、例えば、セルフレジ端末100である会計機に登録する商品を把持する人物の映像を、映像DB31から取得する。また、取得部41は、例えば、セルフレジ端末100である会計機を人物が操作することで当該会計機に登録された商品の情報を、商品情報34から取得する。
【0038】
算出部42は、例えば、取得部41が取得した映像を、機械学習モデルに入力することで、予め設定された複数の商品候補のそれぞれに対して、映像に含まれる商品の信頼度を示すスコアを算出する。より具体的には、図5および図6を用いて説明したように、算出部42は、カメラ装置200によって撮影された映像を特徴量とし、当該映像に含まれる商品を正解ラベルとして機械学習により訓練された機械学習モデルを用いて、各商品のスコアを算出する。また、予め設定された複数の商品候補は、例えば、スーパーマーケットなど商品販売を行う店舗内で取り扱われる商品群であって、記憶部30に予め記憶されてよい。
【0039】
なお、映像に含まれる物体は、商品以外にも買い物カゴやレジ袋、セルフレジ端末100など様々な物体が存在し得る。そのため、例えば、既存技術のHOID(Human Object Interaction Detection)を用いて、人物が把持した物体が商品として検出されてよい。
【0040】
図8は、HOIDを説明するための図である。HOIDは、人物と物体との相互作用を検出するもので、例えば、図8に示すように、画像データ250を入力データとして、人物が物体を手に持っているなど相互作用関係にあると判断された人物と物体とを検出する技術である。人物や物体の検出は、例えば、図8に示すように、検出された人物や物体を囲む矩形領域であるバウンディングボックス(Bounding Box:BB)として示される。図8の場合では、人物および物体のBBは、それぞれ、人物BB180および物体BB190である。また、HOIDでは、人物と物体との相互作用の確率値およびClass名(例えば、“持つ”)も出力される。本実施形態では、HOIDを用いて、人物が把持した物体が商品として検出される。
【0041】
選択部43は、例えば、算出部42によって算出された、信頼度を示すスコアに基づいて、複数の商品候補の中から商品候補を選択する。より具体的には、選択部43は、例えば、信頼度を示すスコアが最大の商品を商品候補として選択する。
【0042】
また、選択部43は、例えば、次に示すように、複数の階層ごとに商品の属性が対応付けられた参照元データを参照する機械学習モデルを用いて、商品候補を選択してもよい。(1)まず、算出部42は、例えば、複数の階層ごとに商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した映像を入力することで、第1の階層の商品の属性の中から、当該映像に含まれる第1の商品の属性を特定する。(2)次に、算出部42は、例えば、特定した第1の商品の属性に基づいて、第1の階層の配下の第2の階層の商品の属性の中から、第2の商品の属性を特定する。(3)そして、算出部42は、例えば、取得した映像を機械学習モデルに入力することで、第2の商品の属性の中から、映像に含まれる商品の属性を、商品候補として選択する。
【0043】
ここで、第1の階層の商品の属性とは、例えば、“果物”、“魚”、“肉”など商品の種類であってよい。また、第2の階層の商品の属性とは、例えば、第1の階層の商品の属性“果物”の配下の“高価格ぶどう”、“低価格ぶどう”などであってよい。また、階層の深さは第2の階層までに限定されなくてよく、第3の階層以降も続いてよい。第3の階層の商品の属性とは、例えば、第2の階層の商品の属性“高価格ぶどう”の配下の“シャインマスカット(4500円)”、“高級巨峰(3900円)”などであってよい。このように、階層が深くなるにつれて商品の属性を細分化して、階層ごとに商品の属性を絞り込んで機械学習モデルを用いた推定を行うことにより、選択部43は、より正確かつ詳細に、映像に含まれる商品の属性を、商品候補として選択できる。
【0044】
複数の階層ごとに商品の属性が対応付けられた参照元データを参照する機械学習モデルであるCLIPモデル60を用いた商品候補の選択について、より具体的に説明する。
【0045】
図9は、CLIPモデル60の機械学習を説明する図である。図9には、CLIPモデル60の例として、ゼロショット画像分類器の一例であるCLIPモデル60が示されている。CLIPは、画像およびテキストの複数種類、いわゆるマルチモーダルの特徴量空間への埋め込みを実現する技術である。すなわち、CLIPでは、画像エンコーダおよびテキストエンコーダを訓練することにより、意味が近い画像およびテキストのペア間でベクトルの距離が近くなる埋め込みが実現される。例えば、画像エンコーダは、ViT(Vision Transformer)により実現されてもよいし、畳み込み系のニューラルネットワーク、例えばResNetなどにより実現されてもよい。また、テキストエンコーダは、GPT(Generative Pre-trained Transformer)ベースのTransformerにより実現されてもよいし、回帰型のニューラルネットワーク、例えば、LSTM(Long Short-Term Memory)により実現されてもよい。
【0046】
図9に示すように、CLIPモデル60の訓練には、画像およびテキストのペアが訓練データとして用いられる。このような訓練データには、インターネット上のWebページから画像および画像のキャプションとして記述されたテキストのペアが抽出されたデータセット、いわゆるWIT(WebImageText)を用いることができる。例えば、リンゴが撮影された写真、あるいはリンゴのイラストが描画された絵などの画像と、そのキャプションとして記述されたテキスト“リンゴの写真”とのペアが訓練データとされる。このようにWITを訓練データに用いることで、ラベル付けの作業を不要化すると共に大量の訓練データを獲得できる。
【0047】
これら画像およびテキストのペアのうち、画像が画像エンコーダ62へ入力されると共に、テキストがテキストエンコーダ61へ入力される。このように画像が入力された画像エンコーダ62は、当該画像を特徴量空間に埋め込むベクトルを出力する。一方、テキストが入力されたテキストエンコーダ61は、当該テキストを特徴量空間に埋め込むベクトルを出力する。
【0048】
例えば、図9には、画像1およびテキスト1のペア、画像2およびテキスト2のペア、・・・、画像NおよびテキストNのN個のペアの訓練データを含むバッチサイズNのミニバッチが例示されている。この場合、N個のペアの画像およびテキストの各々を画像エンコーダ62およびテキストエンコーダ61へ入力することにより、N×N個の埋め込みベクトルの類似度行列M1を得ることができる。なお、ここでいう「類似度」は、あくまで一例として、埋め込みベクトル間の内積やコサイン類似度であってよい。
【0049】
ここで、CLIPモデル60の訓練には、Webのテキストのキャプションの形式が様々であることからラベルが不定となるので、Contrastive objectiveと呼ばれる目的関数が用いられる。
【0050】
Contrastive objectiveでは、ミニバッチのi番目の画像であればi番目のテキストが正しいペアに対応するので、i番目のテキストを正例とする一方で、それ以外の全てのテキストが負例とされる。つまり、訓練データごとに1つの正例およびN-1個の負例が設定されるので、ミニバッチ全体ではN個の正例およびN-N個の負例が生成されることになる。例えば、類似度行列M1の例でいえば、白黒の反転表示がなされたN個の対角成分の要素を正例とし、白地の表示がなされたN-N個の要素が負例とされる。
【0051】
このような類似度行列M1の下、正例に対応するN個のペアの類似度を最大化すると共に、負例に対応するN-N個のペアの類似度を最小化する画像エンコーダ62およびテキストエンコーダ61のパラメータが訓練される。
【0052】
例えば、1番目の画像1の例でいえば、1番目のテキストを正例とし、2番目以降のテキストを負例とし、類似度行列Mの行方向に損失、例えばクロスエントロピー誤差を算出する。このような損失の計算をN個の画像ごとに実行することで、画像に関する損失が求まる。一方、2番目のテキスト2の例でいえば、2番目の画像を正例とし、2番目以外の全ての画像を負例とし、類似度行列Mの列方向に損失を算出する。このような損失の計算をN個のテキストごとに実行することで、テキストに関する損失が求まる。これら画像に関する損失およびテキストに関する損失の統計値、例えば平均を最小化するパラメータの更新が画像エンコーダ62およびテキストエンコーダ61に実行される。
【0053】
このようなContrastive objectiveを最小化する画像エンコーダ62およびテキストエンコーダ61の訓練により、訓練済みのCLIPモデル60が生成される。
【0054】
また、CLIPモデル60が参照する参照元データとして、テキスト、いわゆるクラスキャプションのリストが生成され、CLIPモデル60に入力される。参照元データは、例えば、商品データに含まれる商品の属性の分散関係に基づいて、複数の階層ごとに商品の属性が対応付けられたテキストがリスト化されたデータである。
【0055】
CLIPモデル60が参照元データの生成について、より具体的に説明する。参照元データは、例えば、生成部44によって生成される。まず、生成部44は、スーパーマーケットなどの店舗の商品リストを取得する。商品リストの取得は、あくまで一例として、店舗の商品がデータベース化された商品マスタに登録された商品の一覧を取得することにより実現することができる。
【0056】
図10は、商品リストの一例を示す図である。図10には、店舗で販売される商品全体のうち果物“ぶどう”に関する商品の例として、“シャインマスカット”、“高級巨峰”、“安いぶどうA”、“安いぶどうB”、および“訳ありぶどうA”が抜粋して示されている。
【0057】
さらに、生成部44は、あくまで一例として、階層構造のテンプレートを取得する。階層構造のテンプレートの取得は、例えば、店舗で販売する商品のカテゴリ、例えば“果物”や“魚”、“肉”などを第1の階層の要素として設定することにより生成できる。図11は、テンプレートの一例を示す図である。図11に示すように、テンプレートは、rootを最上位とする階層構造を有する。さらに、rootからの深さが「1」である第1の階層には、「果物」、「魚」、「肉」、・・・、「乳製品」などのカテゴリが要素(ノード)として含まれる。なお、図11では、説明を簡素化する側面から、商品のカテゴリを第1の階層とするテンプレートを例示したが、商品の大分類、例えば果物や魚などの分類を第1の階層とし、商品の小分類、例えばぶどうやりんごなどの分類を第2の階層とすることとしてもよい。
【0058】
次に、生成部44は、階層構造のテンプレートの最下層、すなわち、図11の例では、第1の階層の配下に、第1の階層の要素ごとにシステム定義またはユーザ定義により指定された属性、例えば、商品の“価格”に関する属性を付加する。以下、“価格”に関する属性のことを指して「価格属性」と記載する場合がある。なお、付加される属性の一例として、価格属性を挙げるが、他の属性、例えば、商品の色や形、在庫数などが付加されてもよい。
【0059】
図12は、階層構造データの生成を説明する図(1)である。図12には、図11に示すテンプレートに対応する部分の要素が白地で示されると共に、各要素に付加された属性の部分がハッチングで示されている。図12の例では、第2の階層の各要素に、商品の“価格”に関する属性が付加されている。例えば、第1の階層の要素“果物”には、第2の階層の要素として“高価格ぶどう”および“低価格ぶどう”が付加されている。なお、図12の例では、1つの要素につき2つの価格属性を付加しているが、付加される属性の要素は2つに限定されず、1つでも3つ以上でもよい。例えば、第1の階層の要素“果物”には、第2の階層の要素“高価格ぶどう”、“中価格ぶどう”、および“低価格ぶどう”の3つの価格属性が付加されてもよい。また、第1の階層の要素ごとに付加される属性の数を変更してもよい。この場合、例えば、第1の階層の要素に属する商品の種類や数、または価格の分散が大きくなるに連れて属性の数を大きくすることもできる。
【0060】
そして、生成部44は、例えば、生成中の階層構造の最下層の要素、すなわち、図12の例では、第2の階層に属する価格属性の要素kごとに当該要素kに対する類似度が所定の閾値th1以上である商品を抽出する。
【0061】
図13は、階層構造データの生成を説明する図(2)である。図13には、商品のカテゴリ“果物”に関する例が抜粋して示されている。例えば、図13に示す第2の階層の要素“高価格ぶどう”の場合、対応するテキスト“高価格ぶどう”をCLIPモデル60のテキストエンコーダ61へ入力することにより、第2の階層の要素“高価格ぶどう”の埋め込みベクトルが得られる。一方、図10に示す商品リストに含まれる商品ごとに当該商品に対するテキストをCLIPモデル60のテキストエンコーダ61へ入力することにより、各商品の埋め込みベクトルが得られる。そして、第2の階層の要素“高価格ぶどう”の埋め込みベクトルと、各商品の埋め込みベクトルとの類似度が算出される。この結果、第2の階層の要素“高価格ぶどう”には、第2の階層の要素“高価格ぶどう”の埋め込みベクトルに対する類似度が閾値th1以上である商品“シャインマスカット”および“高級巨峰”が抽出される。同様に、第2の階層の要素“低価格ぶどう”には、第2の階層の要素“低価格ぶどう”の埋め込みベクトルに対する類似度が閾値th1以上である商品“安いぶどうA”、“安いぶどうB”、および“訳ありぶどうA”が抽出される。なお、ここでは、テキスト間の埋め込みベクトルのマッチングにより商品を抽出する例を挙げたが、一方または両方を画像の埋め込みベクトルとすることもできる。
【0062】
また、生成部44は、例えば、生成中の階層構造の全M階層のうち第1の階層から最下層であるM階層を除く第M-1階層までの各階層の要素nごとに当該要素nに属する商品の価格の分散Vを算出する。その上で、生成部44は、例えば、価格の分散Vが所定の閾値th2以下であるか否かを判定する。そして、価格の分散Vが閾値th2以下である場合、生成部44は、要素nよりも下位の階層の探索の打ち切りを決定する。一方、価格の分散Vが閾値th2より大きい場合、生成部44は、階層のループカウンタを1つインクリメントし、1つ下位の階層の各要素について価格の分散の算出および分散の閾値判定を反復する。
【0063】
あくまで一例として、図13に示す第1の階層をm層とし、第1の階層の要素“果物”を要素nとする場合を例に挙げる。この場合、第1の階層の要素“果物”には、図13に破線の枠で示す通り、“シャインマスカット(4500円)”、“高級巨峰(3900円)”、“安いぶどうA(350円)”、“安いぶどうB(380円)”、“訳ありぶどうA(350円)”などの5つの商品が含まれる。また、価格の分散V11は閾値th2以下とならないので(図中の判定1)、下層の探索が継続される。すなわち、階層のループカウンタmを1つインクリメントし、第2の階層がm層とされる。
【0064】
次に、図13に示す第2の階層をm層とし、第2の階層の要素“高価格ぶどう”を要素nとする場合を例に挙げる。この場合、第2の階層の要素“高価格ぶどう”には、図13に一点鎖線の枠で示す通り、“シャインマスカット(4500円)”および“高級巨峰(3900円)”などの2つの商品が含まれる。また、価格の分散V21は閾値th2以下とはならないが(図中の判定2)、第2の階層の要素“高価格ぶどう”は最下層である第3の階層の1つ上位の階層、すなわち、全M階層のうち第M-1階層の要素であるので、探索が終了される。
【0065】
さらに、図13に示す第2の階層をm層とし、第2の階層の要素“低価格ぶどう”を要素nとする場合を例に挙げる。この場合、第2の階層の要素“低価格ぶどう”には、図13に二点鎖線の枠で示す通り、“安いぶどうA(350円)”、“安いぶどうB(380円)”、および“訳ありぶどうA(350円)”などの3つの商品が含まれる。また、価格の分散V22は閾値th2以下となるので(図中の判定3)、下層の探索の打ち切りが決定される。
【0066】
そして、生成部44は、第1の階層の要素ごとに開始される探索の打ち切りが決定されるか、あるいは探索が第M-1階層の全ての要素が探索されるまで探索を反復する。その上で、生成部44は、上記の探索時で得られた価格の分散の判定結果に基づいて階層構造の各ルート(route)の深さを決定する。
【0067】
あくまで一例として、図13の例では、生成部44は、全M階層の階層構造の最上位の要素から最下層の要素までのルートに商品の価格の分散が閾値th2以下である要素が存在する場合、当該要素を終端ノードに設定する。一方、生成部44は、図13の例では、最上位の要素から最下層の要素までのルートに商品の価格の分散が閾値th2以下である要素が存在しない場合、商品に対応する要素を終端ノードに設定する。
【0068】
例えば、図13に示す例において、第1の階層の要素“果物”と、第2の階層の要素“高価格ぶどう”と、第3の階層の要素“シャインマスカット”または“高級巨峰”とを結ぶルートを例に挙げる。当該ルートでは、第1の階層の要素“果物”における価格の分散V11および第2の階層の要素“高価格ぶどう”における価格の分散V21のいずれにおいても閾値th2以下と判定されない。そのため、当該ルートでは、第3の階層の要素“シャインマスカット”および“高級巨峰”が終端ノードに設定される。
【0069】
一方、図13に示す例において、第1の階層の要素“果物”と、第2の階層の要素“低価格ぶどう”と、第3の階層の要素“安いぶどうA”、“安いぶどうB”、または“訳ありぶどうA”とを結ぶルートを例に挙げる。当該ルートでは、第1の階層の要素“果物”における価格の分散V11は閾値th2以下と判定されないが、第2の階層の要素“低価格ぶどう”における価格の分散V22が閾値th2以下と判定される。そのため、当該ルートでは、第2の階層の要素“低価格ぶどう”が終端ノードに設定される。
【0070】
このように、図13に示すM階層の階層構造の各ルートの深さが決定されることにより、階層構造が確定され、階層構造データが生成される。また、生成された階層構造データに基づいて、CLIPモデル60が参照する参照元データとして、テキスト、いわゆるクラスキャプションのリストが生成される。なお、生成された階層構造データや参照元データは、例えば、モデルDB32などに記憶されてよい。
【0071】
図14は、階層構造データの一例を示す図である。図14の例では、商品の価格の分散が閾値th2以下である終端ノードより下位の階層の要素は階層構造データには含まれないため、破線で示されている。すなわち、図14の第1の階層の要素“果物”が含まれるルートを例とすると、階層構造データには、第1の階層の要素“果物”と、第2の階層の要素“高価格ぶどう”と、第3の階層の要素“シャインマスカット”または“高級巨峰”とを結ぶルートが含まれる。さらに、図14に示すように、階層構造データには、第1の階層の要素“果物”と、第2の階層の要素“低価格ぶどう”とを結ぶルートが含まれる。
【0072】
このような階層構造データに基づくクラスキャプションのリストがCLIPモデル60の一例であるゼロショット画像分類器に入力される。例えば、第1の階層のクラスキャプションのリストとして、テキスト“果物”およびテキスト“魚”などのリストがCLIPモデル60のテキストエンコーダ61へ入力される。また、画像エンコーダ62への入力画像に対応するクラスのラベルとして“果物”がCLIPモデルにより出力されたとする。この場合、第2の階層のクラスキャプションのリストとして、テキスト“高価格ぶどう”および“低価格ぶどう”のリストがCLIPモデル60のテキストエンコーダ61に入力される。
【0073】
このように、階層構造の上位の階層から順に同一の階層に属する商品の属性に対応するテキストがリスト化されたリストがCLIPモデル60のクラスキャプションとして入力される。これにより、CLIPモデル60に階層単位で商品の候補の絞り込みを実行させることができる。このため、店舗の全ての商品に対応するテキストのリストをCLIPモデル60のクラスキャプションとして入力する場合に比べてタスク実現の処理コストを削減できる。
【0074】
さらに、CLIPモデル60に参照させる階層構造では、商品の価格の分散が閾値th2以下である要素よりも下位の要素が省略されるので、不正行為の発生時の被害額の差が少ない商品同士をクラスタリングできる。これにより、さらなるタスク実現の処理コストの削減を実現できる。
【0075】
図7の説明に戻り、また、生成部44は、例えば、選択部43によって選択された商品候補と、取得部41によって取得された、セルフレジ端末100である会計機に登録された商品の情報とに基づいて、会計機に登録された商品の異常を示すアラートを生成する。
【0076】
なお、図6を用いて説明したように、類似する商品間でスコア値が拮抗するなどした場合に、選択部43によって選択された商品候補が誤って認識されている場合があり得る。そのため、生成部44は、例えば、次に示すように、当該アラートを生成するか否かを判定した上で、アラートの生成が必要な場合にアラートを生成する。
【0077】
図15は、本実施形態にかかる不正検知の一例を示す図である。図15に示す各商品のスコアは、図6に示すものと同一である。この場合、最も高いスコア値を示す“watermelon”(すいか)が画像認識結果として出力され、商品候補として選択される。しかしながら、クラス“watermelon”(すいか)とクラス“melon”(メロン)とのスコア値が拮抗しているため、当該商品候補は誤って認識された可能性がある。
【0078】
そこで、本実施形態では、図15に示すように、最も高いスコア値を示す商品、すなわち商品候補と、セルフレジ端末100に登録された商品の情報に基づく商品のスコア値を比較することにより、顧客の不正行為を検知する。これは、映像から認識される商品は誤っている可能性があるとしても、映像に映った商品と、セルフレジ端末100に登録された商品とが異なっていることさえわかれば、不正行為が行われている可能性が高いという考えによる。
【0079】
図15の例では、セルフレジ端末100に登録された商品はバナナ(banana)であったが、映像から認識された商品はすいか(watermelon)であり、両商品のスコア値が0.2など所定の閾値以上の差があるため、両商品は明らかに異なるものである。このような場合、生成部44は、顧客の不正行為を検知し、セルフレジ端末100に登録された商品の異常を示すアラートを生成すると判定する。
【0080】
アラートの生成判定についてより具体的に示す。(1)まず、生成部44は、例えば、複数の商品候補のそれぞれに対するスコアの中から、スコアの大きさが最大である第1のスコアの商品候補を特定する。(2)次に、生成部44は、例えば、複数の商品候補のそれぞれに対するスコアの中から、セルフレジ端末100である会計機に登録された商品に対応する第2のスコアを特定する。(3)そして、生成部44は、例えば、当該第1のスコアの商品候補と、当該会計機に登録された商品とが一致しない場合、当該第1のスコアと当該第2のスコアとの差分に基づいて、アラートを生成するか否かを判定する。(3)の判定について、例えば、上述したように、第1のスコアと第2のスコアとの差分が所定の閾値以上ある場合に、両スコアの各々に対応する商品は異なるものであると認識され、当該会計機に登録された商品の異常を示すアラートを生成すると判定される。
【0081】
図7の説明に戻り、出力部45は、例えば、セルフレジ端末100に登録された商品の異常を示すアラートを生成する場合、予め設定されたメッセージをセルフレジ端末100である会計機に表示させる。当該メッセージとは、例えば、「店員がまいりますので少々お待ちください。」や「他に商品はございませんでしょうか。」などであり、顧客に確認を促すと共に、店員が到着するまでの時間を稼ぐためのメッセージである。
【0082】
また、出力部45は、例えば、異常のある商品が登録されたセルフレジ端末100である会計機の識別子を含むアラートを、店員端末300である、店員が利用する情報処理端末に出力させる。当該アラートを受け、店員は、アラートに示されたセルフレジ端末100に向かい、顧客がセルフレジ端末100に登録した商品などの確認を行う。
【0083】
[処理の流れ]
次に、図16を用いて、情報処理装置10によって実行される不正検知処理の流れを説明する。図16は、本実施形態にかかる不正検知処理の流れを示すフローチャートである。図16に示す不正検知処理は、例えば、情報処理装置10が、顧客によってセルフレジ端末100に登録された商品情報を、セルフレジ端末100から受信した際などに開始されてよい。
【0084】
まず、図16に示すように、情報処理装置10は、例えば、カメラ装置200によって撮影された、セルフレジ端末100に登録する商品を把持する人物の映像を映像DB31から取得する(ステップS101)。なお、映像DB31には、セルフレジ端末100ごとに、カメラ装置200によって撮影された映像が随時記憶されるため、例えば、セルフレジ端末100から受信した商品情報に含まれるシステム日時や識別子などに基づいて、取得する映像が決定されてよい。
【0085】
次に、情報処理装置10は、例えば、ステップS101で取得した映像を、機械学習モデルに入力することで、予め設定された複数の商品候補のそれぞれに対して、映像に含まれる商品の信頼度を示すスコアを算出する(ステップS102)。
【0086】
次に、情報処理装置10は、例えば、ステップS102で算出したスコアに基づいて、複数の商品候補の中から、映像に含まれる商品としての商品候補を選択する(ステップS103)。これは、例えば、ステップS102で算出したスコアが最大の商品が商品候補として選択される。
【0087】
次に、情報処理装置10は、例えば、セルフレジ端末100を人物が操作することで当該セルフレジ端末100に登録された商品の情報を、商品情報34から取得する(ステップS104)。なお、ステップS104の商品情報の取得は、ステップS101~S103の前に実行されてもよいし、並行して実行されてもよい。
【0088】
次に、情報処理装置10は、例えば、ステップS103で選択された商品候補の商品と、ステップS104で取得した、セルフレジ端末100に登録された商品の情報の商品とが一致するか否かを判定する(ステップS105)。両商品が一致する場合(ステップS105:Yes)、不正行為は行われていないと判断し、図16に示す不正検知処理は終了する。
【0089】
一方、両商品が一致しない場合(ステップS105:No)、情報処理装置10は、例えば、不正行為を検知し、セルフレジ端末100に登録された商品の異常を示すアラートを生成する(ステップS106)。
【0090】
次に、情報処理装置10は、例えば、ステップS106で生成されたアラートを店員端末300に出力する(ステップS107)。ステップS107の実行後、図16に示す不正検知処理は終了するが、情報処理装置10は、さらに、「店員がまいりますので少々お待ちください。」など、予め設定されたメッセージを、不正行為を検知したセルフレジ端末100に出力してもよい。
【0091】
図16に示す不正検知処理は、映像に含まれる商品の信頼度を示すスコアに基づいて商品候補を選択する処理であるが、図17を用いて、階層構造データに基づいて商品候補を選択する別例を説明する。図17は、本実施形態にかかる不正検知処理の流れの別例を示すフローチャートである。図17に示す不正検知処理も、図16に示す不正検知処理同様、例えば、セルフレジ端末100から商品情報を受信した際などに開始されてよい。
【0092】
まず、図17に示すように、図16に示す不正検知処理同様、情報処理装置10は、例えば、セルフレジ端末100に登録する商品を把持する人物の映像を映像DB31から取得する(ステップS201)。
【0093】
次に、情報処理装置10は、例えば、参照元データをモデルDB32から取得する(ステップS202)。当該参照元データは、図9図14を用いて説明したように、例えば、図10の商品リストや、図11のテンプレートを用いて、図14に示されるような階層構造データを生成し、当該階層構造データに基づいて生成されたクラスキャプションのリストであってよい。
【0094】
次に、情報処理装置10は、例えば、ステップS201で取得した映像、およびステップS202で取得した参照元データを、CLIPモデル60に入力することで、映像に含まれる商品としての商品候補を選択する(ステップS203)。ステップS204~S207は、図16に示す不正検知処理のステップS104~S107と同様である。ステップS207の実行後、図17に示す不正検知処理は終了する。
【0095】
[効果]
上述したように、情報処理装置10は、セルフレジ端末100に登録する商品を把持する人物の映像を取得し、取得した映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、映像に含まれる商品の信頼度を示すスコアを算出し、セルフレジ端末100を人物が操作することでセルフレジ端末100に登録された商品の情報を取得し、算出されたスコアに基づいて、複数の商品候補の中から商品候補を選択し、選択された商品候補と、取得した商品の情報とに基づいて、セルフレジ端末100に登録された商品の異常を示すアラートを生成する。
【0096】
このように、情報処理装置10は、映像に含まれる人物が把持する商品の信頼度スコアに基づいて選択された商品候補と、セルフレジ端末100に登録された商品とに基づいてアラートを生成する。これにより、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為をより正確に検知できる。また、セルフレジ端末100に登録された商品の異常を示すアラートを生成する際に、情報処理装置10の処理量を削減できる。
【0097】
また、情報処理装置10によって実行される、スコアを算出する処理は、取得した映像を、機械学習モデルに入力することで、複数の商品候補のそれぞれに対して、スコアを算出する処理を含む。
【0098】
これにより、情報処理装置10は、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為をより正確に検知できる。
【0099】
また、会計機は、セルフレジ端末100である。
【0100】
これにより、情報処理装置10は、顧客自らが購入対象の商品をセルフレジ端末100に登録するシステムにおける顧客の不正行為をより正確に検知できる。
【0101】
また、情報処理装置10は、複数の商品候補のそれぞれに対するスコアの中から、スコアの大きさが最大である第1のスコアの商品候補を特定し、複数の商品候補のそれぞれに対するスコアの中から、セルフレジ端末100に登録された商品に対応する第2のスコアを特定し、第1のスコアの商品候補と、セルフレジ端末100に登録された商品とが一致しない場合、第1のスコアと第2のスコアとの差分に基づいて、アラートを生成するか否かを判定する。
【0102】
これにより、情報処理装置10は、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為をより正確に検知できる。
【0103】
また、情報処理装置10は、複数の階層ごとに商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した映像を入力することで、第1の階層の商品の属性の中から、映像に含まれる第1の商品の属性を特定し、特定した第1の商品の属性に基づいて、第1の階層の配下の第2の階層の商品の属性の中から、第2の商品の属性を特定し、取得した映像を機械学習モデルに入力することで、第2の商品の属性の中から、映像に含まれる商品の属性を、商品候補として選択する。
【0104】
これにより、情報処理装置10は、より正確かつ詳細に、映像に含まれる商品を、商品候補として選択できる。
【0105】
また、情報処理装置10は、アラートを生成する場合、予め設定されたメッセージをセルフレジ端末100に表示させる。
【0106】
これにより、情報処理装置10は、顧客に確認を促すと共に、店員が到着するまでの時間を稼ぐことができる。
【0107】
また、情報処理装置10は、異常のある商品が登録されたセルフレジ端末100の識別子を含むアラートを、店員が利用する情報処理端末に出力させる。
【0108】
これにより、情報処理装置10は、顧客自らが購入対象の商品登録を行うシステムにおける顧客の不正行為を店員に通知できる。
【0109】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報は、特記する場合を除いて任意に変更されてもよい。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更されてもよい。
【0110】
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0111】
[ハードウェア]
図18は、情報処理装置10のハードウェア構成例を説明する図である。図18に示すように、情報処理装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図18に示した各部は、バスなどで相互に接続される。
【0112】
通信インタフェース10aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD10bは、図7に示した機能を動作させるプログラムやデータを記憶する。
【0113】
プロセッサ10dは、図7に示した各処理部と同様の処理を実行するプログラムをHDD10bなどから読み出してメモリ10cに展開することで、図7などで説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、取得部41や算出部42などと同様の機能を有するプログラムをHDD10bなどから読み出す。そして、プロセッサ10dは、取得部41や算出部42などと同様の処理を実行するプロセスを実行する。
【0114】
このように、情報処理装置10は、図7に示した各処理部と同様の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することで上述した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータがプログラムを実行する場合や、情報処理装置10と他のコンピュータとが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
【0115】
また、図7に示した各処理部と同様の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
【0116】
図19は、セルフレジ端末100のハードウェア構成例を説明する図である。図19に示すように、セルフレジ端末100は、通信インタフェース100a、HDD100b、メモリ100c、プロセッサ100d、入力装置100e、出力装置100fを有する。また、図19に示した各部は、バスなどで相互に接続される。
【0117】
通信インタフェース100aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD100bは、セルフレジ端末100の各機能を動作させるプログラムやデータを記憶する。
【0118】
プロセッサ100dは、セルフレジ端末100の各機能の処理を実行するプログラムをHDD100bなどから読み出してメモリ100cに展開することで、セルフレジ端末100の各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、セルフレジ端末100が有する各処理部と同様の機能を実行する。
【0119】
このように、セルフレジ端末100は、セルフレジ端末100の各機能の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、セルフレジ端末100は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することでセルフレジ端末100の各機能を実現することもできる。なお、この他の実施例でいうプログラムは、セルフレジ端末100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
【0120】
また、セルフレジ端末100の各機能の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、FD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
【0121】
入力装置100eは、プロセッサ100dによって実行されるプログラムに対する入力操作など、ユーザによる各種入力操作を検知する。入力装置100eは、例えば、ボタン、タッチパネル、近接センサなどであってよい。また、入力装置100eによって検知される入力操作には、例えば、タッチ操作が含まれてよい。当該タッチ操作の場合、セルフレジ端末100は、例えば、タッチパネル式のディスプレイ装置を備え、入力装置100eによって検知される入力操作は、当該ディスプレイ装置に対するタッチ操作であってよい。また、入力装置100eによって検知される入力操作には、例えば、バーコードやクレジットカードなどの読み取り操作が含まれてよい。バーコードの読み取り操作の場合、入力装置400eは、例えば、光源と光センサとを有するコードリーダを備え、入力装置100eによって検知される入力操作は、当該コードリーダに対するバーコードなどの読み取り操作であってよい。なお、入力装置100eによって検知される入力操作が行われるタッチパネル式のディスプレイ装置やコードリーダなどは、セルフレジ端末100と通信可能に接続される外付けの装置であってよい。
【0122】
出力装置100fは、プロセッサ100dによって実行されるプログラムから出力されるデータを表示するディスプレイ装置や、当該データを印刷するプリンタ装置、当該データに基づいた音声を再生する音声出力装置であってよい。なお、当該ディスプレイ装置やコードリーダなどは、セルフレジ端末100と通信可能に接続される外付けの装置であってよい。
【0123】
図20は、店員端末300のハードウェア構成例を説明する図である。図20に示すように、店員端末300は、通信インタフェース300a、HDD300b、メモリ300c、プロセッサ300d、入力装置300e、表示装置300fを有する。また、図20に示した各部は、バスなどで相互に接続される。
【0124】
通信インタフェース300aは、ネットワークインタフェースカードなどであり、他の情報処理装置との通信を行う。HDD300bは、店員端末300の各機能を動作させるプログラムやデータを記憶する。
【0125】
プロセッサ300dは、店員端末300の各機能の処理を実行するプログラムをHDD300bなどから読み出してメモリ300cに展開することで、店員端末300の各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、店員端末300が有する各処理部と同様の機能を実行する。
【0126】
このように、店員端末300は店員端末300の各機能の処理を実行するプログラムを読み出して実行することで動作制御処理を実行する情報処理装置として動作する。また、店員端末300は、媒体読取装置によって記録媒体からプログラムを読み出し、読み出されたプログラムを実行することで店員端末300の各機能を実現することもできる。なお、この他の実施例でいうプログラムは、店員端末300によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本実施形態が同様に適用されてよい。
【0127】
また、店員端末300の各機能の処理を実行するプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、FD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
【0128】
入力装置300eは、プロセッサ300dによって実行されるプログラムに対する入力操作など、ユーザによる各種入力操作を検知する。当該入力操作には、例えば、タッチ操作や店員端末300に対するイヤホン端子の挿入などが含まれる。ここでタッチ操作とは、表示装置300fに対する種々の接触動作、例えば、タップ、ダブルタップ、スワイプ、ピンチなどをいう。また、タッチ操作には、表示装置300fに対し、例えば、指などの物体を近づける動作を含む。入力装置300eは、例えば、ボタン、タッチパネル、近接センサなどであってよい。
【0129】
表示装置300fは、プロセッサ300dによる制御に基づいて各種視覚情報を表示する。表示装置300fは、液晶ディスプレイ(LCD:Liquid Crystal Display)や、OLED(Organic Light Emitting Diode)、いわゆる有機EL(Electro Luminescence)ディスプレイなどであってよい。
【0130】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0131】
(付記1)会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0132】
(付記2)前記スコアを算出する処理は、
取得した前記映像を、機械学習モデルに入力することで、前記複数の商品候補のそれぞれに対して、前記スコアを算出する
処理を含むことを特徴とする付記1に記載の情報処理プログラム。
【0133】
(付記3)前記会計機は、セルフレジ端末であることを特徴とする付記1に記載の情報処理プログラム。
【0134】
(付記4)前記複数の商品候補のそれぞれに対する前記スコアの中から、前記スコアの大きさが最大である第1のスコアの前記商品候補を特定し、
前記複数の商品候補のそれぞれに対する前記スコアの中から、前記会計機に登録された前記商品に対応する第2のスコアを特定し、
前記第1のスコアの前記商品候補と、前記会計機に登録された前記商品とが一致しない場合、前記第1のスコアと前記第2のスコアとの差分に基づいて、前記アラートを生成するか否かを判定する
処理を前記コンピュータに実行させることを特徴とする付記1に記載の情報処理プログラム。
【0135】
(付記5)複数の階層ごとに前記商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した前記映像を入力することで、第1の階層の前記商品の属性の中から、前記映像に含まれる第1の商品の属性を特定し、
特定した前記第1の商品の属性に基づいて、前記第1の階層の配下の第2の階層の前記商品の属性の中から、第2の商品の属性を特定し、
取得した前記映像を前記機械学習モデルに入力することで、前記第2の商品の属性の中から、前記映像に含まれる前記商品の属性を、前記商品候補として選択する
処理を前記コンピュータに実行させることを特徴とする付記2に記載の情報処理プログラム。
【0136】
(付記6)前記アラートを生成する場合、予め設定されたメッセージを前記会計機に表示させる
処理を前記コンピュータに実行させることを特徴とする付記1に記載の情報処理プログラム。
【0137】
(付記7)異常のある前記商品が登録された前記会計機の識別子を含む前記アラートを、店員が利用する情報処理端末に出力させる
処理を前記コンピュータに実行させることを特徴とする付記1に記載の情報処理プログラム。
【0138】
(付記8)会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理をコンピュータが実行することを特徴とする情報処理方法。
【0139】
(付記9)前記スコアを算出する処理は、
取得した前記映像を、機械学習モデルに入力することで、前記複数の商品候補のそれぞれに対して、前記スコアを算出する
処理を含むことを特徴とする付記8に記載の情報処理方法。
【0140】
(付記10)前記会計機は、セルフレジ端末であることを特徴とする付記8に記載の情報処理方法。
【0141】
(付記11)前記複数の商品候補のそれぞれに対する前記スコアの中から、前記スコアの大きさが最大である第1のスコアの前記商品候補を特定し、
前記複数の商品候補のそれぞれに対する前記スコアの中から、前記会計機に登録された前記商品に対応する第2のスコアを特定し、
前記第1のスコアの前記商品候補と、前記会計機に登録された前記商品とが一致しない場合、前記第1のスコアと前記第2のスコアとの差分に基づいて、前記アラートを生成するか否かを判定する
処理を前記コンピュータが実行することを特徴とする付記8に記載の情報処理方法。
【0142】
(付記12)複数の階層ごとに前記商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した前記映像を入力することで、第1の階層の前記商品の属性の中から、前記映像に含まれる第1の商品の属性を特定し、
特定した前記第1の商品の属性に基づいて、前記第1の階層の配下の第2の階層の前記商品の属性の中から、第2の商品の属性を特定し、
取得した前記映像を前記機械学習モデルに入力することで、前記第2の商品の属性の中から、前記映像に含まれる前記商品の属性を、前記商品候補として選択する
処理を前記コンピュータが実行することを特徴とする付記9に記載の情報処理方法。
【0143】
(付記13)前記アラートを生成する場合、予め設定されたメッセージを前記会計機に表示させる
処理を前記コンピュータが実行することを特徴とする付記8に記載の情報処理方法。
【0144】
(付記14)異常のある前記商品が登録された前記会計機の識別子を含む前記アラートを、店員が利用する情報処理端末に出力させる
処理を前記コンピュータが実行することを特徴とする付記8に記載の情報処理方法。
【0145】
(付記15)会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理を実行する制御部を有することを特徴とする情報処理装置。
【0146】
(付記16)前記スコアを算出する処理は、
取得した前記映像を、機械学習モデルに入力することで、前記複数の商品候補のそれぞれに対して、前記スコアを算出する
処理を含むことを特徴とする付記15に記載の情報処理装置。
【0147】
(付記17)前記会計機は、セルフレジ端末であることを特徴とする付記15に記載の情報処理装置。
【0148】
(付記18)前記複数の商品候補のそれぞれに対する前記スコアの中から、前記スコアの大きさが最大である第1のスコアの前記商品候補を特定し、
前記複数の商品候補のそれぞれに対する前記スコアの中から、前記会計機に登録された前記商品に対応する第2のスコアを特定し、
前記第1のスコアの前記商品候補と、前記会計機に登録された前記商品とが一致しない場合、前記第1のスコアと前記第2のスコアとの差分に基づいて、前記アラートを生成するか否かを判定する
処理を前記制御部が実行することを特徴とする付記15に記載の情報処理装置。
【0149】
(付記19)複数の階層ごとに前記商品の属性が対応付けられた参照元データを参照する機械学習モデルに対して、取得した前記映像を入力することで、第1の階層の前記商品の属性の中から、前記映像に含まれる第1の商品の属性を特定し、
特定した前記第1の商品の属性に基づいて、前記第1の階層の配下の第2の階層の前記商品の属性の中から、第2の商品の属性を特定し、
取得した前記映像を前記機械学習モデルに入力することで、前記第2の商品の属性の中から、前記映像に含まれる前記商品の属性を、前記商品候補として選択する
処理を前記制御部が実行することを特徴とする付記16に記載の情報処理装置。
【0150】
(付記20)前記アラートを生成する場合、予め設定されたメッセージを前記会計機に表示させる
処理を前記制御部が実行することを特徴とする付記15に記載の情報処理装置。
【0151】
(付記21)異常のある前記商品が登録された前記会計機の識別子を含む前記アラートを、店員が利用する情報処理端末に出力させる
処理を前記制御部が実行することを特徴とする付記15に記載の情報処理装置。
【0152】
(付記22)プロセッサと、
プロセッサに動作可能に接続されたメモリと
を備えた情報処理装置であって、プロセッサは、
会計機に登録する商品を把持する人物の映像を取得し、
取得した前記映像を分析することで、予め設定された複数の商品候補のそれぞれに対して、前記映像に含まれる前記商品の信頼度を示すスコアを算出し、
前記会計機を前記人物が操作することで前記会計機に登録された前記商品の情報を取得し、
算出された前記スコアに基づいて、前記複数の商品候補の中から商品候補を選択し、
選択された前記商品候補と、取得した前記商品の情報とに基づいて、前記会計機に登録された前記商品の異常を示すアラートを生成する
処理を実行することを特徴とする情報処理装置。
【符号の説明】
【0153】
1 情報処理システム
10 情報処理装置
10a 通信インタフェース
10b HDD
10c メモリ
10d プロセッサ
20 通信部
30 記憶部
31 映像DB
32 モデルDB
33 画像認識結果
34 商品情報
40 制御部
41 取得部
42 算出部
43 選択部
44 生成部
45 出力部
50 ネットワーク
60 CLIPモデル
61 テキストエンコーダ
62 画像エンコーダ
100 セルフレジ端末
100a 通信インタフェース
100b HDD
100c メモリ
100d プロセッサ
100e 入力装置
100f 出力装置
150 コードリーダ
160 商品
170 ラベル
180 人物BB
190 物体BB
200 カメラ装置
250 画像データ
300 店員端末
300a 通信インタフェース
300b HDD
300c メモリ
300d プロセッサ
300e 入力装置
300f 表示装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20