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

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

▶ 日本電気株式会社の特許一覧

特表2024-546342行動位置特定装置、制御方法およびプログラム
<>
  • 特表-行動位置特定装置、制御方法およびプログラム 図1
  • 特表-行動位置特定装置、制御方法およびプログラム 図2
  • 特表-行動位置特定装置、制御方法およびプログラム 図3
  • 特表-行動位置特定装置、制御方法およびプログラム 図4
  • 特表-行動位置特定装置、制御方法およびプログラム 図5
  • 特表-行動位置特定装置、制御方法およびプログラム 図6
  • 特表-行動位置特定装置、制御方法およびプログラム 図7
  • 特表-行動位置特定装置、制御方法およびプログラム 図8
  • 特表-行動位置特定装置、制御方法およびプログラム 図9
  • 特表-行動位置特定装置、制御方法およびプログラム 図10
  • 特表-行動位置特定装置、制御方法およびプログラム 図11
  • 特表-行動位置特定装置、制御方法およびプログラム 図12
  • 特表-行動位置特定装置、制御方法およびプログラム 図13
  • 特表-行動位置特定装置、制御方法およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-19
(54)【発明の名称】行動位置特定装置、制御方法およびプログラム
(51)【国際特許分類】
   G06T 7/20 20170101AFI20241212BHJP
