(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】画像処理装置、画像処理方法、及び画像処理プログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20241009BHJP
G06T 7/00 20170101ALI20241009BHJP
G06T 1/00 20060101ALI20241009BHJP
G06T 1/40 20060101ALI20241009BHJP
【FI】
G06T7/20 300
G06T7/00 350C
G06T1/00 340B
G06T1/40
(21)【出願番号】P 2020194558
(22)【出願日】2020-11-24
【審査請求日】2023-08-04
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】山本 琢麿
【審査官】山田 辰美
(56)【参考文献】
【文献】国際公開第2018/163555(WO,A1)
【文献】特開2005-202653(JP,A)
【文献】国際公開第2020/107510(WO,A1)
【文献】特表2012-532366(JP,A)
【文献】特開2020-086913(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06T 1/00
G06T 1/40
(57)【特許請求の範囲】
【請求項1】
画像データに映る第1人物を
含む第1のBBOXを抽出する抽出部と、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記第1人物の姿勢に関する姿勢情報を取得する姿勢情報取得部と、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記画像データの特徴に関する特徴情報を取得する特徴情報取得部と、
前記姿勢情報と前記特徴情報
とを融合させた融合データに基づき
、前記第1人物の行っている動作の対象となる第1物品
を含む第2のBBOXと
、前記第1物品及び前記第1人物との関係を特定する特定部と、
前記ニューラルネットワークの推定結果として、前記第1のBBOXと、前記第2のBBOXと、前記第1物品及び前記第1人物との関係と、をそれぞれ対応づけたインタラクションを生成する生成部と、を有する
画像処理装置。
【請求項2】
前記特定部は、前記第1物品と前記第1人物の関係の特定において、前記第1物品が前記第1人物に実際に接しているか否かを特定する
請求項1記載の画像処理装置。
【請求項3】
前記姿勢情報は、前記第1人物の指の位置に関する情報を含む
請求項1記載の画像処理装置。
【請求項4】
前記姿勢情報は、前記第1人物の首の角度に関する情報を含む
請求項1記載の画像処理装置。
【請求項5】
前記姿勢情報は、前記第1人物の肘の角度に関する情報を含む
請求項1記載の画像処理装置。
【請求項6】
前記姿勢情報は、前記第1人物の視線の方向に関する情報を含む
請求項1記載の画像処理装置。
【請求項7】
前記
ニューラルネットワークにおける中間出力は
、所定以上の階層における中間出力である
請求項
1記載の画像処理装置。
【請求項8】
前記画像データは、動画又は静止画データを含む
請求項1記載の画像処理装置。
【請求項9】
前記第1物品は、前記第1人物と接触する物品である
請求項1記載の画像処理装置。
【請求項10】
前記第1物品は、前記第1人物が手に持っている物品である
請求項1記載の画像処理装置。
【請求項11】
画像データに映る第1人物を
含む第1のBBOXを抽出し、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記第1人物の姿勢に関する姿勢情報を取得し、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記画像データの特徴に関する特徴情報を取得し、
前記姿勢情報と前記特徴情報
とを融合させた融合データに基づき
、前記第1人物の行っている動作の対象となる第1物品
を含む第2のBBOXと
、前記第1物品及び前記第1人物との関係を特定
し、
前記ニューラルネットワークの推定結果として、前記第1のBBOXと、前記第2のBBOXと、前記第1物品及び前記第1人物との関係と、をそれぞれ対応づけたインタラクションを生成する
画像処理方法。
【請求項12】
画像データに映る第1人物を
含む第1のBBOXを抽出する抽出処理と、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記第1人物の姿勢に関する姿勢情報を取得する姿勢情報取得処理と、
前記画像データをニューラルネットワークに入力したときに、前記画像データが入力されたニューラルネットワークの中間出力として、前記画像データの特徴に関する特徴情報を取得する特徴情報取得処理と、
前記姿勢情報と前記特徴情報
とを融合させた融合データに基づき
、前記第1人物の行っている動作の対象となる第1物品
を含む第2のBBOXと
、前記第1物品及び前記第1人物との関係を特定する特定処理と
、
前記ニューラルネットワークの推定結果として、前記第1のBBOXと、前記第2のBBOXと、前記第1物品及び前記第1人物との関係と、をそれぞれ対応づけたインタラクションを生成する生成処理と、を
画像処理装置が有するコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【0002】
近年、人物の行動を分析する行動分析に対する需要が高まっている。行動分析は、例えば、撮影した静止画や動画などの画像を解析することで実行される。行動分析は、例えば、何かの道具を手に持って作業を行う作業者に対する作業認識や、店舗などにおいて商品を手に取る顧客の購買行動認識などに使用される。
【0003】
行動分析結果の用途によっては、対象人物が何をしているか(アクション)、及び対象人物が何を持っているか、又は何に対してアクションをしているかなど、人と物品との関係を示すインタラクションが重要となる場合がある。
【0004】
画像からインタラクションを検出するする技術は、以下に開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018‐206321号公報
【文献】米国特許出願公開第2019/0286892号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、画像から対象人物のインタラクションを検出する場合、物品と対象人物との関連が誤認識される場合がある。例えば、ある画像では、対象人物の手に重複するように、ある物品が映っている場合がある。この場合、当該物品が、対象人物が手に持っているものか、あるいは偶然に手の付近に映っている(手とカメラの間に存在する)ものなのかを、判断することが困難である。
【0007】
そこで、一開示は、画像処理において、対象人物と物品の関係の誤認識を抑制する画像処理装置、画像処理方法、及び画像処理プログラムを提供する。
【課題を解決するための手段】
【0008】
画像データに映る第1人物を抽出し、前記第1人物の姿勢に関する姿勢情報を取得する姿勢情報取得部と、前記画像データの特徴に関する特徴情報を取得する特徴情報取得部と、前記姿勢情報と前記特徴情報に基づき、前記第1人物の行っている動作、及び前記第1人物の行っている動作の対象となる第1物品と前記第1人物との関係を特定する特定部と、を有する。
【発明の効果】
【0009】
一開示は、画像処理において、対象人物と物品の関係の誤認識を抑制する画像処理装置、画像処理方法、及び画像処理プログラムを提供する。
【図面の簡単な説明】
【0010】
【
図1】
図1は、画像処理システム10の構成例を示す図である。
【
図2】
図2は、画像処理装置100の構成例を表す図である。
【
図3】
図3は、解析対象の画像及びインタラクション特定の結果の例を示す図である。
【
図4】
図4は、インタラクション特定処理S100の処理フローチャートの例を示す図である。
【
図5】
図5は、画像特徴の抽出の例を示す図である。
【
図6】
図6は、姿勢情報の抽出の例を示す図である。
【
図7】
図7は、画像特徴と姿勢情報の融合の例を示す図である。
【
図8】
図8は、インタラクション特定の例を示す図である。
【
図9】
図9は、インタラクション特定の例を示す図である。
【発明を実施するための形態】
【0011】
[第1の実施の形態]
第1の実施の形態について説明する。
【0012】
<画像処理システム10の構成例>
図1は、画像処理システム10の構成例を示す図である。画像処理システム10は、画像処理装置100、カメラ200、及びネットワーク300を有する。画像処理システム10は、カメラ200で撮影した画像(動画及び静止画)の画像データを解析し、対象となる人物のインタラクションを検出するシステムである。なお、インタラクションとは、人物と物品との関係を示すものである。インタラクションは、例えば、「ある人物がペットボトルの飲み物を飲んでいる」「座っているある人物が腕時計を見ている」など、人物、人物の行動(動作)、人物の行動の対象となる物品との関係を示す。
【0013】
画像処理におけるインタラクションの検出は、画像に映る対象人物、対象人物の動作(アクション)、及び対象人物と関連する物品(あるいは動作の対象となる物品)を特定(推定)することである。対象人物及び物品の特定は、例えば、対象人物や物品を囲む四角形のバウンディングボックスの頂点4点の座標を決定することである。また、対象人物の動作の特定は、例えば、「持っている」、「食べている」、「飲んでいる」、「乗っている」などの人物の動作を決定することである。
【0014】
なお、行動の対象となる物品は、当該人物が身に着けていたり、持っていたりする物品など、当該人物に接触する物品である。また、行動の対象となる物品は、当該人物が投げた物品や、接触せずに見ている物品など、非接触の物品も含む。
【0015】
カメラ200は、対象人物を撮影する撮影装置である。カメラ200は、例えば、目的に応じて、適切な場所に設置される。例えば、カメラ200は、購買行動認識が目的である場合、店舗の商品棚周辺を映すように設置される。カメラ200は、ネットワーク300を介して画像処理装置100と接続し、撮影した画像データを画像処理装置100に送信する。カメラ200は、例えば、画像として動画や静止画を撮影する。また、カメラ200は、例えば、画像処理装置100の要求に応じて、画像を撮影する。
【0016】
対象人物400は、インタラクションの特定の対象となる人物である。対象人物は、例えば、購買行動認識における、店舗に来店した顧客である。
【0017】
画像処理装置100は、カメラ200から取得した画像データを解析し、画像データに映る対象人物400のインタラクションを特定する、例えば、コンピュータやサーバマシンである。
【0018】
ネットワーク300は、例えば、インターネットである。また、ネットワークは、ローカルネットワークや、無線で構成されたネットワークであってもよい。
【0019】
<画像処理装置100の構成例>
図2は、画像処理装置100の構成例を表す図である。画像処理装置100は、CPU(Central Processing Unit)110、ストレージ120、メモリ130、通信回路140、及びアクセラレータ150を有する。
【0020】
ストレージ120は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ120は、インタラクション特定プログラム121、物体検出用AI実行プログラム122、及び姿勢推定用AI実行プログラム123を記憶する。
【0021】
メモリ130は、ストレージ120に記憶されているプログラムをロードする領域である。また、メモリ130は、プログラムがデータを記憶する領域としても使用されてもよい。
【0022】
CPU110は、ストレージ120に記憶されているプログラムを、メモリ130にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0023】
通信回路140は、ネットワーク300を介して、カメラ200と通信を行う回路である。通信回路140は、例えば、NIC(Network Interface Card)である。また、通信回路140は、無線及び有線のいずれでネットワーク300と接続されてもよい。
【0024】
アクセラレータ150は、例えば、CPU110の命令に従い特定の処理を行う、GPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)である。アクセラレータ150は、ハードウェアアクセラレータであり、例えば、画像処理や演算処理などを行う。
【0025】
CPU110は、インタラクション特定プログラム121を実行することで、姿勢情報取得部、特徴情報取得部、及び特定部を構築し、インタラクション特定処理を行う。インタラクション特定処理は、取得した画像データから、人物を検出し、当該人物のインタラクションを特定(推定)する処理である。画像処理装置100は、例えば定期的、又は画像処理装置100の管理者の要求に応じて、インタラクション特定処理を行う。
【0026】
CPU110は、インタラクション特定プログラム121が有する画像特徴取得モジュール1211を実行することで、特徴情報取得部を構築し、画像特徴取得処理を行う。画像特徴取得処理は、画像データの特徴(人物、物品の形状、色などを含む)を含む画像特徴(特徴情報)を取得する処理である。画像特徴は、例えば、画像データ全体の特徴を含む。また、画像特徴は、例えば、画像データに映る個別の人物、個別の物品、背景などを含む。画像処理装置100は、画像特徴取得処理において、例えば、物体検出用AI(Artificial Intelligence)を使用し、中間出力を画像特徴として取得する。
【0027】
CPU110は、インタラクション特定プログラム121が有する姿勢情報取得モジュール1212を実行することで、姿勢情報取得部を構築し、姿勢情報取得処理を行う。姿勢情報取得処理は、画像データの人物の姿勢に関する情報(歩いている、座っている、何かを持っているなどの動作による姿勢、また、骨格や肘肩などの位置情報を含む)などを含む姿勢情報を取得する処理である。画像処理装置100は、姿勢情報取得処理において、例えば、姿勢推定用AIを使用し、中間出力を画像特徴として取得する。
【0028】
CPU110は、インタラクション特定プログラム121が有するインタラクション決定モジュール1213を実行することで、特定部を構築し、インタラクション決定処理を行う。インタラクション決定処理は、姿勢情報及び画像特徴を用いて、対象人物のインタラクションを決定(特定)する処理である。
【0029】
CPU110は、物体検出用AI実行プログラム122を実行することで、AI実行部を構築し、物体検出用AI実行処理を行う。物体検出用AI実行処理は、物体検出用AIに画像データを入力し、物体検出用AIの中間出力を取得する処理である。
【0030】
CPU110は、姿勢推定用AI実行プログラム123を実行することで、AI実行部を構築し、姿勢推定用AI実行処理を行う。姿勢推定用AI実行処理は、姿勢推定用AIに画像データを入力し、姿勢推定用AIの中間出力を取得する処理である。 なお、画像処理装置100は、物体検出用AI及び姿勢推定用AIを、自装置内のメモリやストレージに有してもよい。また、画像処理装置100は、自装置以外の装置において実行された物体検出用AI及び姿勢推定用AIの中間出力を取得してもよい。また、物体検出用AI及び姿勢推定用AIは、画像特徴及び姿勢情報を出力できればよく、画像特徴及び姿勢情報を最終出力とするAIであってもよい。
【0031】
<インタラクション特定処理について>
画像処理装置100は、取得した画像を解析し、インタラクション特定処理を行う(S100)。
【0032】
図3は、解析対象の画像及びインタラクション特定の結果の例を示す図である。画像処理装置100は、画像V1をカメラ200から取得する。そして、画像処理装置100は、インタラクション特定処理S100において、対象人物のBBOX1、及び物品のBBOX2を決定する。そして、画像処理装置100は、「BBOX1の対象人物が、BBOX2の物品を手に持って、見ている」というインタラクションを特定する。
【0033】
図4は、インタラクション特定処理S100の処理フローチャートの例を示す図である。画像処理装置100は、画像から画像特徴を抽出(取得)する(S100-1)。
【0034】
図5は、画像特徴の抽出の例を示す図である。
図5に示す丸印や矢印は、物体検出用AIのニューラルネットワーク(NN:Neural Network)におけるニューロンや重みの例を示す図である。物体検出用AIは、例えば、所定の物体の位置と種別を特定するAIである。なお、
図5は全結合層型のニューラルネットワークであるが、畳み込みニューラルネットワークであってもよい。なお、画像処理装置100は、学習済みの物体検出用AIを使用する。
【0035】
図5のNNは、入力された画像データを、入力層で初期解析(分類)し、中間層でさらに高度に解析し、出力層において物体を決定する。例えば、動物の種類(犬、猫、その他、など)を検出するAIは、出力層において、「猫」「犬」などの動物の種類を出力する。NNにおいては、白抜き矢印に示す方向に解析が進むほど、抽象度の高い、高レベルな特徴が抽出される。すなわち、特徴のレベルが高いほど、画像解析が進んでおり、物体を正確に検出できる可能性が高くなる。
【0036】
画像処理装置100は、例えば、
図5に示すような物体検出用AIの中間出力を、画像特徴として取得(抽出)する。画像特徴として取得される中間出力は、高レベルであることが好ましい。すなわち、画像処理装置100は、中間層における上位の階層(所定以上の階層)における中間出力を取得する。
【0037】
ただし、画像処理装置100は、画像特徴として、出力層における出力結果を取得しなくてもよい。多くのAIの出力層は、上述したように、物品を特定の種別レベルにまで分類する。この場合の出力層の出力は、画像を学習していない対象物、あるいは出力を目的としていない物品は、検出されない。そこで、画像処理装置100は、中間出力を画像特徴として取得することで、ある程度まで解析(分類)された物品の特徴を取り出すことが可能となる。例えば、上述したような動物の種類を分類するAIにおいては、出力層では動物以外の物品は「その他」と判定される場合がある。しかし、中間層では、例えば、色、形、模様などの解析途中における物品の特徴が出力される。これにより、画像処理装置100は、物品の名称や種別を特定することができない場合でも、色や形などの中間出力による分類が可能となる。
【0038】
また、画像特徴を抽出するAIは、上述した物体検出用AIのNN(第1NN)の一部又は全部の重みを用いて再構成されたNN(第2NN)を有する、画像特徴抽出用の専用AIであってもよい。このとき、第2NNは、後述の学習処理によってその重みを更新したものであってもよい。
【0039】
図4の処理フローチャートに戻り、画像処理装置100は、画像から人物を抽出する(S100-2)。ここで抽出する人物が対象人物となる。画像処理装置100は、人物が複数存在する場合、人物それぞれに対して以降の処理S100-3~5を実行する。
【0040】
画像処理装置100は、抽出した人物の姿勢情報を抽出(取得)する(S100-3)。
【0041】
図6は、姿勢情報の抽出の例を示す図である。画像処理装置100は、例えば、姿勢推定用AIを使用し、姿勢情報を抽出する。姿勢情報は、対象人物の姿勢に関する情報であり、例えば、対象人物の姿勢、対象人物の関節位置、手や指の形など、対象人物のアクションを特定(推定)に使用される情報である。
【0042】
姿勢推定用AIは、例えば、人物の骨格情報を検出するAIである。
図6における骨格情報IMF3は、例えば、肩や肘などの関節の位置、頭の頂点や首などのポイントなる位置、及びそれぞれの位置の接続関係などの情報を含む。
【0043】
姿勢推定用AIは、画像データを解析し、対象人物の骨格情報IMF3を出力する(S1)。画像処理装置100は、姿勢推定用AIの中間出力(S2、S3)を、姿勢情報として取得する。画像処理装置100は、姿勢推定用AIの中間出力である、対象人物の特徴がマッピングされた特徴マップ情報IMF1、又は対象人物の関節位置やポイント位置を示すヒートマップ情報IMF2を取得する。また、画像処理装置100は、姿勢情報として、骨格情報IMF3を取得してもよい。
【0044】
なお、画像処理装置100は、学習済みの姿勢推定用AIを使用する。
【0045】
図4の処理フローチャートに戻り、画像処理装置100は、画像特徴と姿勢情報を融合する(S100-4)。
【0046】
図7は、画像特徴と姿勢情報の融合の例を示す図である。
図7において、画像特徴はC1×H×Wのテンソル、姿勢情報はC1×H×Wのテンソルで示す。
【0047】
図7(A)は、第1の融合方法の例を示す図である。画像処理装置100は、画像特徴D1と姿勢情報D2をチャネル方向(C1、C2方向)に結合し(S10)、融合データD3を取得する。
【0048】
図7(B)は、第2の融合方法の例を示す図である。画像処理装置100は、画像特徴D1に畳み込み処理(Conv:Convolution)を行い(S11)、データD11を取得する。また、画像処理装置100は、姿勢情報D2に畳み込み処理を行い(S12)、データD21を取得する。そして、画像処理装置100は、データ11とデータ21をチャネル方向に結合し(S13)、融合データD4を取得する。
【0049】
図7(C)は、第3の融合方法の例を示す図である。画像処理装置100は、第1の融合方法で取得した融合データD3に対して、畳み込み処理を行い(S14)、融合データD5を取得する。
【0050】
処理S11、処理S12および処理S14の畳み込み処理において使用する畳み込みフィルタのフィルタ係数は、例えば、後述する学習処理によって得られたものを用いる。
【0051】
図4の処理フローチャートに戻り、画像処理装置100は、融合情報に基づき、抽出した人物(対象人物)のインタラクションを推定(特定)する(S100-5)。具体的には、融合データを入力として、動作の対象である物品を囲む四角形(バウンディングボックス)の座標および動作の種類を出力する畳み込みニューラルネットワークを用いる。この畳み込みニューラルネットワークの構造としては、一般的な物体検出用のものを用いることができ、例えば、次の文献に示すようなネットワーク構造が使える。
・YOLO: Redmon, Joseph, and Ali Farhadi. "Yolov3: An incremental improvement." arXiv preprint arXiv:1804.02767 (2018).
・CenterNet: Zhou, Xingyi, Dequan Wang, and Philipp Krahenbuhl. "Objects as points." arXiv preprint arXiv:1904.07850 (2019).
畳み込みニューラルネットワークの重みは、例えば、後述する学習によって得られたものを用いる。
【0052】
<学習処理について>
第2NNの重み、処理S11、処理S12および処理S14の畳み込み処理におけるフィルタ係数、およびインタラクションの推定を行う畳み込みニューラルネットワークの重みは、予め行う学習処理によって得られる。学習には、推定対象の動作をしている人物および物品が写った様々な画像(学習画像)を用いる。例えば、「持っている」という動作を学習の対象とする場合、様々な状況で多様な物体を人が「持っている」様子の画像を用いる。学習画像には、予め人手により動作の対象である物品、人物のバウンディングボックスおよび、動作の種類を教師データとして付与しておく。この学習画像および教師データは、例えば、メモリ、ハードディスク、データベースもしくはネットワーク上のストレージ等に予め格納されているものを読み出して用いる。また、学習画像については、画像の回転やスケーリングなどの幾何学的変換やノイズを付加するなど、擬似的にデータの多様性を増やす処理(Data augumentation)を行ってもよい。
【0053】
学習処理はニューラルネットワークの学習として一般的に用いられる誤差逆伝搬法を用いることができる。具体的にはニューラルネットワークの出力と教師データとの誤差を算出し、この誤差から勾配を計算する。さらに、勾配から更新量を算出してニューラルネットワークの重みやフィルタ係数を更新する。以上の処理を全ての学習画像に対して繰り返し行う。第2NNの初期値には、学習済みの物体検出用AIのものを用いることができる。また、処理S11、処理S12および処理S14の畳み込み処理におけるフィルタ係数には乱数を用いることができる。
【0054】
<インタラクション特定の例>
図8は、インタラクション特定の例を示す図である。画像処理装置100は、インタラクション特定処理S100において、画像V1から人物を抽出し(S100-2)、BBOX1を決定する。画像処理装置100は、当該人物の姿勢情報IMF4(ここでは骨格情報)を取得する(S100-3)。
【0055】
画像処理装置100は、対象人物に接する(重複して映る)物品としてBBOX2内の物品を検出する。しかし、画像処理装置100は、物体検出用AIの学習度合いや学習内容によっては、当該物品がタブレット端末とまでは確定できない場合がある。この場合でも、画像処理装置100は、姿勢情報から、例えば、首の傾斜角度、目線の方向、肘の曲がっている角度、又当該物品に対する指の位置などを取得し、これらの情報をもとに、当該物品が対象人物に所持されている(接している)と推定(特定)する(S100-5)。
【0056】
画像V1においては、対象人物の視線が当該物品の方向に向いており、対象人物の指が当該物品の下部を支える位置にあり、当該物品の位置が対象人物の目線の高さにあるため、画像処理装置100は、「BBOX1の人物は、BBOX2の物品を所持し、見ている」というインタラクションを特定する。
【0057】
図9は、インタラクション特定の例を示す図である。画像処理装置100は、インタラクション特定処理S100において、画像V2から人物を抽出し(S100-2)、BBOX11を決定する。画像処理装置100は、当該人物の姿勢情報IMF5(ここでは骨格情報)を取得する(S100-3)。
【0058】
画像処理装置100は、対象人物に接する(重複して映る)物品としてBBOX12内の物品を検出する。しかし、画像処理装置100は、物体検出用AIの学習度合いや学習内容によっては、当該物品が缶入り飲料とまでは確定できない場合がある。この場合でも、画像処理装置100は、姿勢情報から、例えば、首の傾斜角度、目線の方向(方向A1)、肘の曲がっている角度、又当該物品に対する指の位置などを取得し、これらの情報をもとに、当該物品が対象人物に所持されていると推定(特定)する(S100-5)。
【0059】
画像V2においては、対象人物の視線が当該物品の方向に向いており、対象人物の指が当該物品を掴む位置にあり、当該物品の傾きが対象人物の腕の角度と近似し、対象人物の指が視線と当該物品の間を遮らない位置にあるため、画像処理装置100は、「BBOX11の人物は、BBOX12の物品を所持し、見ている」というインタラクションを特定する。
【0060】
なお、例えば、BBOX12の物品は、画像V2の撮影場所から推定することができる場合がある。購買行動認識用に撮影された画像は、所定の商品棚において撮影される。画像処理装置100は、画像V2が動画である場合、人物が商品を手に取るタイミングからインタラクションを推定することができるため、棚の位置や物品の形や色から、当該物品の種別や商品名などを推定することができる。
【0061】
なお、V2には、例えば、人物の背後にテレビ画面のような物品(対象外物品)A2が映っている。この対象外物品A2は、対象人物に接しているように見える。画像処理装置100は、対象外物品A2が、例えばテレビであると認識できる場合、当該対象外物品A2と対象人物の物理的接点がないことを判定できる。しかし、画像処理装置100は、対象外物品A2をテレビと認識できない場合でも、人物の姿勢情報に基づき、当該対象外物品A2を、人物が所持していないこと、及び見ていないことを推定することができる。すなわち、画像処理装置100は、なんらかの物品(例えばテレビ画面)を人物が所持していると誤って判定することを防止することができる。
【0062】
また、画像処理装置100は、例えば、ハンバーガーなどの複数の物品の結合体を対象物品として認識することができる。例えば、物品を認識するAIは、結合体(複合体)を1つの物品として認識することが困難な場合がある。
【0063】
一方、画像処理装置100は、例えば、ハンバーガーを齧ろうとしている人物の画像を、以下のように解析し、インタラクションを特定する。画像処理装置100は、対象人物を抽出し、当該人物の手付近で接する何らかの物品(ハンバーガー)を抽出する。そして、画像処理装置100は、対象人物の姿勢情報、例えば、指が物品を支えているように見える、口が開いている、肘の曲がり角度、動画において手及び物品が口方向に移動しているなどの情報から、当該物品が一つの物品であることを認識できる。すなわち、画像処理装置100は、姿勢情報に基づき物品を特定することで、ハンバーガーなどの結合体を一つの物品として認識することができ、パン、レタス、ハンバーグなどの構成物それぞれを個別の複数物品として認識することを抑制できる。
【0064】
本実施の形態における画像処理装置100は、人物の姿勢を考慮することで、人物と接して映る物品が、実際に人物と接している(持っている、身に着けているなど)のか、もしくは、偶発的に人物とカメラの間に存在したのかを、高確率で判定することができる。
【0065】
また、本実施の形態における画像処理装置100は、例えば、既存のAIの中間出力を利用して、画像特徴や姿勢情報を取得することができる。例えば、購買行動認識において、全ての商品を常に学習済みとするAIを準備することは、困難である。しかし、本実施の形態の画像処理装置100は、商品の全てを学習するより少ない学習量のAIを用いて、姿勢情報と組み合わせることで、顧客の手に取る商品を特定することができる。すなわち、物品だけを単独で認識することができない場合でも、姿勢情報と組み合わせることで、当該物品が何であるかを認識できる場合がある。
【0066】
なお、姿勢情報は、例えば、中間出力である場合、人物の姿勢そのものを示さない場合がある。姿勢情報は、中間出力である場合、「首を傾けている」などの具体的な情報ではなく、抽象的な情報であり、例えば、テンソル情報である。同様に、画像特徴は、中間出力である場合、抽象的な情報であり、テンソル情報である。画像処理装置100は、抽象的なテンソル情報を融合し、判定することで、人物の姿勢及び物品の属性(形、色など)の両方を考慮したインタラクションの特定を行うことができる。
【0067】
上記実施例において、姿勢情報として、「物品を所持し」「口を開けている」などの具体的な表現を用いて、インタラクションの特定の方法を説明している。しかし、この表現は、姿勢から物品を特定する一例であって、画像処理装置100は、ここまで具体的に人物の姿勢を特定せずに、AIの中間出力である抽象的な情報(姿勢情報及び画像特徴)を融合した融合情報を用いてインタラクションを判定することで、インタラクション特定精度を向上させることができる。
【0068】
以下、まとめると付記のようになる。
【0069】
(付記1)
画像データに映る第1人物を抽出し、前記第1人物の姿勢に関する姿勢情報を取得する姿勢情報取得部と、
前記画像データの特徴に関する特徴情報を取得する特徴情報取得部と、
前記姿勢情報と前記特徴情報に基づき、前記第1人物の行っている動作、及び前記第1人物の行っている動作の対象となる第1物品と前記第1人物との関係を特定する特定部と、を有する
画像処理装置。
【0070】
(付記2)
前記姿勢情報は、入力した画像データに映る人物の骨格又は関節の位置を推定する、学習済みの姿勢推定用AIの中間出力を含む
付記1記載の画像処理装置。
【0071】
(付記3)
前記特徴情報は、入力した画像データに映る所定物品の種別を推定する、学習済みの物体検出用AIの中間出力を含む
付記1又は2記載の画像処理装置。
【0072】
(付記4)
前記特徴情報は、入力した画像データに映る所定物品の種別を推定する物体検出用AIの有する第1ニューラルネットワークの重みを用いて構成した第2ニューラルネットワークを有する、学習済みの特徴情報用AIの出力を含む
付記1又は2記載の画像処理装置。
【0073】
(付記5)
前記特定部は、前記第1物品と前記第1人物の関係の特定において、前記第1物品が前記第1人物に実際に接しているか否かを特定する
付記1記載の画像処理装置。
【0074】
(付記6)
前記特定部は、前記姿勢情報と前記特徴情報とを融合した融合情報を生成し、前記融合情報に基づき特定する
付記1記載の画像処理装置。
【0075】
(付記7)
前記特定部は、前記融合情報の生成において、畳み込み処理を行う
付記6記載の画像処理装置。
【0076】
(付記8)
前記姿勢情報は、前記第1人物の指の位置に関する情報を含む
付記1記載の画像処理装置。
【0077】
(付記9)
前記姿勢情報は、前記第1人物の首の角度に関する情報を含む
付記1記載の画像処理装置。
【0078】
(付記10)
前記姿勢情報は、前記第1人物の肘の角度に関する情報を含む
付記1記載の画像処理装置。
【0079】
(付記11)
前記姿勢情報は、前記第1人物の視線の方向に関する情報を含む
付記1記載の画像処理装置。
【0080】
(付記12)
前記物体検出用AIにおける中間出力は、ニューラルネットワークの所定以上の階層における中間出力である
付記3記載の画像処理装置。
【0081】
(付記13)
前記画像データは、動画又は静止画データを含む
付記1記載の画像処理装置。
【0082】
(付記14)
前記第1物品は、前記第1人物と接触する物品である
付記1記載の画像処理装置。
【0083】
(付記15)
前記第1物品は、前記第1人物が手に持っている物品である
付記1記載の画像処理装置。
【0084】
(付記16)
画像データに映る第1人物を抽出し、前記第1人物の姿勢に関する姿勢情報を取得し、
前記画像データの特徴に関する特徴情報を取得し、
前記姿勢情報と前記特徴情報に基づき、前記第1人物の行っている動作、及び前記第1人物の行っている動作の対象となる第1物品と前記第1人物との関係を特定する
画像処理方法。
【0085】
(付記17)
画像データに映る第1人物を抽出し、前記第1人物の姿勢に関する姿勢情報を取得する姿勢情報取得処理と、
前記画像データの特徴に関する特徴情報を取得する特徴情報取得処理と、
前記姿勢情報と前記特徴情報に基づき、前記第1人物の行っている動作、及び前記第1人物の行っている動作の対象となる第1物品と前記第1人物との関係を特定する特定処理とを、
画像処理装置が有するコンピュータに実行させる画像処理プログラム。
【符号の説明】
【0086】
10 :画像処理システム
100 :画像処理装置
110 :CPU
120 :ストレージ
121 :インタラクション特定プログラム
1211 :画像特徴取得モジュール
1212 :姿勢情報取得モジュール
1213 :インタラクション決定モジュール
122 :物体検出用AI実行プログラム
123 :姿勢推定用AI実行プログラム
130 :メモリ
140 :通信回路
150 :アクセラレータ
200 :カメラ
300 :ネットワーク
400 :対象人物