(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008875
(43)【公開日】2025-01-20
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20250109BHJP
G06T 7/00 20170101ALI20250109BHJP
G06V 10/82 20220101ALI20250109BHJP
H04N 7/18 20060101ALI20250109BHJP
【FI】
G06T7/20 300A
G06T7/00 660B
G06T7/00 350C
G06V10/82
H04N7/18 U
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023111466
(22)【出願日】2023-07-06
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】関井 大気
(72)【発明者】
【氏名】佐藤 文彬
(72)【発明者】
【氏名】八馬 遼
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC12
5C054FC13
5C054HA19
5L096AA06
5L096BA02
5L096CA04
5L096DA01
5L096FA06
5L096FA09
5L096FA16
5L096FA18
5L096FA62
5L096FA66
5L096GA30
5L096GA34
5L096GA51
5L096HA11
5L096JA05
5L096KA04
(57)【要約】
【課題】事前学習段階と推論段階とにおける時空間行動検出モデルへの入力の違いによらず、高精度でオブジェクトの行動を検出できる情報処理装置、情報処理方法、およびプログラムを提供する。
【解決手段】本開示の訓練用データ生成装置は、動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する行動計算部と、任意の行動を示す文字列の入力を受け付ける入力部と、前記文字列に関する文字列特徴量を計算する文字列計算部と、前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算するスコア計算部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する行動計算部と、
任意の行動を示す文字列の入力を受け付ける入力部と、
前記文字列に関する文字列特徴量を計算する文字列計算部と、
前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算するスコア計算部と、
を備える、情報処理装置。
【請求項2】
前記行動計算部は、前記オブジェクトの特徴点に関する特徴点情報に基づいて、前記行動特徴量を計算する、
請求項1に記載の情報処理装置。
【請求項3】
前記行動計算部は、前記特徴点情報を入力として前記行動特徴量を出力するように事前学習された学習済みモデルを有する、
請求項2に記載の情報処理装置。
【請求項4】
前記行動計算部は、特徴抽出ニューロ演算を用いて前記行動特徴量を計算する、
請求項3に記載の情報処理装置。
【請求項5】
前記行動計算部は、Permutation-Equivariantな特性を有するディープニューラルネットワーク(DNN)で構成されている、
請求項4に記載の情報処理装置。
【請求項6】
前記行動計算部は、複数の動画像に映るオブジェクトの行動特徴量と、前記複数の動画像のそれぞれに対してあらかじめ与えられている行動ラベルに含まれる文字列の特徴量である文字列特徴量とを比較する対照学習により事前に学習されている、
請求項3に記載の情報処理装置。
【請求項7】
前記行動計算部は、前記動画像の各フレームにおける各オブジェクトの行動特徴量を前記動画像全体で集約した集約特徴量と、前記文字列特徴量とを比較する前記対照学習により事前に学習されている、
請求項6に記載の情報処理装置。
【請求項8】
前記集約特徴量は、特徴集約ニューロ演算を用いて計算される、
請求項7に記載の情報処理装置。
【請求項9】
前記集約特徴量は、Permutation-invariantな特性を有するディープニューラルネットワーク(DNN)を用いて計算される、
請求項8に記載の情報処理装置。
【請求項10】
前記スコア計算部は、前記行動特徴量および前記文字列特徴量とのコサイン類似度を計算して前記検出スコアとする、
請求項1に記載の情報処理装置。
【請求項11】
前記特徴点は、前記オブジェクト毎の関節点である、
請求項2に記載の情報処理装置。
【請求項12】
前記特徴点は、前記オブジェクト毎の輪郭に含まれる点の少なくともいずれかである、
請求項2に記載の情報処理装置。
【請求項13】
前記特徴点は、前記オブジェクトの外接矩形の頂点である、
請求項12に記載の情報処理装置。
【請求項14】
前記特徴点は、前記オブジェクトの中心位置を原点とする極座標における前記輪郭に含まれる点の少なくともいずれかである、
請求項12に記載の情報処理装置。
【請求項15】
前記特徴点情報は、前記オブジェクトを検出した時刻を含む、
請求項2に記載の情報処理装置。
【請求項16】
前記特徴点情報は、
前記特徴点が尤もらしく検出されていることを表す尤度スコア、ならびに、
前記オブジェクトの種類、前記特徴点の種類、および、前記オブジェクトの外観の少なくともいずれかを示す特徴ベクトル、
の少なくともいずれかを含む、
請求項2に記載の情報処理装置。
【請求項17】
コンピューターにより実行される情報処理方法であって、
動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算し、
任意の行動を示す文字列の入力を受け付け、
前記文字列に関する文字列特徴量を計算し、
前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算する、
情報処理方法。
【請求項18】
動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する手順と、
任意の行動を示す文字列の入力を受け付する手順と、
前記文字列に関する文字列特徴量を計算する手順と、
前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算する手順と、
をコンピューターに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、特定の行動をとっているオブジェクトを検出する情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
動画像に写っている人物や動物などのオブジェクトがどのような行動をとっているのかを検出する技術が要望されている。このような技術は、例えば監視カメラが撮影した動画像に映る人物が特定の注意すべき行動をとっていることを犯罪抑止のために検出したり、スポーツ映像に映る選手がどのようなプレイを行ったかを検出したりするために用いられる。
【0003】
このような要望に応えられる技術として、例えば非特許文献1に提案された技術がある。非特許文献1には、1つの動画像全体で1つの行動ラベルが与えられた動画像を用いて時空間行動検出モデルの学習を行う技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Arnab, A., Sun, C., Nagrani, A. and Schmid, C.: Uncertainty-Aware Weakly Supervised Action Detection from Untrimmed Videos, ECCV (2020)
【発明の概要】
【発明が解決しようとする課題】
【0005】
動画像の各フレームに映るオブジェクトがどのような行動をとっているのかを精度よく検出する検出モデルを学習するためには、学習用データとして用いられる動画像の各フレームに行動を示す正解ラベルを付与する必要がある。しかしながら、学習用データとして用いる大量の動画像の各フレームに移るオブジェクトに対し、正解ラベルを付与するためには非常にコスト(労力および時間)が必要となる。
【0006】
本開示は、事前学習段階と推論段階とにおける時空間行動検出モデルへの入力の違いによらず、高精度でオブジェクトの行動を検出できる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る情報処理装置は、動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する行動計算部と、任意の行動を示す文字列の入力を受け付ける入力部と、前記文字列に関する文字列特徴量を計算する文字列計算部と、前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算するスコア計算部と、を備える。
【0008】
本開示の一態様に係る情報処理方法は、コンピューターにより実行される情報処理方法であって、動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算し、任意の行動を示す文字列の入力を受け付け、前記文字列に関する文字列特徴量を計算し、前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算する。
【0009】
本開示の一態様に係るプログラムは、動画像のフレーム毎に検出された、前記動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する手順と、任意の行動を示す文字列の入力を受け付する手順と、前記文字列に関する文字列特徴量を計算する手順と、前記行動特徴量および前記文字列特徴量に基づいて、前記オブジェクト毎に、当該オブジェクトが前記文字列の示す行動をとっている度合いを示す検出スコアを計算する手順と、をコンピューターに実行させる。
【発明の効果】
【0010】
本開示は、事前学習段階と推論段階とにおける時空間行動検出モデルへの入力の違いによらず、高精度でオブジェクトの行動を検出できる。
【図面の簡単な説明】
【0011】
【
図1】本開示の実施の形態に係る情報処理装置を含む監視システムのシステム構成について説明するための図
【
図2】情報処理装置の構成について説明するための図
【
図3】事前学習段階における特定行動検出プログラムの構成および処理の流れについて説明するための図
【
図4】室内を歩行する人物について、特徴点抽出部が抽出した特徴点情報のうち、関節点のXY座標を模式的に示した図
【
図5】推論段階における特定行動検出プログラムの構成および処理の流れについて説明するための図
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の実施の形態について詳細に説明する。
【0013】
[システム構成]
まず、本開示の実施の形態に係る情報処理装置100を含む監視システム1のシステム構成について説明する。
【0014】
図1に示すように、監視システム1は、情報処理装置100と、監視カメラ110とをケーブル120で接続したものである。情報処理装置100に接続する監視カメラ110の台数は複数であってもよい。情報処理装置100と監視カメラ110との接続は、ケーブル120によって行われる必要はなく、例えば無線接続であってもよい。
【0015】
監視カメラ110は、所定の撮影方向へ向けて設置された状態で、監視対象箇所を継続的に撮影し続ける。監視カメラ110が撮影する動画像は、複数のフレーム画像を有する。監視カメラ110が撮影した動画像は、デジタル動画像データとして、情報処理装置100へ送信される。監視カメラ110が撮影した動画像は、情報処理装置100が随時、監視カメラ110から読み出してもよい。
【0016】
情報処理装置100は、監視カメラ110から取得した動画像を用いて、特定の行動をとるオブジェクトを検出する検出処理を実行する。
【0017】
オブジェクトは、例えば動画像に映る人物である。また、オブジェクトは、人物以外の動く物体、例えば道路交通の動画像における車両、工場の動画像における生産機械、牧場の動画像における家畜などであってもよい。
【0018】
特定の行動とは、例えば監視システム1のユーザーが指定した行動である。監視システム1のユーザーは、検出処理の実行時に、監視システム1に検出させたい行動を指定することができる。ユーザーによる行動の指定は、例えば情報処理装置100が有する入力部103(詳細は後述)などを介して行われればよい。
【0019】
特定の行動の例としては、以下のようなものがあげられる。例えば、ユーザーが店舗内に設置した監視システム1を用いて犯罪摘発を行うことを意図する場合、ユーザーは、窃盗、暴力などを特定の行動として設定する。また、ユーザーが店舗内に設置した監視システム1を用いて来店客の購買行動をチェックすることを意図する場合、ユーザーは、商品を手に取る、かごに入れる、などの行為を特定の行動として設定する。また、ユーザーが道路に設置された監視システム1を用いて交通監視を行うことを意図する場合、ユーザーは、多数の車両により生じる渋滞、または車両による事故などを特定の行動として設定する。
【0020】
[情報処理装置100の構成]
次に、本実施の形態に係る情報処理装置100の構成について説明する。
図2は、本実施の形態に係る情報処理装置100の構成について説明するための図である。
【0021】
情報処理装置100は、いわゆるコンピューターであって、本体部101、表示部102、および入力部103を備えている。
【0022】
表示部102は、情報処理装置100がユーザーに情報を提示するための装置である。表示部102としては、例えば、液晶ディスプレイ(LCD: Liquid Display Panel)を用いることができる。
【0023】
表示部102は複数の表示画面を備えていてもよい。表示部102は、監視カメラ110が撮影した動画像を表示したり、当該動画像を用いた特定行動の検出結果を表示したりするのに用いることができる。
【0024】
入力部103は、情報処理装置100がユーザーの指示入力を受け付けるための装置である。入力部103は、キーボードおよびポインティングデバイスである。ポインティングデバイスとしては、マウスを用いてもよいし、トラックボール等、マウス以外の装置であってもよい。
【0025】
また、入力部103としてタッチパッドを用いてもよい。この場合には、表示部102の表示画面を覆うように、タッチパッドが取着されることによって、表示部102および入力部103がタッチパネルを構成する。
【0026】
本体部101は、
図2に示すように、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、NIC(Network Interface Card)204、および記憶部205を備える。これらの各構成は、内部バス211を用いて相互に通信可能に接続されている。
【0027】
CPU201は、本体部101の電源投入時にROM202からブートプログラムを読み出して起動し、RAM203を作業用記憶領域として、記憶部205から読み出したOS(Operating System)や特定行動検出プログラム等のソフトウェアを実行する。
【0028】
ROM202およびRAM203は半導体メモリである。特に、ROM202は不揮発性の半導体メモリである。
【0029】
NIC204は、LAN(Local Area Network)やインターネットといった通信ネットワークを経由して他の装置と通信するための処理を実行する。この通信は、有線通信であってもよいし、無線通信であってもよい。また、USB(Universal Serial Bus)機器のように、他の装置を情報処理装置100に直接接続して行う通信であってもよい。
【0030】
記憶部205は、大容量記憶装置であって、ハードディスク(HDD: Hard Disk Drive)のように情報処理装置100に内蔵された記憶装置だけでなく、クラウドストレージのような外部記憶装置を併用してもよい。
【0031】
記憶部205は、上記のようなソフトウェアを記憶する他、監視カメラ110が撮影した動画像や、後述のように、特定行動検出プログラムに用いられる機械学習モデルであるニューラルネットワークのパラメーターや学習データ、特定行動検出プログラムによる検出結果なども記憶される。
【0032】
CPU201は、内部バス211を経由して、表示部102、入力部103および監視カメラ110にアクセスする。また、監視カメラ110が撮影した動画像は、ケーブル120および内部バス211を経由して、記憶部205に記憶される。
【0033】
[特定行動検出プログラム]
次に、情報処理装置100において実行される特定行動検出プログラムについて説明する。特定行動検出プログラムは、機械学習モデル、特にニューラルネットワークを用いて、特定行動をとるオブジェクトを検出する特定行動検出処理を行う。
【0034】
なお、特定行動検出プログラムは、特定行動検出処理を実行する推論段階のための構成と、推論段階を実現するための事前学習段階のための構成と、をそれぞれ有する。以下の説明では、特定行動検出プログラムが有する構成について、事前学習段階の構成と、推論段階の構成と、をそれぞれ分けて説明する。
【0035】
(事前学習段階の構成)
図3は、事前学習段階における特定行動検出プログラムの構成および処理の流れについて説明するための図である。特定行動検出プログラムは、事前学習段階の構成として、特徴点抽出部301、行動計算部302、行動集約部303、行動分類学習部304と、文字列計算部305と、距離学習部306と、を有する。
【0036】
事前学習段階において、特定行動検出プログラムには学習用データセットが入力される。学習用データセットでは、大量の動画像データと、その動画像に映るオブジェクトがどのような行動を取っているかを示す行動ラベルデータと、がセットになっている。
【0037】
学習用データセットに含まれる動画像データは、監視カメラ110が撮影した動画像でなくてもよい。言い換えると、学習用データセットには、監視カメラ110の設置先とは異なる場所で撮影された動画像が含まれていてもよい。
【0038】
上述したように、学習用データセットに含まれる1つの行動ラベルは、1つの動画像とセットになっている。行動ラベルは、動画像が、全体として、一言でいうとオブジェクトのどのような行動をとっている動画像であるのか、を示すラベルである。行動ラベルは、例えば「running on treadmill」、「wrestling」、「belly dancing」など、行動を表す文字列により構成される。すなわち、学習用データセットに含まれる動画像が、全体としてオブジェクト同士がレスリングを行う動画像であった場合、行動ラベルとして「wrestling」が付与される。
【0039】
学習用データセットは監視カメラ110が撮影した画像でなくてもよいため、本開示に係る情報処理装置100の特定行動検出プログラムの事前学習に用いる学習用データセットとしては、既に存在するデータセットを用いることができる。これにより、事前学習のために、監視カメラ110を用いて動画像データを取得したり、監視カメラ110から取得した動画像データに行動ラベルを付与したり、といった学習用データセット生成のための労力を、大幅に低減することができる。
【0040】
特徴点抽出部301は、動画像の入力を受け付けると、機械学習モデルを用いたニューロ演算によって、当該動画像を構成するフレーム毎に、オブジェクト(例えば、人物)の特徴点を抽出し、特徴点に関する特徴点情報を生成する。特徴点とは、例えばオブジェクトの骨格を構成する関節点である。
【0041】
特徴点情報は、例えば、特徴点抽出部301が特徴点(関節点)を検出した時刻、間接点の座標、間接点が尤もらしく検出されていることを表す尤度スコア、オブジェクトの種類を表すラベル、関節点の種類を表す属性、および、オブジェクトの外観を表す属性の少なくともいずれかを含む。
【0042】
関節点の座標とは、フレーム内における当該関節点のXY座標値、および当該フレームのフレーム番号である。
【0043】
関節点の尤度スコアとは、当該関節点が尤もらしく検知されていることを表す確率である。検知した座標に関節点が位置することが確実である場合には確率が1に近くなり、あまり確実でない場合には確率が小さくなる。
【0044】
オブジェクトの種類を表すラベルとは、当該関節点を含むオブジェクトが属するクラスを表す情報である。例えば、ラベル値が「0」である場合には当該オブジェクトは「人物」を映したものであり、「1」である場合には「シャベル」を映したもの、「2」である場合には「ラケット」を映したもの等とすることができる。
【0045】
関節点の属性とは、当該関節点が属するクラスである。例えば、関節点の属性が「0」である場合には当該関節点は「肘」を表し、「1」である場合には「手首」を表し、「2」である場合には「肩」を表す等とすることができる。
【0046】
オブジェクトの外観を表す属性とは、当該関節点を含むオブジェクトの外観を識別する情報を抽象的に数値化したベクトルである。
【0047】
オブジェクトの種類、関節店の種類、及び、オブジェクトの外観は、複数の値を成分とするベクトル量により表されてもよい。
【0048】
特徴点抽出部301としては、例えば、OpenPoseを用いることができる。OpenPoseは、米カーネギーメロン大学CTTEC(Center for Technology Transfer and Enterprise Creation)で開発されたソフトウェアで、複数の人物の関節点と、関節点どうしの接続関係と、をリアルタイムで検出することができる(Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh, “OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”, インターネットhttps://arxiv.org/abs/1812.08008を参照)。
【0049】
OpenPoseでは、関節点として、人物の鼻、心臓および左右の肩、肘、手首、腰、膝、足首、目および耳の位置に相当する座標が抽出される。なお、本開示に係る特徴点抽出部301は、OpenPoseに限定されるものではなく、OpenPose以外の機械学習モデルを用いて関節点に関する情報を抽出してもよい。
【0050】
特徴点抽出部301は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)とセルフアテンション機構との少なくとも一方を含むのが望ましい。
【0051】
特徴点抽出部301は、動画像から抽出した特徴点情報を、行動計算部302へ出力する。
【0052】
図4は、室内を歩行する人物について、特徴点抽出部301が抽出した特徴点情報のうち、関節点のXY座標を模式的に示した図である。
図4に示すように、室内を歩行する人物の関節座標が、フレーム#1からフレーム#4までの各フレームについてそれぞれ抽出され、特徴点情報を構成する。
【0053】
なお、特徴点抽出部301が抽出する特徴点は、関節点以外に、オブジェクトの輪郭に含まれる点、例えばオブジェクトを囲む外接矩形の頂点であってもよい。この場合、頂点の座標として、フレーム内における当該頂点のXY座標値、および当該フレーム番号を用いる。頂点の尤度スコアとしては、当該頂点が尤もらしく検出されていることを表す確率が用いられる。また、オブジェクトのラベルとしては、当該頂点を有する外接矩形に囲まれたオブジェクトが属するクラスを表す情報が用いられる。頂点の属性は、当該頂点を有する外接矩形における当該頂点の位置を表す。例えば、頂点の属性が「0」である場合には当該頂点は外接矩形の「左上」の頂点であり、「1」である場合には「右上」の頂点である等とすることができる。
【0054】
頂点に関する情報を抽出する場合には、例えば、YOLO(You Only Look Once)を用いることができる。YOLOは、画像に含まれているオブジェクトを囲むバウンディングボックスと、当該オブジェクトが属するクラス予測確率とを抽出する深層ニューラルネットワーク(DNN:Deep Neural Network)である。
【0055】
DNNは、多層ニューラルネットワークのうち、特に4層以上のものをいう。DNNを用いれば、高い精度で行動特徴量を抽出することができると期待されるため、画像認識処理に留まることなく、様々な分野で応用されている(Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, “You Only Look Once: Unified, Real-Time Object Detection”, インターネット<https://arxiv.org/abs/1506.02640>を参照)。YOLO以外の機械学習モデルを用いて、外接矩形の頂点に関する情報を抽出してもよい。
【0056】
行動計算部302は、特徴点抽出部301から取得した特徴点情報に基づいて、行動特徴量を抽出する。行動特徴量は例えばベクトル量である。当該ベクトルは、当該行動特徴量に係る人物などのオブジェクトの行動を識別する情報を抽象的に数値化したベクトルである。行動特徴量は、成分の数が固定されているという意味において、固定長のベクトルである。
【0057】
行動計算部302には深層ニューラルネットワーク(Deep Neural Network:DNN)を用いることができる。本実施の形態においては、DNNとして、例えばStructured Keypoint Poolingを用いて、特徴点情報から行動特徴量を抽出すればよい(Ryo Hachiuma, Fumiaki Sato, Taiki Sekii, “Unified Keypoint-based Action Recognition Framework via Structured Keypoint Pooling”, インターネット<https://arxiv.org/abs/2303.15270>を参照)。ただし、本開示ではDNNとして上述の例に限られず、適宜のDNNを用いてもよい。
【0058】
行動計算部302に用いられるPointNetは、例えばPermutation Equivariantなニューラルネットワークである。
【0059】
行動計算部302は、事前学習段階において、事前に用意された学習用データセットに含まれている動画像に基づき特徴点抽出部301が抽出した特徴点情報を用いて、機械学習を行う。機械学習により設定されたパラメーターは、例えば記憶部205などに記憶される。
【0060】
行動計算部302は、フレーム毎、かつ各フレームに映るオブジェクト毎に、行動特徴量を行動集約部303へ出力する。
【0061】
行動集約部303は、行動計算部302がフレームごとに計算した行動特徴量を動画像全体で集約し、動画像全体で1つの集約特徴量を計算する。
【0062】
行動集約部303は、例えばMax Poolingを用いて集約特徴量を算出する。Max Poolingは、特徴量空間において、ある領域の最大値を抽出することで集約を行う処理である。
【0063】
行動集約部303は、行動計算部302から取得した行動特徴量のうち、例えばフレーム毎、またはオブジェクト毎に個別の行動特徴量を集約し、さらに動画像全体における行動特徴量を集約することで、集約特徴量を計算する。
【0064】
行動集約部303は、例えばPermutation invariantなニューラルネットワークである。
【0065】
行動分類学習部304は、動画像単位の集約特徴量を特定のクラスに分類する行動分類を行う。
【0066】
文字列計算部305は、学習用データセットに含まれる行動ラベルに基づいて、文字列特徴量を計算する。行動ラベルは、上述したように、動画像が全体として、オブジェクトがどのような行動をとっているかを示す文字列である。文字列計算部305は、例えばTransformerを用いて、行動ラベルの文字列から文字列特徴量を計算する。
【0067】
Transformerは、入力された文字列に対して形態素解析等の各種処理を行い、文字列に含まれる単語同士の関係性等を含む特徴量を計算するものである。
【0068】
Transformerは、事前学習段階よりもさらに前の段階において、複数の文字列を用いてあらかじめ学習された機械学習モデルで構成されていればよい。さらに、Transformerの学習に用いられる文字列は、行動ラベルを構成する文字列に限られることなく、一般的な多数の文字列であってもよい。
【0069】
距離学習部306は、行動集約部303が出力した集約特徴量と、文字列計算部305が出力した文字列特徴量とに基づき、特徴量間の距離に関する対照学習を行う。対照学習(Contrastive Learning)は、自己教師あり学習手法の1つであり、ラベル付けを行うことなく、データ同士を比較する仕組みを用いて、膨大なデータに基づき自己学習を行うことができる。対照学習では、集約特徴量を、正しい行動ラベルの文字列特徴量には近づけ、異なる(間違った)行動ラベルの文字列特徴量からは遠ざけるように特徴量を学習する。これにより、画像全体における各オブジェクトの行動特徴量を集約した集約特徴量と、行動ラベルの文字列に対応する文字列特徴量と、を同一の特徴空間で表すことができる。機械学習により設定されたパラメーターは、例えば記憶部205などに記憶される。
【0070】
以上説明したように、特定行動検出プログラムは、動画像と、動画像全体に対して1つのみ与えられた行動ラベルとの学習用データセットを用いて事前学習を行う。特定行動検出プログラムの事前学習は、行動分類学習部304による行動分類と、距離学習部306による対照学習と、のマルチタスク学習である。
【0071】
これにより、特定行動検出プログラムは、動画像および行動ラベルが入力されたとき、その行動ラベルが動画像全体の行動を示す文字列として適切であるか否かを公的に判断できるように、効率よく学習することができる。
【0072】
(推論段階の構成)
以上の事前学習段階における学習の後、推論段階では、特定行動検出プログラムは、動画像に映るオブジェクトの中から、ユーザーにより指定された任意の行動をとっているオブジェクトを検出する。ユーザーにより指定された任意の行動とは、ユーザーが入力部103を介して入力した、任意の文字列が示す行動である。すなわち、推論段階において、特定行動検出プログラムが検出すべき行動は、事前学習段階において学習用データセットに含まれていた動画像毎の行動ラベルが示す行動とは無関係である。言い換えると、推論段階において、特定行動検出プログラムは、事前学習において学習した行動ラベルが示す行動とは全く異なる行動がユーザーにより指定されたとしても、指定された行動をとっているオブジェクトを検出するものである。
【0073】
ここで、推論段階における入力は、監視カメラ110によって撮影された動画像、および、入力部103を介してユーザーにより入力された文字列である。ユーザーが入力する文字列は、上述したように、ユーザーが検出したい任意の行動を示す文字列である。ユーザーが入力する文字列は、事前学習段階において特定行動検出プログラムの学習に用いられた学習用データセットに含まれる複数種類の行動ラベルを示す文字列と同じであってもよいし、全く異なる文字列であってもよい。
【0074】
具体例を挙げると、上述した例のように学習用データセットに含まれる行動ラベルの文字列が「running on treadmill」、「wrestling」、「belly dancing」であった場合、ユーザーが入力する文字列は、例えば「violence」のように行動ラベルの文字列とは全く無関係の文字列であってもよい。
【0075】
図5は、推論段階における特定行動検出プログラムの構成および処理の流れについて説明するための図である。推論段階における特定行動検出プログラムは、特徴点抽出部401と、行動計算部402と、文字列計算部403と、スコア計算部404と、検出結果出力部405と、を有する。
【0076】
特徴点抽出部401は、事前学習段階における特徴点抽出部301と同様の動作を行う。すなわち、特徴点抽出部401は、動画像の入力を受け付けると、機械学習モデルを用いたニューロ演算によって、当該動画像を構成するフレーム毎に、オブジェクト(例えば、人物)の特徴点を抽出し、特徴点に関する特徴点情報を生成する。特徴点とは、例えばオブジェクトの骨格を構成する関節点である。
【0077】
行動計算部402は、特徴点抽出部401から取得した特徴点情報に基づいて、事前学習段階で学習されたパラメーターが適用された学習済みモデルを用いて、行動特徴量を抽出する。ここで、推論段階における行動計算部402で用いられる学習済みモデルは、事前学習段階において機械学習が行われた行動計算部302のパラメーターが適用され、固定されている。言い換えると、行動計算部402は、推論段階においては新たな学習を行わず、入力された特徴点情報に基づく行動特徴量の計算、および出力を行う。
【0078】
このように、推論段階では行動計算部402は新たな学習を行わないことから、推論段階における情報処理装置100の計算リソースが少なくて済む。これにより、情報処理装置100を低コストで提供することができる。
【0079】
行動計算部402は、各フレームに映るオブジェクト毎に、行動特徴量をスコア計算部404へ出力する。
【0080】
文字列計算部403は、ユーザーが入力した文字列に基づいて、事前学習段階で学習されたパラメーターが適用された学習済みモデルを用いて、文字列特徴量を計算する。推論段階における文字列計算部403で用いられる学習済みモデルは、事前学習段階において機械学習が行われた文字列計算部305のパラメーターが適用され、固定されている。言い換えると、文字列計算部403は、行動計算部402と同様に、推論段階においては新たな学習を行わず、入力された文字列に基づく文字列特徴量の計算、および出力を行う。
【0081】
このように、推論段階では文字列計算部403は新たな学習を行わないことから、推論段階における情報処理装置100の計算リソースが少なくて済む。これにより、情報処理装置100を低コストで提供することができる。
【0082】
スコア計算部404は、行動計算部402から取得された、オブジェクト毎の行動特徴量と、文字列計算部403から取得された、ユーザーが指定した任意の文字列の文字列特徴量と、に基づいて、オブジェクト毎に検出スコアを計算する。
【0083】
スコア計算部404は、例えば行動特徴量と、文字列特徴量をと同一の特徴量空間において表し、行動特徴量と文字列特徴量とのコサイン類似度を計算する。すなわち、スコア計算部404が計算する検出スコアは、行動特徴量と文字列特徴量とのコサイン類似度である。
【0084】
検出結果出力部405は、スコア計算部404から取得された検出スコアに基づいて、検出結果を出力する。検出結果出力部405による検出結果の出力方法については、本開示では特に限定しないが、検出結果出力部405は、例えば検出スコアが所定の閾値以上であるオブジェクトを抽出し、抽出したオブジェクトと検出スコアとをセットで出力すればよい。
【0085】
検出結果出力部405が出力する検出結果は、例えば表示部102に表示される。本開示では表示部102における表示方法については限定しないが、例えば検出されたオブジェクト(ユーザーが指定した行動をとっていると判断されたオブジェクト)と、その検出スコアと、が一覧表示されればよい。
【0086】
<作用、効果>
以上説明したように、本開示の実施の形態に係る情報処理装置100は、動画像のフレーム毎に検出された、動画像に映るオブジェクト毎の行動に関する行動特徴量を計算する行動計算部402と、任意の行動を示す文字列の入力を受け付ける入力部103と、文字列に関する文字列特徴量を計算する文字列計算部403と、行動特徴量および文字列特徴量に基づいて、オブジェクト毎に、当該オブジェクトが文字列の示す行動をとっている度合いを示す検出スコアを計算するスコア計算部404と、を備える。
【0087】
本開示の実施の形態に係る情報処理装置100によれば、行動計算部402が行動特徴量を計算するために用いる学習済みモデルは、入力部103が入力を受け付ける文字列が示す行動とは無関係な学習用データを用いて事前に学習される。このため、当該学習済みモデルの学習用データとして、入力部103が入力を受け付ける文字列が示す行動とは無関係な行動を含む動画像を用いることができる。これにより、事前学習段階において学習した行動ラベルが示す行動とは全く異なる行動が推論段階において入力部103に入力されたとしても、入力された文字列が示す行動をとっているオブジェクトを問題なく検出できる。従って、行動計算部402が行動特徴量を計算するために用いる学習済みモデルを学習するための学習用データとして、推論段階で入力部103が受け付けるであろう文字列が示す行動に特化した学習を事前学習段階で行う必要がない。このため、事前学習段階における学習モデルの学習用データには、例えば既存の大規模データセットなどを用いることができるので、当該学習済みモデルの学習コストを低減することができる。
【0088】
また、本開示の実施の形態に係る情報処理装置100によれば、以下の効果が奏される。時空間行動検出モデルに入力される動画像は、事前学習段階と推論段階とで異なる画像であることが想定される。例えば事前学習段階で学習に用いられた動画像に映るオブジェクトの外観と、推論段階で入力された動画像に映るオブジェクトの外観とが異なる(例えば服装が異なるなど)場合、外観の相違の影響により時空間行動検出モデルの行動検出精度が低下してしまうことがある。
【0089】
本開示の実施の形態に係る情報処理装置100において、行動計算部402への入力は例えばオブジェクトの骨格などを示す特徴点情報であり、動画像ではない。情報処理装置100の事前学習段階における入力と、推論段階における入力とにおいて、その外観が大きく異なる事態が生じにくい。これにより、情報処理装置100における、いわゆるドメインシフト(学習に使用したデータと推論段階で推論対象となるデータとの性質が異なることにより、推論性能が大きく低下すること)の発生を防止することができる。
【0090】
また、本開示の実施の形態に係る情報処理装置100において、行動計算部402は、特徴点情報を入力として行動特徴量を出力するように事前学習された学習済みモデルを有する。この学習済みモデルは、事前学習段階において、行動計算部302により学習されたパラメーターを用いており、そのパラメーターは推論段階において固定されている。
【0091】
さらに、本開示の実施の形態に係る情報処理装置100では、事前学習段階において、行動計算部302は、学習用データセットに含まれる種々の動画像を用いて、特徴点情報に基づく行動特徴量を計算するための学習を行う。また、事前学習段階において、距離学習部306は、行動特徴量が動画像全体で集約された集約特徴量と、文字列特徴量とに基づいて対照学習を行う。さらに、事前学習段階より前の段階において、文字列計算部305は、複数の文字列を用いて、文字列特徴量を計算するための学習を行う。これらの事前学習により、推論段階における行動計算部402、文字列計算部403、およびスコア計算部404は、さらなる学習を行わないため、推論段階における不要な学習コストを省略することができる。
【0092】
なお、本開示の実施の形態に係る情報処理装置100では、事前学習段階において入力される文字列は、学習用データセットに含まれる、動画像の行動を示す行動ラベルの文字列である。一方で、推論段階において情報処理装置100に入力される文字列は、ユーザーが入力部103等を介して入力することで指定した、任意の文字列である。
【0093】
事前学習段階において入力される行動ラベルの文字列と、推論段階において情報処理装置100に入力される文字列との間には、上述したように、何ら関係がなくてもよい。すなわち、推論段階においてユーザーが指定する任意の文字列は、事前学習段階において学習されている行動ラベルの文字列ではなくてもよい。さらに言い換えると、推論段階において情報処理装置100に入力される文字列は、情報処理装置100が有する学習済みモデルにとって未知のものであってもよい。
【0094】
このような構成により、情報処理装置100の事前学習段階で用いる学習用データセットは、推論段階でユーザーが指定する文字列とは何ら関係がない行動ラベルの動画像を含む学習用データセットであればよい。このため、上述したように、学習用データセットを用意するためのコストが少なくて済むとともに、推論段階においてユーザーが指定する文字列について、あらかじめ学習しておく必要がないため、学習コストを低減することができる。
【0095】
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形や変更が可能である。
【0096】
上述した実施の形態において、情報処理装置100と監視カメラ110とが別体である場合を例にとって説明したが、本開示はこれに限定されない。例えば、情報処理装置が監視カメラを有していてもよい。
【0097】
また、上述した実施の形態において、情報処理装置100が有する各構成は、クラウド上に配置されていてもよい。すなわち、情報処理装置100は、いわゆるクラウドサーバとして構成されてもよい。
【0098】
また、上述した実施の形態において、情報処理装置100は特徴点抽出部301,401を有していたが、本開示の情報処理装置は、入力される動画像から特徴点を抽出する構成を有していなくてもよい。この場合、本開示に係る情報処理装置は、外部の装置が動画像に基づいて抽出した特徴点情報を入力として受け付け、当該特徴点情報に基づいて事前学習段階及び推論段階における各種処理を実行してもよい。
【符号の説明】
【0099】
1 監視システム
100 情報処理装置
101 本体部
102 表示部
103 入力部
110 監視カメラ
120 ケーブル
201 CPU
202 表示部
203 入力部
204 NIC
205 記憶部
211 内部バス
301 特徴点抽出部
302 行動計算部
303 行動集約部
304 行動分類学習部
305 文字列計算部
306 距離学習部
401 特徴点抽出部
402 行動計算部
403 文字列計算部
404 スコア計算部
405 検出結果出力部