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

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

▶ 日本放送協会の特許一覧

<>
  • 特許-変換装置およびプログラム 図1
  • 特許-変換装置およびプログラム 図2
  • 特許-変換装置およびプログラム 図3
  • 特許-変換装置およびプログラム 図4
  • 特許-変換装置およびプログラム 図5
  • 特許-変換装置およびプログラム 図6
  • 特許-変換装置およびプログラム 図7
  • 特許-変換装置およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】変換装置およびプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240216BHJP
   G09B 21/00 20060101ALI20240216BHJP
【FI】
G06T7/00 300F
G06T7/00 350B
G09B21/00 F
【請求項の数】 6
(21)【出願番号】P 2020042188
(22)【出願日】2020-03-11
(65)【公開番号】P2021144430
(43)【公開日】2021-09-24
【審査請求日】2023-02-06
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】梶山 岳士
(72)【発明者】
【氏名】遠藤 伶
【審査官】小太刀 慶明
(56)【参考文献】
【文献】国際公開第2018/105246(WO,A1)
【文献】特開2020-017156(JP,A)
【文献】渡邊 滉大 ほか,RGB画像とオプティカルフローを用いた3DCNNによる手話認識に関する検討,電子情報通信学会技術研究報告 [online],日本,情報処理学会,2019年03月,Vol.118 No.501,p.251-255
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G09B 21/00
(57)【特許請求の範囲】
【請求項1】
時系列のフレーム画像を取得し、前記フレーム画像の特徴情報を抽出するとともに、前記フレーム画像の特徴情報と前記フレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報とを求め、前記特徴情報と前記差分情報とを含む入力情報を出力する入力処理部と、
前記入力情報を基に状態データを生成するエンコーダー部と、
前記状態データを基に所定の出力記号の系列を生成するデコーダー部と、
を備える変換装置であって、
前記特徴情報は、特徴ベクトルのデータであり、
前記差分情報は、特徴差分ベクトルのデータであり、
前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとを連結して成る特徴結合ベクトルを当該フレーム画像に対応する前記入力情報として出力する、
変換装置。
【請求項2】
時系列のフレーム画像を取得し、前記フレーム画像の特徴情報を抽出するとともに、前記フレーム画像の特徴情報と前記フレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報とを求め、前記特徴情報と前記差分情報とを含む入力情報を出力する入力処理部と、
前記入力情報を基に状態データを生成するエンコーダー部と、
前記状態データを基に所定の出力記号の系列を生成するデコーダー部と、
を備える変換装置であって、
前記特徴情報は、特徴ベクトルのデータであり、
前記差分情報は、前記特徴ベクトルの次元数と同じ次元数を持つ特徴差分ベクトルのデータであり、
前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとの和として成る特徴結合ベクトルを、当該フレーム画像に対応する前記入力情報として出力する、
変換装置。
【請求項3】
時系列のフレーム画像を取得し、前記フレーム画像の特徴情報を抽出するとともに、前記フレーム画像の特徴情報と前記フレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報とを求め、前記特徴情報と前記差分情報とを含む入力情報を出力する入力処理部と、
前記入力情報を基に状態データを生成するエンコーダー部と、
前記状態データを基に所定の出力記号の系列を生成するデコーダー部と、
を備える変換装置であって、
前記特徴情報は、特徴ベクトルのデータであり、
前記差分情報は、前記特徴ベクトルの次元数と同じ次元数を持つ特徴差分ベクトルのデータであり、
前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとの間で対応する要素同士の積を要素として成る特徴結合ベクトルを、当該フレーム画像に対応する前記入力情報として出力する、
変換装置。
【請求項4】
前記入力処理部に学習用の前記時系列のフレーム画像を供給するとともに、当該学習用の時系列のフレーム画像に対応する正解の前記出力記号の系列を供給する、学習データ供給部と、
前記学習用の時系列のフレーム画像に基づく前記入力処理部と前記エンコーダー部と前記デコーダー部との処理によって前記デコーダー部から出力される第1の出力記号の系列と、前記学習データ供給部によって供給される前記正解の出力記号の系列である第2の出力記号の系列と、の差を表すロスを算出するロス算出部と、
学習モードと変換実行モードとを適宜切り替えて動作させるように制御する制御部と、
をさらに備え、
前記学習モードにおいては、前記学習データ供給部が供給する前記学習用の時系列のフレーム画像と前記正解の出力記号の系列との対に基づいて前記ロス算出部が算出した前記ロスに基づいて、前記エンコーダー部および前記デコーダー部の内部パラメーターを調整し、
前記変換実行モードにおいては、前記入力処理部が取得した変換対象の前記時系列のフレーム画像に基づく前記入力処理部と前記エンコーダー部と前記デコーダー部との処理によって前記デコーダー部から出力される前記出力記号の系列を外部に出力する、
請求項1から3までのいずれか一項に記載の変換装置
【請求項5】
前記時系列のフレーム画像は、手話を表す映像であり、
前記出力記号の系列は、前記手話に対応する、グロス表記による語の列である、
請求項1からまでのいずれか一項に記載の変換装置。
【請求項6】
請求項1から5までのいずれか一項に記載の変換装置
としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、変換装置およびプログラムに関する。
【背景技術】
【0002】
映像に映されている内容を自動的に認識する技術は、人のコミュニケーションを補助する手段としての活用が期待されている。その一例として、手話をカメラ等で撮影して、その映像(画像)を自動的に認識する技術は、聴覚障害者と健聴者との間のコミュニケーションへの活用が期待される。
【0003】
非特許文献1には、手話言語のひとつであるドイツ手話を自動認識してドイツ語へ変換する研究について記載されている。例えば、非特許文献1内のFigure 2は、手話言語を口語言語に翻訳するための手話翻訳機の概略構成を示している。このFigure 2が示す手話翻訳機は、エンコーダーとデコーダーを含んで構成される。エンコーダーおよびデコーダーは、それぞれ、再帰型ニューラルネットワーク(RNN,recurrent neural network)を用いている。エンコーダーは、フレーム画像の系列を入力し、特徴ベクトルを生成する。デコーダーは、エンコーダーによって生成された特徴ベクトルを入力し、語の系列を生成する。
【先行技術文献】
【非特許文献】
【0004】
【文献】Necati Cihan Camgoz, Simon Hadfield, Oscar Koller, Hermann Ney, Richard Bowden ”Neural Sign Language Translation” In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
カメラを用いて撮影される映像の内容(例えば、人のジェスチャー等)を認識する技術は、例えば、非接触型のヒューマンマシンインターフェースが望まれる適用領域で実用化されてきた。非接触型のインターフェースが望まれる領域とは、例えば、食品工場や医療現場など、衛生面での考慮が求められる領域である。しかしながら、例えば手話言語のような、連続する複雑な人の動きを、自動認識して別の言語に変換する技術は、実用レベルに達していない。
【0006】
日本で使用される手話言語のひとつである日本手話の自動認識に関しても、実用例は報告されていない。
【0007】
また、入力される手話映像が予め単語単位に区切られていない場合には、映像を基に手話単語の単位に自動的に区切って手話単語を自動認識することは、さらに困難である。
【0008】
本発明は、上記の課題認識に基づいて行なわれたものであり、所定の単位(例えば変換先の単語等の区切り)に区切られていない映像(時系列のフレーム画像)を入力し、その入力データに対応する記号列(例えば、所定の言語表現における単語列)を出力することのできる変換装置およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【0009】
[1]上記の課題を解決するため、本発明の一態様による変換装置は、時系列のフレーム画像を取得し、前記フレーム画像の特徴情報を抽出するとともに、前記フレーム画像の特徴情報と前記フレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報とを求め、前記特徴情報と前記差分情報とを含む入力情報を出力する入力処理部と、前記入力情報を基に状態データを生成するエンコーダー部と、前記状態データを基に所定の出力記号の系列を生成するデコーダー部とを備えるものである。
【0010】
[2]また、本発明の一態様は、上記の変換装置において、前記入力処理部に学習用の前記時系列のフレーム画像を供給するとともに、当該学習用の時系列のフレーム画像に対応する正解の前記出力記号の系列を供給する、学習データ供給部と、前記学習用の時系列のフレーム画像に基づく前記入力処理部と前記エンコーダー部と前記デコーダー部との処理によって前記デコーダー部から出力される第1の出力記号の系列と、前記学習データ供給部によって供給される前記正解の出力記号の系列である第2の出力記号の系列と、の差を表すロスを算出するロス算出部と、学習モードと変換実行モードとを適宜切り替えて動作させるように制御する制御部と、をさらに備え、前記学習モードにおいては、前記学習データ供給部が供給する前記学習用の時系列のフレーム画像と前記正解の出力記号の系列との対に基づいて前記ロス算出部が算出した前記ロスに基づいて、前記エンコーダー部および前記デコーダー部の内部パラメーターを調整し、前記変換実行モードにおいては、前記入力処理部が取得した変換対象の前記時系列のフレーム画像に基づく前記入力処理部と前記エンコーダー部と前記デコーダー部との処理によって前記デコーダー部から出力される前記出力記号の系列を外部に出力する、ものである。
【0011】
[3]また、本発明の一態様は、上記の変換装置において、前記特徴情報は、特徴ベクトルのデータであり、前記差分情報は、特徴差分ベクトルのデータであり、前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとを連結して成る特徴結合ベクトルを当該フレーム画像に対応する前記入力情報として出力するものである。
【0012】
[4]また、本発明の一態様は、上記の変換装置において、前記特徴情報は、特徴ベクトルのデータであり、前記差分情報は、前記特徴ベクトルの次元数と同じ次元数を持つ特徴差分ベクトルのデータであり、前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとの和として成る特徴結合ベクトルを、当該フレーム画像に対応する前記入力情報として出力するものである。
【0013】
[5]また、本発明の一態様は、上記の変換装置において、前記特徴情報は、特徴ベクトルのデータであり、前記差分情報は、前記特徴ベクトルの次元数と同じ次元数を持つ特徴差分ベクトルのデータであり、前記入力処理部は、前記特徴ベクトルと前記特徴差分ベクトルとの間で対応する要素同士の積を要素として成る特徴結合ベクトルを、当該フレーム画像に対応する前記入力情報として出力するものである。
【0014】
[6]また、本発明の一態様は、上記の変換装置において、前記時系列のフレーム画像は、手話を表す映像であり、前記出力記号の系列は、前記手話に対応する、グロス表記による語の列である、というものである。
【0015】
[7]また、本発明の一態様は、時系列のフレーム画像を取得し、前記フレーム画像の特徴情報を抽出するとともに、前記フレーム画像の特徴情報と前記フレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報とを求め、前記特徴情報と前記差分情報とを含む入力情報を出力する入力処理部と、前記入力情報を基に状態データを生成するエンコーダー部と、前記状態データを基に所定の出力記号の系列を生成するデコーダー部と、を備える変換装置としてコンピューターを機能させるためのプログラムである。
【発明の効果】
【0016】
本発明によれば、時系列のフレーム画像のデータを自動認識してその映像に対応する記号列を出力する処理において、認識精度を向上させることができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態による変換装置の概略機能構成を示すブロック図である。
図2】同実施形態による変換装置内の、エンコーダー部およびデコーダー部の処理によるデータの流れを示す概略図である。
図3】同実施形態による変換装置内の入力処理部の内部の構成を示す機能ブロック図(第1例)である。
図4】同実施形態による変換装置内の入力処理部の内部の構成を示す機能ブロック図(第2例)である。
図5】同実施形態による変換装置内の入力処理部における、特徴差分ベクトルおよび特徴結合ベクトルの求め方を説明するための概略図である。
図6】同実施形態による変換装置内のエンコーダー部のより詳細な構成例を示すブロック図である。
図7】同実施形態による変換装置内のデコーダー部のより詳細な構成例を示すブロック図である。
図8】本実施形態による構成を評価するための実験の結果を示すグラフであり、本実施形態の変換装置と従来技術による変換装置との間で、変換誤り率を対比するためのグラフである。
【発明を実施するための形態】
【0018】
次に、本発明の実施形態について、説明する。本実施形態による変換装置は、手話の映像を入力し、その映像が表す手話を、グロス表記と呼ばれる中間表現に変換する。グロス表記は、文字を持たない手話言語において、手話のフレーズまたは文章を構成する一連の動作を、手話の単語に相当する短い区間で区切り、文字によって書き起こした記号列である。日本手話のグロス表記では、手話の単語の意味に近い日本語の単語をラベルとして用いる。つまり、本実施形態による変換装置は、手話の映像を入力し、映像の自動認識処理を行い、その映像に対応するラベル列(記号列)を出力するものである。
【0019】
なお、変換装置に入力される手話映像は、単語等の単位に予め区切られているものではない。また、区切り位置を示すメタ情報も、付与されていない。
【0020】
図1は、本実施形態による変換装置の概略機能構成を示すブロック図である。図示するように、変換装置1は、入力処理部10と、エンコーダー部20と、デコーダー部30と、出力部40と、ロス算出部50と、学習データ供給部80と、制御部90とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。変換装置1は、制御部90の制御により、学習モードあるいは変換実行モードのいずれかで動作する。各モードの詳細については後述する。変換装置1の各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。各機能部の機能について、次に説明する。
【0021】
入力処理部10は、時系列のフレーム画像のデータを取得し、それらのフレーム画像のデータに所定の処理を行ってからエンコーダー部20に供給する。具体的には、入力処理部10は、フレーム画像の特徴情報(特徴ベクトル)を抽出するとともに、そのフレーム画像の特徴情報と、そのフレーム画像の近傍の他のフレーム画像の特徴情報との差分である差分情報(特徴差分ベクトル)とを求め、特徴情報と差分情報とを含む入力情報(特徴結合ベクトル)を、エンコーダー部20に渡すために出力する。この入力データは、画像の系列であって良い。さらに、この画像の系列(映像)は、手話を表す画像の系列(映像)であって良い。上記の「近傍の他のフレーム画像」とは、当該画像に隣接する前のフレーム画像、あるいは当該画像から所定数のフレーム分離れた前のフレーム画像である。なお、映像のフレームレートは任意であるが、例えば、30フレーム毎秒(fps)程度として良い。
【0022】
なお、入力処理部10は、エンコーダー部20およびデコーダー部30の機械学習を行う場合には、学習データ供給部80から供給される時系列のフレーム画像を処理対象とする。一方、入力処理部10は、学習済のエンコーダー部20およびデコーダー部30を用いて変換処理を実行する場合には、変換処理対象である時系列のフレーム画像を外部から取得して、処理対象とする。なお、入力処理部10の詳細な構成については、後で別の図を参照しながら説明する。
【0023】
エンコーダー部20は、入力処理部10から渡される入力データを基に状態ベクトル(状態データ)を生成するものである。エンコーダー部20は、機械学習処理を行って内部のモデルを更新する(パラメーターを調整する)機能を持つ。本実施形態では、エンコーダー部20は、内部にニューラルネットワークを持ち、誤差逆伝播の処理によって内部のパラメーターを更新できる。なお、誤差逆伝播の手法自体は、既存技術によって実施できるものである。
【0024】
デコーダー部30は、状態ベクトル(状態データ)を基に出力データ(出力記号の系列)を生成するものである。出力記号の系列は、具体的には、言語表現における語等の系列であってよい。出力記号の系列は、さらに具体的には、例えば、手話に対応するグロス表記の記号の系列であってよい。デコーダー部30は、機械学習処理を行って内部のモデルを更新する(パラメーターを調整する)機能を持つ。本実施形態では、デコーダー部30は、内部にニューラルネットワークを持ち、誤差逆伝播の処理によって内部のパラメーターを更新できる。
【0025】
出力部40は、デコーダー部30が生成した出力データ(出力記号の系列)を出力する。出力データは、例えば、手話の映像に対応するグロス表記の語列(記号列)であっても良い。
【0026】
ロス算出部50は、学習モードにおいて、機械学習のためのロスを算出する。具体的には、ロス算出部50は、エンコーダー部20に入力される学習用入力データを基にエンコーダー部20およびデコーダー部30が生成する出力データ(推定された単語列、学習用出力データ)と、学習用入力データに対応して学習データ供給部80が供給する正解データと、の差を表すロスを算出する。つまり、学習用の時系列のフレーム画像に基づく入力処理部10とエンコーダー部20とデコーダー部30との処理によってデコーダー部30から出力される出力記号の系列を、学習用出力データ(第1の出力記号の系列)と呼ぶ。また、学習データ供給部80によって供給される正解の出力記号の系列を正解データ(第2の出力記号の系列)と呼ぶ。ロス算出部は、上記の第1の出力記号の系列と、上記の第2の出力記号の系列との差を表すロスを算出する。エンコーダー部20およびデコーダー部30によって生成される学習用出力データと、正解データとが、それぞれ、記号列に対応するベクトルであると捉えた場合、ロス算出部50が算出するロスは、例えば、それら両ベクトル間のノルムである。
【0027】
ロス算出部50は、算出したロスのデータを、デコーダー部30およびエンコーダー部20の内部のパラメーターの調整のために供給する。機械学習の手法としてニューラルネットワークが用いられる場合、誤差逆伝播法を行うために、ロス算出部50は、ロスのデータを供給する。
【0028】
学習データ供給部80は、エンコーダー部20やデコーダー部30が機械学習を行うための学習データを供給する。具体的には、学習データ供給部80は、エンコーダー部20への入力の基となる学習用入力データと、その学習用入力データに対応する出力データの正解である正解データとの対を供給する。さらに具体的には、学習データ供給部80は、入力処理部10に学習用の前記時系列のフレーム画像を供給するとともに、当該学習用の時系列のフレーム画像に対応する正解の出力記号の系列(正解データ)をロス算出部50に供給する。なお、学習データ供給部80は、学習用入力データと正解データとの対を多数供給する。
【0029】
制御部90は、変換装置1全体の動作を制御する。制御部90は、少なくとも、変換装置1の動作モードに基づく制御を行う。具体的には、制御部90は、学習モードと変換実行モードとを適宜切り替えて動作させるように、変換装置1の各部を制御する。各モードでの変換装置1の動作は、次のとおりである。
【0030】
学習モードにおいては、制御部90は、エンコーダー部20とデコーダー部30との学習(内部パラメーターの調整、更新)を行うよう制御する。具体的には、学習モードにおいては、制御部90は、学習データ供給部80が、学習用入力データと正解データとを、それぞれ、入力処理部10とロス算出部50に供給するよう制御する。また、学習モードにおいては、制御部90は、入力処理部10が、学習データ供給部80から供給される学習用入力データ(時系列のフレーム画像)を対象として処理を行うよう制御する。また、学習モードにおいては、制御部90は、ロス算出部50が、デコーダー部30が出力する出力データと学習データ供給部80が供給する正解データとに基づくロスを算出するよう制御する。また、学習モードにおいては、制御部90は、デコーダー部30およびエンコーダー部20が、ロス算出部50によって算出されたロスに基づいて、誤差逆伝播法により、内部のパラメーターを調整するよう制御する。ニューラルネットワークの内部パラメーターとは、ニューラルネットワークを構成する各節における出力値を計算する際の入力値に適用される重み値のベクトルである。
【0031】
つまり、学習モードにおいては、変換装置1は、学習データ供給部80が供給する学習用の時系列のフレーム画像と正解の出力記号の系列との対に基づいてロス算出部50が算出したロスに基づいて、エンコーダー部20およびデコーダー部30の内部パラメーターを調整する。
【0032】
変換実行モードにおいては、制御部90は、入力処理部10が変換処理対象のデータ(時系列のフレーム画像)を外部から取得し、所定の処理を行った結果を、エンコーダー部20に供給するよう制御する。また、変換実行モードにおいては、制御部90は、エンコーダー部20が、供給される入力データに基づいて、状態ベクトル(状態データ)を生成するよう制御する。また、変換実行モードにおいては、制御部90は、デコーダー部30が、エンコーダー部20が生成した状態ベクトル(状態データ)を基に出力データ(入力データに対応する推定変換結果)を生成するよう、制御する。また、制御部90は、出力部40が、デコーダー部30によって生成された出力データを外部に出力するよう制御する。
【0033】
つまり、変換実行モードにおいては、変換装置1は、入力処理部が取得した変換対象の時系列のフレーム画像に基づく入力処理部10とエンコーダー部20とデコーダー部30との処理によって、デコーダー部30から出力される出力記号の系列を外部に出力する。
【0034】
図2は、本実施形態の変換装置1内の、エンコーダー部20およびデコーダー部30による動作におけるデータの流れを示す概略図である。以下において説明するように、エンコーダー部20およびデコーダー部30は、学習モードと変換実行モードのそれぞれで、動作するものである。
【0035】
エンコーダー部20は、内部にニューラルネットワーク201を有している。ニューラルネットワーク201には、入力映像が持つフレーム画像の系列frame,frame,・・・,frameを基にしたデータが入力される。具体的には、ニューラルネットワーク201には、入力処理部10から出力されるデータが入力される。ニューラルネットワーク201は、フレーム画像の系列frame,frame,・・・,frameにそれぞれ対応するデータ(入力処理部10からの出力)に基づいて算出される状態ベクトルを出力する。 エンコーダー部20は、入力映像に基づいて生成した状態ベクトルを、デコーダー部30に渡す。
【0036】
入力処理部10は、上記のフレーム画像の系列frame,frame,・・・,frameを処理し、エンコーダー部20のニューラルネットワーク201に入力するためのデータを生成する。入力処理部10の処理の詳細については、次の図3を参照しながら説明する。
【0037】
デコーダー部30は、内部にニューラルネットワーク301を有している。ニューラルネットワーク301には、エンコーダー部20のニューラルネットワーク201で生成された状態ベクトルが入力される。ニューラルネットワーク301は、入力される状態ベクトルに基づいて算出される語の列word,word,・・・,wordu-1,wordを出力する。これらの語は、いずれも、前述のグロス表記における記号である。また、ニューラルネットワーク301は、語列の最後に、特殊記号である<eos>を出力する。<eos>は、文の終わり(end of sentence)を表す記号である。ニューラルネットワーク301が出力する語の列は、推定語列とも呼ばれる。
【0038】
ニューラルネットワーク201および301の各々は、学習モードで動作する際に、学習データに基づく機械学習処理を行うことによって、内部のパラメーターを調整する。ニューラルネットワーク201および301の各々は、変換実行モードで動作する際には、機械学習処理において調整済みの内部パラメーターを用いて、出力を算出する。エンコーダー部20とデコーダー部30とが変換実行モードで動作する際には、ニューラルネットワーク301が出力する推定語列が、入力映像に対応する変換結果である。
【0039】
機械学習処理についてさらに詳しく書く。ニューラルネットワーク301が出力する推定語列は、正解データである正解語列と比較することができる。学習モードにおいて、正解語列は、入力映像に対応する形で、学習データ供給部80によって供給される。ロス算出部50は、ニューラルネットワーク301が出力する推定語列と、学習データ供給部80から供給される正解語列とから、ロスを算出する。ロス算出部50によって算出されたロスに基づき、ニューラルネットワーク201および301は、誤差逆伝播を行い、内部のパラメーターを更新する。
【0040】
ところで、図1および図2に示すエンコーダー部およびデコーダー部の構成を利用する類似のアプリケーションの典型例である動画キャプショニングのタスクと比較しても、手話映像の解釈のようなタスクは比較的短い時系列の映像を入力とするものである。上記の動画キャプショニングのタスクでは、極短時間のフレーム間の差分情報(例えば、30fps(フレーム毎秒)の動画の場合には、隣接しあう2枚のフレーム画像間の間隔は約33msec(ミリ秒))を利用しないことが一般的である。しかしながら、本実施形態が対象とする典型例である手話映像においては、隣接するフレーム間の差分情報、あるいは近傍のフレーム間の差分情報は、手話を解釈する上での重要な情報を含むと考えられる。したがって、本実施形態の変換装置では、フレーム映像間の差分情報を利用する構成とする。
【0041】
つまり、本実施形態では、エンコーダー部20のニューラルネットワーク201への入力が、単一のフレーム画像の特徴を表す情報と、隣接するあるいは近傍の画像フレーム間の時間方向の変化量に関する情報とを持つようにする。これにより、変換精度(認識精度)の向上が期待される。
【0042】
フレーム画像の時系列が持つフレーム間の変化量を利用する手法の一つとして、オプティカルフロー情報の利用が考えられる。オプティカルフロー情報は、2枚以上のフレーム画像内に映っている物等(例えば人体やその一部も含む)の動作や移動方向を表す情報である。しかしながら、オプティカルフロー情報を利用するためには、オプティカルフロー情報を算出するための計算量やオプティカルフロー情報から特徴量を抽出するための計算量が膨大になるなど、必要な計算コストの増加や回路の複雑化を招いてしまう。そこで、本実施形態では、オプティカルフロー情報を算出したりオプティカルフロー情報から特徴量を抽出する処理を行ったりせずに、次に説明する入力処理部10の処理によって、時間方向に変化に関する情報を、ニューラルネットワーク201に入力することができるようにする。
【0043】
図3は、入力処理部10の内部の構成を示す機能ブロック図である。図示するように、入力処理部は、特徴量抽出部110と、差分抽出部120と、特徴量結合部130とを含むように構成される。
【0044】
特徴量抽出部110は、入力されるフレーム画像の特徴量を求める。特徴量抽出部110は、複数の特徴量抽出器111を含んで構成される。各々の特徴量抽出器111は、各フレーム画像に対応する。特徴量抽出器111は、フレーム画像の特徴を抽出し、そのフレーム画像の特徴ベクトルを出力する。なお、それぞれの特徴量抽出器111を物理的に別個の回路として構成してもよいし、1つの特徴量抽出器111が時系列に応じて複数個のフレーム画像の特徴ベクトルを出力するように構成してもよい。
【0045】
なお、特徴量抽出器111は、一例として、フレーム画像(つまり、画素値の2次元配列のデータ)の畳み込み演算を行うことによって、そのフレーム画像の特徴量を抽出する。例えば、特徴量抽出器111は、内部に畳み込みニューラルネットワーク(CNN,convolutional neural network)を含むように構成される。ただし、特徴量抽出器111が行う処理は、畳み込み演算の処理には限定されず、他の処理をも行うことによって、フレーム画像の特徴量(特徴ベクトル)を求めるようにしてもよい。フレーム画像のデータを基にその特徴量を求める処理自体は、既存技術を用いて実現することができる。
【0046】
差分抽出部120は、あるフレーム画像の特徴量と、そのフレーム画像に隣接する前のフレーム画像の特徴量との差分を求める。差分抽出部120は、複数の差分抽出器121を含んで構成される。各々の差分抽出器121は、frameを除く各フレームに対応する。差分抽出器121は、連続する2枚のフレーム画像に関して、各フレーム画像から抽出された特徴ベクトルの差分を計算し、特徴差分ベクトルとして出力する。この特徴差分ベクトルは、連続する2枚のフレーム画像間で、それらの特徴量が時間方向に変化した度合いに基づくエネルギーを表す。連続する2枚のフレーム画像間での特徴量の変化が大きいほど、そのエネルギーは高い。なお、それぞれの差分抽出器121を物理的に別個の回路として構成してもよいし、1つの差分抽出器121がフレーム画像の時系列に応じて複数の特徴差分ベクトルを出力するように構成してもよい。なお、差分抽出器121による具体的な処理の方法については、後で図5を参照しながら説明する。
【0047】
特徴量結合部130は、特徴量抽出部110が求めた特徴ベクトルと、差分抽出部120が求めた特徴差分ベクトルとを結合する。特徴量結合部130は、複数の特徴量結合器131を含んで構成される。各々の特徴量結合器131は、frameを除く各フレームに対応して存在する。特徴量結合器131は、フレーム画像の特徴ベクトルと、当該フレーム画像と前のフレーム画像との差である特徴差分ベクトルとを結合し、その結果を特徴結合ベクトルとして出力する。特徴結合ベクトルは、エンコーダー部20のニューラルネットワーク201に入力されるデータである。なお、それぞれの特徴量結合器131を物理的に別個の回路として構成してもよいし、1つの特徴量結合器131がフレーム画像の時系列に応じて複数の特徴差分ベクトルを出力するように構成してもよい。なお、特徴量結合器131による具体的な処理の方法については、後で図5を参照しながら説明する。
【0048】
なお、図3に示す構成では、フレーム画像frameに対応する差分抽出器121と特徴量結合器131とは存在しない。フレーム画像frameが最初のフレーム画像であり、フレーム画像frameの前の画像が存在しないためである。このため、フレーム画像frameの特徴ベクトルは、そのままエンコーダー部20のニューラルネットワーク201に入力される。
【0049】
上記の通り、図3に示す構成では、ニューラルネットワーク201に入力される特徴結合ベクトルは、1枚のフレーム画像の特徴量の情報と、当該フレーム画像の特徴と1つ前のフレーム画像の特徴との差の情報を含むものである。入力処理部10の上記のような構成により、本実施形態では、オプティカルフロー画像を用いることなく、連続するフレーム間で時間方向に変化する特徴量を学習および推定に利用することができるようになる。
【0050】
図4は、変形例である入力処理部10aの内部の構成を示す機能ブロック図である。図示するように、入力処理部は、特徴量抽出部110と、差分抽出部122と、特徴量結合部130とを含むように構成される。図3に示した入力処理部10と図4に示す入力処理部10aとの違いは、複数のフレームベクトルの特徴の差分を抽出する処理方法の形態にある。
【0051】
図4に示す構成では、差分抽出部122は、複数の差分抽出器123を含んで構成される。図3に示した差分抽出器121と異なり、図4に示す差分抽出器123は、あるフレーム画像の特徴ベクトル(特徴量抽出器111からの出力)と、そのフレーム画像のmフレーム前(mは整数であり、m≧2とする)のフレーム画像の特徴ベクトルとの差を求め、特徴差分ベクトルとして出力する。その他の点に関しては、図4に示す構成は、図3で説明した構成と同様のものである。なお、mフレーム前のフレーム画像が存在しない場合には、差分抽出器123は特徴差分ベクトルを出力しないように、あるいはゼロベクトルを特徴差分ベクトルとして出力するようにしてもよい。なお、差分抽出器123による具体的な処理の方法については、後で図5を参照しながら説明する。
【0052】
図4に示す構成では、ニューラルネットワーク201に入力される特徴結合ベクトルは、1枚のフレーム画像の特徴量の情報と、当該フレーム画像の特徴とm個前のフレーム画像の特徴との差の情報を含むものである。入力処理部10aの上記のような構成により、オプティカルフロー画像を用いることなく、連続するフレーム間で時間方向に変化する特徴量を学習および推定に利用することができるようになる。
【0053】
図5は、フレーム画像間の特徴の差分である特徴差分ベクトルの求め方、およびフレーム画像の特徴ベクトルと、特徴差分ベクトルとの、結合のしかた、を示す概略図である。同図において、フレーム画像frameは、現在のフレーム画像である。また、フレーム画像frameは、フレーム画像frameの比較対象となる前の画像である。図3に示す構成の場合には、フレーム画像frameは、フレーム画像frameの1フレーム前のフレーム画像である。図4に示す構成の場合には、フレーム画像frameは、フレーム画像frameのmフレーム前(m≧2)のフレーム画像である。ベクトルV=[vc1,vc2,…,vcn]は、特徴量抽出器111によって求められるフレーム画像frameの特徴ベクトルである。ベクトルV=[vp1,vp2,…,vpn]は、特徴量抽出器111によって求められるフレーム画像frameの特徴ベクトルである。なお、nは、フレーム画像の特徴ベクトルの次元数である。
【0054】
差分抽出器(121または123)が算出する特徴差分ベクトルV=[vd1,vd2,…,vdn]は、下の式(1)によって計算されるものである。即ち、式(1)では、ベクトルVとVとの要素の差を取る。
【0055】
=V-V
=[vc1-vp1,vc2-vp2,…,vcn-vpn] ・・・(1)
【0056】
特徴量結合器131が算出する特徴結合ベクトルVを求めるための第1の方法は、前記のベクトルVと特徴差分ベクトルVとを単純に結合して特徴結合ベクトルVとする方法である。即ち、第1の方法では、特徴結合ベクトルVは、下の式(2)によって求められる。この場合、特徴結合ベクトルVの次元数は、結合前のベクトルの次元数の2倍になる。
【0057】
=[V,V
=[vc1,vc2,…,vcn,vd1,vd2,…,vdn
・・・(2)
【0058】
つまり、上記第1の方法では、入力処理部10の特徴量結合部130は、特徴ベクトルと特徴差分ベクトルとを連結して成る特徴結合ベクトルを、各フレーム画像に対応する入力情報としてエンコーダー部20に渡す。
【0059】
特徴結合ベクトルV=[vo1,vo2,…,von]を求めるための第2の方法は、ベクトルVとVとの要素の和を算出する。即ち、第2の方法では、特徴結合ベクトルVは、下の式(3)によって求められる。
【0060】
=V+V
=[vc1+vd1,vc2+vd2,…,vcn+vdn] ・・・(3)
【0061】
つまり、上記第2の方法では、入力処理部10の特徴量結合部130は、特徴ベクトルと特徴差分ベクトルとの和として成る特徴結合ベクトルを、各フレーム画像に対応する入力情報としてエンコーダー部20に渡す。なお、特徴ベクトルの次元数と特徴差分ベクトルの次元数とは同一である。また、ベクトルの和とは、ベクトルの要素同士の和を要素とするベクトルである。
【0062】
特徴結合ベクトルVを求めるための第3の方法は、ベクトルVとVとの要素同士の積を算出する。即ち、第3の方法では、特徴結合ベクトルVは、下の式(4)によって求められる。
【0063】
=[vc1・vd1,vc2・vd2,…,vcn・vdn] ・・・(4)
【0064】
つまり、上記第3の方法では、入力処理部10の特徴量結合部130は、前記特徴ベクトルと前記特徴差分ベクトルとの間で対応する要素同士の積を要素として成る特徴結合ベクトルを、各フレーム画像に対応する入力情報としてエンコーダー部20に渡す。なお、特徴ベクトルの次元数と特徴差分ベクトルの次元数とは同一である。
【0065】
以上、特徴結合ベクトルVを求めるための第1から第3までの方法を説明した。特徴結合ベクトルVを求める方法は、これらの方法には限定されず、他の方法を用いるようにしてもよい。いずれの場合も、特徴量結合器131は、現時点のフレーム画像の特徴ベクトルVが持つ情報の少なくとも一部と、特徴差分ベクトルVが持つ情報の少なくとも一部の情報とを持つように、特徴結合ベクトルVを求めるようにする。
【0066】
図6は、エンコーダー部20のより詳細な構成例を示すブロック図である。図示するように、エンコーダー部20は、内部に再帰型ニューラルネットワーク(RNN,recurrent neural network)を含むように構成される。図ではRNNの時間的な再帰構造を左から右方向に展開して表現している。図示する構成例では、エンコーダー部20は、入力されるフレーム画像列frame,frame,・・・,frameの各フレームに対応して、第1層から第N層までのRNNを持つ。Nは、正整数である。例えば、Nを2以上且つ4以下程度の値としてよい。しかし、Nは、ここに例示した範囲に限定されるものではない。エンコーダー部20を構成するため、時間の進行につれて(フレーム画像の進行につれて)、N層のRNNの回路を順次再利用する。第1層のRNNには、前述の入力処理部10(あるいは、入力処理部10a)からのデータが入力される。即ち、第1層のRNNには、それぞれのフレーム画像に対応する特徴結合ベクトルVが入力されてよい。第1層のRNNからの出力は、同じフレーム画像に対応する第2層のRNNと、次のフレーム画像に対応する第1層のRNNとに、渡される。また、第i層(1<i<N)のRNNは、同じフレーム画像に対応する第(i-1)層のRNNからの出力と、前のフレーム画像に対応する第i層のRNNからの出力とを受け取る。そして、その第i層のRNNからの出力は、同じフレーム画像に対応する第(i+1)層のRNNと、次のフレーム画像に対応する第i層のRNNとに、渡される。また、第N層のRNNは、同じフレーム画像に対応する第(N-1)層のRNNからの出力と、前のフレーム画像に対応する第N層のRNNからの出力とを受け取る。そして、その第N層のRNNからの出力は、次のフレーム画像に対応する第N層のRNNに渡される。最後のフレーム画像(図6においては、frame)に対応するRNNからの出力は、状態ベクトルである。エンコーダー部20は、生成した状態ベクトルを、デコーダー部30に渡す。
【0067】
図6を参照して説明したように、エンコーダー部20は、論理的には、N行r列のマトリクス状に配置されたRNNを用いて構成される。ただし、Nは層の数であり、rは入力される画像の系列の長さである。
【0068】
図7は、デコーダー部30のより詳細な構成例を示すブロック図である。図示するように、デコーダー部30は、内部にRNNを含んで構成される。図ではRNNの時間的な再帰構造を左から右方向に展開して表現している。図示する構成例では、デコーダー部30は、出力する語列(推定語列)word,word,・・・,wordu-1,word,および<eos>の各記号に対応して、第1層から第N層までのRNNを持つ。ここでのNの値は、エンコーダー部20(図6参照)のNの値に合わせる。つまり、デコーダー部30は、論理的には、エンコーダー部20の内部構成と同様の、N行(u+1)列のマトリクス状に配置されたRNNを用いて構成される。デコーダー部30におけるRNNのマトリクス内での、データの受け渡しの流れも、エンコーダー部20のRNNのマトリクス内におけるそれと同様である。ここで、(u+1)は、出力系列の長さである。ただし、この出力系列の長さは、<eos>等の特殊記号を含む長さであってもよい。
【0069】
デコーダー部30は、エンコーダー部20が生成した状態ベクトルを、入力データとして取得する。また、デコーダー部30の第N層のRNNは、順次、推定語列(word,word,・・・,wordu-1,word,および<eos>)を出力する。デコーダー部30は、生成した推定語列を、出力部40やロス算出部50に渡す。
【0070】
[評価実験の例]
上記の実施形態による変換装置の評価実験を行った。その結果を次に記す。
【0071】
実験の条件は次のとおりである。特徴量抽出器111の処理として、畳み込みニューラルネットワーク(CNN)を適用した。具体的にはAlexNetのネットワークモデルと学習済みのパラメーターを初期値とした学習と特徴量抽出を行った。また、RNNとして、エンコーダー部20とデコーダー部30のそれぞれが持つニューラルネットワーク(RNN)として、4層1000ユニットのResidual GRU(Gated Recurrent Unit)を採用した。なお、AlexNetについては、下記の参考文献に記載されている。
参考文献:Alex Krizhevsky,Ilya Sutskever,Geoffrey E. Hinton,ImageNet Classification with Deep Convolutional Neural Networks,URL:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
【0072】
なお、比較対象の変換装置は、従来技術の手法を用いた変換装置である。つまり、比較対象の変換装置では、フレーム画像の特徴ベクトルをそのままエンコーダー部への入力とするものであり、先行するフレーム画像の特徴ベクトルとの間での差分の情報をエンコーダー部に入力することはない。
【0073】
評価実験で用いた学習データとして、入力映像(手話映像)と、グロス表現による正解語列との対、12000対を用いた。評価用データとしては、同様に入力映像とグロス表現による正解語列との対、1000対を用いた。学習データとして用いた入力映像は、日本放送協会の手話ニュースの映像である。対象ドメインは、気象情報および気象関連の話題である。入力映像の長さは、最大で、1文あたり10秒である。入力映像のフレームレートは、29.97フレーム毎秒である。画像のサイズは256画素×256画素であり、画像は、上半身と右手と左手とを含む。語彙数は、2275語である。
【0074】
図8は、評価実験の結果を示すグラフであり、WER(Word Error Rate、単語誤り率、変換誤り率)の値を、従来手法と本実施形態の手法との間で比較した結果を表すグラフである。グラフの横軸は延べ学習データ数である(単位は、文数)。グラフの縦軸は、WERの値である。WERは、正解データの単語列(記号列)と推定結果の単語列(記号列)との間の編集距離に基づいて計算される誤り率である。WERの値が低いほど、良好な結果であること、即ち正解との距離が近い推定結果が得られたことを表す。図8では、従来技術の手法と本実施形態の手法のそれぞれについて、実験結果として得られた学習データ数ごとのWERのグラフと、そのWERを学習データ数の方向にスムージング処理した結果のグラフとを示している。図示しているように、従来技術の手法も、本実施形態の手法も、概ね、学習データ数を大きくするほど、単語誤り率が下がる傾向が出ている。ただし、本実施形態の手法では、学習データ数が増加するにつれて、従来技術の手法の場合に比べて、より早く急峻にWERが低下しているなお、従来手法での最良値は0.573(サンプル文数が50万文超の所定の値のとき)である。また、本実施形態の手法での最良値は、0.558(サンプル文数が30万文弱の所定の値のとき)である。つまり、本実施形態により、従来技術の手法よりも、誤り率において1.5ポイントの改善を確認できた。このように、本実施形態を用いることにより、従来技術よりも低い単語誤り率を実現できる。
【0075】
なお、上述した実施形態における変換装置の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0076】
以上、実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。例えば、入力映像に映る内容は、手話以外でもよい。手話に限らず、任意のジェスチャー等の動き(人あるいは生物の動きには限定されない)の映像を基に、記号列を出力する変換装置を実施してもよい。また、出力する単語列は、グロス表記には限定されない。出力する単語列は、任意の言語表現や、より一般的な記号列等であってもよい。また、入力データは、映像に限定されない。例えば、任意の系列データであってもよい。また、エンコーダー部20やデコーダー部30や第2エンコーダー部60が用いる、機械学習のための手法は、ニューラルネットワークに限られるものではない。つまり、ニューラルネットワークの代わりに、学習データに基づいて機械学習を行うことのできる任意の手段を用いてもよい。
【0077】
以上、説明したように、本実施形態によれば、変換装置1の入力処理部10は、フレーム画像の特徴情報(特徴ベクトル)とともに、そのフレーム画像と近傍の他のフレーム画像の特徴情報との差分である差分情報(特徴差分ベクトル)とを求め、特徴情報と差分情報とを含む入力情報(特徴結合ベクトル)を出力する。エンコーダー部20およびデコーダー部30は、入力処理部10から提供される上記のような入力情報を処理対象とする。つまり、入力情報は、フレーム画像の時間方向の変化に関する情報を含む。これにより、変換装置1の出力記号列への変換精度が向上する。
【0078】
なお、上記の実施形態では、手話の映像のデータ(時系列のフレーム画像)を変換装置1の処理対象としたが、手話以外の映像(時系列のフレーム画像)を変換装置1が記号列に変換するようにしてもよい。
【0079】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0080】
本発明は、例えば、映像を基に記号列を生成するあらゆる適用領域(一例として、映像理解等)に利用することができる。特に手話映像を対象とした処理を行う場合には、聴覚障害者と健聴者のコミュニケーションに利用したり、手話学習者の教育に利用したり、することができる。ただし、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【0081】
1 変換装置
10 入力部
20 エンコーダー部
30 デコーダー部
40 出力部
50 ロス算出部
80 学習データ供給部
90 制御部
110 特徴量抽出部
111 特徴量抽出器
120 差分抽出部
121 差分抽出器
122 差分抽出部
123 差分抽出器
130 特徴量結合部
131 特徴量結合器
201,301 ニューラルネットワーク
図1
図2
図3
図4
図5
図6
図7
図8