(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024013194
(43)【公開日】2024-01-31
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06V 10/764 20220101AFI20240124BHJP
G06T 7/00 20170101ALI20240124BHJP
【FI】
G06V10/764
G06T7/00 350B
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023054328
(22)【出願日】2023-03-29
(31)【優先権主張番号】17/867,701
(32)【優先日】2022-07-19
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(71)【出願人】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】内山 友樹
(72)【発明者】
【氏名】枌 尚弥
(72)【発明者】
【氏名】新沼 厚一郎
(72)【発明者】
【氏名】福井 和広
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096DA04
5L096FA02
5L096GA30
5L096GA51
5L096HA04
5L096JA22
5L096KA04
(57)【要約】 (修正有)
【課題】動画に含まれる領域のうち、クラスの識別に重要な領域を可視化する情報処理プログラム、情報処理方法及び情報処理装置を提供する。
【解決手段】情報処理装置の処理手順は、連続する複数のフレームを有する動画データを取得し、動画データを入力とし、動画データのクラスを出力として訓練されたモデルに、取得した動画データを入力することで、動画データのクラスの第1尤度を算出し、動画データを基にして、動画データに含まれる領域の移動を示すオプティカルフローを算出し、オプティカルフローを基にして、動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定することで、遮蔽動画データを生成し、遮蔽動画データを、モデルに入力することで、遮蔽動画データのクラスの第2尤度を算出し、第1尤度と、第2尤度とを基にして、動画データの領域のうち、クラスの識別に影響する領域を特定して、特定したクラスの識別に影響する領域を表示する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
連続する複数のフレームを有する動画データを取得し、
前記動画データを入力とし、前記動画データのクラスを出力として訓練されたモデルに、取得した前記動画データを入力することで、前記動画データのクラスの第1尤度を算出し、
前記動画データを基にして、前記動画データに含まれる領域の移動を示すオプティカルフローを算出し、
前記オプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定することで、遮蔽動画データを生成し、
前記遮蔽動画データを、前記モデルに入力することで、前記遮蔽動画データのクラスの第2尤度を算出し、
前記第1尤度と、前記第2尤度とを基にして、前記動画データの領域のうち、前記クラスの識別に影響する領域を特定し、
特定した前記クラスの識別に影響する領域を表示する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記特定する処理は、前記第1尤度と、前記第2尤度との差分が閾値以上である場合に、前記動画データの各フレームの領域であって、前記遮蔽動画データの各フレームの遮蔽領域に対応する位置の領域を、前記クラスの識別に影響する領域として特定することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記遮蔽動画データを生成する処理は、前記動画データに含まれる連続する複数のフレームのうち、途中のフレームから前記遮蔽領域をそれぞれ設定することで、前記遮蔽動画データを生成することを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記遮蔽動画データを生成する処理は、前記複数のオプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定する処理を繰り返し実行することで、複数の遮蔽画像データを生成し、前記複数の遮蔽画像データに設定した遮蔽領域を統合することで、一つの遮蔽画像データを生成することを特徴とする請求項1に記載の情報処理プログラム。
【請求項5】
連続する複数のフレームを有する動画データを取得し、
前記動画データを入力とし、前記動画データのクラスを出力として訓練されたモデルに、取得した前記動画データを入力することで、前記動画データのクラスの第1尤度を算出し、
前記動画データを基にして、前記動画データに含まれる領域の移動を示すオプティカルフローを算出し、
前記オプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定することで、遮蔽動画データを生成し、
前記遮蔽動画データを、前記モデルに入力することで、前記遮蔽動画データのクラスの第2尤度を算出し、
前記第1尤度と、前記第2尤度とを基にして、前記動画データの領域のうち、前記クラスの識別に影響する領域を特定し、
特定した前記クラスの識別に影響する領域を表示する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項6】
前記特定する処理は、前記第1尤度と、前記第2尤度との差分が閾値以上である場合に、前記動画データの各フレームの領域であって、前記遮蔽動画データの各フレームの遮蔽領域に対応する位置の領域を、前記クラスの識別に影響する領域として特定することを特徴とする請求項5に記載の情報処理方法。
【請求項7】
前記遮蔽動画データを生成する処理は、前記動画データに含まれる連続する複数のフレームのうち、途中のフレームから前記遮蔽領域をそれぞれ設定することで、前記遮蔽動画データを生成することを特徴とする請求項5に記載の情報処理方法。
【請求項8】
前記遮蔽動画データを生成する処理は、前記複数のオプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定する処理を繰り返し実行することで、複数の遮蔽画像データを生成し、前記複数の遮蔽画像データに設定した遮蔽領域を統合することで、一つの遮蔽画像データを生成することを特徴とする請求項5に記載の情報処理方法。
【請求項9】
連続する複数のフレームを有する動画データを取得し、
前記動画データを入力とし、前記動画データのクラスを出力として訓練されたモデルに、取得した前記動画データを入力することで、前記動画データのクラスの第1尤度を算出し、
前記動画データを基にして、前記動画データに含まれる領域の移動を示すオプティカルフローを算出し、
前記オプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定することで、遮蔽動画データを生成し、
前記遮蔽動画データを、前記モデルに入力することで、前記遮蔽動画データのクラスの第2尤度を算出し、
前記第1尤度と、前記第2尤度とを基にして、前記動画データの領域のうち、前記クラスの識別に影響する領域を特定し、
特定した前記クラスの識別に影響する領域を表示する
処理を実行する制御部を有する情報処理装置。
【請求項10】
前記特定する処理は、前記第1尤度と、前記第2尤度との差分が閾値以上である場合に、前記動画データの各フレームの領域であって、前記遮蔽動画データの各フレームの遮蔽領域に対応する位置の領域を、前記クラスの識別に影響する領域として特定することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記遮蔽動画データを生成する処理は、前記動画データに含まれる連続する複数のフレームのうち、途中のフレームから前記遮蔽領域をそれぞれ設定することで、前記遮蔽動画データを生成することを特徴とする請求項9に記載の情報処理装置。
【請求項12】
前記遮蔽動画データを生成する処理は、前記複数のオプティカルフローを基にして、前記動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定する処理を繰り返し実行することで、複数の遮蔽画像データを生成し、前記複数の遮蔽画像データに設定した遮蔽領域を統合することで、一つの遮蔽画像データを生成することを特徴とする請求項9に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
静止画像または動画像のクラスを認識する際に、Deep Learningモデル(以下、DLモデル)が用いられている。
【0003】
静止画像を認識する技術は、静止画像認識と呼ばれ、DLモデルとして、2D-CNN(Convolutional Neural Network)が用いられる。静止画像認識では、1枚の静止画像(横幅×高さ)を2D-CNNに入力し、1枚の静止画像に含まれる対象物の認識クラス(犬、猫等の尤度)を出力する。
【0004】
一方、動画像を認識する技術は、動画像認識とよばれ、DLモデルとして、3D-CNNが用いられる。動画には、時系列のフレーム(静止画像)が含まれる。動画像認識では、動画(横幅×高さ×フレーム数)を3D-CNNに入力し、一つの認識クラスを出力する。動画像認識では、動画像中の一連の動きから、どのようなシーンの動画なのかを認識する。
【0005】
図10は、動画像認識の認識結果の一例を示す図である。たとえば、動画Mv10を、3D-CNNに入力すると、認識クラス「Punching」が出力される。動画Mv11を、3D-CNNに入力すると、認識クラス「Mopping floor」が出力される。
【0006】
ここで、上記のDLモデル(2D-CNN、および、3D-CNN)はブラックボックスとして扱われことが多いが、DLモデルの挙動の根拠を理解することで、DLモデルの性能を向上させたり、DLモデルを安心して利用できたりするため、DLモデルを可視化する技術が求められている。
【0007】
たとえば、2D-CNNを可視化する従来技術として、OSM(Occlusion Sensitivity Map)等がある。従来技術(OSM等)では、DLモデルが画像データのクラスを識別する場合に、識別に重要となる画像領域を可視化する。
【0008】
図11は、従来技術を説明するための図である。従来技術では、元の画像IM10に対して、遮蔽領域の位置を変更しながら、複数の遮蔽画像を生成する。たとえば、画像IM10に、遮蔽領域11-1を設定することで、遮蔽画像IM10-1を生成する。従来技術では、他も同様にして、画像IM10に対して、遮蔽領域11-2~11-8を設定することで、遮蔽画像IM10-2~10-8を生成する。
【0009】
従来技術では、遮蔽領域を設定していない画像IM10を2D-CNNに入力して、基準となるクラス類似度を算出する。基準となるクラス類似度を、基準クラス類似度と表記する。
【0010】
従来技術では、遮蔽画像IM10-1を2D-CNNに入力し、遮蔽画像IM10-1のクラス類似度を算出する。従来技術では、他も同様にして、遮蔽画像IM10-2~10-8を2D-CNNに入力し、遮蔽画像IM10-2~10-8のクラス類似度を算出する。
【0011】
従来技術では、遮蔽画像IM10-1~10-8の各クラス類似度と、基準クラス類似度とを比較して、クラス類似度の低下が大きい遮蔽画像を特定し、特定した遮蔽画像の遮蔽領域を、クラスの識別に重要な領域として強調表示する。
【0012】
図12は、従来技術の処理結果を示す図である。
図12において、画像IM15を、2D-CNNの可視化に利用した元画像とする。従来技術の実行結果は、実行結果5に示すものとなり、クラスの識別に重要な領域として、領域5aが強調表示されている。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】Zeiler M.D., Fergus R.“Visualizing and Understanding Convolutional Networks” In: Fleet D., Pajdla T., Schiele B., Tuytelaars T. (eds) Computer Vision - ECCV 2014. Lecture Notes in Computer Science, vol 8689. Springer, Cham
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、上述した従来技術を、3D-CNN等の動画像認識を実行するネットワークに適用することができないという問題がある。
【0015】
たとえば、従来技術では、静止画像に対して設定した遮蔽領域が、遮蔽領域に対応する領域の動きに追従するものではないため、ユーザが理解できる可視化効果を得ることが難しい。
【0016】
図13は、従来技術の問題を説明するための図である。仮に、既存のOSMをそのまま3D-CNNに適用すると、動画中の画素の位置の変化によらず、常に同じ位置に遮蔽領域が設定される。
図13では、動画データMv20a,20b,20c,20dを示す。動画データMv20a~20dは、3D-CNNに入力される動画データであり、動画に含まれる時系列のフレームが積み重なっている。動画データMv20aに、OSMをそのまま適用すると、動画データMv20aの先頭のフレームに遮蔽領域21が設定され、続くフレームにおいても同様の位置に、遮蔽領域21が設定される。動画データMv20b~20dについても同様に、それぞれ、先頭のフレームに遮蔽領域21が設定され、続くフレームにおいても同様の位置に、遮蔽領域21が設定される。
図13に示すように、先頭のフレームと同様の位置に、遮蔽領域21が設定されると、フレーム毎に異なる領域を遮蔽する場合があり、特定の領域が遮蔽されることによる、出力結果の影響を特定することができなくなる。
【0017】
1つの側面では、本発明は、動画に含まれる領域のうち、クラスの識別に重要な領域を可視化することができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0018】
第1の案では、情報処理プログラムは、コンピュータに、連続する複数のフレームを有する動画データを取得し、動画データを入力とし、動画データのクラスを出力として訓練されたモデルに、取得した動画データを入力することで、動画データのクラスの第1尤度を算出し、動画データを基にして、動画データに含まれる領域の移動を示すオプティカルフローを算出し、オプティカルフローを基にして、動画データに含まれる複数のフレームに遮蔽領域をそれぞれ設定することで、遮蔽動画データを生成し、遮蔽動画データを、モデルに入力することで、遮蔽動画データのクラスの第2尤度を算出し、第1尤度と、第2尤度とを基にして、動画データの領域のうち、クラスの識別に影響する領域を特定し、特定したクラスの識別に影響する領域を表示する処理を実行させる。
【発明の効果】
【0019】
動画に含まれる領域のうち、クラスの識別に重要な領域を可視化することができる。
【図面の簡単な説明】
【0020】
【
図1】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図3】
図3は、遮蔽動画テーブルのデータ構造の一例を示す図である。
【
図4】
図4は、オプティカルフローの一例を示す図である。
【
図5】
図5は、遮蔽動画データを生成する処理を説明するための図である。
【
図6】
図6は、表示制御部の出力結果の一例を示す図である。
【
図7】
図7は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【
図8】
図8は、情報処理装置のその他の処理を説明するための図である。
【
図9】
図9は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図10】
図10は、動画像認識の認識結果の一例を示す図である。
【
図13】
図13は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【0021】
以下、図面に基づいて、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
【実施例0022】
本実施例に係る情報処理装置の処理の一例について説明する。
図1は、本実施例に係る情報処理装置の処理を説明するための図である。情報処理装置は、時系列のフレームを有する動画データMv30を、訓練済みの3D-CNN50に入力することで、認識クラスの尤度を算出する。3D-CNN50は、動画データを入力とし、認識クラス(たとえば、Punching、Mopping floor等の動画のシーン)の尤度を出力とするNN(Neural Network)である。以下、訓練済みの3D-CNN50を、単に、3D-CNN50と表記する。また、動画データMv30を、3D-CNN50に入力することで得られた、認識クラスの尤度を、「基準尤度」と表記する。
【0023】
情報処理装置は、動画データMv30を基にして、動画データMv30に含まれる各画素の移動を示すオプティカルフローを算出する。オプティカルフローは、動画データMv30に含まれるフレーム間の各画素の動きをベクトルで表した情報である。なお、情報処理装置は、動画データMv30の画素毎にオプティカルフローを算出する代わりに、所定の対象物に対して、オプティカルフローを算出してもよい。
【0024】
情報処理装置は、動画データMv30の先頭のフレームに、遮蔽領域32を設定し、続くフレームにおいては、遮蔽領域32に含まれる各画素のオプティカルフローに基づいて、遮蔽領域32を移動させつつ設定することで、遮蔽動画データMv31a,Mv31b,Mv31c,Mv31dを生成する。遮蔽動画データMv31a~Mv31dは、先頭のフレームに設定される遮蔽領域32の位置がそれぞれ異なる。
【0025】
情報処理装置は、動画データMv31aを、3D-CNN50に入力することで、認識クラスの尤度33aを算出する。情報処理装置は、動画データMv31bを、3D-CNN50に入力することで、認識クラスの尤度33bを算出する。情報処理装置は、動画データMv31cを、3D-CNN50に入力することで、認識クラスの尤度33cを算出する。情報処理装置は、動画データMv31dを、3D-CNN50に入力することで、認識クラスの尤度33dを算出する。
【0026】
情報処理装置は、認識クラスの基準尤度と、認識クラスの尤度との差分が閾値以上である場合には、動画データの各フレームにおいて遮蔽領域32で遮蔽した領域が、3D-CNN50の挙動を特定するための重要な領域であるといえるため、係る領域を強調表示する。
【0027】
たとえば、情報処理装置は、認識クラスの基準尤度と、認識クラスの尤度30aとの差分が閾値以上である場合には、動画データMv31aの各フレームの領域であって、遮蔽領域32に対応する領域を強調表示する。
【0028】
情報処理装置は、認識クラスの基準尤度と、認識クラスの尤度30bとの差分が閾値以上である場合には、動画データMv31bの各フレームの領域であって、遮蔽領域32に対応する領域を強調表示する。
【0029】
情報処理装置は、認識クラスの基準尤度と、認識クラスの尤度30cとの差分が閾値以上である場合には、動画データMv31cの各フレームの領域であって、遮蔽領域32に対応する領域を強調表示する。
【0030】
情報処理装置は、認識クラスの基準尤度と、認識クラスの尤度30dとの差分が閾値以上である場合には、動画データMv31dの各フレームの領域であって、遮蔽領域32に対応する領域を強調表示する。
【0031】
上記のように、本実施例に係る情報処理装置は、動画データから算出した各画素のオプティカルフローの動きに合わせて、フレーム毎に遮蔽領域を移動させつつ設定した遮蔽動画データを生成し、動画データを3D-CNN50に入力した結果と、遮蔽動画データを3D-CNN50に入力した結果とを比較する。遮蔽動画データは、遮蔽領域に対応する画素の移動に合わせて、遮蔽領域の位置が変更されており、比較結果が異なる場合には、遮蔽領域で遮蔽された領域が、3D-CNN50の挙動を特定するための重要な領域であるといえるため、係る領域を強調表示することで、クラスの識別に重要な領域を可視化することができる。
【0032】
次に、本実施例に係る情報処理装置の構成例について説明する。
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0033】
通信部110は、ネットワークを介して外部装置等とデータ通信を実行する。通信部110は、外部装置から、処理対象となる動画データ141を受信する。通信部110は、訓練済みの3D-CNN50のデータを外部装置から受信してもよい。
【0034】
入力部120は、利用者からの操作を受付ける入力装置であり、たとえば、キーボードやマウス等により実現される。
【0035】
表示部130は、制御部150の処理結果を出力するための表示装置であり、たとえば、液晶モニタやプリンタ等により実現される。
【0036】
記憶部140は、3D-CNN50、動画データ141、遮蔽動画テーブル142を有する。記憶部140は、各種の情報を記憶する記憶装置であり、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0037】
3D-CNN50は、動画データを入力とし、認識クラス(たとえば、Punching、Mopping floor等の動画のシーン)の尤度を出力とするNNである。
【0038】
動画データ141は、処理対象となる動画データである。たとえば、動画データ141には、時系列のフレーム(静止画像)が含まれる。各フレームには、時系列の順にフレーム番号が付与される。各フレームには、複数のピクセルが含まれ、各ピクセルには画素値が設定される。動画データ141の各フレームに、遮蔽領域を設定することで、遮蔽動画データが生成される。
【0039】
遮蔽動画テーブル142は、複数の遮蔽動画データを保持するテーブルである。
図3は、遮蔽動画テーブルのデータ構造の一例を示す図である。
図3に示すように、この遮蔽動画テーブル142は、項番と、遮蔽動画データと、遮蔽領域座標と、尤度とを有する。
【0040】
項番は、遮蔽動画テーブル142のレコード(遮蔽動画データ)を識別する番号である。遮蔽動画データは、時系列のフレームを有し、各フレームでは、一部の領域(小領域)が遮蔽される。
【0041】
遮蔽領域座標には、遮蔽動画データの各フレームに設定された遮蔽領域の座標が設定される。たとえば、各フレームの遮蔽領域の座標には、遮蔽領域の左上隅の座標と、遮蔽領域の右下隅の座標とが設定される。
【0042】
尤度には、遮蔽動画データを、3D-CNN50に入力した際の認識クラスの尤度が設定される。
【0043】
図2の説明に戻る。制御部150は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0044】
制御部150は、取得部151、オプティカルフロー算出部152、生成部153、尤度算出部154、表示処理部155を有する。
【0045】
取得部151は、外部装置等から動画データ141を取得する。取得部151は、取得した動画データ141を、記憶部140に登録する。取得部151は、入力部120を介して、動画データ141を取得してもよい。
【0046】
オプティカルフロー算出部152は、動画データ141に含まれる時系列のフレームを基にしてオプティカルフローを算出する。
図4は、オプティカルフローの一例を示す図である。
図4に示す例では、動画データ141から算出される複数のオプティカルフローを見やすくするために、疎なオプティカルフローを示すが、実際には、動画データ141の画素毎にオプティカルフローが算出される。たとえば、オプティカルフロー算出部152は、Lucas-Kanade法等に基づいて、動画データ141の画素毎のオプティカルフローを算出する。たとえば、オプティカルフロー算出部152は、フレームTで(x、y)に位置する画素が、フレームT+1でどこの位置に移動しているかを、全ピクセルについて、算出する。
【0047】
オプティカルフロー算出部152は、オプティカルフローの算出結果を、生成部153に出力する。
【0048】
生成部153は、動画データ141の先頭のフレームに遮蔽領域を設定し、続くフレームにおいては、遮蔽領域に含まれる画素のオプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、遮蔽動画データを生成する。
【0049】
図5は、遮蔽動画データを生成する処理を説明するための図である。
図5に示すように、動画データ141には、時系列の複数のフレームf1、f2、f3、・・・が含まれる。オプティカルフロー60には、n番目からn+1番目に至るフレームの各画素のベクトルが設定される。フレームf1、f2、f3に対応するオプティカルフロー60を、OP1、OP2、OP3と表記する。
【0050】
生成部153は、動画データ141のフレームf1に、h×wの遮蔽領域71を設定することで、遮蔽画像データ70-1を生成する。生成部153は、OP1とOP2とを基にして、遮蔽領域71に対応する各画素の移動先の領域を特定する。生成部153は、特定した移動先の領域に対応させて、フレームf2に遮蔽領域72を設定することで、遮蔽画像データ70-2を生成する。
【0051】
生成部153は、OP2とOP3とを基にして、遮蔽領域72に対応する各画素の移動先の領域を特定する。生成部153は、特定した移動先の領域に対応させて、フレームf3に遮蔽領域73を設定することで、遮蔽画像データ70-3を生成する。
【0052】
生成部153は、続くフレームについても上記処理を繰り返し実行することで、遮蔽動画データ70を生成する。
【0053】
また、生成部153は、先頭のフレームに設定する遮蔽領域の位置を変更することで、複数の遮蔽動画データを生成する。生成部153は、先頭のフレームに設定する遮蔽領域の位置をどのように設定してもよい。生成部153は、遮蔽領域を所定の画素ずつずらして、設定してもよい。生成部153は、生成した複数の遮蔽動画データと、各フレームに設定した遮蔽領域の座標の情報を、遮蔽動画テーブル142に登録する。
【0054】
尤度算出部154は、動画データ141を、3D-CNN50に入力することで、認識クラスの基準尤度を算出する。また、尤度算出部154は、遮蔽動画テーブル142に登録された遮蔽動画データを、3D-CNN50に入力することで、認識クラスの尤度を算出し、算出した尤度を、遮蔽動画テーブル142に登録する。
【0055】
尤度算出部154は、認識クラスの基準尤度と、認識クラスの尤度との差分が閾値以上である場合に、該当する遮蔽動画データの各フレームの遮蔽領域が、クラスの識別に影響する領域であると判定する。
【0056】
尤度算出部154は、遮蔽動画テーブル142に登録された各遮蔽動画データに対して、上記処理を繰り返し実行する。以下の説明では、遮蔽動画データのうち、各フレームの遮蔽領域が、クラスの識別に影響する領域であると判定した遮蔽動画データを、「対象遮蔽動画データ」と表記する。
【0057】
尤度算出部154は、対象遮蔽動画データの項番を、表示処理部155に出力する。
【0058】
表示処理部155は、動画データ141を表示部130に出力する場合に、クラスの識別に重要度なる領域を強調表示する。たとえば、表示処理部155は、対象遮蔽動画データの項番と、遮蔽動画テーブル142とを基にして、クラスの識別に重要となる各フレームの領域(遮蔽領域座標)を特定し、動画データ141の各フレームの該当領域を強調表示する。
【0059】
図6は、表示制御部の出力結果の一例を示す図である。
図6に示す例では、強調する前の動画データ141aと関連付けて、強調表示を行った動画データ141bを関連付けて表示している。動画データ141bは、人物が把持している道具(歯ブラシ)の領域が、強調表示されており、かかる部分が、クラスの識別に重要度なる領域であることを容易に理解できる。なお、動画データ141cは、既存のOSMをそのまま3D-CNN50に適用して強調表示を行った動画データの例である。動画データ141cでは、クラスの識別に寄与しない左上の領域が強調表示されており、何がクラスの識別に重要度なる領域であるのかを理解することは難しい。
【0060】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図7は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図7に示すように、情報処理装置100の取得部151は、動画データ141を取得する(ステップS101)。情報処理装置100のオプティカルフロー算出部152は、動画データ141を基にして、オプティカルフローを算出する(ステップS102)。
【0061】
情報処理装置100の生成部153は、動画データ141のフレームに初期の遮蔽領域を設定する(ステップS103)。生成部153は、動画データの続く各フレームに対して、オプティカルフローに基づいて、遮蔽領域を移動させつつ設定し、遮蔽動画データを生成する(ステップS104)。
【0062】
情報処理装置100の尤度算出部154は、動画データ141を、3D-DNN50に入力し、認識クラスの基準尤度を算出する(ステップS105)。尤度算出部154は、遮蔽動画データを3D-DNN50に入力し、認識クラスの尤度を算出する(ステップS106)。
【0063】
情報処理装置100の表示処理部155は、クラスの識別に重要となる領域を強調表示する(ステップS107)。
【0064】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、動画データから算出したオプティカルフローの動きに合わせて、フレーム毎に遮蔽領域を移動させつつ設定した遮蔽動画データを生成し、動画データを3D-CNN50に入力した結果と、遮蔽動画データを3D-CNN50に入力した結果とを比較する。遮蔽動画データは、遮蔽領域に対応する画素の移動に合わせて、遮蔽領域の位置が変更されており、比較結果が異なる場合には、遮蔽領域で遮蔽された領域が、3D-CNN50の挙動を特定するための重要な領域であるといえるため、係る領域を強調表示することで、クラスの識別に重要な領域を可視化することができる。
【0065】
なお、上述した情報処理装置100の処理は一例であり、情報処理装置100は、その他の処理を実行してもよい。以下において、情報処理装置100のその他の処理1、2について説明する。
【0066】
情報処理装置100のその他の処理1について説明する。上記の情報処理装置100の生成部153は、動画データ141の先頭のフレームに遮蔽領域を設定し、続くフレームにおいては、遮蔽領域に含まれる画素のオプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、遮蔽動画データを生成していたが、これに限定されない。
【0067】
生成部153は、フレーム番号と、遮蔽領域の位置とをランダムに決定する。動画データ141に含まれるフレームのうち、ランダムに決定したフレーム番号(たとえば、フレーム番号n)のフレームに対して、ランダムに位置を決定した遮蔽領域を設定する。生成部153は、フレーム番号nに続くフレームにおいては、オプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、遮蔽画像データを生成する。
【0068】
これによって、動画データ141の先頭のフレームには含まれておらず、途中のフレームから出現する対象の領域についても遮蔽領域を設定することが可能となる。
【0069】
情報処理装置100のその他の処理2について説明する。生成部153は、複数の遮蔽領域を統合した遮蔽動画データを生成してもよい。
図8は、情報処理装置のその他の処理を説明するための図である。
【0070】
生成部153は、動画データ141の先頭のフレームの領域80に初期の遮蔽領域を設定し、続くフレームにおいては、遮蔽領域に含まれる画素のオプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、一連の遮蔽領域Ωiを生成する。生成部153は、動画データ141の先頭のフレームの領域81に初期の遮蔽領域を設定し、続くフレームにおいては、遮蔽領域に含まれる画素のオプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、一連の遮蔽領域Ωxi,iを生成する。生成部153は、動画データ141の先頭のフレームの領域82に初期の遮蔽領域を設定し、続くフレームにおいては、遮蔽領域に含まれる画素のオプティカルフローに基づいて、遮蔽領域を移動させつつ設定することで、一連の遮蔽領域Ωxi,Kを生成する。
【0071】
生成部153は、一連の遮蔽領域Ωi、一連の遮蔽領域Ωxi,i、一連の遮蔽領域Ωxi,Kを統合した一連の遮蔽領域Ω´iを設定した遮蔽動画データ90を生成する。
【0072】
情報処理装置100は、遮蔽動画データ90を、3D-DNN50に入力した認識クラスの尤度と、基準尤度とを比較することで、一連の遮蔽領域Ωi、一連の遮蔽領域Ωxi,i、一連の遮蔽領域Ωxi,Kに対応する領域の組み合わせが、クラスの識別に重要な領域であるか否かを判定することができる。
【0073】
また、情報処理装置100は、動画像認識を行う場合に、3D-CNNを用いて説明したが、これに限定されるものではなく、動画(横幅x高さxフレーム数)を入力としていれば、3D-CNN以外にも適用可能である。たとえば、情報処理装置100は、動画像認識として、Video Vision Transformerを用いてもよい。
【0074】
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図9は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0075】
図9に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0076】
ハードディスク装置207は、取得プログラム207a、オプティカルフロー算出プログラム207b、生成プログラム207c、尤度算出プログラム207d、表示制御プログラム207eを有する。また、CPU201は、各プログラム207a~207eを読み出してRAM206に展開する。
【0077】
取得プログラム207aは、取得プロセス206aとして機能する。オプティカルフロー算出プログラム207bは、オプティカルフロー算出プロセス206bとして機能する。生成プログラム207cは、生成プロセス206cとして機能する。尤度算出プログラム207dは、尤度算出プロセス206dとして機能する。表示制御プログラム207eは、表示制御プロセス206eとして機能する。
【0078】
取得プロセス206aの処理は、取得部151の処理に対応する。オプティカルフロー算出プロセス206bの処理は、オプティカルフロー算出部152の処理に対応する。生成算出プロセス206cの処理は、生成部153の処理に対応する。尤度算出プロセス206dの処理は、尤度算出部154の処理に対応する。表示制御プロセス206eの処理は、表示処理部155の処理に対応する。
【0079】
なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしてもよい。