JP2021107989A - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP2021107989A JP2021107989A JP2019238778A JP2019238778A JP2021107989A JP 2021107989 A JP2021107989 A JP 2021107989A JP 2019238778 A JP2019238778 A JP 2019238778A JP 2019238778 A JP2019238778 A JP 2019238778A JP 2021107989 A JP2021107989 A JP 2021107989A
- Authority
- JP
- Japan
- Prior art keywords
- image
- article
- product
- information processing
- entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】棚から出入りする物品を精度良く特定することができる情報処理装置、情報処理方法及びプログラムを提供する。【解決手段】在庫管理システムにおいて、在庫監視システム105では、ネットワークカメラ101と、ネットワークカメラ101で撮像した画像を処理する情報処理装置102が接続されている。ネットワークカメラ101は、商品棚103の取り出し口を上から下へ向かって撮像する。商品棚103には、商品104が陳列されている。【選択図】図1
Description
本発明は、撮像部により棚の在庫を管理する情報処理装置、情報処理方法、及びプログラムに関する。
近年、小売、物流などのロジスティック業界において、人材不足や物流効率化の観点で、これまで以上に精緻かつ効率的な在庫管理が求められている。特に商品在庫を保管している棚においては現状の在庫数のカウントは現在も人手中心で行われている。
こうした課題を解決する手段として、RFIDが知られている。RFIDは商品在庫一つずつにRFタグと呼ばれるICチップを取り付け、無線通信により商品在庫をカウントする仕組みである。
しかし実際の運用においては、商品一つずつにRFタグを取り付けるための物理コストや人的コストが発生し、大抵の小売・物流現場において運用に見合うだけのコストパフォーマンスを得られないというのが現状である。
また棚に重量センサを取り付けて商品数をカウントする技術も知られている。しかしながら棚一つずつに重量センサを取り付けるコストが見合わないことや、商品による重さのばらつきにより正確な在庫数がカウントできないという問題がある。
こうした中、コンピュータビジョン(画像処理)技術を使って棚の在庫管理を行う技術が考案されている。特許文献1には、材料取扱施設を有する在庫場所における物品の除去または配置を追跡するシステムが開示されている。
特許文献1には、顧客が商品棚から商品を取る際の画像から顧客の手の位置を検出することでどの商品が棚から取られたかを判断する技術が記載されている。
しかしながら、上記の技術の場合、在庫場所を撮像する撮像装置かあるいは在庫状況を検出する存在検出装置が必要になる。また、各棚の一段毎に撮像装置か存在検出装置を配置しなければならないため、コストが高くなってしまう課題がある。
また、在庫管理するためには物品の種類を特定する必要があるが、物品の特定に使う顧客が取り出す画像が撮像する画像より小さい場合、物品の検出が難しい場合がある。
そこで、本発明は、棚から出入りする物品の特定を精度良くすることを目的とする。
上記の目的を達成するために本発明は、物品の出入りを撮像する撮像部と通信可能な情報処理装置であって、所定の範囲で物品を検出するため、前記撮像部で撮像された画像を繰り返し取得する画像取得手段と、前記画像取得手段で人体の一部が検出されたことを認識する人体認識手段と、前記人体認識手段で認識された画像の人体の一部が検出された周辺画像を抽出する画像抽出手段と、前記画像抽出手段により抽出された抽出画像から前記物品を特定する物品特定手段と、前記物品特定手段により特定された物品の出入りにより前記物品の出入りを報知する物品出入報知手段とを有することを特徴とする。
本発明によれば、棚からの出入りする物品の特定を精度良くできるという効果を奏する。
<第1の実施形態>
以下、図面を参照して、本発明の実施形態について説明する。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の実施形態に係る在庫管理システムの概略を示す構成図である。
在庫監視システム105は、ネットワークカメラ101とカメラで撮像した画像を処理する情報処理装置102が接続されており、ネットワークカメラ101は商品棚103の取り出し口を上から下へ向かって撮像する。商品棚103には商品104が陳列されている。なお、ネットワークカメラ101は取り出し口を上から下へ向かって撮像する例で記載しているが、取り出し口を横から撮像してもよいし、斜め上から撮像してもよい。本実施形態では、取り出し口を上から下へ向かって撮像する例で説明する。
在庫監視システム105により監視された商品の状況は、ネットワーク106を介して、たとえばクラウド上の在庫管理サーバ107で計数され、在庫状況をユーザに提供する。なお、図1では、在庫管理サーバ107を情報処理装置102と別筐体で説明しているが、それぞれを1つの筐体としてもよい。すなわち、情報処理装置102内に在庫管理サーバ107の機能を備えていてもよく、また、在庫管理サーバ107に情報処理装置102の有する撮像画像を処理する機能を有していてもよい。
情報処理装置102は、図1のように1台のネットワークカメラ101から情報を取得して在庫管理サーバ107に送信してもよいし、複数台のネットワークカメラ101に接続され複数のネットワークカメラ101の情報を収集して在庫管理サーバ107に送信してもよい。
次に図2を用いて、情報処理装置102のハードウェアの概略構成を説明する。
図2は、本発明の実施形態に係る情報処理装置102、各種サーバのハードウェアの構成を示す構成図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、画像処理サーバ108の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、入力部209としてのキーボードや不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、表示部210としてのCRTディスプレイ(CRT)等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。また、ネットワークカメラ101とネットワークを介して接続できる通信I/Fコントローラの機能をも有する。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示部210上での表示を可能としている。また、CPU201は、表示部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するためのプログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイル及び各種情報テーブルは、外部メモリ211に格納されており、これらについての詳細な説明は後述する。
次に図3を用いて、ネットワークカメラ101のハードウェアの概略構成を説明する。
図3は、ネットワークカメラ101のハードウェアの構成を示す構成図である。
CPU301は、システムバス304に接続される各デバイスやコントローラを統括的に制御する。
また、ROM302には、CPU301の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、情報処理装置102に送信するデータを生成する機能を実現するために必要な各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。
CPU301は、処理の実行に際して必要なプログラム等をRAM303にロードして、プログラムを実行することで各種動作を実現するものである。
RGBカメラ部307は、画像処理部308と接続されており、監視対象に対して向けられたレンズを透過して得られた光をCCDやCMOS等の受光セルによって光電変換を行った後、RGB信号や補色信号を画像処理部308に対して出力する。
画像処理部308は、RGB信号や捕色信号に基づいて、ホワイトバランス調整、ガンマ処理、シャープネス処理を行い、更に、YC信号処理を施して輝度信号Yとクロマ信号(以下、YC信号)を生成し、YC信号を所定の圧縮形式(例えばJPEGフォーマット、あるいはMotionJPEGフォーマット等)で圧縮し、この圧縮されたデータは、画像データとしてRAM303へ一時保管される。
TOFセンサ305は、TOF(Time−of−Flight)方式で対象物までの距離を測定するイメージセンサであり、光(赤外線レーザーまたはLED)が被写体で反射してセンサに戻るのに要する時間を深度計測部306とともに測定することによって、被写体の距離を計測する。なお、商品の深度を測定する手段としては、RGBカメラ307を二台構成しステレオカメラによって深度を測定してもよいし、画像処理や深層学習を用いた二次元画像解析結果から深度を推定する方式をとっても良い。
通信I/Fコントローラ(通信I/FC)309は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行しており、RAM303に記憶された画像データは、通信I/Fコントローラ309によって外部機器である情報処理装置102へ送信される。
次に、図4〜図7を参照して、本願発明の第1の実施形態の在庫管理処理の流れを説明する。
図4は、本発明の実施形態に係る情報処理装置102における在庫管理を行う処理概要を示すフローチャートであり、図中のS401〜S407は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図4のフローチャートは、ネットワークカメラ101と情報処理装置102が起動されると開始される処理の流れである。なお、以後のフローチャートにおいて、情報処理装置102は、ネットワークカメラ101からネットワークを通じて随時データを取得することができるものとする。
図4のフローチャートの処理に入る前に、まず情報処理装置102のCPU201は、ネットワークカメラ101のRGBカメラ307により得られる商品棚の取り出し口部分の撮像画像を取得する。
次に、ステップS401において、情報処理装置102のCPU201は、取得した撮像画像を元に、商品棚のレーンに合わせた仮想グリッドが設定される。図8、図17、図18を参照して、仮想グリッド設定の一例を説明する。
図8は、本発明の実施形態における商品棚と商品を取り出す領域(仮想グリッド領域)のイメージを説明する模式図である。
図8の103が商品棚、104が商品の例であり、撮像範囲である404が、商品取り出し口に該当する。以後の図8〜図17は、商品棚からの取り出し口を上方から撮像しているイメージで説明するが、商品棚からの取り出し口を横から撮像しているイメージでも構わない。その場合、後述する図18は、商品の座標と深度が入れ替わることになる。
図8の商品棚103には商品毎に配置されているレーン410があり、そのレーンの境となる位置405や406が存在する。
境の位置405や406を撮像範囲404に延長した境目を407、408と設定し、それぞれを区切る仮想グリッド401が撮像範囲404に作成される。すなわち、各商品棚のレーン毎に取り出しレーンとして、仮想グリッドを設定している。
これらの処理を複数段の棚に対して行った結果が図17である。
図17は、本発明の実施形態における高さ方向がある商品棚と商品を取り出す領域(仮想グリッド領域)のイメージを説明する模式図である。
図17の商品棚103は複数段から構成されており、図17では3段の棚が存在する例である。
図17の3段の棚の仮想グリッドは、段数によって異なり、一段目の商品のレーンの境は1204、二段目のレーンの境は1205、三段目のレーンの境は1206である。それぞれの段での仮想グリッドの境は、一段目のそれが1207、二段目のそれが1208、三段目のそれが1209と設定されている。
図17のように3段の棚の仮想グリッドを設定し、それぞれの棚の位置を関係づけたデータを図18を参照して説明する。
図18は、本発明の実施形態における情報処理装置が有する、商品の検出される仮想グリッドの座標と深度との関係から出入りする棚を特定するためのデータの一例である。
図18の1800は深度計測部306から得られる深度1801とRGBカメラにより取得する商品位置の座標1802から、出入りする商品棚の位置を特定するデータであり、たとえば、深度が20cmの高さで出入りした商品でグリッド座標(図17の左右方向の座標で、中心を原点としている)が70の位置だった場合、一段目のグリッドC(すなわちグリッドC−1)から出入りしたと判断する。また、深度が80cmの高さで出入りした商品でグリッド座標が−60の位置であった場合、三段目のグリッドA(すなわちグリッドA−3)から出入りしたと判断する。なお、出入りの向きに関しては次のステップS402で後述する。
図18のように、商品の出入りする棚の位置を記憶するテーブルを有している。このテーブルはユーザにより手動で入力されてもよいし、ステップS401の処理の前に撮像された画像の商品棚の境(仕切り)などから自動的に設定されても良い。図4のフローチャートの説明に戻る。
次の図4のステップS402において、情報処理装置102のCPU201は、仮想グリッド内を移動する商品の向きから、商品が取り出されている方向を設定する。図8を参照して説明する。
図8において、商品棚103の位置が図面の下にあり、取り出し口側(仮想グリッド側)404は図面の上側にあるので、商品の取り出し方向は座標軸420のY軸方向に+向きである402のように上向き方向と設定される。この取り出し方向の設定は、ユーザが手動で設定してもよく、また撮像画面上(図8)での商品棚103の位置を指定することで設定されても良い。図4のフローチャートの説明に戻る。
次に、図4のステップS403において、情報処理装置102のCPU201は、ステップS401により設定された仮想グリッドに対応する商品棚のレーンの在庫数の入力を受け付ける。図8と図19を参照して説明する。
図8の仮想グリッドが設定されている場合の各仮想グリッドに対応する商品棚のレーンの在庫がたとえば、グリッドAが10個(411)、グリッドBが5個(412)、グリッドCが1個(413)であった場合、ユーザは情報処理装置102の入力部209から在庫数を入力してそれぞれのレーンの在庫数を設定する。設定された在庫数を記憶するデータの例を図19を参照して説明する。
図19は、本発明の実施形態における商品棚の在庫数を記憶するデータテーブルの一例である。
図19のテーブルには、図8の一段目における在庫数が設定されており、それぞれグリッドAに10個、グリッドBに5個、グリッドCに1個というデータが登録されている。なお、図19のテーブルは情報処理装置102で記憶していてもよいし、在庫管理サーバ107で記憶していても良い。図4のフローチャートの説明に戻る。
次の図4のステップS404において、情報処理装置102のCPU201は、ネットワークカメラ101に撮像(画像キャプチャ)を開始する命令を送信して、撮像を開始する。
次のステップS405において、情報処理装置102のCPU201は、撮像された仮想グリッド401内で商品を検出したかを判定する。商品の検出は、たとえば図8のようにネットワークカメラを上部に取り付けている場合は、予め記憶されている商品の上からの形状を記憶しておき、SIFT(Scale−Invariant Feature Transform)アルゴリズムによる画像マッチングで検出してもよい。また、予め商品の上からの様々な画像を学習データとして登録して機械学習させ、画像認識AIを使って商品を検出しても良い。
ステップS405において、商品を検出した場合は、ステップS406へと処理を移行し、商品を検出しない場合はステップS407へと処理を移行する。
ステップS406へと処理を移行すると、情報処理装置102のCPU201は、ステップS405で検出した商品の在庫状況を把握するための商品追従処理を行う。ステップS406の処理内容を図5を参照して説明する。
図5は、本発明の実施形態に係る情報処理装置102における商品在庫追従の処理概要を示すフローチャートであり、図中のS501〜S514は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図5のフローチャートは、図4のフローチャートのステップS406へと遷移した際に開始される処理の流れである。
まず、図5のステップS501において、情報処理装置102のCPU201は、ネットワークカメラ101から取得した撮像画像(キャプチャ)から、検出された商品の場所(座標)を取得し、開始座標として記憶する。具体的な商品イメージを参照した説明は図9〜図14で後述する。
次に、ステップS502において、情報処理装置102のCPU201は、ネットワークカメラ101が備えるTOFセンサ305により、検出された商品の高さ(深度)を取得し、開始深度として記憶する。
次に、ステップS503において、情報処理装置102のCPU201は、ネットワークカメラ101から次の撮像画像(キャプチャ)を取得する。
次に、ステップS504において、情報処理装置102のCPU201は、ステップS503において撮像された仮想グリッド401内で前回と同じ種類の商品を検出したかどうかを判断する。同じ種類の商品を検出した場合はステップS505に遷移し、同じ種類の商品を検出しない場合はステップS509へと処理を遷移する。なお、ステップS503で撮像された仮想グリッド401内で前回と異なる種類の商品を検出した場合(図15のような場合)は、異なる種類の商品について、図5のフローチャートをステップS501から実施する。
ステップS505の処理へ遷移した場合、情報処理装置102のCPU201は、ステップS503で撮像された撮像画像(キャプチャ)から、検出された商品の場所(座標)を取得し、現在座標として記憶する。また、1回前に取得した現在座標と商品の種類も「1つ前に取得した現在座標」と前回の商品の種類として記憶しておく。
次に、ステップS506において、情報処理装置102のCPU201は、ステップS503で撮像された際に検出した商品の高さ(深度)を取得し、現在深度として記憶する。
次に、ステップS507において、情報処理装置102のCPU201は、「1つ前に取得した現在座標」と、ステップS505で新たに取得した現在座標との距離を比較し、距離が所定の閾値以上の商品しかない場合、ステップS510に遷移する。一方、「1つ前に取得した現在座標」とステップS505で新たに取得した現在座標との距離が閾値以内にある商品があれば、ステップS508へと処理を遷移する。具体的な例は、図16を参照して後述する。
ステップS507の判断分岐は、同じ種類の商品が仮想グリッド401内に同時に複数個入ってきた場合に発生する判断分岐であり、2つの距離が閾値以上とは、すなわちそれぞれの個体が別のものであると判断された場合を意味する。2つの距離が閾値以内であれば、「1つ前に取得した現在座標」の商品と新たにステップS505で検出した商品は同じ個体として認識する(ステップS508の処理)。
ステップS508の処理の後はステップS503へと処理を戻し、仮想グリッド401内の撮像画像を取得する処理から繰り返す。
一方、ステップS504において、仮想グリッド401内で前回と同じ種類の商品を検出しない場合はステップS509へと処理を遷移する。
ステップS509に遷移すると、情報処理装置102のCPU201は、所定回数以上、同じ商品が検出できなかったかの判断を行う。所定回数以上同じ商品を検出できなければ、ステップS510へと処理を遷移し、所定回数以内に同じ商品を検出できた場合は、ステップS503へと処理を戻す。
ステップS509の判断分岐は、仮想グリッド401内に商品があるにもかかわらず、撮像部での撮像画像が残像や光の外乱などにより一時的に商品検出できない場合でも、商品が仮想グリッド401外に出たと判断しないための判断分岐になる。
次のステップS510には、ステップS509で現在座標が1回以上記憶されている(ステップS509でYES)か、ステップS507で「1つ前に取得した現在座標」と新たにステップS505で検出した現在座標との距離が閾値以上離れている場合に遷移する。
ステップS510において、情報処理装置102のCPU201は、ステップS501で取得した商品の最初の検出位置である開始座標と、ステップS505で最後に取得した商品の検出位置である「最後の現在座標」とから、商品の移動の向きを算出する。
次に、ステップS511において、情報処理装置102のCPU201は、ステップS510で算出された向きにより処理を分ける。
開始座標と「最後の現在座標」との向きが同じ場合、たとえば、図8の座標軸420のY軸方向の仮想グリッドの中心からの向きが一緒の場合は、図5のフローチャートの処理を終える。この判断は、商品が仮想グリッド内に入ったが、出入りはしなかった場合(たとえば、顧客が棚から商品を出して購入を検討したが、やはり購入を止めて棚に戻した場合など)の判断分岐になる。
また、ステップS511において、商品の移動の向きが取り出す向き402であった場合は、ステップS512へと処理を遷移する。
一方、ステップS511において、商品の移動の向きが戻す向き(取り出す向きと反対)であった場合は、ステップS513へと処理を遷移する。
ステップS512へと処理を遷移すると、情報処理装置102のCPU201は、商品取り出し処理を行い、ステップS514へと処理を遷移する。詳細な処理は図6で後述する。
また、ステップS513へと処理を遷移すると、情報処理装置102のCPU201は、商品戻し処理を行い、ステップS514へと処理を遷移する。詳細な処置は図7で後述する。
ステップS514へと処理を遷移すると、情報処理装置102のCPU201は、ステップS512やステップS513で特定された棚の在庫数を変更するべく、在庫管理サーバに報知して、図5のフローチャートを終える。図4のフローチャートの説明に戻る。
ステップS406において、ステップS405で検出した商品の在庫状況を把握するための商品追従処理を行った後、次のステップS407において、商品在庫の確認のためのネットワークカメラ101の撮像処理を終了するかどうか判断する。撮像処理を継続する場合は、ステップS404へと処理を戻し、ステップS404からの処理を繰り返す。一方、撮像処理を終了するとユーザから指示があった場合は撮像処理を中止して本発明の処理を終了する。
次に、図6を参照して、商品を取り出す棚の位置を特定する処理を説明する。
図6は、本発明の実施形態に係る情報処理装置102における商品取り出しの処理概要を示すフローチャートであり、図中のS601〜S602は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図6のフローチャートは、図5のフローチャートのステップS512へと遷移した際に開始される処理の流れである。
まず、図6のステップS601において、情報処理装置102のCPU201は、ステップS502で取得した開始深度から取り出した棚の段数を特定する。具体的に図18を参照して説明すると、たとえばステップS502で取得した商品の深度が20cmであれば、1801と1803のデータから、取り出された棚の高さは一段目であることを特定する。
次に、ステップS602において、情報処理装置102のCPU201は、ステップS501で取得した開始座標から取り出した棚の位置を特定する。具体的に図18を参照して説明すると、たとえば、ステップS501で取得した商品のグリッド座標が80であれば、1802のデータから、一段目のグリッド座標が80であるC−1、すなわち一段目のCの棚であることが特定される。
上記の例では、一段目のCの棚から商品が取り出されたことが特定される。
以上の処理により、顧客が商品を取り出した棚の位置を特定することができる。
次に、図7を参照して、商品を戻した棚の位置を特定する処理を説明する。
図7は、本発明の実施形態に係る情報処理装置102における商品取り出しの処理概要を示すフローチャートであり、図中のS701〜S702は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図7のフローチャートは、図5のフローチャートのステップS513へと遷移した際に開始される処理の流れである。
まず、図7のステップS701において、情報処理装置102のCPU201は、ステップS506で取得した最後の現在深度から戻された棚の段数を特定する。具体的に図18を参照して説明すると、たとえばステップS502で取得した商品の深度が80cmであれば、1801と1803のデータから、戻された棚は三段目であることを特定する。
次に、ステップS702において、情報処理装置102のCPU201は、ステップS505で取得した最後の現在座標から取り出した棚の位置を特定する。具体的に図18を参照して説明すると、たとえば、ステップS501で取得した商品のグリッド座標が80であれば、1802のデータから、三段目のグリッド座標が80であるC−3、すなわち三段目のCの棚であることが特定される。
上記の例では、三段目のCの棚に商品が戻されたことが特定される。
以上の処理により、顧客が商品を戻した棚の位置を特定することができる。
次に、図9〜図14を参照して具体的に商品が棚から出入りするイメージより商品の出入りの棚の位置を特定する処理を説明する。
図9は、本発明の実施形態における商品棚と商品取り出し開始時の処理イメージを説明する模式図である。
図9において、商品104が仮想グリッド内401において801のように検出される(ステップS405の処理)と、まず、商品の開始座標802を特定する(ステップS501の処理)。続いて、商品の開始深度も特定し(ステップS502の処理)、それぞれの値を記憶する。
図10は、本発明の実施形態における商品棚と商品取り出し中の処理イメージを説明する模式図である。
図10において、商品104が仮想グリッド内を移動する際に仮想グリッドから存在しなくなるまで、現在座標802〜804の現在座標を取得し続ける(ステップS505の処理)。
図11は、本発明の実施形態における商品棚と商品取り出し終了時の処理イメージを説明する模式図である。
図11において、商品104の現在座標が805のように仮想グリッドから存在しなくなった場合(ステップS504の判断分岐のNOへ遷移)、最後の仮想グリッド内の現在座標として、804が設定される(ステップS510の処理)。
続いて、商品の開始座標801と最後の現在座標804の情報から商品の移動の向き806を算出する。図11の場合は図8の402の取り出し方向と同じなので、取り出す向きと特定する(ステップS510の処理)。
図9から図11のイメージのように商品が移動した場合、ステップS511では取り出す向きに移動したと判断し、ステップS512の処理(すなわち、図6の処理)へと遷移する。
図11の場合は、開始座標801と同じ時に取得した開始深度から取り出した棚の位置を特定する(図6のステップS601、S602の処理)。図11では、グリッドB(中央の棚)から1つ商品が取り出されているので、807のように在庫数を5から4に減らしている。この在庫数を減らす情報を在庫管理サーバ107に送信する(ステップS514の処理)。
以上のイメージで示すように、棚の取り出し口を撮像することで、商品の取り出し状況を把握することができる。
次に、商品が棚に戻される場合の処理イメージを図12〜図14を参照して説明する。
図12は、本発明の実施形態における商品棚と商品戻し開始時の処理イメージを説明する模式図である。
図12において、商品104が仮想グリッド内401において901のように最初に検出される(ステップS405の処理)と、まず、商品の開始座標901を特定する(ステップS501の処理)。続いて、商品の開始深度も特定し(ステップS502の処理)、それぞれの値を記憶する。
図13は、本発明の実施形態における商品棚と商品戻し中の処理イメージを説明する模式図である。
図13において、商品104が仮想グリッド内を移動する際に仮想グリッドから存在しなくなるまで、現在座標902〜905の現在座標を取得し続ける(ステップS505の処理)。続いて、現在深度の値も取得し続ける。
図14は、本発明の実施形態における商品棚と商品戻し終了時の処理イメージを説明する模式図である。
図14において、商品104の現在座標が906のように仮想グリッドから存在しなくなった場合(ステップS504の判断分岐のNOへ遷移)、最後の仮想グリッド内の現在座標として、905が設定される(ステップS510の処理)。
続いて、商品の開始座標901と最後の現在座標905の情報から商品の移動の向き907を算出する。図14の場合、商品の移動の向き907は図8の402の取り出し方向と反対なので、戻す向きと特定する(ステップS510の処理)。
図12から図14のイメージのように商品が移動した場合、ステップS511では戻す向きに移動したと判断し、ステップS513の処理(すなわち、図7の処理)へと遷移する。
図14の場合は、最後の現在座標905と同じ時に取得した開始深度から取り出した棚の位置を特定する(図7のステップS701、S702の処理)。図14の例では、グリッドA(左の棚)に1つ商品が戻されているので、908のように在庫数を当初の10から11に増やしている。この在庫数を増やす情報を在庫管理サーバ107に送信する(ステップS514の処理)。
以上のイメージで示すように、棚の取り出し口を撮像することで、商品の戻し状況を把握することができる。
次に、図16を参照して、ステップS507およびステップS508の処理のイメージを説明する。
図16は、本発明の実施形態における商品を仮想グリッド領域401内で同一種類の別の商品を検出するイメージを説明する模式図である。
図16のイメージは、商品104を1102において検出した(ステップS501)後で、次の撮像処理(ステップS503)において、同じ商品が1103と1104で検出された場合の例である。
図16において、商品の移動を示す閾値が1101の場合、開始座標1102と現在座標1104とは距離が閾値以上に離れており(1106)、一方現在座標1103は閾値以内である(1105)ので、開始座標1102から移動した商品は1103へ移動したと判断する。閾値は顧客が商品を移動させる速度と撮像処理を行う時間間隔から設定される。この閾値は、商品棚のレーン間隔(図8の405と406の間の距離)よりも短い必要があるので、顧客の商品移動速度との関係で、撮像処理を行う時間間隔を設定するようにしても良い。
以上の処理により、撮像のフレームレートが遅く、商品を追跡する速度に限度がある場合に、2つの商品が認識されても閾値1101以上離れていれば、2つの商品を識別して棚の出し入れを管理することができる。
<第2の実施形態>
第1の実施形態では、撮像部(ネットワークカメラ)101による撮像画像から商品を識別後に商品の追跡を行っている。第2の実施形態では、商品の識別を商品の追跡後に行うことにより、撮像画像からの商品識別の手順を撮像時毎に行う処理を省き、撮像部のフレームレートを上げることができる。すなわち、第2の実施形態では、商品が検出エリア(仮想グリッド)401から出ると、蓄積した画像からまとめて商品の識別処理を行うことにより、撮像時毎の商品識別処理を防ぎ、撮像部のフレームレートを上げている。図20、図21を参照して、本願発明の第2の実施形態の在庫管理処理の流れを説明する。
<第2の実施形態>
第1の実施形態では、撮像部(ネットワークカメラ)101による撮像画像から商品を識別後に商品の追跡を行っている。第2の実施形態では、商品の識別を商品の追跡後に行うことにより、撮像画像からの商品識別の手順を撮像時毎に行う処理を省き、撮像部のフレームレートを上げることができる。すなわち、第2の実施形態では、商品が検出エリア(仮想グリッド)401から出ると、蓄積した画像からまとめて商品の識別処理を行うことにより、撮像時毎の商品識別処理を防ぎ、撮像部のフレームレートを上げている。図20、図21を参照して、本願発明の第2の実施形態の在庫管理処理の流れを説明する。
図20は、本発明の実施形態に係る情報処理装置102における在庫管理を行う第2の実施形態の処理概要を示すフローチャートであり、図中のS2001〜S2003は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図20のフローチャートは、撮像部101と情報処理装置102が起動されると開始される処理の流れである。なお、以後のフローチャートにおいて、情報処理装置102は、ネットワークカメラ101からネットワークを通じて随時データを取得することができるものとする。
図20のフローチャートの処理に入る前に、まず情報処理装置102のCPU201は、撮像部101のRGBカメラ307により得られる商品棚の取り出し口部分の撮像画像を取得する。
次に、ステップS2001において、情報処理装置102のCPU201は、取得した撮像画像を元に、商品棚のレーンや高さに合わせた検出エリア401が設定を受け付ける。検出エリアの設定方法は、図8、図17、図18と同様なので説明を省略する。なお、第1の実施形態では、撮像部のフレームレートが低いことを想定しているため、検出エリア401の商品の取り出し方向(Y軸方向)の幅は図8や図17、図18のように広めに確保しているが、第2の実施形態では、撮像部のフレームレートが高いため、検出エリア401の商品の取り出し方向(Y軸方向)の幅は図22の検出エリア2210のようにより狭く設定できる。
次に、ステップS2002において、情報処理装置102のCPU201は、取得した撮像画像を元に、商品棚の出入口にあたる検出ラインの設定を受け付ける。検出ラインの設定を図22を参照して説明する。
図22は、本発明の実施形態における高さ方向に複数の棚を有する商品棚と商品を取り出す領域(検出エリア)のイメージを説明する模式図である。
図22の103が商品棚、104が商品の例であり、撮像範囲である404が、商品取り出し口に該当する。なお、各棚の横方向(レーン毎)の検出は第1の実施形態と同様なので、以後の説明では省略する、
図22の例では、商品棚103は3段の棚が存在する例である。
図22の例では、商品棚103は3段の棚が存在する例である。
図22の検出エリア2210に、3段の棚毎に検出ライン2201〜2203が設定される。なお、図22では検出ライン2201〜2203は理解を助けるために異なる位置で記載しているが、検出ラインは検出エリア2210の端(図22の場合、検出エリア2210の矩形の下辺部分)に設定されており、それぞれの棚によって横幅が異なっている。横幅のサイズは、たとえば図18で設定されている幅である。この検出ラインを通過したかによって、該当の棚から商品が出入りしたのかを判別でき、隣の棚で出入りした商品の誤検出を防ぐ、もしくは検出エリアを偶々通った商品(たとえば、顧客が商品を持って検出エリアを右から左に横切った場合)などの誤検出を防ぐことができる。なお、実施例では、一つの在庫監視システム105で説明しているが、撮像部101付きの在庫監視システム105が複数設置されていて、それぞれの在庫監視システム105のラックで商品検知を行っている場合も考えられる。その場合、横のラックの商品を誤検出することを防ぐことができる。図20のフローチャートの説明に戻る。
次に 図20のステップS2003へと処理を移行すると、情報処理装置102のCPU201は、商品在庫を管理する処理を開始する。ステップS2003の処理内容を図21を参照して説明する。
図21は、本発明の実施形態に係る情報処理装置102における商品在庫追従の第2の実施形態の処理概要を示すフローチャートであり、図中のS2101〜S2118は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図21のフローチャートは、図20のフローチャートのステップS2003へと遷移した際に開始される処理の流れである。
まず、図21のステップS2101において、情報処理装置102のCPU201は、撮像部101から撮像画像(キャプチャ)を取得する。この撮像画像の取得は図21のフローチャートの処理中は常時行われても良い。なお、ステップS2101の処理は撮像画像の取得と同時にTOFセンサ305による物体検出を行っても良い。
次に、ステップS2102において、情報処理装置102のCPU201は、撮影エリア404内の検出エリア2210内で商品もしくは手などの物体を検出したか判断する。物体を検出した場合はステップS2103へと処理を遷移し、物体を検出しなかった場合はステップS2101へと処理を戻し、物体を検出するまで処理を繰り返す。物体を検出したかどうかは、TOFセンサによる物体検出でも良いし、画像の差分情報による検出でもよく、またステレオカメラによる物体検出であっても良い。
次に、ステップS2103において、情報処理装置102のCPU201は、TOFセンサなどで物体を検出した位置を特定する。この位置情報は随時取得しておき、位置情報を常にトラッキングすることができる。
次に、ステップS2104において、情報処理装置102のCPU201は、物体を検出した位置の周りの画像を記憶する。記憶した画像の一例を図23を参照して説明する。
図23は、本発明の実施形態に係る情報処理装置102に記憶されている一連の商品画像の例である。
図23の2301から2312まで、検出された物体順に時系列で記憶されている画像を表示している。図23は具体的には、ペットボトルの商品が顧客の手によって棚に戻される場合の一連の画像群である。この処理のように、撮像して記憶する範囲を限定して記憶、もしくは商品特定に利用することにより、第1の実施形態のように画像全体から物体を特定する手法より、画像記憶メモリの削減や、商品特定の際の画像処理時間の短縮が可能となる。。図21のフローチャートの説明に戻る。
次に、図21のステップS2105において、情報処理装置102のCPU201は、TOFセンサもしくはステレオカメラから、物体の高さ情報(深度情報)を取得する。
次に、ステップS2106において、情報処理装置102のCPU201は、ステップS2103で取得したトラッキング情報から、物体が検出ライン2201〜2203を通過したかを判断する。検出ラインを通過するかは、ステップS2105で取得した物体の高さ情報とステップS2103で取得したトラッキング情報から判断する。たとえば、物体の高さ情報が1段目の高さと検出された場合(図18の例では、20cm)、1段目の棚の検出ラインは、図18の場合、画面上のサイズで『−150〜150』である。同様に、物体の高さ情報が3段目の高さと検出された場合(図18の例では、80cm)、3段目の棚の検出ラインは、図18の場合、画面上のサイズで『−90〜90』である。これらの間を物体が通過した場合は、検出ラインを通過したと判断する。すなわち、棚と棚の前との領域で、商品もしくは手が出入りしたことを意味する。一方、物体の高さ情報が3段目の高さと検出され、検出ラインの横方向が例えば『110』の位置を通過した場合は、隣の棚への物体の出し入れと判断し、該当の検出ラインを通過したとはみなさない。
ステップS2106において、物体が検出ラインを通過したと判断された場合は、検出ラインを通過したという図示しないフラグ立てて、ステップS2108へと処理を遷移する。同時に高さ情報を記憶する。以後、検出ライン通過フラグが立っている間はステップS2106では、Yesの処理へと遷移する。一方、検出ラインを通過していないと判断された場合は、ステップS2107へと処理を遷移する。
ステップS2107へと処理を遷移すると、情報処理装置102のCPU201は、トラッキングしている物体が検出エリア2210から出た(OUT)かどうかを判断する。検出エリア2210を出たと判断された場合は、検出ラインを通過せず検出エリアを出たことを意味する(つまり、棚の中を触っていない)ため、記憶している画像や高さ情報を削除する処理(ステップS2118)を実行して、最初の処理へと戻る。一方、物体が検出エリアから出ていない場合は、物体が検出エリア内にあることを意味するため、記憶画像を削除せず、最初の処理へと戻る。
ステップS2108へと処理を遷移した場合、すなわち物体が一度でも検出ラインを通過した場合、情報処理装置102のCPU201は、物体が検出エリアから検出ラインと逆方向に出たかどうかを判断する。検出ラインと逆方向に物体が出た場合は、ステップS2111へと処理を遷移し、検出ラインと逆方向に物体が出ていない場合は、ステップS2109の処理へ遷移する。検出ラインと逆方向に出るとは、図22の例では、2211のような上方向の領域方向に向かって物体が検出エリアを出るかどうかで判断される。すなわち、ステップS2108の処理は、棚から商品または手が取り出されたかどうかを判断している処理である。
ステップS2109へと処理を遷移した場合、情報処理装置102のCPU201は、物体が検出エリアから検出ラインを通過して出たかどうかを判断する。検出ラインから物体が出た場合は、ステップS2110へと処理を遷移し、検出ラインから物体が出ていない場合は、ステップS2117の処理へ遷移する。検出ラインから物体が出たかどうかは、図22の例では、2201〜2203の検出ラインを通過して検出エリアを出たかどうかで判断される。すなわち、ステップS2109の処理は、棚に商品または手が入ったかどうかを判断している処理である。
なお、検出ラインから物体が出る場合でも、同じ検出ラインから入って追跡されている物体の場合は、Noの処理へと遷移し、ステップS2117の判断分岐へと遷移する。Noへと遷移するのは、たとえば、商品を顧客が棚から取り出して、検出エリアから出すことなく棚に戻した場合に商品がカウントアップされることを防ぐためである。
ステップS2110へと処理を遷移すると、情報処理装置102のCPU201は、物体が商品である場合に在庫を増やす処理を実行するため、図示しないカウントアップフラグを立てる。その後、ステップS2112へと処理を遷移する。
一方、ステップs2111へと処理を遷移した場合、情報処理装置102のCPU201は、物体が商品である場合に在庫を減らす処理を実行するためのため、図示しないカウントダウンフラグを立てる。その後、ステップS2112へと処理を遷移する。
ステップS2112へと処理を遷移すると、情報処理装置102のCPU201は、ステップS2104で記憶している複数の撮像画像を読み込み、画像を取得する。
次に、ステップS2113において、情報処理装置102のCPU201は、AIによる画像認識により、商品を特定する処理を行う。具体的には、AIの教師データとして数千枚の画像(図23のような画像を推論する場合はペットボトルの様々な角度の数千枚の画像)を登録して、たとえばVGGやMobileNetなどのディープラーニングのアルゴリズムを用い学習させる。学習させた学習済モデルにたとえば、図23のような複数の画像2301〜2312を入力し、推論されるペットボトルの商品を特定する。このように、物体周辺の画像複数枚により1つの商品を推論するため、第1の実施形態のように1枚の全体画像から商品を特定する処理よりも画像解析のスピードが上がり、撮像部のフレームレートを上げることができる。なお、商品の特定にはAIを利用せず、商品につけられたタグを撮像して識別しマッチングさせることにより特定しても良い。また、複数の画像を記憶しておいて、単なるマッチング条件によって商品を特定しても良く、それら場合も物体周辺の画像を複数枚使って判断することができ、画像解析の処理を上げ、処理速度を上げることができる。
次に、ステップS2114において、情報処理装置102のCPU201は、ステップS2113で特定された物体が商品かそうでないかを判断する。商品の場合はステップS2115へと処理を遷移し、商品ではなく手である、もしくは商品を特定できない場合は、ステップっS2118へと処理を遷移する。
ステップS2118へと処理を遷移すると、情報処理装置102のCPU201は、記憶画像や物体の高さ情報、検出ライン通過フラグ、在庫増減数などを削除する。ステップS2118へと遷移する場合は、検出エリアから物体が出た場合であり、かつ検出した物体が手もしくは識別不可能な商品の場合、もしくは、棚内に手を入れることなく検出エリアを出た場合を指すので、記憶画像、物体の高さ情報、検出ライン通過フラグ、在庫増減数は不要になるため、これらのデータを削除する。その後、このフローチャートの最初の処理に戻る。なお、ステップS2113でユーザの手と認識不可能な商品とを識別可能であれば、認識不可能な商品が棚に入れられた場合、アラートを出して、認識不可能な商品があることを店舗の商品管理者に伝える構成があっても良い。
一方、ステップS2114の判断分岐の結果、ステップS2115へと処理を遷移すると、情報処理装置102のCPU201は、ステップS2114で推論された商品を、ステップS2106で記憶した高さの棚に対して、ステップS2110もしくはステップS2111の在庫増減数だけ在庫を増減させる情報を設定する。
次に、ステップS2116において、情報処理装置102のCPU201は、ステップS2115で設定された棚と商品と増減情報を在庫管理サーバ107に送信して(物品出入報知部)、ステップS2117へと処理を遷移する。
ステップS2117へと処理を遷移すると、本実施形態のフローチャートを終了するかユーザから受け付け(不図示)ユーザから終了を受け付けると処理を終了し、ユーザからの終了指示を受け付けない場合は、フローチャートの最初の処理へと戻す。
以上の処理のように、まず、物体検出とトラッキングを先の実行し、検出エリアから物体が出ると、撮像している画像を使って商品を特定して在庫情報を管理するにより、撮像毎に画像全体から商品識別を行う処理を省き、撮像部のフレームレートを上げて、細かなトラッキングが可能となる効果を有する。
なお、第2の実施形態では、検出ラインを通過したかによって、商品が棚から出し入れされたかを判断しているが、商品が取り出し方向(Y座標)に所定の閾値以上移動した際に、棚から出し入れされたと判断しても良い。その際、商品が出し入れされる棚の高さ情報は、検出ライン通過時の高さ(ステップ2106)から設定する。
以上の処理により、本発明は、複数の列からなる商品棚を少ない撮像装置で、かつ在庫場所の撮影の有無を問わず商品の出入りが管理できる効果を有する。
また、在庫管理の他に、棚の高さや横の位置毎のデータを逐次取得できるため、棚割を適切に割り当てるための情報を取得することができる効果も有する。
また、商品の配置場所と出入を特定できるため、売上を伸ばすために適した棚割を容易に行うための情報を取得することができる。
また、在庫管理するためには物品の種類を特定する必要があるが、取得した画像から毎回物品の種類を特定すると、処理が遅延しフレームレートを低下させてしまう。そのため、物品の検出タイミングが遅れ、物品の追跡が難しいという課題を解決できる。
さらに、画像により特定された{位置/高さ/商品画像}に基づき、商品の配置場所を特定できるため、ユーザによる商品配置場所のメンテナンスを省力化することができ、在庫管理や商品棚卸情報をより正確に行うことができる。
<第3の実施形態>
第2の実施形態では、商品の検出にAIの推論を使っているが、ステップS2104で記憶され続けた抽出画像が、実際の商品画像より大きいとAIの推論であっても商品識別の精度が落ちてしまう。また、図22の検出ラインを通過した物体が必ずしも商品であるとは限らないという課題もある。
<第3の実施形態>
第2の実施形態では、商品の検出にAIの推論を使っているが、ステップS2104で記憶され続けた抽出画像が、実際の商品画像より大きいとAIの推論であっても商品識別の精度が落ちてしまう。また、図22の検出ラインを通過した物体が必ずしも商品であるとは限らないという課題もある。
第3の実施形態では、上記の課題を解決するために、撮像画像の内、顧客が商品を取る際に使う顧客の手をまず検出し、
検出した手から、手元にある商品の画像を抽出して商品を検出する手法を説明する。
検出した手から、手元にある商品の画像を抽出して商品を検出する手法を説明する。
まず、第3の実施形態で解決する課題を図24、図25を参照して説明する。
図24は、本発明の第3の実施形態で解決する課題を説明するための模式図である。
たとえば、図24の2401は、商品の前に扉を有する棚を上部に設置されたカメラから第2の実施形態で商品を検出する際の課題を説明する例である。
図24の上部のカメラから撮像した画像の例として2411を参照して説明する。
2411では、顧客が扉を開けるために、まず手を検出エリアに入れる。その後、顧客の手が検出ラインにある扉の取っ手を持って引っ張ることにより、扉を開けることになるが、顧客の手が検出ラインを通過するため、検出ライン通過フラグが立つ。その後、扉や取っ手の画像をステップS2104で記憶し続け、扉や取っ手が顧客の手が検出エリアから出る(すなわち、扉が開かれる)と、扉や取っ手の画像を物体検出するためにステップS2104で記憶した画像群からAIによる推論を開始する。しかし、記憶されている画像のほとんどは扉の画像になるため、商品は何も検出しないはずである。しかし、これらの扉の画像も物体検出を行うため、誤検出が起こる可能性がある。また、たとえば、右手で扉を開けて、左手で商品を手に取る場合、左手の商品の画像だけを抽出せず、右手と左手を含む画像を抽出してステップS2104で記憶するため、左手の商品だけの画像よりも相対的に大きい画像を取得してしまい、AIによる推論が難しい場合がある。
上記の課題を解決するために、第3の実施形態を説明する。なお、第3の実施形態は第2の実施形態の一部を踏襲しており、第2実施形態と同様な部分は説明を省略する。
図25は、本発明の第3の実施形態に係る情報処理装置102における商品在庫追従の処理概要を示すフローチャートであり、図中のS2101〜S2502は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。なお。ステップS2101〜S2118の処理は図21で説明した第2の実施形態と同様である。
図25のフローチャートは、第2の実施形態の図20のフローチャートのステップS2003へと遷移した際に開始される処理の流れである。ステップS2112までは、第2の実施形態と同様なので、説明を省略する。
ステップS2112の処理である、ステップS2104で記憶している複数の撮像画像を読み込み、画像を取得する処理(画像取得部)を実行後、ステップS2501へと処理を遷移すると、情報処理装置102のCPU201は、取得した画像群から商品を検出(識別)する処理を行う。商品検出処理の詳細は図26を参照して後述する。
ステップS2501において、物体(商品)を検出後、ステップS2502へと遷移しすると、ステップS2502において、情報処理装置102のCPU201は、検出した物体が商品かどうかを判定する。商品の場合はステップS2115へと処理を遷移し、商品ではなく手や扉もしくは商品を特定できない場合は、ステップっS2118へと処理を遷移する。以降は第2の実施形態と同様なので、説明を省略する。
次に、図26を参照して第3の実施形態の商品検出処理内容を説明する。
図26は、本発明の第3の実施形態に係る情報処理装置102における商品検出の処理概要を示すフローチャートであり、図中のS2601〜S26054は各ステップを示す。各ステップの処理は、情報処理装置102の外部メモリ211に格納されたアプリケーションプログラムを、それぞれのシステムのCPU201がRAM203上にロードして実行することにより実現される。
図26のフローチャートは、図25のフローチャートのステップS2501へと遷移した際に開始される処理の流れである。
まず、図26のステップS2601において、情報処理装置102のCPU201は、ステップS2112で取得した画像群から物体(商品)の位置を検出する。商品の位置検出はAIによる学習済みモデルを使って商品位置(物体位置)を検出する。学習済みモデルを作成する際に使う教師データの例を図27を参照して説明する。
図27は、本発明の実施形態に係るAIに学習させる教師データの例を示す模式図である。
図27の2701の各画像のように、手(Hand)と商品(Bottle)が撮像された画像の中で、手(Hand)の位置と商品(Bottle)の位置を四角枠で特定した画像を数万枚準備し、教師データとして学習させる。同様に、2711のような手(Hand)だけの画像も、手(Hand)の位置を四角枠で特定した画像を数万枚準備し、教師データとして学習させる。このようにして生成された学習済みモデルから、ステップS2112で取得した複数の画像(たとえば、図23のような画像群)の商品位置をそれぞれ検出する。図26のフローチャートの説明に戻る。
次に、ステップS2602において、情報処理装置102のCPU201は、ステップS2602で検出されたものが手(Hand)かどうかによって処理を分ける。検出されたものが手(人体の一部)である場合、ステップS2603へと処理を遷移し、検出されたものが手ではない場合は、図26のフローチャートの処理を終えて、図25のフローチャートに戻る(人体認識部)。
ステップS2603へと処理を遷移すると、情報処理装置102のCPU201は、ステップS2112で取得した画像群から商品(物体)画像を抽出する(画像抽出部)。学習済みモデルを適応された画像は。図27の2701のような商品(Bottle)で囲われた画像のように商品が特定されるので、たとえば図27の2701のように商品(Bottle)で囲われた画像をステップS2112で取得した画像からそれぞれ商品画像としてを抽出する。なお、ステップS2112で取得した画像に商品が撮像されていない場合(たとえば、図27の2711の内の1枚のような場合)は、商品画像は無いと判断し、図26のフローチャートを終了しても良い。
次に、ステップS2604において、情報処理装置102のCPU201は、ステップS2603で抽出した画像を、商品分類(物体識別)する(物品特定部)。商品分類(物体識別)は、AIによる学習済みモデルを使って商品分類を行う。学習済みモデルを作成する際に使う教師データの例を図28を参照して説明する。
図28は、本発明の実施形態に係るAIに学習させる教師データの例を示す模式図である。
図28の2801から2805の一連の画像が、それぞれの商品の教師データとなる画像であり、これらの画像を数万枚準備し、それぞれの商品名と紐付けて学習させる。2801は黄色い紅茶、2802は赤い紅茶、2803はコーヒー、2804はミルクティー、2805はお茶のそれぞれのボトルの例である。このようにして生成された学習済みモデルから、ステップS2603で抽出した複数の画像の商品分類を行うことができる。図26のフローチャートの説明に戻る。
以上で図26のフローチャートの説明を終える。
以上、第3の実施形態のように、手の画像を検出し、手の画像と一緒に撮像されている商品画像を抽出、抽出した画像に対しAIによる推論を実行することにより、AIによる推論に余分な部分を削除することができ、商品識別精度を上げることができる。
また、手の画像を検出しない場合は、商品検出(物体検出)を行わず、手の画像を検出した場合に商品検出を行うことにより、商品でない物体(買い物かごや顧客の頭部)を撮像した場合の誤検知を減らすことができる。
なお、図28の教師データは第1の実施形態、第2の実施形態でも同様に利用するものとする。また、本実施形態では、飲み物のボトルを商品画像としているが、飲み物以外の販売物でもよく、在庫を管理すべきものであれば何でもよい。
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能(読取可能)なプログラムであり、本発明の記憶媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 ネットワークカメラ
102 情報処理装置
103 商品棚
104 商品
105 在庫監視システム
106 ネットワーク
107 在庫管理サーバ
201 CPU
202 ROM
203 RAM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/Fコントローラ
209 入力部
210 表示部
211 外部メモリ
301 CPU
302 ROM
303 RAM
304 システムバス
305 TOFセンサ
306 深度計測部
307 RGBカメラ部
308 画像処理部
309 通信I/Fコントローラ
102 情報処理装置
103 商品棚
104 商品
105 在庫監視システム
106 ネットワーク
107 在庫管理サーバ
201 CPU
202 ROM
203 RAM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/Fコントローラ
209 入力部
210 表示部
211 外部メモリ
301 CPU
302 ROM
303 RAM
304 システムバス
305 TOFセンサ
306 深度計測部
307 RGBカメラ部
308 画像処理部
309 通信I/Fコントローラ
Claims (10)
- 物品の出入りを撮像する撮像部と通信可能な情報処理装置であって、
所定の範囲で物品を検出するため、前記撮像部で撮像された画像を繰り返し取得する画像取得手段と、
前記画像取得手段で人体の一部が検出されたことを認識する人体認識手段と、
前記人体認識手段で認識された画像の人体の一部が検出された周辺画像を抽出する画像抽出手段と、
前記画像抽出手段により抽出された抽出画像から前記物品を特定する物品特定手段と、
前記物品特定手段により特定された物品の出入りにより前記物品の出入りを報知する物品出入報知手段と
を有することを特徴とする情報処理装置。 - 前記人体認識手段により検出される人体の一部とは、人の手であることを特徴とする請求項1に記載の情報処理装置。、
- 前記画像抽出手段は、人体の一部の画像を学習した学習済みモデルから検出された前記周辺画像を抽出し、
前記物品特定手段は、物品画像を学習した学習済みモデルから前記物品を特定することを特徴とする請求項1または2に記載の情報処理装置。 - 前記画像抽出手段は、前記人体の一部の画像を学習した学習済みモデルから物品の画像を抽出することを特徴とする請求項高3に記載の情報処理装置。
- 前記物品特定手段は、前記画像取得手段により取得された複数の画像から画像抽出手段により抽出される複数の周辺画像を使って、物品画像を学習した学習済みモデルから前記物品を特定することを特徴とする請求項3または4に記載の情報処理装置。
- 前記物品出入報知手段は、前記物品が所定の領域を通過し、所定の範囲を出入りした際に前記物品の出入りを報知することを特徴とする請求項1乃至5に記載の情報処理装置。
- 前記物品出入報知手段は、前記物品が前記所定の領域を通過した場合に、前記物品が所定の方向に所定の距離移動した場合に物品が出入りしたと判断し報知することを特徴とする請求項1乃至6に記載の情報処理装置。
- 前記撮像部は、出入りする物品の高さ情報を特定可能であり、
前記所定の領域を、前記撮像部で特定される高さ情報毎に設定する所定領域設定手段と、
前記物品の高さ情報に対応する前記設定された所定の領域を通過した場合に、前記物品の出入りを報知することを特徴とする請求項1乃至7に記載の情報処理装置。 - 物品の出入りを撮像する撮像部と通信可能な情報処理装置における情報処理方法であって、
所定の範囲で物品を検出するため、前記撮像部で撮像された画像を繰り返し取得する画像取得工程と、
前記画像取得工程で人体の一部が検出されたことを認識する人体認識工程と、
前記人体認識工程で認識された画像の人体の一部が検出された周辺画像を抽出する画像抽出工程と、
前記画像抽出工程により抽出された抽出画像から前記物品を特定する物品特定工程と、
前記物品特定工程により特定された物品の出入りにより前記物品の出入りを報知する物品出入報知工程と
を有することを特徴とする - 物品の出入りを撮像する撮像部と通信可能な情報処理装置を動作させるプログラムであって、
情報処理装置を、
所定の範囲で物品を検出するため、前記撮像部で撮像された画像を繰り返し取得する画像取得手段と、
前記画像取得手段で人体の一部が検出されたことを認識する人体認識手段と、
前記人体認識手段で認識された画像の人体の一部が検出された周辺画像を抽出する画像抽出手段と、
前記画像抽出手段により抽出された抽出画像から前記物品を特定する物品特定手段と、
前記物品特定手段により特定された物品の出入りにより前記物品の出入りを報知する物品出入報知手段として動作させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019238778A JP2021107989A (ja) | 2019-12-27 | 2019-12-27 | 情報処理装置、情報処理方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019238778A JP2021107989A (ja) | 2019-12-27 | 2019-12-27 | 情報処理装置、情報処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021107989A true JP2021107989A (ja) | 2021-07-29 |
Family
ID=76967930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019238778A Pending JP2021107989A (ja) | 2019-12-27 | 2019-12-27 | 情報処理装置、情報処理方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021107989A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4231251A1 (en) | 2022-02-18 | 2023-08-23 | Fujitsu Limited | Setting program, detection program, setting method, detection method, setting apparatus, and detection appratus |
-
2019
- 2019-12-27 JP JP2019238778A patent/JP2021107989A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4231251A1 (en) | 2022-02-18 | 2023-08-23 | Fujitsu Limited | Setting program, detection program, setting method, detection method, setting apparatus, and detection appratus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6986576B2 (ja) | 物品識別方法及びシステム、電子機器 | |
WO2019165892A1 (zh) | 自动售货方法、装置和计算机可读存储介质 | |
US11244548B2 (en) | System and method for anti-shoplifting in self-checkout | |
US20210312772A1 (en) | Storefront device, storefront management method, and program | |
TWI578272B (zh) | Shelf detection system and method | |
WO2014050518A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
TWI793719B (zh) | 店鋪裝置、店鋪系統、店鋪管理方法及程式 | |
US20170068945A1 (en) | Pos terminal apparatus, pos system, commodity recognition method, and non-transitory computer readable medium storing program | |
CN105164481A (zh) | 利用影像识别的冰箱的保管品目管理方法及其冰箱 | |
JP6342039B1 (ja) | 商品を管理するためのシステム、方法、及びプログラム | |
US11475673B2 (en) | Image recognition device for detecting a change of an object, image recognition method for detecting a change of an object, and image recognition system for detecting a change of an object | |
JP2015141572A (ja) | 商品情報提供方法、商品情報提供装置および商品情報提供プログラム | |
CA3051001A1 (en) | System and method for assessing customer service times | |
JP2024036380A (ja) | 情報処理装置、情報処理方法、プログラム | |
CN111222870A (zh) | 结算方法、装置和系统 | |
CN110689389A (zh) | 基于计算机视觉的购物清单自动维护方法及装置、存储介质、终端 | |
CN111260685B (zh) | 视频处理方法、装置及电子设备 | |
JP2021107989A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6982259B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2022036983A (ja) | セルフレジシステム、購入商品管理方法および購入商品管理プログラム | |
KR100911121B1 (ko) | 영상 기반의 인간 블랍 추적방법 | |
US12002008B2 (en) | Methods and apparatus for machine learning system for edge computer vision and active reality | |
US20240135319A1 (en) | Methods and apparatus for machine learning system for edge computer vision and active reality | |
CAULFIELD | Mean-Shift Tracking for Surveillance: Evaluations and Enhancements |