【FI】
G06T7/20 300Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024539387
(86)(22)【出願日】2022-01-06
(85)【翻訳文提出日】2024-06-27
(86)【国際出願番号】 JP2022000280
(87)【国際公開番号】W WO2023132040
(87)【国際公開日】2023-07-13
(81)【指定国・地域】
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】ステファン カレン
(72)【発明者】
【氏名】劉 健全
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA08
5L096BA18
5L096CA04
5L096DA01
5L096DA02
5L096EA13
5L096EA14
5L096EA35
5L096FA02
5L096FA64
5L096FA67
5L096FA69
5L096GA51
5L096GA59
5L096HA11
5L096JA11
5L096JA16
5L096JA22
5L096KA04
(57)【要約】
行動位置特定装置(2000)は、対象クリップ(10)を取得し、人物(40)を対象クリップ(10)から検出する。行動位置特定装置(2000)は、対象クリップ(10)から検出された人物(40)ごとに、人物クリップ(60)を対象クリップ(10)から生成し、特徴マップを人物クリップ(60)の各々から抽出する。行動位置特定装置(2000)は、人物クリップ(60)から抽出した特徴マップに基づいて、予め定義された行動クラスごとに、行動スコアを計算して、対象クリップ(10)に含まれるその行動クラスの行動の信頼度を示す行動スコアを計算し、人物クリップ(60)の各々に対してクラス活性化マッピングを行うことによって、行動クラスが閾値以上の行動スコアを有する各行動を位置特定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
行動位置特定装置であって、
命令を記憶するように構成された少なくとも1つのメモリと、
前記命令を実行して、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得し、
1人以上の人物を前記対象クリップから検出し、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成し、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出し、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算し、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定する、
ように構成される少なくとも1つのプロセッサと、を有する行動位置特定装置。
【請求項2】
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、請求項1に記載の行動位置特定装置。
【請求項3】
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、請求項1または2に記載の行動位置特定装置。
【請求項4】
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、請求項3に記載の行動位置特定装置。
【請求項5】
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、請求項3または4に記載の行動位置特定装置。
【請求項6】
少なくとも1つのプロセッサは、前記命令をさらに実行して、
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成し、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成し、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定する、ように構成され、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、請求項1から5のいずれか一項に記載の行動位置特定装置。
【請求項7】
コンピュータによって行われる制御方法であって、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、
1人以上の人物を前記対象クリップから検出するステップと、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を含み、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出するステップと、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を含み、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを含む、制御方法。
【請求項8】
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、請求項7に記載の制御方法。
【請求項9】
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、請求項7または8に記載の制御方法。
【請求項10】
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、請求項9に記載の制御方法。
【請求項11】
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、請求項9または10に記載の制御方法。
【請求項12】
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成するステップと、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成するステップと、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定するステップと、をさらに含み、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、請求項7から11のいずれか一項に記載の制御方法。
【請求項13】
プログラムが格納されている非一時的コンピュータ可読記憶媒体であって、前記プログラムはコンピュータに、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、
1人以上の人物を前記対象クリップから検出するステップと、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を実行させ、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出するステップと、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を実行させ、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項14】
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、請求項13に記載の記憶媒体。
【請求項15】
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、請求項13または14に記載の記憶媒体。
【請求項16】
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、請求項15に記載の記憶媒体。
【請求項17】
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、請求項15または16に記載の記憶媒体。
【請求項18】
前記プログラムが、前記コンピュータに、
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成するステップと、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成するステップと、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定するステップと、をさらに実行させ、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、請求項13から17のいずれか一項に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、ビデオに撮像された行動の位置特定に関する。
【背景技術】
【0002】
行動位置特定は、画像に撮像された行動を位置特定する、すなわち、画像のどの位置でどの行動がとられるかを決定するプロセスである。特許文献1は、小売業界における損失防止のために、ニューラルネットワークを使用してビデオ内の行動を検出するシステムを開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許公開第2021/0248377号明細書
【非特許文献】
【0004】
【非特許文献1】Junnan Li、Jianquan Liu、Yongkang Wong、Shoji Nishimura、Mohan Kankanhalli、「Weakly-Supervised Multi-Person Action Recognition in 360° Videos」、[online]、2020年2月9日、[2021年11月10日検索]、<arXiv,https://arxiv.org/pdf/2002.03266.pdf>から検索
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的は、ビデオに撮像された行動を位置特定するための新規な技術を提供することである。
【課題を解決するための手段】
【0006】
本開示は、命令を記憶するように構成された少なくとも1つのメモリと、少なくとも1つのプロセッサとを有する行動位置特定装置を提供する。前記プロセッサは、前記命令を実行して、1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得し、1人以上の人物を前記対象クリップから検出し、前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成し、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、特徴マップを各前記人物クリップから抽出し、前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算し、前記行動クラスは行動の種類であり、各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定する、ように構成される。
【0007】
本開示は、さらに、コンピュータによって実行される制御方法を提供する。当該制御方法は、1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、1人以上の人物を前記対象クリップから検出するステップと、前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を含み、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、特徴マップを各前記人物クリップから抽出するステップと、前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を含み、前記行動クラスは行動の種類であり、各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを含む。
【0008】
本開示は、さらに、プログラムが格納されている非一時的コンピュータ可読記憶媒体を提供する。前記プログラムはコンピュータに、1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、1人以上の人物を前記対象クリップから検出するステップと、前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を実行させ、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、特徴マップを各前記人物クリップから抽出するステップと、前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を実行させ、前記行動クラスは行動の種類であり、各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを実行させる。
【発明の効果】
【0009】
本開示によれば、ビデオに撮像された行動を位置特定するための新規な技術が提供される。
【図面の簡単な説明】
【0010】
図1】実施形態1の行動位置特定装置の概要を示す図である。
図2】人物クリップの例を示す図である。
図3】行動位置特定装置の機能構成の一例を示すブロック図である。
図4】行動位置特定装置のハードウェア構成の一例を示すブロック図である。
図5】行動位置特定装置によって行われる処理の例示的なフローを示すフローチャートである。
図6】特徴マップが、対象人物およびその周辺の領域の時空間的特徴を表す場合を示す図である。
図7】特徴マップに基づいて行動スコアを計算する方法の一例を示す図である。
図8】クラス活性化マップの一例を示す図である。
図9】位置特定部によって行われる処理の例示的なフローを示すフローチャートである。
図10】対象クリップが行動位置特定の結果を示すように変更される第1の例を示す図である。
図11】対象クリップが行動位置特定の結果を示すように変更される第2の例を示す図である。
図12】実施形態2の行動位置特定装置の概要を示す図である。
図13】実施形態2の行動位置特定装置の機能構成の一例を示すブロック図である。
図14】実施形態2の行動位置特定装置によって行われる処理のフローを示すフローチャートである。
【発明を実施するための形態】
【0011】
本開示による実施の形態について、図面を参照して以下に説明する。図面全体を通して同じ要素には同じ符号が割り当てられており、冗長な説明は必要に応じて省略される。また、所定の情報(例えば、所定の値または所定の閾値)は、特に断らない限り、その情報を使用するコンピュータがアクセス可能な記憶装置に予め記憶されている。
【0012】
実施形態1
<概要>
図1は、実施形態1の行動位置特定装置2000の概要を示す。なお、図1に示す概要は、行動位置特定装置2000を理解しやすくするために、行動位置特定装置2000の動作の一例を示したものであり、行動位置特定装置2000が取り得る動作の範囲を限定したり、狭めたりするものではない。
【0013】
行動位置特定装置2000は、ビデオ20の一部であり、ビデオフレーム22のシーケンスで形成される対象クリップ10を扱う。対象クリップ10内の各ビデオフレーム22は、「対象画像12」と呼ばれる。ビデオ20は、魚眼カメラ30によって生成されたビデオフレーム22のシーケンスである。
【0014】
魚眼カメラ30は魚眼レンズを含み、対象場所を上方からの視点で撮像するトップビュー型カメラとして設置される。したがって、各ビデオフレーム22(および各対象画像12)は、対象場所が上方からの視点で撮像された魚眼トップビュー画像である。
【0015】
対象場所は、任意の場所でありうる。例えば、魚眼カメラ30が監視カメラとして使用される場合、対象場所は、施設またはその周辺などの監視対象となる場所である。監視対象となる施設は、駅やスタジアムなどであってもよい。
【0016】
なお、魚眼カメラ30の視野は、水平方向に360度に実質的に近いことが好ましい場合がある。しかし、魚眼カメラ30の視野は、水平方向に正確に360度である必要はない。また、魚眼カメラ30は、その魚眼レンズの光軸が垂直方向と略平行となるように設置されてもよい。しかし、魚眼カメラの魚眼レンズの光軸は垂直軸線と正確に平行である必要はない。
【0017】
行動位置特定装置2000は、対象クリップ10から1人以上の人物40を検出し、検出した人物40がとった1つ以上の行動を検出し、検出した行動を位置特定する(すなわち、対象クリップ10のどの領域でどの種類の行動が起こったかを特定する)。「歩く」、「飲む」、「ジャケットを着る」、および「電話を操作する」など、様々な行動クラスが存在しうる。具体的には、行動位置特定装置2000は、以下のように動作しうる。
【0018】
行動位置特定装置2000は、対象クリップ10を取得し、対象クリップ10から1人以上の人物40を検出する。次いで、行動位置特定装置2000は、対象クリップ10から検出された人物40ごとに、人物クリップ60を生成する。以降、人物クリップ60に対応する人物を「対象人物」と呼ぶ。対象人物の人物クリップ60は、各々が対象人物を含み、対応する対象画像12から切り取られた人物画像62のシーケンスである。切取り位置(人物画像62が切り取られる対象画像12内の位置)および単一の人物クリップ60内の人物画像62の寸法は、互いに同じである。
【0019】
図2は、人物クリップ60の例を示す。この例では、対象クリップ10は、3人の人物40-1から40-3を含む。したがって、人物40-1から40-3に対して、人物クリップ60-1から60-3がそれぞれ生成される。
【0020】
行動位置特定装置2000は、各人物クリップ60から特徴マップを抽出する。特徴マップは、人物クリップ60の時空間的特徴を表す。そして、行動位置特定装置2000は、人物クリップ60から抽出した特徴マップに基づいて、予め定義された行動クラスごとに行動スコアを計算して、行動スコアベクトル50を生成する。行動クラスの行動スコアは、対象クリップ10に含まれている行動クラスの1つ以上の行動の信頼度(換言すれば、対象クリップ10内の1人以上の人物40が行動クラスの行動をとっているという信頼度)を表す。行動スコアベクトル50は、予め定義された各行動クラスの行動スコアをその要素として有するベクトルである。
【0021】
3つの予め定義された行動クラス A1、A2 および A3 が存在すると仮定する。この場合、行動スコアベクトルは3次元ベクトル v=(c1,c2,c3) であり、c1 は、行動クラス A1 の行動スコア(すなわち、対象クリップ10に含まれている行動クラス A1 の1つ以上の行動の信頼度)を表し、c2 は、行動クラス A2 の行動スコア(すなわち、対象クリップ10に含まれている行動クラス A2 の1つ以上の行動の信頼度)を表し、c3 は、行動クラス A3 の行動スコア(すなわち、対象クリップ10に含まれている行動クラス A3 の1つ以上の行動の信頼度)を表している。
【0022】
行動スコアベクトル50は、対象クリップ10のどの領域でどの種類の行動がとられるかを示していない。対象クリップ10から得られた特徴マップおよび行動スコアベクトル50に基づいて、行動位置特定装置2000は、対象クリップ10内の行動を位置特定する(すなわち、対象クリップ10のどの領域でどの種類の行動が起こったかを特定する)。この種の位置特定は「行動位置特定」と呼ばれる。
【0023】
行動位置特定装置2000は、クラス活性化マッピングを用いて、対象クリップ10について行動位置特定を行う。具体的には、人物クリップ60ごとに、および対象クリップ10から検出された行動クラスごとに、行動位置特定装置2000はクラス活性化マッピングを行って、その人物クリップ60の人物画像62内のどの領域がどの種類の行動を含むかを特定する。これにより、検出された人物40の行動のそれぞれが位置特定される。
【0024】
<作用効果の例>
上述したように、行動位置特定装置2000によれば、ビデオに撮像された行動を位置特定する新規な技術が提供される。具体的には、行動位置特定装置2000は、対象クリップ10から検出された人物40ごとに人物クリップ60を生成し、人物クリップ60ごとに特徴マップを抽出し、予め定義された行動クラスの各々の行動スコアを示す行動スコアベクトルを計算する。そして、行動位置特定装置2000は、人物クリップ60ごとに、その人物クリップ60に含まれる行動の行動クラスをクラス活性化マッピングを使用して特定することで、対象クリップ10内の各行動を位置特定する。
【0025】
以降、行動位置特定装置2000の詳細な説明を述べる。
【0026】
<機能構成の例>
図3は、行動位置特定装置2000の機能構成の一例を示すブロック図である。行動位置特定装置2000は、取得部2020と、人物クリップ生成部2040と、特徴抽出部2060と、スコア計算部2080と、位置特定部2100とを備える。
【0027】
取得部2020は対象クリップ10を取得する。人物クリップ生成部2040は、対象クリップ10から検出された人物40ごとに人物クリップ60を生成する。特徴抽出部2060は、人物クリップ60の各々から特徴マップを抽出する。スコア計算部2080は、予め定義された行動クラスごとに行動スコアを計算して、特徴マップを使用して行動スコアベクトル50を生成する。位置特定部2100は、行動スコアベクトル50および特徴マップに基づいてクラス活性化マッピングを行い、対象クリップ10内の検出された行動を位置特定する。
【0028】
<ハードウェア構成の例>
行動位置特定装置2000は、1つ以上のコンピュータによって実現されてもよい。1つ以上のコンピュータの各々は、行動位置特定装置2000を実現するために製造された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: personal computer)、サーバマシン、又はモバイルデバイスといった汎用のコンピュータであってもよい。
【0029】
行動位置特定装置2000は、コンピュータにアプリケーションをインストールすることで実現されてもよい。アプリケーションは、コンピュータを行動位置特定装置2000として機能させるためのプログラムによって実現される。すなわち、プログラムは、行動位置特定装置2000の機能部を実装するものである。
【0030】
図4は、行動位置特定装置2000を実現するコンピュータ1000のハードウェア構成の一例を示すブロック図である。図4では、コンピュータ1000は、バス1020と、プロセッサ1040と、メモリ1060と、ストレージデバイス1080と、入出力(I/O: input/output)インタフェース1100と、ネットワークインタフェース1120とを有する。
【0031】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100およびネットワークインタフェース1120が相互にデータを送受信するためのデータ伝送路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)や ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と、キーボード、マウスもしくはディスプレイデバイスなどの周辺機器との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。いくつかの実装形態では、コンピュータ500は、このネットワークを介して魚眼カメラ30に接続される。ストレージデバイス1080は、上述のプログラムを記憶してもよい。CPU1040はプログラムを実行して、行動位置特定装置2000の各機能部を実現する。
【0032】
コンピュータ1000のハードウェア構成は、図4に示すものに限定されない。例えば上述したように、行動位置特定装置2000は、複数のコンピュータによって実現されてもよい。この場合、それらのコンピュータは、ネットワークを介して互いに接続されていてもよい。
【0033】
行動位置特定装置2000の機能構成の1つ以上は、魚眼カメラ30に実装されてもよい。この場合、魚眼カメラ30は、コンピュータ500の全体または一部として機能する。例えば、行動位置特定装置2000の機能構成の全てが魚眼カメラ30に実装されている場合、魚眼カメラ30は、自身が生成した対象クリップ10を解析し、対象クリップ10から行動を検出し、対象クリップ10内の検出した行動を位置特定し、対象クリップ10についての行動位置特定の結果を示す情報を出力してもよい。上述のように機能する魚眼カメラ30は、ネットワークカメラ、IP(internet protocol camera)、またはインテリジェントカメラであってもよい。
【0034】
<処理のフロー>
図5は、行動位置特定装置2000によって行われる処理の例示的なフローを示すフローチャートである。取得部2020は、対象クリップ10を取得する(S102)。人物クリップ生成部2040は、対象クリップ10から1人以上の人物40を検出する(S104)。人物クリップ生成部2040は、検出された人物40ごとに人物クリップ60を生成する(S106)。特徴抽出部2060は、人物クリップ60の各々から特徴マップを抽出する(S108)。スコア計算部2080は、特徴マップに基づいて行動スコアベクトル50を生成する(S110)。位置特定部2100は、対象クリップ10から検出された行動を位置特定する(S112)。
【0035】
<対象クリップ10の取得:S102>
取得部2020は、対象クリップ10を取得する(S102)。上述したように、対象クリップ10は、魚眼カメラ30によって生成されるビデオ20の一部である。対象クリップ10内の対象画像12の数は、予め定められていてもよい。所定数のビデオフレーム22のシーケンスが複数、ビデオ20の異なる部分から抽出されうるため、行動位置特定装置2000は、それらのシーケンスの各々を対象クリップ10として扱いうる。このようにすることにより、行動位置特定装置2000は、ビデオ20の異なる部分の各々に対して行動位置特定を行いうる。
【0036】
対象クリップ10を取得する様々な方法がある。例えば、取得部2020は、ビデオ20を取得し、それを所定数のビデオフレーム22の複数のシーケンスに分割し、それによって複数の対象クリップ10を取得しうる。ビデオ20が記憶されている記憶部にアクセスすることによって、または魚眼カメラ30などの別のコンピュータから送信されたビデオ20を受信することによって、ビデオ20を取得しうる。
【0037】
別の例では、取得部2020は、1つ以上のビデオフレーム22を周期的に取得してもよい。次いで、取得部2020は、所定数の取得したビデオフレーム22で対象クリップ10を生成する。取得部2020は、上述のフローを繰り返すことにより、複数の対象クリップ10を生成することができる。ビデオフレーム22は、上述したビデオ20を取得する方法と同様の方法で取得されうる。
【0038】
<人物40の検出:S104>
人物クリップ生成部2040は、対象クリップ10から1人以上の人物40を検出する(S104)。なお、魚眼画像のシーケンスから人物を検出するための周知の様々な方法があり、人物クリップ生成部2040は、これらの方法のうちの1つを使用して、対象クリップ10から人物40を検出するように構成されてもよい。例えば、機械学習ベースのモデル(以下、「人物検出モデル」と呼ぶ)を使用して、対象クリップ10から人物40を検出する。人物検出モデルは、魚眼クリップを入力として取得するように構成され、魚眼クリップの入力に応じて、入力された魚眼クリップ内の人物および魚眼ビデオフレームごとに人物を含む領域(例えば、バウンディングボックス)を出力するように予め訓練されている。
【0039】
人物クリップ生成部2040は、人物40を対象クリップ10の全領域から検出してもよいし、対象クリップ10の一部の領域から検出してもよい。後者の場合、例えば、人物40は、対象クリップ10の対象画像12の各々における円形領域から検出される。この後者の場合の一例を、後に行動位置特定装置2000の第2の実施形態として説明する。
【0040】
<人物クリップ60の生成:S106>
人物クリップ生成部2040は、対象クリップ10から検出された人物40ごとに人物クリップ60を生成する(S106)。対象人物の人物クリップ60は、各々が対応する対象画像12の一部の領域であって対象人物を含む、「人物画像62」と呼ばれる画像のシーケンスである。以下、人物画像62を生成するために対象画像12から切り取られる領域を「切取り領域」と呼ぶ。なお、切取り領域の寸法(幅および高さ)は、予め定義されてもよい。
【0041】
人物クリップ生成部2040は、対象人物(対象クリップ10から検出された人物40)ごとに、以下のように動作しうる。人物クリップ生成部2040は、対象画像12の各々において対象人物が略直立して見えるように、対象画像12を互いに同じ角度だけ回転させる。例えば、人物クリップ生成部2040が人物40ごとにバウンディングボックスを検出した場合、対象画像12の代表的な画像(例えば、最初の画像)における対象人物のバウンディングボックスの向きに基づいて、対象人物の対象画像12の回転角度を特定してもよい。
【0042】
次に、人物クリップ生成部2040は、回転した対象画像12の各々において対象人物が切取り領域に含まれる切取り位置(すなわち、切取り領域の位置)を特定する。次いで、人物クリップ生成部2040は、回転した対象画像12の特定された切取り領域から画像を切り取って人物画像12を生成し、それによって対象人物の人物クリップ60を生成する。
【0043】
<特徴の抽出:S108>
特徴抽出部2060は、人物クリップ60の各々から特徴マップを抽出する(S108)。特徴マップは、人物クリップ60の時空間的特徴を表す。特徴マップは、3D CNN(convolutional neural network)などのニューラルネットワークを使用して抽出されうり、当該ニューラルネットワークは、クリップを取得するように構成され、クリップの入力に応じて、入力されたクリップの時空間的特徴を特徴マップとして出力するように予め訓練されている。
【0044】
特徴マップは、人物クリップ60の全領域の時空間的特徴を表してもよいし、人物クリップ60の一部の領域の特徴を表してもよい。後者の場合、特徴マップは、対象人物およびその周辺の領域の時空間的特徴を表しうる。
【0045】
図6は、特徴マップが、対象人物およびその周辺の領域の時空間的特徴を表す場合を示す。図6では、人物クリップ60を入力とし、かつ特徴マップ80を出力するネットワーク70が存在する。ネットワーク70は、3D ResNet などの任意の種類の 3D CNN でありうる。また、特徴抽出部2060は、全ての人物画像62にわたって、対象人物のバウンディングボックスに対して最大値プーリングなどのプーリングを行い、それによってバイナリマスクを取得する。特徴抽出部2060は、バイナリマスクを特徴マップ80と同じ幅および高さにリサイズし、リサイズされたマスクに特徴マップ80を乗算して特徴マップ90を取得する。以降、特徴抽出部2060から出力される特徴マップは、バイナリマスクでマスクされているか否かに関わらず、「特徴マップ90」と記載される。
【0046】
<行動スコアの計算:S110>
スコア計算部2080は、予め定義された行動クラスについて行動スコアを計算し、それによって行動スコアベクトル50を計算する(S110)。人物クリップ60から取得した特徴マップ90は、行動スコアの計算に使用される。いくつかの実装において、スコア計算部2080は、図7に示すように動作してもよい。図7は、特徴マップ90に基づいて行動スコアを計算する方法の一例を示す。この例では、対象クリップ10から人物クリップ60-1および60-Nが取得され、人物クリップ60-1から60-Nのそれぞれから、特徴マップ90-1から90-Nが取得される。
【0047】
まず、スコア計算部2080は、特徴マップ90の各々に対してプーリング、例えば平均プーリングを行う。次いで、プーリング結果の各々は全結合層200に入力される。全結合層200は、特徴マップ90上のプーリングの結果を取得するように構成され、予め定義された行動クラスごとに、特徴マップ90に対応する人物クリップ60に含まれるその行動クラスの行動の信頼度を表す「中間ベクトル210」と呼ばれるベクトルを出力するように予め訓練されている。
【0048】
全結合層200を使用して、特徴マップ90の全てについて中間ベクトル210が取得される。次いで、スコア計算部2080は、中間ベクトル210を行動スコアベクトル50に集約する。中間ベクトル210は、非特許文献1によって開示されているような log-sum-exponential 関数を使用して集約されうる。なお、行動スコアベクトル50は、各要素の最大範囲が [0,1] となるようにスケーリングされてもよい。
【0049】
<クラス活性化マッピング:S112>
位置特定部2100は、対象クリップ10から検出された行動を位置特定するために、CAM(class activation mapping)、Grad-CAM、及び SmoothGrad 等のクラス活性化マッピングを行う。クラス活性化マッピングは、予測の結果(行動位置特定装置2000の場合、行動クラスの行動スコア)に関連する入力画像内の1つ以上の領域を見つける方法である。位置特定部2100は、対象クリップ10から検出された行動クラスごとに、および、人物クリップ60ごとに、クラス活性化マッピングを行って、検出された行動クラスの行動が対象クリップ10のどこで行われたかを特定する。
【0050】
対象クリップ10から検出される行動クラスは、各々が予め定義された閾値 Tc 以上の行動スコアを有する行動クラスである。3つの予め定義された行動クラス A1、A2 および A3 が存在し、それらの行動スコアがそれぞれ 0.8、0.3、及び 0.7 であると仮定する。また、閾値 Tc は 0.6 である。この場合、検出される行動クラスは行動クラス A1 および A3 であり、その理由は、それらの行動スコアが閾値 Tc よりも大きいことである。
【0051】
図8は、クラス活性化マップの一例を示す。この図は、人物クリップ P1 について生成されたクラス活性化マップを示す。人物クリップ P1 は、「電話を操作する」の行動を含む。検出された行動が「飲む」、「電話を操作する」および「歩く」であると仮定する。この場合、位置特定部2100は、これらの3つの検出された行動の各々についてクラス活性化マップを生成する。クラス活性化マップ内の領域が暗いほど、その領域は、そのマップに対応する行動クラスの行動スコアの予測に対する関連が大きい。また、クラス活性化マップ内の位置が暗いほど、その位置に対応するマップのセルの値は大きくなる。
【0052】
図8では、「電話を操作する」についてのクラス活性化マップが暗く広い領域を有する一方で、他の2つのクラス活性化マップは、このような領域を有していない。したがって、人物クリップ P1 に含まれる行動が「電話を操作する」であることを予測することができる。また、「電話を操作する」についての行動クラスマップを人物クリップ P1 に重畳することで、「電話を操作する」の行動がとられる人物クリップ P1 の領域を予測することができる。
【0053】
図9は、位置特定部2100によって行われる処理の例示的なフローを示すフローチャートである。ステップS202からS212は、人物クリップ60ごとに行われるループ処理L1を形成する。ステップS202では、位置特定部2100は、人物クリップ60の全てに対してループ処理L1が行われたか否かを判定する。人物クリップ60の全てに対してループ処理L1が行われた場合、図9に示す処理は終了する。一方、人物クリップ60の全てに対してはループ処理L1が行われていない場合、位置特定部2100は、ループ処理L1がまだ行われていない人物クリップ60を選択する。ここで選択された人物クリップ60を「人物クリップ Pi」として記載する。
【0054】
ステップS204からS208は、検出された行動クラスごとに行われるループ処理L2を形成する。ステップS204では、位置特定部2100は、検出された行動クラスの全てに対してループ処理L2が行われたか否かを判定する。検出された行動クラスの全てに対してループ処理L2が行われた場合、次にS210が行われる。一方、検出された行動クラスの全てに対してはループ処理L2が行われていない場合、位置特定部2100は、検出された行動クラスのうちループ処理L2がまだ行われていない行動クラスを選択する。ここで選択された行動クラスを「行動クラス Aj」として記載する。
【0055】
位置特定部2100は、人物クリップ Pi から取得される、行動スコアベクトル80によって示される Aj の行動スコアと、特徴マップ90とを使用して、人物クリップ Pi に対してクラス活性化マッピングを行う(S206)。上述したように、クラス活性化マッピングには様々な種類があり、いずれを採用することもできる。
【0056】
例えば、Grad-CAM が採用される場合、非特許文献1に開示されているものと同様の方法でクラス活性化マップを生成することができる。具体的には、位置特定部2100は、人物クリップ Pi から取得される特徴マップ90のチャネルごとに、チャネルに対する行動スコアの勾配に基づいて、行動クラス Aj の行動スコアの予測のためのチャネルの重要度を計算する。これは、以下のように定式化することができる。
【数1】
式中、w[j][k] は、行動クラス Aj の予測に関する特徴マップの k 番目のチャネルの重要度を表し、1/z*Σ は、グローバル平均プーリングを表し、x と y の組合せはチャネル内の位置を表し、S[j] は、行動クラス Aj の行動スコアを表し、B[k][x][y] は、位置 (x,y) における k 番目のチャネルのセルを表す。
【0057】
そして、上記で計算した各チャネルの重要度を各チャネルの重みとして使用して、人物クリップ P1 の特徴マップ90のチャネルの重み付き組合せとして、クラス活性化マップを生成する。これは、以下のように定式化することができる。
【数2】
式中、H[j] は、行動クラス Aj について生成されたクラス活性化マップを表す。
【0058】
ステップS208はループ処理L2の終端であり、したがって次にステップS204が行われる。
【0059】
人物クリップ Pi についてループ処理L2が終了した後、位置特定部2100は、検出された行動クラスの全てについて、人物クリップ Pi から取得されるクラス活性化マップを有する。ステップS210では、位置特定部2100は、人物クリップ Pi の対象人物がとった行動の行動クラスを特定し、取得したクラス活性化マップに基づいてその行動を位置特定する。そのために、位置特定部2100は、人物クリップ Pi において対象人物がとった行動の行動クラスに対応するクラス活性化マップのうちの1つを特定する。
【0060】
行動クラス Aj について計算されたクラス活性化マップは、人物クリップ Pi の対象人物が行動クラス Aj の行動をとった場合にのみ、行動クラス Aj の行動スコアとの関連性が高い領域を含むと言える。したがって、対応する行動クラスの行動スコア(行動スコアの予測結果)との関連性が最も高いクラス活性化マップは、人物クリップ P1 において行われた行動の行動クラスに対応するものである。
【0061】
具体的には、例えば、位置特定部2100は、クラス活性化マップごとにセルの合計値を計算し、どのクラス活性化マップが最も大きい合計値を有するかを特定する。次いで、位置特定部2100は、合計値が最も大きいクラス活性化マップに対応する行動クラスを、人物クリップ60でとられた行動の行動クラスとして特定する。これは、以下のように定式化することができる。
【数3】
式中、c[i] は、人物クリップ Pi において行われた行動の行動クラスを表し、H[j][x][y] は、クラス活性化マップ H[j] の (x,y) におけるセルの値を表す。
【0062】
<行動位置特定装置2000からの出力>
行動位置特定装置2000は、空間的かつ時間的な行動位置特定の結果、すなわち、どの期間に対象クリップ10のどの領域においてどの種類の行動がとられるかを示す「出力情報」と呼ばれる情報を出力してもよい。出力情報によって示される情報には、様々な種類があってもよい。いくつかの実装において、出力情報は、検出された行動クラスの行動ごとに、その行動の行動クラス、その行動が行われた位置(例えば、その行動を行った人物40のバウンディングボックスの位置)、およびその行動が行われた期間(例えば、対象クリップ10のフレーム番号)のセットを含んでもよい。例えば、出力情報は、対象クリップ10から検出された人物40ごとに、その人物40が行った行動の行動クラスを示す注釈を含むその人物40のバウンディングボックスを示すように変更された、対象クリップ10を含んでもよい。
【0063】
図10は、対象クリップ10が行動位置特定の結果を示すように変更される第1の例を示す。この例では、「飲む」、「電話を操作する」および「歩く」の行動クラスが検出され、それらの行動クラスが位置特定される。この結果を示すために、バウンディングボックス220および注釈230の組合せが対象クリップ10に重畳される。バウンディングボックス220は検出された人物40の位置を示し、対応する注釈230は、この人物40が行った行動の行動クラスを示す。
【0064】
他の実装において、出力情報は、その上に重畳される検出された行動クラスのクラス活性化マップとして変更された、対象クリップ10を含んでもよい。人物クリップ Pi の対象人物が行動クラス Aj の行動を行ったと特定されたと仮定する。この場合、人物クリップ Pi の人物画像62に対応する対象画像12は、人物クリップ Pi と行動クラス Aj の組合せについて生成されたクラス活性化マップが重畳されるように変更される。クラス活性化マップが重畳される対象画像12内の位置は、対応する人物画像62が切り取られる位置である。
【0065】
図11は、対象クリップ10が行動位置特定の結果を示すように変更される第2の例を示す。この図は、図10と同じ状況を想定している。しかし、図11では、バウンディングボックス220の代わりに、マップ240が対象クリップ10に重畳されている。人物に重畳されるマップ240は、その人物の人物クリップ60に対して生成され、かつ、その人物が行った行動の行動クラスに対応するクラス活性化マップである。
【0066】
<訓練可能パラメータの最適化について>
行動位置特定装置2000は、ネットワーク70および全結合層200における重みなどの訓練可能パラメータを有する。これらの訓練可能パラメータは、複数の訓練データを使用してそれらを繰り返し更新することによって、予め最適化される(換言すれば、行動位置特定装置2000は、予め訓練される)。訓練データは、行動スコアベクトル50のテストクリップおよび正解データとの組合せを含んでもよい。テストクリップは、トップビュー型の魚眼カメラによって(好ましくは、魚眼カメラ30によって)生成され、1人以上の人物を含む任意のクリップである。正解データは、テストクリップに含まれる行動クラスの各々の最大信頼度(例えば、行動スコアベクトル50が [0,1] にスケーリングされる場合は1)を示す行動スコアベクトルである。
【0067】
訓練可能パラメータは、正解データと、テストクリップの入力に応答して行動位置特定装置2000によって計算された行動スコアベクトル50との間の差を表す損失に基づいて、更新される。損失は、交差エントロピー損失関数などの任意の種類の損失関数を使用して計算されうる。損失関数は、正則化項をさらに含んでもよい。例えば、対象人物は人物クリップ60において単一の行動を行う可能性があるため、中間ベクトル(単一の特徴マップ80から計算される行動スコアベクトル)が複数の行動クラスについて高い信頼度を示す場合にペナルティを加えることが好ましい。この種の正則化項は、非特許文献1に開示されている。
【0068】
実施形態2
図12は、実施形態2の行動位置特定装置2000の概要を示す。なお、図12に示す概要は、実施形態2の行動位置特定装置2000を理解しやすくするために、実施形態2の行動位置特定装置2000の動作の一例を示したものであり、実施形態2の行動位置特定装置2000が取り得る動作の範囲を限定したり、狭めたりするものではない。
【0069】
対象クリップ10には、人物が異なる角度で現れる。非特許文献1は、魚眼カメラから取得されたビデオフレームをパノラマ画像に変換し、パノラマ画像を分析して行動を検出し、かつ位置特定することによって、この問題に対処する。
【0070】
しかし、このように、パノラマ画像への変換によって、中心付近に位置する人物(上方からの視点における魚眼レンズの光軸)が変形してしまうことがある。この問題に関して、魚眼レンズの光軸周辺で起こった行動を位置特定するためには、行動位置特定装置2000によって行われる方法が非特許文献1に記載されている方法よりも有効であると考えられ、その理由は、中心付近に位置する人物が変形されないことである。
【0071】
そこで、実施形態2の行動位置特定装置2000は、対象クリップ10から異なる2種類のクリップを生成し、かつ異なる2種類の方法を行って、これら2つのクリップについて行動スコアを計算する。そうすることにより、対象クリップ10内の行動をより正確に位置特定することができる。以下、これら2種類のクリップをそれぞれ「中央クリップ100」および「パノラマクリップ110」と呼ぶ。また、中央クリップ100に対して行う方法を「魚眼処理」と呼び、パノラマクリップ110に対して行う方法を「パノラマ処理」と呼ぶ。
【0072】
中央クリップ100は、対象画像12の中央領域のシーケンスである。中央クリップ100を生成するために、行動位置特定装置2000は、対象画像12の各々から中央領域14を取り出す。中央クリップ100は、中央領域14のシーケンスとして生成される。中央領域14は、その中心が魚眼カメラ30の光軸に対応する場所に位置し、予め定義された半径の円形領域である。魚眼カメラ30の光軸に対応する位置は、非特許文献1に開示されている方法で検出されてもよい。以下、中央クリップ100に含まれる各画像(すなわち、中央領域14)を「中央画像112」と呼ぶ。
【0073】
パノラマクリップ110は、パノラマ画像に変換された、対象画像のシーケンスである。パノラマクリップ110を生成するために、行動位置特定装置2000は、各対象画像12をパノラマ画像に変換する。パノラマクリップ110は、それらのパノラマ画像のシーケンスとして生成される。対象画像12は、非特許文献1に開示されている方法を使用してパノラマ画像に変換されてもよい。以下、パノラマクリップ110に含まれる各画像を「パノラマ画像112」と呼ぶ。
【0074】
魚眼処理は、実施形態11の行動位置特定装置2000が対象画像10について行動スコアを計算する方法と同様に、中央クリップ100から行動スコアを計算する方法である。具体的には、魚眼処理は、1人以上の人物40を中央クリップ100から検出することと、人物クリップ60を中央クリップ100から検出された人物40ごとに生成することと、人物クリップ60の各々から特徴マップ90を抽出することと、行動スコアを特徴マップ90に基づいて計算するステップことと、を含む。以下、中央クリップ100について計算された行動スコアを示すベクトルを「行動スコアベクトル130」と呼ぶ。
【0075】
パノラマ処理は、非特許文献1に開示されている方法と同様の方法で、行動スコアを計算する方法である。具体的には、以下のようにパノラマ処理が行われうる。行動位置特定装置2000は、例えば、時空間的特徴を画像のシーケンスから特徴マップとして抽出することができる 3D CNN などのニューラルネットワークに対してパノラマクリップ110を入力することによって、パノラマクリップ110の特徴マップ(時空間的特徴)を計算する。次いで、行動位置特定装置2000は、パノラマクリップ110の人物検出によってバイナリマスクを計算し、バイナリマスクを特徴マップと同じ幅および高さにリサイズし、バイナリマスクに特徴マップを乗算して、マスクされた特徴マップを取得する。マスクされた特徴マップは、複数のブロックに分割される。行動位置特定装置2000は、ブロックごとにプーリングを行った後に全結合層に入力し、それによってブロックごとの行動スコアを取得する。ブロックごとに取得された行動スコアは、パノラマクリップ110全体の行動スコアを示す単一のベクトルに集約される。以下、このベクトルを「行動スコアベクトル140」と呼ぶ。
【0076】
上述したように、行動位置特定装置2000は、魚眼処理の結果としての行動スコアベクトル130と、パノラマ処理の結果としての行動スコアベクトル140とを取得する。行動位置特定装置2000は、行動スコアベクトル130および行動スコアベクトル140を使用して、対象クリップ100内の各行動を位置特定する。
【0077】
いくつかの実装において、行動位置特定装置2000は、図12に示すように行動スコアベクトル130と行動スコアベクトル140とを別々に使用する。この場合、行動位置特定装置2000は、実施形態11の行動位置特定装置2000が行動スコアベクトル50を使用して対象クリップ10に対して行動位置特定を行う方法と同様の方法で、行動スコアベクトル130を使用して、中央クリップ100に対して行動位置特定を行う。これにより、中央クリップ110から検出された行動が位置特定される。また、行動位置特定装置2000は、非特許文献1で開示されている方法と同様の方法で、行動スコアベクトル140を使用してパノラマクリップ110の行動位置特定を行う。これにより、パノラマクリップ110から検出された行動が位置特定される。次いで、行動位置特定装置2000は、中央クリップ100に対して行われた行動位置特定の結果と、パノラマクリップ110に対して行われた行動位置特定の結果とを集約し、それによって、対象クリップ10全体について検出された行動クラスの行動を位置特定する。
【0078】
他の実装において、行動位置特定装置2000は、行動スコアベクトル130および行動スコアベクトル140を「集約行動スコアベクトル」と呼ばれる単一のベクトルに集約する。この場合、行動スコアが閾値 Tc 以上である行動クラスを検出対象として扱う。行動位置特定装置2000は、行動スコアベクトル130および140を別々に使用する代わりに集約行動スコアベクトルを使用して、検出された行動クラスごとに、中央クリップ100およびパノラマクリップ110に対して行動位置特定を別々に行い、行動位置特定の結果を集約する。
【0079】
集約行動スコアベクトルがクラス活性化マッピングに使用されることを除いて、この場合の中央クリップ100に対して行われる行動位置特定は、行動スコアベクトル130および140が別々に使用される場合と同じである。同様に、集約行動スコアベクトルがクラス活性化マッピングに使用されることを除いて、この場合のパノラマクリップ110に対して行われる行動位置特定は、行動スコアベクトル130および140が別々に使用される場合と同じである。
【0080】
<機能構成の例>
図13は、実施形態2の行動位置特定装置2000の機能構成の一例を示すブロック図である。行動位置特定装置2000は、取得部2020、中央クリップ生成部2120、パノラマクリップ生成部2140、魚眼処理部2160、パノラマ処理部2180および位置特定部2100を有する。取得部2020は、実施形態11で説明したように、対象クリップ10を取得する。中央クリップ生成部2120は、対象クリップ10から中央クリップ100を生成する。パノラマクリップ生成部2140は、対象クリップ10からパノラマクリップ110を生成する。魚眼処理部2160は、中央クリップ100に対して魚眼処理を行って、行動スコアベクトル130を計算する。なお、図13では図示していないが、人物クリップ生成部2040、特徴抽出部2060およびスコア計算部2080は、魚眼処理部2160に含まれる。パノラマ処理部2180は、パノラマクリップ110に対してパノラマ処理を行って、行動スコアベクトル140を計算する。位置特定部2100は、行動スコアベクトル130および行動スコアベクトル140を使用して、対象クリップ10について行動位置特定を行う。
【0081】
<ハードウェア構成の例>
実施形態11の行動位置特定装置2000と同様に、実施形態2の行動位置特定装置2000は、図3に示すハードウェア構成を有しうる。しかし、実施形態2のストレージデバイス1080は、実施形態2の行動位置特定装置2000の機能構成を実現するプログラムをさらに含みうる。
【0082】
<処理のフロー>
図14は、実施形態2の行動位置特定装置2000によって行われる処理のフローを示すフローチャートである。取得部2020は、対象クリップ10を取得する(S302)。ステップS302とS316との間には、並行して行われるものとして示されている処理のシーケンスが2つ存在する。処理の第1のシーケンスは、ステップS304~S308を含み、中央クリップ100内の行動を位置特定するために行われる。一方、処理の第2のシーケンスは、パノラマクリップ110内の行動を位置特定するために行われるステップS310~S314を含む。なお、他の実装において、これらのシーケンスは、並列ではなく順次実行されてもよい。
【0083】
処理の第1のシーケンスは、以下のようにして行われる。中央クリップ生成部2120は、中央クリップ100を生成する(S304)。魚眼処理部2160は、魚眼処理を中央クリップ100に対して行って、行動スコアベクトル130を計算する(S306)。位置特定部2100は、行動スコアベクトル130を使用して、中央クリップ100について検出された行動クラスの行動を位置特定する(S308)。
【0084】
処理の第2のフローは、以下のようにして行われる。パノラマクリップ生成部2140は、中央クリップ100を生成する(S310)。パノラマ処理部2180は、パノラマクリップ110に対してパノラマ処理を行って、行動スコアベクトル140を計算する(S312)。位置特定部2100は、行動スコアベクトル140を使用して、パノラマクリップ100について検出された行動クラスの行動を位置特定する(S308)。
【0085】
位置特定部2100は、中央クリップ100についての行動位置特定およびパノラマクリップ110についての行動位置特定の結果を集約する。
【0086】
なお、図14のフローチャートでは、行動スコアベクトル130および140が別々に使用されて、行動が位置特定されると仮定する。しかし、上述したように、行動位置特定は、行動スコアベクトル130および140を別々に使用する代わりに、集約行動スコアベクトルを使用して行われてもよい。この場合、魚眼処理およびパノラマ処理が終了した後、集約行動スコアベクトルが計算され、次いで、集約行動スコアベクトルを使用して中央クリップ100およびパノラマクリップ110についての行動位置特定が行われる。
【0087】
<行動位置特定装置2000からの出力>
実施形態2の行動位置特定装置2000は、実施形態11の行動位置特定装置2000による出力と同様の出力情報を出力してもよい。しかし、実施形態2の出力情報は、中央クリップ100およびパノラマクリップ110についての行動位置特定の集約結果を示してもよい。例えば、図10に示すように、出力情報がバウンディングボックス220および注釈230が重畳された対象クリップ10を含む場合、行動位置特定装置2000は、魚眼処理の結果に基づいて行動が特定された人物と、パノラマ処理の結果に基づいて行動が特定された人物との両方について、バウンディングボックス220および注釈230を生成する。図11に示すように、マップ240および注釈230が対象クリップ10に重畳される場合も同様である。
【0088】
場合によっては、中央クリップ100およびパノラマクリップ110の両方に含まれる人物が存在してもよい。この場合、位置特定部2100は、中央クリップ100およびパノラマクリップ110の両方から人物についてのクラス活性化マップを取得してもよい。位置特定部2100はこれらのクラス活性化マップを合成し、合成したクラス活性化マップに基づいて人物の行動を位置特定してもよい。クラス活性化マップは、交差点またはその中間点をとることによって合成されてもよい。
【0089】
<訓練可能パラメータの最適化>
実施形態2の行動位置特定装置2000は、実施形態11で言及された訓練可能パラメータに加えて、パノラマ処理に使用される訓練可能パラメータをさらに含む。実施形態11で採用されたものと同様に、実施形態2の行動位置特定装置2000の訓練可能パラメータは、複数の訓練データを使用して予め最適化されてもよい。しかし、この実施形態において、損失は、行動スコアベクトル50の代わりに集約行動スコアベクトルを使用して計算されてもよい。具体的には、損失は、訓練データによって示される集約行動スコアの正解データと、テストクリップの入力に応じて実施形態2の行動位置特定装置2000によって計算された集約行動スコアとの間の差を表すように、計算されうる。
【0090】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0091】
実施の形態を参照して本開示を上記で説明したが、本開示は上述の実施の形態に限定されるものではない。当業者が理解することができる様々な変更を、本発明の範囲内で本開示の構成および詳細に対して行うことができる。
【0092】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
行動位置特定装置であって、
命令を記憶するように構成された少なくとも1つのメモリと、
前記命令を実行して、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得し、
1人以上の人物を前記対象クリップから検出し、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成し、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出し、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算し、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定する、
ように構成される少なくとも1つのプロセッサと、を有する行動位置特定装置。
(付記2)
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、付記1に記載の行動位置特定装置。
(付記3)
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、付記1または2に記載の行動位置特定装置。
(付記4)
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、付記3に記載の行動位置特定装置。
(付記5)
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、付記3または4に記載の行動位置特定装置。
(付記6)
少なくとも1つのプロセッサは、前記命令をさらに実行して、
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成し、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成し、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定する、ように構成され、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、付記1から5のいずれか一項に記載の行動位置特定装置。
(付記7)
コンピュータによって行われる制御方法であって、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、
1人以上の人物を前記対象クリップから検出するステップと、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を含み、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出するステップと、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を含み、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを含む、制御方法。
(付記8)
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、付記7に記載の制御方法。
(付記9)
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、付記7または8に記載の制御方法。
(付記10)
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、付記9に記載の制御方法。
(付記11)
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、付記9または10に記載の制御方法。
(付記12)
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成するステップと、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成するステップと、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定するステップと、をさらに含み、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、付記7から11のいずれか一項に記載の制御方法。
(付記13)
プログラムが格納されている非一時的コンピュータ可読記憶媒体であって、前記プログラムはコンピュータに、
1人以上の人物が略上方視点で撮像された魚眼画像である対象画像のシーケンスである対象クリップを取得するステップと、
1人以上の人物を前記対象クリップから検出するステップと、
前記対象クリップから検出された各前記人物について、前記対象クリップから人物クリップを生成するステップと、を実行させ、前記人物クリップは、それぞれが前記対象画像の一部の領域である人物画像のシーケンスであり、かつ、その人物クリップに対応する前記検出された人物を含み、
特徴マップを各前記人物クリップから抽出するステップと、
前記人物クリップから抽出された前記特徴マップに基づいて、所定の行動クラスごとに、前記対象クリップに含まれるその行動クラスの行動の信頼度を示す行動スコアを計算するステップと、を実行させ、前記行動クラスは行動の種類であり、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定するステップを実行させる、非一時的コンピュータ可読記憶媒体。
(付記14)
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、その行動クラスの前記行動スコアとその人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、付記13に記載の記憶媒体。
(付記15)
前記行動スコアの計算は、
前記人物クリップごとに、その人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算することと、
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約することと、を含む、付記13または14に記載の記憶媒体。
(付記16)
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、付記15に記載の記憶媒体。
(付記17)
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、付記15または16に記載の記憶媒体。
(付記18)
前記プログラムが、前記コンピュータに、
対応する前記対象画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成するステップと、
対応する前記対象画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成するステップと、
前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定するステップと、をさらに実行させ、
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、付記13から17のいずれか一項に記載の記憶媒体。
【符号の説明】
【0093】
10 対象クリップ
12 対象画像
14 中央領域
20 ビデオ
22 ビデオフレーム
30 魚眼カメラ
40 人物
50、130、140 行動スコアベクトル50
60 人物クリップ
62 人物画像
70 ネットワーク
80、90 特徴マップ
100 中央クリップ
102 中央画像
110 パノラマクリップ
112 パノラマ画像
200 全結合層
210 中間ベクトル
220 バウンディングボックス
230 注釈
240 マップ
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 行動位置特定装置
2020 取得部
2040 人物クリップ生成部
2060 特徴抽出部
2080 スコア計算部
2100 位置特定部
2120 中央クリップ生成部
2140 パノラマクリップ生成部
2160 魚眼処理部
2180 パノラマ処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2024-06-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
人以上の人物が撮像された魚眼画像のシーケンスである対象クリップを取得する取得手段と
記対象クリップから検出された各人物について、人物が含まれる領域であって前記魚眼画像の一部の領域のシーケンスを示す人物クリップを生成する人物クリップ生成手段と、
特徴マップを各前記人物クリップから抽出する特徴抽出手段と、
記特徴マップに基づ行動の種類を示す行動クラスごとに、前記対象クリップに含まれる前記行動クラスの行動の信頼度を示す行動スコアを計算するスコア計算手段と、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、前記行動スコアが閾値以上である前記行動クラスの各行動位置特定する位置特定手段と、を有する行動位置特定装置。
【請求項2】
記位置特定手段は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、前記行動クラスの前記行動スコアと前記人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定する、請求項1に記載の行動位置特定装置。
【請求項3】
記スア計手段は、
前記人物クリップごとに、前記人物クリップに含まれる前記行動クラスの行動の信頼度を各前記所定の行動クラスについて示す中間ベクトルを計算
前記中間ベクトルを、前記所定の行動クラスの前記行動スコアを示す行動スコアベクトルに集約する、請求項1または2に記載の行動位置特定装置。
【請求項4】
前記特徴マップの抽出および前記行動スコアの計算は、予め訓練されたニューラルネットワークによって行われ、
前記予め訓練されたニューラルネットワークは、テストクリップと、前記テストクリップに含まれる各前記行動クラスについて最大の信頼度を示すベクトルとを含む訓練データセットを使用して訓練され、前記テストクリップは、1人以上の人物が略上方視点で撮像された魚眼画像を含む、請求項3に記載の行動位置特定装置。
【請求項5】
前記中間ベクトルは、log-sum-exponential 関数を使用して前記行動スコアベクトルに集約される、請求項3または4に記載の行動位置特定装置。
【請求項6】
応する前記魚眼画像から中心領域を切り取ることによってそれぞれが生成される中央画像のシーケンスである中央クリップを生成する中央クリップ生成手段と
対応する前記魚眼画像をパノラマ画像に変換することによってそれぞれが生成されるパノラマ画像のシーケンスであるパノラマクリップを生成するパノラマクリップ生成手段とをさらに有し、
前記位置特定手段は、前記中央クリップに含まれる前記行動を位置特定し、前記パノラマクリップに含まれる前記行動を位置特定し、前記中央クリップに含まれる前記行動の位置特定および前記パノラマクリップに含まれる前記行動の位置特定の結果を集約することによって、前記対象クリップに含まれる前記行動を位置特定
前記中央クリップに含まれる前記行動の位置特定は、
前記中央クリップから1人以上の人物を検出することと、
前記人物クリップを、前記中央クリップから検出された前記人物ごとに前記中央クリップから生成することと、
前記特徴マップを各前記人物クリップから抽出することと、
前記所定の行動クラスごとに、前記人物クリップから抽出された前記特徴マップに基づいて、前記行動スコアを計算することと、
各前記人物クリップに対してクラス活性化マッピングを行うことによって、閾値以上の前記行動スコアを有する行動クラスの各行動を位置特定することと、を含む、請求項1から5のいずれか一項に記載の行動位置特定装置。
【請求項7】
人以上の人物が撮像された魚眼画像のシーケンスである対象クリップを取得するステップと、
記対象クリップから検出された各人物について、人物が含まれる領域であって前記魚眼画像の一部の領域のシーケンスを示す人物クリップを生成するステップと、
徴マップを各前記人物クリップから抽出するステップと、
記特徴マップに基づ行動の種類を示す行動クラスごとに、前記対象クリップに含まれる前記行動クラスの行動の信頼度を示す行動スコアを計算するステップと、
前記人物クリップに対してクラス活性化マッピングを行うことによって、前記行動スコアが閾値以上である前記行動クラスの各行動位置特定するステップと、を含む、コンピュータによって実行される制御方法。
【請求項8】
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、前記行動クラスの前記行動スコアと前記人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、請求項7に記載の制御方法。
【請求項9】
人以上の人物が撮像された魚眼画像のシーケンスである対象クリップを取得するステップと、
記対象クリップから検出された各人物について、人物が含まれる領域であって前記魚眼画像の一部の領域のシーケンスを示す人物クリップを生成するステップと、
記特徴マップを各前記人物クリップから抽出するステップと、
記特徴マップに基づ行動の種類を示す行動クラスごとに、前記対象クリップに含まれる前記行動クラスの行動の信頼度を示す行動スコアを計算するステップと、
前記人物クリップに対してクラス活性化マッピングを行うことによって、前記行動スコアが閾値以上である前記行動クラスの各行動位置特定するステップと、コンピュータに実行させる、プログラム
【請求項10】
前記行動の位置特定は、前記人物クリップごとに、
前記行動スコアが前記閾値以上である前記行動クラスごとに、前記行動クラスの前記行動スコアと前記人物クリップから抽出された前記特徴マップとを使用して、クラス活性化マップを生成することと、
対応する前記行動クラスの前記行動スコアと最も高い関連性を示す前記クラス活性化マップを特定することと、
前記特定されたクラス活性化マップに対応する前記行動クラスが前記人物クリップに含まれる前記行動の前記行動クラスであると特定することと、を含む、請求項に記載のプログラム
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0004
【補正方法】変更
【補正の内容】
【0004】
【非特許文献1】Junnan Li、Jianquan Liu、Yongkang Wong、Shoji Nishimura、Mohan Kankanhalli、「Weakly-Supervised Multi-Person Action Recognition in 360° Videos」、[online]、2020年2月9日、[2021年11月10日検索]、インターネット<URL: https://arxiv.org/pdf/2002.03266.pdf>
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0031
【補正方法】変更
【補正の内容】
【0031】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100およびネットワークインタフェース1120が相互にデータを送受信するためのデータ伝送路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)や ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と、キーボード、マウスもしくはディスプレイデバイスなどの周辺機器との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。いくつかの実装形態では、コンピュータ1000は、このネットワークを介して魚眼カメラ30に接続される。ストレージデバイス1080は、上述のプログラムを記憶してもよい。プロセッサ1040はプログラムを実行して、行動位置特定装置2000の各機能部を実現する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0042
【補正方法】変更
【補正の内容】
【0042】
次に、人物クリップ生成部2040は、回転した対象画像12の各々において対象人物が切取り領域に含まれる切取り位置(すなわち、切取り領域の位置)を特定する。次いで、人物クリップ生成部2040は、回転した対象画像12の特定された切取り領域から画像を切り取って人物画像2を生成し、それによって対象人物の人物クリップ60を生成する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0046
【補正方法】変更
【補正の内容】
【0046】
<行動スコアの計算:S110>
スコア計算部2080は、予め定義された行動クラスについて行動スコアを計算し、それによって行動スコアベクトル50を計算する(S110)。人物クリップ60から取得した特徴マップ90は、行動スコアの計算に使用される。いくつかの実装において、スコア計算部2080は、図7に示すように動作してもよい。図7は、特徴マップ90に基づいて行動スコアを計算する方法の一例を示す。この例では、対象クリップ10から人物クリップ60-1から60-Nが取得され、人物クリップ60-1から60-Nのそれぞれから、特徴マップ90-1から90-Nが取得される。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正の内容】
【0055】
位置特定部2100は、人物クリップ Pi から取得される、行動スコアベクトル0によって示される Aj の行動スコアと、特徴マップ90とを使用して、人物クリップ Pi に対してクラス活性化マッピングを行う(S206)。上述したように、クラス活性化マッピングには様々な種類があり、いずれを採用することもできる。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正の内容】
【0060】
行動クラス Aj について計算されたクラス活性化マップは、人物クリップ Pi の対象人物が行動クラス Aj の行動をとった場合にのみ、行動クラス Aj の行動スコアとの関連性が高い領域を含むと言える。したがって、対応する行動クラスの行動スコア(行動スコアの予測結果)との関連性が最も高いクラス活性化マップは、人物クリップ Pi において行われた行動の行動クラスに対応するものである。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0072
【補正方法】変更
【補正の内容】
【0072】
中央クリップ100は、対象画像12の中央領域のシーケンスである。中央クリップ100を生成するために、行動位置特定装置2000は、対象画像12の各々から中央領域14を取り出す。中央クリップ100は、中央領域14のシーケンスとして生成される。中央領域14は、その中心が魚眼カメラ30の光軸に対応する場所に位置し、予め定義された半径の円形領域である。魚眼カメラ30の光軸に対応する位置は、非特許文献1に開示されている方法で検出されてもよい。以下、中央クリップ100に含まれる各画像(すなわち、中央領域14)を「中央画像12」と呼ぶ。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正の内容】
【0074】
魚眼処理は、実施形態11の行動位置特定装置2000が対象クリップ10について行動スコアを計算する方法と同様に、中央クリップ100から行動スコアを計算する方法である。具体的には、魚眼処理は、1人以上の人物40を中央クリップ100から検出することと、人物クリップ60を中央クリップ100から検出された人物40ごとに生成することと、人物クリップ60の各々から特徴マップ90を抽出することと、行動スコアを特徴マップ90に基づいて計算するステップことと、を含む。以下、中央クリップ100について計算された行動スコアを示すベクトルを「行動スコアベクトル130」と呼ぶ。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】変更
【補正の内容】
【0076】
上述したように、行動位置特定装置2000は、魚眼処理の結果としての行動スコアベクトル130と、パノラマ処理の結果としての行動スコアベクトル140とを取得する。行動位置特定装置2000は、行動スコアベクトル130および行動スコアベクトル140を使用して、対象クリップ10内の各行動を位置特定する。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正の内容】
【0077】
いくつかの実装において、行動位置特定装置2000は、図12に示すように行動スコアベクトル130と行動スコアベクトル140とを別々に使用する。この場合、行動位置特定装置2000は、実施形態11の行動位置特定装置2000が行動スコアベクトル50を使用して対象クリップ10に対して行動位置特定を行う方法と同様の方法で、行動スコアベクトル130を使用して、中央クリップ100に対して行動位置特定を行う。これにより、中央クリップ10から検出された行動が位置特定される。また、行動位置特定装置2000は、非特許文献1で開示されている方法と同様の方法で、行動スコアベクトル140を使用してパノラマクリップ110の行動位置特定を行う。これにより、パノラマクリップ110から検出された行動が位置特定される。次いで、行動位置特定装置2000は、中央クリップ100に対して行われた行動位置特定の結果と、パノラマクリップ110に対して行われた行動位置特定の結果とを集約し、それによって、対象クリップ10全体について検出された行動クラスの行動を位置特定する。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0084
【補正方法】変更
【補正の内容】
【0084】
処理の第2のフローは、以下のようにして行われる。パノラマクリップ生成部2140は、中央クリップ100を生成する(S310)。パノラマ処理部2180は、パノラマクリップ110に対してパノラマ処理を行って、行動スコアベクトル140を計算する(S312)。位置特定部2100は、行動スコアベクトル140を使用して、パノラマクリップ10について検出された行動クラスの行動を位置特定する(S308)。
【国際調査報告】