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

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

▶ 東芝テック株式会社の特許一覧

特開2024-66766画像処理装置、及びそのプログラム、画像処理方法
<>
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図1
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図2
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図3
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図4
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図5
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図6
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図7
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図8
  • 特開-画像処理装置、及びそのプログラム、画像処理方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066766
(43)【公開日】2024-05-16
(54)【発明の名称】画像処理装置、及びそのプログラム、画像処理方法
(51)【国際特許分類】
   G06V 10/46 20220101AFI20240509BHJP
   G06T 7/60 20170101ALI20240509BHJP
【FI】
G06V10/46
G06T7/60 200
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022176434
(22)【出願日】2022-11-02
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】山崎 景太
(72)【発明者】
【氏名】竹野 唯志
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096FA05
5L096FA09
5L096FA64
5L096FA67
(57)【要約】
【課題】1つのキーポイントから関連性のある他のキーポイントへの接続関係を複数割り当て可能とする。
【解決手段】画像処理装置は、取得手段と、特定手段と、演算手段と、選択手段と、認識手段とを備える。取得手段は、認識対象の物体が映し出された画像を取得する。特定手段は、取得した画像から物体に対して設定された2種類以上のキーポイントを特定する。演算手段は、異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出する。選択手段は、キーポイント毎に評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択する。認識手段は、キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで物体を認識する。
【選択図】 図3
【特許請求の範囲】
【請求項1】
認識対象の物体が映し出された画像を取得する取得手段と、
前記画像から前記物体に対して設定された2種類以上のキーポイントを特定する特定手段と、
異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出する演算手段と、
前記キーポイント毎に前記評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択する選択手段と、
前記キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで前記物体を認識する認識手段と、
を具備する画像処理装置。
【請求項2】
前記認識手段による認識結果を出力する出力手段、
をさらに具備する請求項1記載の画像処理装置。
【請求項3】
前記演算手段は、組合せとなった前記キーポイント間のベクトル情報と経路長とに基づいて前記評価値を算出する、請求項1又は2記載の画像処理装置。
【請求項4】
前記特定手段は、矩形状の開口部を有する前記物体に対しては、前記開口部の四隅と四辺の中間点とをキーポイントとして特定し、
前記認識手段は、前記開口部を認識することで前記物体を認識する、請求項1又は2記載の画像処理装置。
【請求項5】
認識対象の物体が映し出された画像から前記物体を認識する画像処理装置のコンピュータを、
前記画像を取得する取得手段、
前記画像から前記物体に対して設定された2種類以上のキーポイントを特定する特定手段、
異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出する演算手段、
前記キーポイント毎に前記評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択する選択手段、及び、
前記キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで前記物体を認識する認識手段、
として機能させるためのプログラム。
【請求項6】
認識対象の物体が映し出された画像を処理する画像処理装置が、
前記画像から前記物体に対して設定された2種類以上のキーポイントを特定し、
異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出し、
前記キーポイント毎に前記評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択し、
前記キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで前記物体を認識する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画像処理装置、及びそのプログラム、並びに画像処理方法に関する。
【背景技術】
【0002】
近年、深層学習の手法を利用してカメラで撮影された画像を処理することにより、その画像に写し出された人物の姿勢を推定する技術が公開されている。例えば、非特許文献1に開示されている“OpenPose”は、以下の第1乃至第3のステップにより人物の姿勢を推定する技術である。第1のステップは、画像に写し出された人物の頭、首、肩、肘、手首、手、腰、膝、足首等の特徴点いわゆるキーポイントの座標を推定する。第2のステップは、例えば頭は首に接続され、首は肩に接続され、肩は肘に接続され、というように、各キーポイントの関連性を基にキーポイント間の接続方向を表す方向ベクトルを算出する。第3のステップは、各キーポイントと各キーポイント間の方向ベクトルとを組み合わせて、人物の姿勢を推定する。
【0003】
このような技術を利用することにより、画像に2名以上の人物が映し出されている場合でも、各人物の姿勢をそれぞれ推定することができる。しかしながら従来の技術では、1つのキーポイントから関連性のある他のキーポイントへの方向ベクトルは、関連性のある他のキーポイントが複数存在していても1種類しか算出されない。例えば、人物Aと人物Bとが握手をしているため、画像には人物Aの手首と手及び人物Bの手首は映し出されているが、人物Bの手は人物Aの手に隠されて映し出されていない場合を想定する。この場合、第1のステップでは、キーポイントとして、人物Aの手首と手及び人物Bの手首の各座標とが推定される。第2のステップでは、手首と手との間に関連性があるため、例えば人物Aの手首と人物Aの手との間の方向ベクトルが算出される。しかしその場合には、人物Aの手は、既に関連性のあるキーポイント、つまりは手首と結び付けられたため、その関連性のあるキーポイントと同じ種類の他のキーポイント、つまりは人物Bの手首との間は結び付けられない。その結果、人物Bの手首から先の姿勢を推定することはできない。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Z. Cao et al.,“OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”,arXiv:1812.08008v2 [cs.CV],30 May 2019
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態が解決しようとする課題は、1つのキーポイントから関連性のある他のキーポイントへの接続関係を複数割り当て可能な画像処理装置及びそのプログラム、並びに画像処理方法を提供しようとするものである。
【課題を解決するための手段】
【0006】
一実施形態において、画像処理装置は、取得手段と、特定手段と、演算手段と、選択手段と、認識手段とを備える。取得手段は、認識対象の物体が映し出された画像を取得する。特定手段は、取得した画像から物体に対して設定された2種類以上のキーポイントを特定する。演算手段は、異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出する。選択手段は、キーポイント毎に評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択する。認識手段は、キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで物体を認識する。
【図面の簡単な説明】
【0007】
図1図1は、一実施形態に係るセルフPOS端末の外観構成を示す模式図である。
図2図2は、一実施形態に係る買物籠の上面図である。
図3図3は、一実施形態における画像処理装置の要部回路構成を示すブロック図である。
図4図4は、画像処理装置のプロセッサが画像処理プログラムにしたがって実行する情報処理の要部手順を示す流れ図である。
図5図5は、図4に示される情報処理の中の物体認識処理の具体的な手順を示す流れ図である。
図6図6は、買物籠のキーポイントの1つである隅を説明するための模式図である。
図7図7は、買物籠のキーポイントの1つである中間点を説明するための模式図である。
図8図8は、物体認識処理で作成される行列の一例を示す模式図である。
図9図9は、物体認識処理による買物籠の認識結果を示す模式図である。
【発明を実施するための形態】
【0008】
以下、1つのキーポイントから関連性のある他のキーポイントへの接続関係を複数割り当て可能な画像処理装置の実施形態について、図面を用いて説明する。
なお、本実施形態は、“OpenPose”の技術を応用して、1つのキーポイントから他のキーポイントへの接続関係を複数割り当てることを可能とすることで、セルフPOS端末の近傍に設けられたカメラで撮影された画像から、セルフPOS端末の籠受台に置かれた買物籠の開口部を検知するようにした画像処理装置を例示する。はじめに、図1を用いてセルフPOS端末10の概要について説明する。
【0009】
図1は、セルフPOS端末10の外観構成を示す模式図である。セルフPOS端末10は、本体101と、該本体101の左右に配置された籠受台102及び袋詰台103とを備える。本体101に向かって右側に配置される籠受台102は、決済者である客が買上商品を収容した買物籠30を載置するための台である。本体101に向かって左側に配置される袋詰台103は、客が買上商品を袋詰めするための台である。客は、袋詰台103に用意したレジ袋またはマイバッグ等に買上商品を収容する。図1において、袋詰台103は、その上部に支柱を介して一時置き台104を設けている。一時置き台104は、例えば、商品をレジ袋等に入れる前に一時的に載置するための台である。一時置き台104には、左右に離間させて2本の保持アーム105が設けられている。客は、これらの保持アーム105を用いて、レジ袋、マイバッグ等を開口した状態で袋詰台103の上に置くことが可能である。なお、籠受台102及び袋詰台103の取り付け位置は、左右が逆であってもよい。
【0010】
本体101は、タッチパネル11、カードリーダ12、プリンタ13、スキャナ14、ハンドスキャナ15、現金処理機16、パトランプ17、スピーカ18等を備える。
【0011】
タッチパネル11は、ディスプレイに文字、記号、画像等からなる表示要素を表示可能な表示デバイスである。またタッチパネル11は、ディスプレイに対するタッチ操作位置をセンサで検知し、その位置の表示要素が入力されたものとして処理する入力デバイスでもある。セルフPOS端末10においては、客の操作を支援するための種々の画像がタッチパネル11に表示される。
【0012】
カードリーダ12は、クレジットカード、電子マネーカード、ポイントカード等のカード媒体に記録されたデータを読み取る入力デバイスである。カード媒体が磁気カードの場合、カードリーダ12は磁気カードリーダである。カード媒体がICカードの場合、カードリーダ12は、ICカードリーダである。セルフPOS端末10は、カードリーダ12として磁気カードリーダまたはICカードリーダのいずれか一方を備えていてもよいし、両方を備えていてもよい。カードリーダ12は、カードへのデータ書込み機能を有したカードリーダ・ライタであってもよい。
【0013】
プリンタ13は、レシート用紙に買上レシート、クレジットカード伝票等に係るデータを印刷する出力デバイスである。プリンタ13によって種々のデータが印刷されたレシート用紙は、カッタによりカットされて、レシート発行口から発行される。プリンタ13は、例えばサーマルプリンタまたはドットインパクトプリンタ等によって実現される。
【0014】
スキャナ14及びハンドスキャナ15は、バーコード又は二次元コード等の機械可読コードを読み取る入力デバイスである。スキャナ14は、読取窓(ガラス窓)に翳された機械可読コードを光学的に読み取る。ハンドスキャナ15は、客によって手持ちで操作されるもので、機械可読コードに近接されることによりその機械可読コードを光学的に読み取る。
【0015】
現金処理機16は、現金を処理する装置である。現金処理機16は、紙幣投入口161、紙幣排出口162、硬貨投入口163及び硬貨排出口164を有する。現金処理機16は、紙幣投入口161に投入された紙幣を処理する。現金処理機16は、釣銭としての紙幣を紙幣排出口162から排出する。現金処理機16は、硬貨投入口163に投入された硬貨を受け入れて処理する。現金処理機16は、釣銭としての硬貨を硬貨排出口164から排出する。
【0016】
パトランプ17は、セルフPOS端末10に生じたアラート等を表示により報知するためのものである。パトランプ17は、遠くからでも見えるように、鉛直方向に延びたポールの先端に取り付けられている。パトランプ17は、発光部材と円筒とを含む。発光部材は、円筒の内部に、円筒と同軸に回転可能に取り付けられている。パトランプ17は、動作すると、発光部材を発光させながら回転させることができる。
【0017】
スピーカ18は、セルフPOS端末10に生じたアラート等を音声により報知するためのものである。例えばスピーカ18は、アラートの状態に応じたブザー音を発する。あるいはスピーカ18は、アラートの状態に応じたメッセージの声を発する。
【0018】
本体101の上方部には、撮像装置としてのカメラ20が取り付けられている。カメラ20は、単眼カメラである。カメラ20は、セルフPOS端末10とそれを操作する決済者とを撮影するものである。図1に示すように、タッチパネル11のディスプレイ、カードリーダ12のカード挿入口、プリンタ13のレシート発行口、スキャナ14の読取窓及び現金処理機16の紙幣投入口161、紙幣排出口162、硬貨投入口163及び硬貨排出口164は、本体101の1つの面(以下、正面とする)に配置されている。このため決済者は、本体101の正面と対峙するように立って、セルフPOS端末10を操作する。カメラ20は、セルフPOS端末10とその正面に立つ決済者とを上方から撮影する。したがって、決済者の頭部、顔面、両肩、両腕、胸部、腹部等がカメラ20によって撮影される。また、本体101を挟んで左右に配置された籠受台102及び袋詰台103を含むセルフPOS端末10の上面もカメラ20によって撮影される。したがって、籠受台102に買物籠30が置かれると、その買物籠30の開口部と、その買物籠30に収容されている商品とがカメラ20によって撮影される。
【0019】
カメラ20は、画像処理装置40に接続される。画像処理装置40は、カメラ20によって撮影された画像、すなわちカメラ画像を処理することにより、籠受台102に置かれている買物籠30を認識する機能を有している。画像処理装置40によって認識された買物籠30の情報は、図示しない監視装置に提供される。監視装置は、例えばセルフPOS端末10の正面に立った決済者の行動を監視するための装置である。そこで以下では、この買物籠30の認識機能について詳細に説明する。
【0020】
先ず、本実施形態に係る買物籠30の概要について、図2を用いて説明する。買物籠30は、店が用意したものであり、すべて形状が同一である。買物籠30は、収容体の一例である。
【0021】
図2は、買物籠30の上面図である。買物籠30は、長方形の底壁31の各縁から4面の側壁321,322,323,324を外側に若干傾斜するように上方に立設することで、その内部に上面開口の収容部33を形成している。そして、各側壁321,322,323,324の上端部341,342,343,344は、それぞれ隣接する側壁321,322,323,324の上端部341,342,343,344と接合して、略口状の開口部35を形成する。すなわち開口部35は、上端部341,342,343,344と、上端部341と上端部342との接合部である第1の隅361、上端部342と上端部343との接合部である第2の隅362、上端部343と上端部344との接合部である第3の隅363、及び、上端部344と上端部341との接合部である第4の隅364、の4隅とによって構成されている。画像処理装置40は、買物籠30の開口部35を認識することによって、籠受台102に置かれた買物籠30を認識する。
【0022】
なお、買物籠30の開口部35には、通常、コの字形の一対の取っ手が取り付けられているが、本実施形態では、説明の便宜上、取っ手については無視することとする。
【0023】
図3は、画像処理装置40の要部回路構成を示すブロック図である。図示するように、画像処理装置40は、プロセッサ41、GPU(Graphics Processing Unit)42、ROM(Read Only Memory)43、RAM(Random Access Memory)44、補助記憶デバイス45、カメラインターフェース46、デバイスインターフェース47、通信インターフェース48及びシステム伝送路49等を備える。システム伝送路49は、アドレスバス、データバス、制御信号線等を含む。画像処理装置40は、プロセッサ41と、GPU42、ROM43、RAM44、補助記憶デバイス45、カメラインターフェース46、デバイスインターフェース47及び通信インターフェース48とをシステム伝送路49で接続することにより、コンピュータを構成する。
【0024】
プロセッサ41は、上記コンピュータの中枢部分に相当する。プロセッサ41は、オペレーティングシステム又はアプリケーションプログラムに従って、画像処理装置40としての各種の機能を実現するべく各部を制御する。プロセッサ41は、例えばCPU(Central Processing Unit)である。
【0025】
GPU42は、プロセッサ41が行う演算処理を補助するアクセラレータとして機能する演算装置である。画像処理装置40において、GPU42は、主に画像処理の演算を高速に実行するために使用される。
【0026】
ROM43及びRAM44は、上記コンピュータの主記憶部分に相当する。不揮発性のメモリ領域であるROM43は、オペレーティングシステム又はアプリケーションプログラムを記憶する。またROM43は、プロセッサ41が各部を制御するための処理を実行する上で必要なデータを記憶する場合もある。揮発性のメモリ領域であるRAM44は、データが適宜書き換えられるワークエリアとして使用される。またRAM44は、アプリケーションプログラムを記憶したり、プロセッサ41が各部を制御するための処理を実行する上で必要なデータを記憶したりする場合もある。
【0027】
補助記憶デバイス45は、上記コンピュータの補助記憶部分に相当する。例えばEEPROM(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disk Drive)、あるいはSSD(Solid State Drive)等が補助記憶デバイス45となり得る。補助記憶デバイス45は、プロセッサ41又はGPU42が各種の処理を行う上で使用するデータ、その処理によって作成されたデータ等を保存する。補助記憶デバイス45は、上記のアプリケーションプログラムを記憶する場合もある。
【0028】
カメラインターフェース46は、カメラ20を接続する。カメラインターフェース46は、カメラ20によって撮影された画像データを随時取り込む。
【0029】
デバイスインターフェース47は、入力デバイス51と表示デバイス52とを接続する。デバイスインターフェース47は、入力デバイス59から入力されるデータ信号を入力する機能と、表示デバイス52に表示データを出力する機能とを有する。入力デバイス51は、キーボード、ポインティングデバイス、タッチパネル等である。表示デバイス52は、ディスプレイ、タッチパネル等である。
【0030】
通信インターフェース48は、監視装置とデータ通信を行うための回路である。通信インターフェース48は、監視装置以外の外部機器とデータ通信を行うことも可能である。
【0031】
かかる構成の画像処理装置40は、例えば“OpenPose”等で利用されるディープニューラルネットワーク(DNN:Deep Neural Network)を用いた機械学習により、カメラ画像から籠受台102に載置された買物籠30を認識する。そのためプロセッサ41は、取得手段411、特定手段412、演算手段413、選択手段414、認識手段415及び出力手段416としての機能を有する。
【0032】
取得手段411は、認識対象の物体が映し出された画像を取得する機能である。本実施形態において、認識対象の物体は、籠受台102に置かれた買物籠30である。すなわち取得手段411は、カメラインターフェース46を介して取り込んだカメラ20による撮影画像から、籠受台102に置かれた買物籠30が映し出された画像を取得する。
【0033】
特定手段412は、取得手段411により取得した画像から物体に対して設定された2種類以上のキーポイントを特定する機能である。認識対象の物体を買物籠30とする本実施形態においては、図6に示すように買物籠30の開口部35を構成する4つの隅361,362,363,364と、図7に示すように同開口部35を構成する4つの上端部341,342,343,344の各中間点371,372,373,374とをキーポイントと定義する。すなわち特定手段412は、買物籠30が映し出された画像から、その買物籠30の4つの隅361,362,363,364と、4つの中間点371,372,373,374とを特定する。すなわち特定手段412は、2種類以上のキーポイントをそれぞれ複数特定する。このような特定手段412は、取得手段411により取得した画像を“OpenPose”で用いるDNNへの入力画像とし、ヒートマップのピーク値(極点)となる座標をキーポイントとして特定する深層学習の手法によって実現可能である。
【0034】
演算手段413は、異なる種類のキーポイント間を連結する組合せ毎にその組合せの評価値を算出する機能である。認識対象の物体が買物籠30である場合、演算手段413は、第1の種類のキーポイントである4つの隅361,362,363,364と、第2の種類のキーポイントである4つの中間点371,372,373,374とをそれぞれ連結する16通りの組合せ毎に、評価値を算出する。キーポイント間の組合せは、特定手段412で用いるDNNの処理により、種類の異なるキーポイント間の画素同士を直線で接続し得る二次元単位ベクトルのベクトル場(PAF:Part Affinity Field)を出力することによって求まる。評価値は、ヒートマップで割り出したキーポイント間のPAFの積分値を、そのキーポイント間の経路長で除算した値である。
【0035】
選択手段414は、キーポイント毎に評価値が大きい順に他のキーポイントとの組合せを2パターン以上選択する機能である。例えば上端部341の第1の中間点371については、上端部341と上端部342とを連結した第1の隅361、上端部342と上端部343とを連結した第2の隅362、上端部343と上端部344とを連結した第3の隅363、上端部344と上端部341とを連結した第4の隅364の計4つのキーポイントをそれぞれ結ぶ4パターンがある。上端部342の第2の中間点372、上端部343の第3の中間点373、及び上端部344の第4の中間点374についても同様である。選択手段414は、これらの4パターンの中から評価値が大きい順に2パターン以上を選択する。このような選択手段414は、総当たりでキーポイント間の割当問題を解くハンガリアン法の手法を用いることで実現できる。
【0036】
認識手段415は、キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで物体を認識する機能である。認識対象の物体が買物籠30である場合、キーポイント毎に選択された2パターン以上の他のキーポイントとの組合せを連結することで開口部35が形成された場合、認識手段415は、籠受台102に置かれた買物籠30を認識し得たと判定する。
【0037】
出力手段416は、認識手段415による認識結果を出力する機能である。出力手段416は、認識結果を監視装置に出力する。出力手段416は、認識結果を監視装置以外の装置に出力してもよい。あるいは出力手段416は、認識結果を表示デバイス52に表示する場合も含む。
【0038】
このような取得手段411、特定手段412、演算手段413、選択手段414、認識手段415及び出力手段416としての機能は、プロセッサ41が画像処理プログラムに従ってカメラ画像を深層学習の手法で処理することにより実現される。画像処理プログラムは、ROM43または補助記憶デバイス45に記憶されるアプリケーションプログラムの一種である。画像処理プログラムをROM43または補助記憶デバイス45にインストールする方法は特に限定されるものではない。リムーバブルな記録媒体に画像処理プログラムを記録して、あるいはネットワークを介した通信により画像処理プログラムを配信して、ROM43または補助記憶デバイス45にインストールすることができる。記録媒体は、CD-ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。
【0039】
図4及び図5は、プロセッサ41が画像処理プログラムにしたがって実行する情報処理の要部手順を示す流れ図である。プロセッサ41がこの情報処理を実行することにより、画像処理装置40は、籠受台102に置かれた買物籠30を認識することができる。
【0040】
以下、図4及び図5の流れ図を用いて画像処理装置40の動作を説明する。なお、以下に説明する処理の手順及び内容は一例である。同様な効果を得られるのであれば、処理の手順及び内容を適宜変更することができる。
【0041】
プロセッサ41は、先ず、ACT1としてカメラインターフェース46を介してカメラ画像を取得する。カメラ画像を取得すると、プロセッサ41は、ACT2としてそのカメラ画像から籠受台102に置かれた買物籠30の開口部35を構成する4つの隅361,362,363,364を検出する。例えばプロセッサ41は、GPU42を活用して、カメラ画像について画素毎に開口部35の第1の隅361,第2の隅362,第3の隅363又は第4の隅364である確率を求め、その確率の分布を示すヒートマップを取得する。
【0042】
プロセッサ41は、ACT3として買物籠30の4つの隅361,362,363,364を示すヒートマップを検出し得たか否かを判定する。買物籠30の4つの隅361,362,363,364を示すヒートマップを検出し得ない場合、プロセッサ41は、ACT3からACT13へと進む。プロセッサ41は、ACT13として次のカメラ画像を取り込んでいるか否かを確認する。次のカメラ画像を取り込んでいる場合、プロセッサ41は、ACT13からACT1へと戻る。プロセッサ41は、ACT1以降の処理を前述したのと同様に実行する。したがってプロセッサ41は、カメラ画像から籠受台102に置かれた買物籠30の4つの隅361,362,363,364を示すヒートマップを検出し得るまで、カメラ画像を取得し続ける。
【0043】
カメラ画像から籠受台102に置かれた買物籠30の4つの隅361,362,363,364を示すヒートマップを検出し得ると、プロセッサ41は、ACT3からACT4へと進む。プロセッサ41は、ACT4として4つの隅361,362,363,364の各キーポイントを特定する。すなわちプロセッサ41は、第1の隅361である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xa,Ya)を第1の隅361のキーポイントとして特定する。同様にプロセッサ41は、第2の隅362である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xb,Yb)を第2の隅362のキーポイントとして特定する。プロセッサ41は、第3の隅363である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xc,Yc)を第3の隅363のキーポイントとして特定する。プロセッサ41は、第4の隅364である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xd,Yd)を第4の隅364のキーポイントとして特定する。
【0044】
第1乃至第4の隅361,362,363,364のキーポイントを特定し得ると、プロセッサ41は、ACT5へと進む。プロセッサ41は、ACT5として開口部35を構成する4つの上端部341,342,343,344における各中間点371,372,373,374を検出する。例えばプロセッサ41は、GPU42を活用して、カメラ画像について画素毎に開口部35を構成する4つの上端部341,342,343,344の各中間点371,372,373,374である確率を求め、その確率の分布を示すヒートマップを取得する。すなわちプロセッサ41は、第1の隅361と第2の隅362との間を連結する上端部342の中間点である確率の分布を示すヒートマップのピーク値を含む画素群を第2の中間点372として検出する。同様に、プロセッサ41は、第2の隅362と第3の隅363との間を連結する上端部343の中間点である確率の分布を示すヒートマップのピーク値を含む画素群を第3の中間点373として検出する。プロセッサ41は、第3の隅363と第4の隅364との間を連結する上端部344の中間点である確率の分布を示すヒートマップのピーク値を含む画素群を第4の中間点374として検出する。プロセッサ41は第4の隅364と第1の隅361との間を連結する上端部341の中間点である確率の分布を示すヒートマップのピーク値を含む画素群を第1の中間点371として検出する。
【0045】
上端部341,342,343,344の各中間点371,372,373,374を検出し得ると、プロセッサ41は、ACT6へと進む。プロセッサ41は、ACT6として第1乃至第4の中間点371,372,373,374のピークポイントを特定する。すなわちプロセッサ41は、第1の中間点371である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xe,Ye)を第1の中間点371のキーポイントとして特定する。同様にプロセッサ41は、第2の中間点372である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xf,Yf)を第2の中間点372のキーポイントとして特定する。プロセッサ41は、第3の中間点373である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xg,Yg)を第3の中間点373のキーポイントとして特定する。プロセッサ41は、第4の中間点374である確率の分布を示すヒートマップのピーク値に相当する画素の二次元座標(Xh,Yh)を第4の中間点374のキーポイントとして特定する。
【0046】
第1乃至第4の中間点371,372,373,374のキーポイントを特定し得ると、プロセッサ41は、ACT7へと進む。プロセッサ41は、ACT7としてPAF、つまりは種類の異なるキーポイント間の画素同士を直線で接続し得る二次元単位ベクトルのベクトル場を算出する。すなわちプロセッサ41は、第1の中間点371から第1の隅361へと向かう方向ベクトルのX成分及びY成分と、第1の中間点371から第2の隅362へと向かう方向ベクトルのX成分及びY成分と、第1の中間点371から第3の隅363へと向かう方向ベクトルのX成分及びY成分と、第1の中間点371から第4の隅364へと向かう方向ベクトルのX成分及びY成分とを算出する。同様にプロセッサ41は、第2の中間点372から第1の隅361へと向かう方向ベクトルのX成分及びY成分と、第2の中間点372から第2の隅362へと向かう方向ベクトルのX成分及びY成分と、第2の中間点372から第3の隅363へと向かう方向ベクトルのX成分及びY成分と、第2の中間点372から第4の隅364へと向かう方向ベクトルのX成分及びY成分とを算出する。第3の中間点373及び第4の中間点374についても同様である。
【0047】
PAFを算出し終えると、プロセッサ41は、ACT8へと進む。プロセッサ41は、ACT8として評価値Aijを算出する。評価値Aijは、第i(1≦i≦4)の隅36iのピークポイントと第j(1≦j≦4)の中間点37jのピークポイントとの間のPAFの積分値を、両ピークポイント間の経路長で除算した値である。
【0048】
評価値Aijを算出し終えると、プロセッサ41は、ACT9へと進む。プロセッサ41は、ACT9として評価値Aijの行列を作成する。例えば、図7に示すように、第1乃至第4の中間点371,372,373,374を行とし、第1乃至第4の隅361,362,363,364を列とし、関連する評価値Aijを行列の成分とする行列50を作成する。
【0049】
行列50を作成し終えると、プロセッサ41は、ACT10へと進む。プロセッサ41は、ACT10として物体認識処理を実行する。
【0050】
図5は、物体認識処理の具体的な手順を示す流れ図である。すなわちプロセッサ41は、物体認識処理に入ると、先ず、ACT21として第1カウンタrを初期値“1”とする。またプロセッサ41は、ACT22として第2カウンタnを初期値“1”とする。なお、第1カウンタr及び第2カウンタnは、いずれもRAM44に形成された加算カウンタの一種である。
【0051】
プロセッサ41は、ACT23として行列50に記述されている評価値Aijを検索して値が最大の評価値Aijを選択する。そしてプロセッサ41は、ACT24としてその選択した評価値Aijの組合せとなる隅と中間点の情報をRAM44で記憶する。例えば、行列50の1行目における1列目の評価値A11が最大値であると仮定すると、プロセッサ41は、評価値A11の組合せに係る情報、つまりは第1の中間点371のキーポイントとなる座標(Xe,Ye)と第1の隅361のキーポイントとなる座標(Xa,Ya)とを記憶する。
【0052】
次いでプロセッサ41は、ACT25として最大の評価値Aijを認識処理の対象から除外する。またプロセッサ41は、ACT26として最大の評価値Aijの行iと列jとを検索の候補外とする。そしてプロセッサ41は、ACT27として第2カウンタnを“1”だけカウントアップする。プロセッサ41は、ACT28として第2カウンタnが上限値Nを超えたか否かを確認する。上限値Nは、行列50の行数及び列数のうち小さい方の数である。本実施形態では、行列の行数及び列数がいずれも“4”なので、上限値Nは“4”となる。
【0053】
第2カウンタnが上限値Nを超えていない場合、プロセッサ41は、ACT28からACT23に戻る。プロセッサ41は、ACT23以降の処理を前述したのと同様に実行する。したがって、プロセッサ41は、検索の候補外とした行iと列jを除いた評価値Aijの中で値が最大の評価値Aijを選択する。そしてプロセッサ41は、その選択した評価値Aijの組合せとなる隅と中間点の情報をRAM44で記憶する。例えば、行列50の2行目における2列目の評価値A22が最大値であると仮定すると、プロセッサ41は、評価値A22の組合せに係る情報、つまりは第2の中間点372のキーポイントとなる座標(Xf,Yf)と第2の隅362のキーポイントとなる座標(Xb,Yb)とを記憶する。
【0054】
その後、プロセッサ41は、ACT23の処理で選択した評価値Aijを認識処理の対象から除外し、評価値Aijの行iと列jとを検索の候補外とする。そしてプロセッサ41は、第2カウンタnをカウントアップする。
【0055】
上限値Nが“4”の場合、この時点では第2カウンタnが上限値Nを超えていない。したがってプロセッサ41は、ACT28からACT23に戻る。プロセッサ41は、ACT23以降の処理を前述したのと同様に実行する。すなわちプロセッサ41は、検索の候補外とした行iと列jを除いた評価値Aijの中で値が最大の評価値Aijを選択する。そしてプロセッサ41は、その選択した評価値Aijの組合せとなる隅と中間点の情報をRAM44で記憶する。例えば、行列50の3行目における3列目の評価値A33が最大値であると仮定すると、プロセッサ41は、評価値A33の組合せに係る情報、つまりは第3の中間点373のキーポイントとなる座標(Xg,Yg)と第3の隅363のキーポイントとなる座標(Xc,Yc)とを記憶する。
【0056】
その後、プロセッサ41は、ACT23の処理で選択した評価値Aijを認識処理の対象から除外し、評価値Aijの行iと列jとを検索の候補外とする。そしてプロセッサ41は、第2カウンタnをカウントアップする。
【0057】
上限値Nが“4”の場合、この時点でも第2カウンタnが上限値Nを超えていない。したがってプロセッサ41は、ACT28からACT23に戻る。プロセッサ41は、ACT23以降の処理を前述したのと同様に実行する。すなわちプロセッサ41は、検索の候補外とした行iと列jを除いた評価値Aijの中で値が最大の評価値Aijを選択する。そしてプロセッサ41は、その選択した評価値Aijの組合せとなる隅と中間点の情報をRAM44で記憶する。例えば、行列50の4行目における4列目の評価値A44が最大値であると仮定すると、プロセッサ41は、評価値A44の組合せに係る情報、つまりは第4の中間点374のキーポイントとなる座標(Xh,Yh)と第4の隅364のキーポイントとなる座標(Xd,Yd)とを記憶する。
【0058】
その後、プロセッサ41は、ACT23の処理で選択した評価値Aijを認識処理の対象から除外し、評価値Aijの行iと列jとを検索の候補外とする。そしてプロセッサ41は、第2カウンタnをカウントアップする。
【0059】
上限値Nが“4”の場合、第2カウンタnが上限値Nを超える。プロセッサ41は、ACT28からACT29へと進む。プロセッサ41は、ACT29として行列50の全ての行iと列jとを検索の候補とする。そしてプロセッサ41は、ACT30として第1カウンタrを“1”だけカウントアップする。プロセッサ41は、ACT31として第1カウンタrが上限値Rを超えたか否かを確認する。上限値Rは、“2”以上の整数であればよい。本実施形態では、上限値Nを“2”とする。
【0060】
第1カウンタrが上限値Rを超えていない場合、プロセッサ41は、ACT31からACT22へと戻る。プロセッサ41は、ACT22として第2カウンタnを初期値“1”とする。その後、プロセッサ41は、ACT23乃至ACT27の処理を、第2カウンタnが上限値Nを超えるまで繰り返し実行する。ただし、ACT23においては、前回のACT25の処理で除外した最大の評価値Aij以外の評価値Aijの中で最大値を選択する。
【0061】
例えば評価値A14が最大値となる場合、プロセッサ41は、評価値A14の組合せに係る情報、つまりは第1の中間点371のキーポイントとなる座標(Xe,Ye)と第4の隅364のキーポイントとなる座標(Xd,Yd)とを記憶する。
【0062】
次いで、例えば評価値A21が最大値となる場合、プロセッサ41は、評価値A21の組合せに係る情報、つまりは第2の中間点372のキーポイントとなる座標(Xf,Yf)と第1の隅361のキーポイントとなる座標(Xa,Ya)とを記憶する。
【0063】
次いで、評価値A32が最大値となる場合、プロセッサ41は、評価値A32の組合せに係る情報、つまりは第3の中間点373のキーポイントとなる座標(Xg,Yg)と第2の隅362のキーポイントとなる座標(Xb,Yb)と、を記憶する。
【0064】
次いで、評価値A43が最大値となる場合、プロセッサ41は、評価値A43の組合せに係る情報、つまりは第4の中間点374のキーポイントとなる座標(Xh,Yh)と第3の隅363のキーポイントとなる座標(Xc,Yc)と、を記憶する。
【0065】
かくして、第2カウンタnが上限値Nを超えると、プロセッサ41は、ACT29乃至ACT31の処理を実行する。そしてACT31において、第1カウンタrが上限値Rを超えると、プロセッサ41は、ACT32へと進む。プロセッサ41は、ACT32として、ACT24の処理で記憶した情報を基に、キーポイントとなる座標を連結する。すなわち本実施形態では、ACT24の処理で以下に示す第1乃至第8の情報を記憶している。
【0066】
・第1の情報…座標(Xe,Ye)と座標(Xa,Ya)
・第2の情報…座標(Xe,Ye)と座標(Xd,Yd)
・第3の情報…座標(Xf,Yf)と座標(Xb,Yb)
・第4の情報…座標(Xf,Yf)と座標(Xa,Ya)
・第5の情報…座標(Xg,Yg)と座標(Xc,Yc)
・第6の情報…座標(Xg,Yg)と座標(Xb,Yb)
・第7の情報…座標(Xh,Yh)と座標(Xd,Yd)
・第8の情報…座標(Xh,Yh)と座標(Xc,Yc)
したがって、プロセッサ41は、図9において線分381として示すように、第1の中間点371のキーポイントとなる座標(Xe,Ye)と第1の隅361のキーポイントとなる座標(Xa,Ya)を連結する。またプロセッサ41は、図9において線分382に示すように、第1の中間点371のキーポイントとなる座標(Xe,Ye)と第4の隅364のキーポイントとなる座標(Xd,Yd)を連結する。
【0067】
同様に、プロセッサ41は、図9において線分383として示すように、第2の中間点372のキーポイントとなる座標(Xf,Yf)と第2の隅362のキーポイントとなる座標(Xb,Yb)を連結する。またプロセッサ41は、図9において線分384に示すように、第2の中間点372のキーポイントとなる座標(Xf,Yf)と第1の隅361のキーポイントとなる座標(Xa,Ya)を連結する。
【0068】
プロセッサ41は、図9において線分385として示すように、第3の中間点373のキーポイントとなる座標(Xg,Yg)と第3の隅363のキーポイントとなる座標(Xc,Yc)を連結する。またプロセッサ41は、図9において線分386に示すように、第3の中間点373のキーポイントとなる座標(Xg,Yg)と第2の隅362のキーポイントとなる座標(Xb,Yb)を連結する。
【0069】
プロセッサ41は、図9において線分387として示すように、第4の中間点374のキーポイントとなる座標(Xh,Yh)と第4の隅364のキーポイントとなる座標(Xd,Yd)を連結する。またプロセッサ41は、図9において線分388に示すように、第4の中間点374のキーポイントとなる座標(Xh,Yh)と第3の隅363のキーポイントとなる座標(Xc,Yc)を連結する。かくして、図9に示すように、8本の線分381,382,383,384,385,386,387,388によって、買物籠30における開口部35の領域が特定される。
【0070】
キーポイントとなる座標の連結を終えると、プロセッサ41は、ACT33へと進む。プロセッサ41は、ACT33として物体を特定し得たか否かを判定する。認識対象の物体である買物籠30は、カメラ画像からその開口部35を認識し得ることによって特定することができる。上述したように、開口部35の領域が特定されると、プロセッサ41は、物体を特定し得たと判定する。開口部35の領域が特定できなかった場合には、プロセッサ41は、物体を特定し得なかったと判定する。
【0071】
物体を特定し得た場合、プロセッサ41は、ACT33からACT34へと進む。プロセッサ41は、ACT34として認識成功を示す情報を記憶する。例えばプロセッサ41は、RAM44に記憶される1ビットデータの判定フラグを“1”とする。これに対し、物体を特定し得なかった場合には、プロセッサ41は、ACT33からACT35へと進む。プロセッサ41は、ACT35として認識失敗を示す情報を記憶する。例えばプロセッサ41は、上述した判定フラグを“0”とする。
【0072】
ACT34又はACT35の処理を終えると、プロセッサ41は、物体認識処理を抜ける。図4の説明に戻る。
物体認識処理を抜けたプロセッサ41は、ACT11へと進む。プロセッサ41は、ACT11として物体の認識に成功したか否かを確認する。判定フラグが“1”の場合、プロセッサ41は、物体の認識に成功したと判定する。判定フラグが“0の場合、プロセッサ41は、物体の認識に失敗したと判定する。
【0073】
物体の認識に成功した場合、プロセッサ41は、ACT11からACT12へと進む。プロセッサ41は、ACT12として認識結果を出力する。すなわちプロセッサ41は、監視装置に対して籠受台102に買物籠30が置かれたことを通知する。あるいはプロセッサ41は、籠受台102に買物籠30が置かれたことを表示デバイス52に表示する。
【0074】
一方、物体の認識に失敗した場合には、プロセッサ41は、ACT11からACT13へと進む。すなわち、カメラ画像から籠受台102に置かれた買物籠30の開口部35を構成する4つの隅361,362,363,364を検出し得たが、開口部35の領域を特定できなかった場合、プロセッサ41は、ACT13へと進む。プロセッサ41は、ACT13として次のカメラ画像を取り込んでいるか否かを確認する。次のカメラ画像を取り込んでいる場合、プロセッサ41は、ACT13からACT1へと戻る。プロセッサ41は、ACT1以降の処理を前述したのと同様に実行する。
【0075】
ACT13において次のカメラ画像が取り込まれていなかった場合には、プロセッサ41は、ACT13からACT14へと進む。プロセッサ41は、ACT14として認識失敗を出力する。すなわちプロセッサ41は、監視装置に対して買物籠30の認識に失敗したことを通知する。あるいはプロセッサ41は、買物籠30の認識に失敗したことを表示デバイス52に表示する。
【0076】
以上で、図4の流れ図に示した情報処理の説明を終了する。
ここに、プロセッサ41は、図4のACT1乃至ACT3の処理により、取得手段411としての機能を実現する。プロセッサ41は、図4のACT4乃至ACT6の処理により、特定手段412としての機能を実現する。プロセッサ41は、図4のACT7乃至ACT8の処理により、演算手段413としての機能を実現する。プロセッサ41は、図4のACT9及び図5のACT21乃至ACT29の処理により、選択手段414としての機能を実現する。プロセッサ41は、図5のACT30乃至ACT33の処理により、認識手段415としての機能を実現する。プロセッサ41は、図4のACT12乃至ACT14の処理により、出力手段416としての機能を実現する。
【0077】
以上詳述したように、本実施形態によれば、1つのキーポイントから関連性のある他のキーポイントへの接続関係を複数割り当て可能な画像処理装置40を提供することができる。このような画像処理装置40により、セルフPOS端末10の籠受台102に置かれた買物籠30の開口部35を検知することができる。
【0078】
以上、一実施形態について説明したが、かかる実施形態はこれに限定されるものではない。
【0079】
例えば前記実施形態では、略口状の開口部35を検知することで、籠受台102に置かれた買物籠30を認識する場合を例示したが、認識対象の物体はこれに限定されるものではない。形状の異なる開口部を有する収容体を認識対象の物体とすることも可能である。要は、1つのキーポイントから関連性のある他のキーポイントへの接続関係を2以上割り当てることで認識可能な物体の認識に適用することができる。
【0080】
前記実施形態では、ACT9において、第1乃至第4の中間点371,372,373,374を行とし、第1乃至第4の隅361,362,363,364を列とし、関連する評価値Aijを行列の成分とする行列50を作成した。この点に関しては、第1乃至第4の隅361,362,363,364を行とし、第1乃至第4の中間点371,372,373,374を列とする行列を作成してもよい。
【0081】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態及びその変形は、発明の範囲に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0082】
10…セルフPOS端末、20…カメラ、30…買物籠、35…開口部、40…画像処理装置、41…プロセッサ、42…GPU、43…ROM、44…RAM、45…補助記憶デバイス、46…カメラインターフェース、47…デバイスインターフェース、48…通信インターフェース、49…システム伝送路、51…入力デバイス、52…表示デバイス、361~364…第1乃至第4の隅、371~374…第1乃至第4の中間点。
図1
図2
図3
図4
図5
図6
図7
図8
図9