【新規性喪失の例外の表示】特許法第30条第2項適用 (A)平成30年3月9日映像表現・芸術科学フォーラム2018の予稿集である映像情報メディア学会技術報告Vol.42,No.12,ISSN1342−6893の第83頁にて発表。(B)平成30年3月16日映像表現・芸術科学フォーラム2018で発表。(C)平成30年6月29日NICOGRAPH International 2018で発表。(D)平成30年8月23日https://ieeexplore.ieee.org/document/8444801に掲載。(E)平成30年7月29日第21回 画像の認識・理解シンポジウムの予稿集(MIRU 2018 Extended Abstracts)のPS1−14:1−4で発表。(F)平成30年8月5日第21回 画像の認識・理解シンポジウムで発表。(G)平成30年10月3日Cyberworlds 2018で発表。(H)平成30年12月27日https://ieeexplore.ieee.org/document/8590043に掲載。(I)平成30年11月3日NICOGRAPH2018で発表。(J)平成30年11月25日国立大学法人電気通信大学の第2回オープンキャンパスで発表。(K)平成31年1月6日International Workshop on Advanced Image Technology(IWAIT)2019で発表
(58)【調査した分野】(Int.Cl.,DB名)
前記手話特徴抽出部は、前記身体動作追跡部によって取得された複数のフレームのそれぞれの複数の座標点に対して、予め定められた原点及び予め定められた基準長を用いて座標変換を施す、請求項4又は5に記載のシステム。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、本実施形態に係るシステム10の一例を概略的に示す。システム10は、サーバ装置100と、複数のクライアント装置200とを備える。
【0014】
クライアント装置200は、手話を行っている人物を含む動画(手話動画と記載する場合がある。)に対して、手話動画において行われている手話によって表される単語を対応付けるアノテーション作業を行う作業者250が使用する装置である。クライアント装置200は、例えば、PC(Personal Computer)である。クライアント装置200は、タブレット端末であってもよい。クライアント装置200は、スマートフォンであってもよい。
【0015】
サーバ装置100は、アノテーション作業を支援する支援UIをクライアント装置200に提供する。サーバ装置100は、ネットワーク20を介して、支援UIをクライアント装置200に提供する。ネットワーク20は、インターネットを含んでよい。ネットワーク20は、3G(3rd Generation)通信システム、LTE(Long Term Evolution)通信システム、及び5G(5th Generation)通信システム等の移動体通信システムを含んでよい。
【0016】
サーバ装置100は、Webブラウザ上で動作する支援UIをクライアント装置200に提供してよい。これにより、作業者250は、専用ソフトウェア等をインストールすることなく、アノテーション作業を開始することができる。サーバ装置100は、例えば、自らがWebサーバを有して、Webブラウザ上で動作する支援UIをクライアント装置200に提供する。また、サーバ装置100は、例えば、他の装置が有するWebサーバを介して、Webブラウザ上で動作する支援UIをクライアント装置200に提供する。
【0017】
図2は、アノテーション作業を説明するための説明図である。アノテーション作業は、手話動画310に対して、動作種別毎に時間範囲を区切る作業を含む。動作種別は、例えば、手話動画に含まれる人物が静止している静止状態と、当該人物が動いている動作状態とを含む。静止状態は、例えば、人物が手話を開始する前と手話を終了した後に、一定姿勢で静止している状態であってよい。動作状態は、人物が手話動作中の状態であってよい。
【0018】
図2は、動作種別が静止状態と動作状態とからなる場合を例示しており、静止状態の時間範囲である静止区間311及び静止区間313と、動作状態の時間範囲である動作区間312とが登録されている例を示す。なお、動作状態は、複数の動作に分割されてもよい。例えば、動作状態は、開始動作、主要動作、及び終了動作を含む。主要動作は、複数の動作に分割されてもよい。
【0019】
アノテーション作業は、動作状態の時間範囲に対して情報を付与する作業を含む。例えば、アノテーション作業は、動作状態の時間範囲に対して、当該時間範囲において行われている手話によって表される単語を対応付ける作業を含む。
図2に示す例では、動作区間312に対して、「ありがとう」が対応付けられている。
【0020】
図3は、支援UI400の一例を概略的に示す。
図3に例示する支援UI400は、動画領域402と、参照ボタン404、動画開始ボタン406、動画終了ボタン408、アイテムボタン410及び送信ボタン412と、入力エリア420とを含む。
【0021】
作業者250は、手作業によって、アノテーション作業を行い得る。作業者250は、例えば、マウス及びキーボード等によって、アノテーション作業を行う。具体例として、まず、作業者250は、参照ボタン404を押下して、アノテーション作業の対象となる手話動画を選択する。選択された手話動画は、動画領域402に配置される。作業者250は、動画開始ボタン406によって手話動画の再生を開始し、動画終了ボタン408によって手話動画の再生を停止し得る。
【0022】
作業者250は、手話動画の内容を確認しながら、入力エリア420に、静止状態の時間範囲と、動作状態の時間範囲と、動作状態の時間範囲において行われている手話によって表される単語とを入力する。
図3では、静止状態の時間範囲を示すアイテム422及びアイテム426と、動作状態の時間範囲であって、単語が「ありがとう」であるアイテム424とが入力された例を示す。
【0023】
入力完了後に、作業者250が送信ボタン412を押下したことに応じて、クライアント装置200は、手話動画、静止状態の時間範囲、動作状態の時間範囲、及び単語をサーバ装置100に送信する。このように作業者250は、手作業によって、単語ラベルが付与された手話動画を、サーバ装置100に登録することができる。サーバ装置100において手話コーパスを生成するためには、大量のデータを収集することが望ましいが、作業者250の手作業のみでは、大量のデータを収集することが容易でない。よって、アノテーション作業を支援することによって、データ収集を効率化できることが望ましい。
【0024】
本実施形態に係るサーバ装置100は、例えば、入力エリア420内のアイテムの生成を支援する。以下、その流れを説明する。まず、作業者250が動画領域402に手話動画を配置した後、アイテムボタン410を押下したことに応じて、クライアント装置200が、手話動画をサーバ装置100に送信する。サーバ装置100は、手話動画に対して手話単語認識を実行して、静止状態の時間範囲と、動作状態の時間範囲と、動作状態の時間範囲内で行われている手話によって表される単語とを認識して、それぞれを表すアイテムを生成する。サーバ装置100によって生成されたアイテムは、入力エリア420内に表示される。
【0025】
作業者250は、入力エリア420内のアイテムを確認し、誤りがなければ、送信ボタン412を押下する。クライアント装置200は、送信ボタン412の押下に応じて、入力エリア420内のアイテムが正しい旨をサーバ装置100に通知する。サーバ装置100は、通知に応じて、手話動画に対して、静止状態の時間範囲、動作状態の時間範囲及び単語を対応付けて格納する。これにより、作業者250による時間範囲及び単語の入力作業を無くすことができ、アノテーション作業を効率化することができる。
【0026】
作業者250は、入力エリア420内のアイテムを確認し、誤りがある場合には、修正を行う。例えば、単語が誤っている場合、作業者250は単語を正しい単語に修正する。また、例えば、静止状態の時間範囲が誤っている場合、作業者250は静止状態の時間範囲を正しい時間範囲に修正する。また、例えば、動作状態の時間範囲が誤っている場合、作業者250は動作状態の時間範囲を正しい時間範囲に修正する。作業者250は、修正後に、送信ボタン412を押下する。クライアント装置200は、送信ボタン412の押下に応じて、修正されたアイテムをサーバ装置100に送信する。これにより、作業者250による作業を修正作業のみとすることができ、アノテーション作業を効率化することができる。
【0027】
なお、サーバ装置100は、アノテーション作業のうち、動作種別毎に時間範囲を区切る作業のみを支援してもよい。サーバ装置100によって認識可能な手話単語の数が少ない場合、手話単語認識による認識結果が誤認識となる可能性が高くなり、単語の修正作業が増加してしまうことになる。よって、サーバ装置100によって認識可能な手話単語の数が少ない場合においては、サーバ装置100が、動作種別毎に時間範囲を区切る作業のみを支援することによって、動作種別毎に時間範囲を区切る作業及び動作状態の時間範囲に対して情報を付与する作業の両方を支援する場合と比較して、アノテーション作業を効率化し得る。
【0028】
例えば、作業者250が動画領域402に手話動画を配置した後、アイテムボタン410を押下したことに応じて、クライアント装置200が、手話動画をサーバ装置100に送信する。サーバ装置100は、手話動画を解析して、静止状態の時間範囲及び動作状態の時間範囲を特定して、それぞれを表すアイテムを生成する。サーバ装置100によって生成されたアイテムは、入力エリア420内に表示される。
【0029】
作業者250は、入力エリア420内の静止状態の時間範囲及び動作状態の時間範囲を確認し、誤りがなければ、動作状態の時間範囲内で行われている手話によって表される単語を入力して、送信ボタン412を押下する。クライアント装置200は、送信ボタン412の押下に応じて、入力エリア420内の静止状態の時間範囲及び動作状態の時間範囲が正しい旨と、入力された単語とをサーバ装置100に通知する。サーバ装置100は、手話動画に対して、静止状態の時間範囲、動作状態の時間範囲及び単語を対応付けて格納する。これにより、作業者250による静止状態の時間範囲及び動作状態の時間範囲の入力作業を無くすことができ、アノテーション作業を効率化することができる。
【0030】
作業者250は、入力エリア420内のアイテムを確認し、誤りがある場合には、修正を行う。例えば、静止状態の時間範囲が誤っている場合、作業者250は静止状態の時間範囲を正しい時間範囲に修正する。また、例えば、動作状態の時間範囲が誤っている場合、作業者250は動作状態の時間範囲を正しい時間範囲に修正する。作業者250は、修正後に、動作状態の時間範囲内で行われている手話によって表される単語を入力して、送信ボタン412を押下する。クライアント装置200は、送信ボタン412の押下に応じて、修正した時間範囲と単語とをサーバ装置100に送信する。これにより、作業者250による作業を、時間範囲の修正作業及び単語の入力のみとすることができ、アノテーション作業を効率化することができる。
【0031】
なお、
図3に例示する支援UI400は一例であり、支援UI400は、手話動画を表示する領域と、アイテムの表示、入力、及び修正を行うインタフェースとを含めば、どのようなものであってもよい。
【0032】
図4は、サーバ装置100の機能構成の一例を概略的に示す。サーバ装置100は、動画受信部102、動画格納部104、及びUI提供部110を備える。
【0033】
動画受信部102は、手話動画を受信する。動画受信部102は、クライアント装置200から手話動画を受信してよい。
【0034】
動画受信部102は、アノテーション作業の対象となる手話動画を受信してよい。動画受信部102は、クライアント装置200から、アノテーション作業の対象となる手話動画を受信してよい。
【0035】
動画受信部102は、学習用の手話動画を受信してよい。学習用の手話動画は、手話によって表される単語と、動作種別毎の時間範囲とが既知の手話動画であってよい。動画受信部102は、例えば、クライアント装置200において、作業者250によって手作業で生成された学習用の手話動画を、クライアント装置200から受信する。
【0036】
動画格納部104は、手話動画を格納する。動画格納部104は、動画受信部102が受信した、アノテーション作業の対象となる手話動画を格納してよい。動画格納部104は、動画受信部102が受信した、学習用の手話動画を格納してよい。動画格納部104は、外部記憶媒体に記憶された学習用の手話動画を読み出して、格納してもよい。
【0037】
UI提供部110は、動画格納部104に格納されたアノテーション作業の対象となる手話動画に対するアノテーション作業を支援する支援UIをクライアント装置200に提供する。UI提供部110は、モデル格納部112、時間範囲特定部120、手話単語認識部130、提示部140、受付部142、単語格納部144、及びモデル更新部146を有する。なお、UI提供部110がこれらのすべての構成を有することは必須とは限らない。
【0038】
モデル格納部112は、手話単語認識モデルを格納する。モデル格納部112は、例えば、作業者250によって予め準備された手話単語認識モデルを格納する。
【0039】
時間範囲特定部120は、手話動画に対して、動作種別毎に時間範囲を特定する。時間範囲特定部120は、例えば、手話動画に対して、静止状態の時間範囲及び動作状態の時間範囲を特定する。
【0040】
時間範囲特定部120は、手話動画を解析することによって、動作種別毎に時間範囲を特定してよい。また、時間範囲特定部120は、作業者250からの指定を受け付けることによって、動作種別毎に時間範囲を特定してもよい。時間範囲特定部120は、クライアント装置200を介して、作業者250からの指定を受け付けてよい。
【0041】
手話単語認識部130は、モデル格納部112に格納されている手話単語認識モデルを用いて、動作状態の時間範囲において行われている手話によって表される単語を認識する。
【0042】
手話単語認識モデルは、手話単語認識部130によって生成されてもよい。手話単語認識部130は、例えば、動画格納部104に格納されている学習用の手話動画を用いて手話単語認識モデルを生成し、モデル格納部112に格納する。
【0043】
提示部140は、時間範囲特定部120によって特定された時間範囲と、手話単語認識部130によって認識された単語とを、支援UIを介してクライアント装置200を使用する作業者250に提示する。提示部140は、例えば、時間範囲特定部120によって特定された静止状態の時間範囲を示すアイテムと、時間範囲特定部120によって特定された動作状態の時間範囲を示すアイテムであって、手話単語認識部130によって認識された単語を含むアイテムとを、支援UIを介して作業者250に提示する。提示部140は、時間範囲及び単語を修正可能に提示してよい。
【0044】
受付部142は、手話動画、時間範囲及び単語の登録要求を受け付ける。単語格納部144は、受付部142が登録要求を受け付けた手話動画、時間範囲及び単語を対応付けて格納する。
【0045】
例えば、提示部140がクライアント装置200に時間範囲及び単語を提示し、時間範囲及び単語が修正されることなく、受付部142が登録要求を受け付けた場合、単語格納部144は、対象となる手話動画、時間範囲及び単語を対応付けて格納する。また、例えば、提示部140がクライアント装置200に時間範囲及び単語を提示し、受付部142が修正を受け付けた場合、単語格納部144は、対象となる手話動画と、修正後の時間範囲及び単語とを対応付けて格納する。受付部142は、修正受付部の一例であってよい。
【0046】
また、例えば、提示部140がクライアント装置200に時間範囲を提示し、時間範囲が修正されることなく、受付部142が単語の入力を受け付けた場合、単語格納部144は、対象となる手話動画と、時間範囲と、入力された単語とを対応付けて格納する。受付部142は、入力受付部の一例であってよい。また、例えば、提示部140がクライアント装置200に時間範囲を提示し、受付部142が時間範囲の修正と、単語の入力とを受け付けた場合、単語格納部144は、対象となる手話動画と、修正後の時間範囲と、入力された単語とを対応付けて格納する。
【0047】
モデル更新部146は、単語格納部144に格納されている手話動画、時間範囲及び単語に基づいて、モデル格納部112に格納されている手話単語認識モデルを更新する。モデル更新部146が、複数のクライアント装置200を介して、複数の作業者250によって登録された手話動画、時間範囲及び単語に基づいて手話単語認識モデルを更新することによって、手話単語認識モデルを用いた手話単語認識の認識精度を向上させることができる。
【0048】
図5は、手話単語認識部130の機能構成の一例を概略的に示す。
図6は、身体の座標点510の一例を概略的に示す。
図7は、顔の座標点520の一例を概略的に示す。
図8は、右手の座標点530の一例を概略的に示す。
【0049】
手話単語認識部130は、身体動作追跡部131、手話特徴抽出部132、モデル生成部133、及び認識実行部134を有する。なお、手話単語認識部130がこれらのすべての構成を有することは必須とは限らない。
【0050】
身体動作追跡部131は、手話動画の複数のフレームのそれぞれについて、手話動画に含まれる人物の身体の各部位の座標点を取得する。身体動作追跡部131は、例えば、Deep Neural Networkに基づく身体動作追跡アルゴリズムであるOpenPoseを用いて、手話動画に含まれる人物の身体の各部位の座標点を取得してよい。
図6、
図7、
図8に例示する座標点510、座標点520、座標点530は、OpenPoseを用いることによって取得できる座標点を示す。OpenPoseでは、手話動画の各フレームの追跡結果として身体、左手、右手、及び顔で、それぞれ18点、21点、21点、70点の合計130点の座標点p=(x、y)と、各座標点の信頼度cとが得られる。なお、身体動作追跡部131は、OpenPose以外の身体動作追跡アルゴリズムを用いてもよい。
【0051】
手話特徴抽出部132は、身体動作追跡部131による取得結果に基づいて、手話の特徴を示す手話特徴データを導出する。手話特徴抽出部132は、例えば、身体動作追跡部131による身体追跡で得られた各フレームの座標点と信頼度を統合した390次元データに対して、加工を施したデータを手話特徴として用いる。手話特徴抽出の工程は、低信頼度データの補正と、座標変換と、座標点の接続情報抽出と、不要特徴の削除及び特徴変化情報抽出と、次元標準化及び次元圧縮とを含んでよい。
【0052】
手話特徴抽出部132は、身体動作追跡部131によって取得された複数の座標点のうち、信頼度が予め定められた閾値以下である座標点を、当該座標点に対応する座標点の信頼度が閾値より高い、当該座標点を含むフレームよりも過去のフレームであって、当該座標点を含むフレームに最も時間が近いフレームに含まれる当該座標点に対応する座標点によって補正してよい。例えば、手話特徴抽出部132は、信頼度が予め定められた閾値以下である座標点の代替データとして、当該座標点に対応する座標点の信頼度が閾値より高い、当該座標点を含むフレームよりも過去のフレームであって、当該座標点を含むフレームに最も時間が近いフレームに含まれる当該座標点に対応する座標点を用いる。当該閾値は、任意に設定可能であってよい。当該閾値は、例えば、c=0である。
【0053】
手話特徴抽出部132は、身体動作追跡部131によって取得された複数のフレームのそれぞれの複数の座標点に対して、予め定められた原点及び予め定められた基準長を用いて座標変換を施してよい。手話特徴抽出部132は、人物の身体、左手、右手、及び顔毎に、予め定められた原点及び基準長を用いて座標変換を施してよい。
【0059】
表1に示す基準点p
o, p
a, p
bは、例示であり、任意の基準点が用いられてよい。例えば、下記表2に示す基準点が用いられてもよい。
【0061】
OpenPoseで得られる座標点には、人体の骨格や身体部位の輪郭に即して身体、左手、右手、および顔でそれぞれ17個、20個、20個、63個の接続関係が定義されている。座標点接続関係の定義に従い,手話特徴抽出部132は、座標点間の距離と方向の合計240次元を特徴量として抽出する。なお、座標点間の方向は番号の小さな座標点から番号の大きな座標点に向かう方向ベクトルから求めたラジアン角を用いる。また、座標点間の接続情報は座標変換後の座標値を用いて算出する。
【0062】
身体部位の下半身の座標点と各部位の座標変換の原点は、手話動作中に座標が変化しないため認識に有効な情報を持たない。また、各座標点に対応する信頼度も認識に有効な情報を持たない可能性が高い。そこで、本実施形態において手話特徴抽出部132は、ここまでの工程で得た630次元データから、8個の不要座標点のx;y座標16次元と下半身座標点の接続情報8次元と、信頼度130次元とを不要特徴として削除する。その後、残された476次元データの特徴変化情報として各次元の1次微分値を特徴量として抽出する。
【0063】
ここまでの工程で特徴量として952次元の高次元データが得られる。各次元は値のスケールが異なるためそのまま学習に用いることは望ましくない。また、高次元の特徴量を用いて認識を行うためには大量の学習データを必要とする。そこで本実施形態において、手話特徴抽出部132は、特徴量の各次元が平均0、分散1の正規分布に従うように標準化を行い、さらに主成分分析を用いて次元圧縮を行う。データセットの全動画から得たデータを用いて標準化と主成分分析を行い、累積寄与率を調査したところ、第397主成分で累積寄与率が95%に達した。ここから、手話特徴抽出部132は、主成分分析を用いて397次元に圧縮したデータを手話特徴とする。
【0064】
モデル生成部133は、身体動作追跡部131及び手話特徴抽出部132による処理によって学習用の手話動画から抽出された手話特徴データを用いて、手話単語認識モデルを生成する。モデル生成部133は、生成した手話単語認識モデルを、モデル格納部112に格納してよい。
【0065】
認識実行部134は、身体動作追跡部131及び手話特徴抽出部132による処理によって、アノテーション作業の対象となる手話動画から抽出された手話特徴データと、モデル格納部112に格納されている手話単語認識モデルとを用いて、手話単語認識を実行する。認識実行部134は、手話単語認識に隠れマルコフモデル(HMM:Hidden Markov Model)を用いてよい。HMMは時間軸方向の特徴伸縮に頑健な認識アルゴリズムであり、音声認識の分野で多数の実績がある。本実施形態では静止状態に対して状態数5、各手話単語に対して状態数22のLeft to Right型HMMモデルを学習し、認識に用いる。認識モデルの学習と単語ラベルの推定にはThe Hidden Markov Model Toolkitを用いてよい。認識モデルの学習にはBaum−Welchアルゴリズムなどの一般化期待値最大化法を用いてもよい。単語ラベルの推定にはViterbiアルゴリズムなどの動的計画法を用いてもよい。
【0066】
図9は、時間範囲特定部120の機能構成の一例を概略的に示す。ここでは、時間範囲特定部120が、SVMと、時系列データの特徴量と隣接データ間の特徴量連続性とに基づく分割手法とを用いて、時間範囲を特定する機能を有する場合の機能構成を例示する。時間範囲特定部120は、分類部121及び分類結果補正部125を備える。
【0067】
分類部121は、学習用の手話動画に含まれる複数のフレームのそれぞれの、フレーム内の人物が静止状態であるか動作状態であるかを示す状態情報及び手話特徴データを用いてSVMモデルを学習することによって導出された分割超平面に基づいて、アノテーション作業の対象となる手話動画に含まれる複数のフレームを、静止状態と動作状態とに分類する。分類結果補正部125は、時系列データの特徴量と隣接データ間の特徴量連続性とに基づく分割手法を用いて、分類部121による分類結果を補正する。
【0068】
分類部121は、身体動作追跡部122、手話特徴抽出部123、及び分類処理部124を有する。身体動作追跡部122は、アノテーション作業の対象となる手話動画に含まれる複数のフレームのそれぞれについて、手話動画に含まれる人物の身体の各部位の座標点を取得する。身体動作追跡部122は、身体動作追跡部131と同様の処理によって座標点を取得してよい。身体動作追跡部122は、身体動作追跡部131と一体であってもよい。
【0069】
手話特徴抽出部123は、身体動作追跡部122による取得結果に基づいて、複数のフレームのそれぞれについて、手話の特徴を示す手話特徴データを導出する。手話特徴抽出部123は、手話特徴抽出部132と同様の処理によって手話特徴データを導出してよい。手話特徴抽出部123は、手話特徴抽出部132と一体であってもよい。
【0070】
分類処理部124は、複数のフレームのそれぞれの手話特徴データと分割超平面とに基づいて、複数のフレームを静止状態と動作状態とに分類する。分類結果補正部125は、複数のフレームのそれぞれの手話特徴データの分割超平面からの距離と、分類処理部124による分類結果とをGraphcutsに適用することにより、分類結果を補正してよい。
【0071】
図10及び
図11は、分類部121及び分類結果補正部125による処理を説明する説明図である。ここでは、分類部121及び分類結果補正部125が手話動画を2段階で静止状態の時間範囲と動作状態の時間範囲とに分割する処理の流れを示す。
【0072】
まず、初期分割として、分類部121が、学習済みのSVMモデル600を用いて手話動画の各フレームを静止状態と動作状態の2値に分割する。学習済みのSVMモデル600は、学習用の手話動画に含まれる複数のフレームのそれぞれの、フレーム内の人物の状態情報及び手話特徴データを用いて学習することによって導出された分割超平面602を含む。初期分割によって、各フレームが、静止状態のフレームであるか動作状態のフレームであるかを示す分割ラベルと、分割超平面602からの距離604とが導出される。
【0073】
初期分割は、フレームの時間的な流れを考慮せず、フレームの特徴によって分割するので、誤分割が発生し得る。
図10では、フレーム611が、本来、動作状態のフレームであるところを静止状態のフレームとして分割され、フレーム621が、本来、静止状態のフレームであるところを動作状態のフレームとして分割されている場合を例示している。
【0074】
分類結果補正部125は、隣接フレームを考慮した分割手法を適用することによって、分類部121による分類結果を補正する。ここでは、分類結果補正部125が、Graphcutsを用いる場合を例に挙げて説明する。分類結果補正部125は、複数のフレームのそれぞれに対して導出された分割ラベルと、分割超平面602からの距離とをGraphcutsに適用する。
【0075】
各フレームの特徴量と隣接フレーム間の特徴量連続性を考慮した分割は、下記数式2に示すエネルギー最小化問題として定義できる。
【0077】
上記数式2の右辺第1項はデータ項と呼ばれ、各フレームに当てはめるラベル値の妥当性を評価する。上記数式2の右辺第2項は平滑化項と呼ばれ、隣接フレーム間におけるラベル値の連続性を評価する。λはデータ項と平滑化項の影響を調整する定数であり、本実施形態ではλ=10を用いる。Graphcutsは上記数式2のエネルギー最小化問題を、グラフ理論における最小カットを導出する問題として扱うことでデータ集合の分割を行う手法である。本実施形態では時系列データの分割にGraphcutsを適用するために
図11に示すような重み付き有効グラフG630(G=(V;E))を構築する。Vは頂点集合を表し、各フレームを示す頂点v
iと分割する静止区間と動作区間を示す特別な頂点v
sとv
tから成る。本実施形態では、v
sを静止区間とし、v
tを動作区間とする。Eはエッジ集合を表し、隣接する頂点間を結ぶ双方向エッジe
ij=e
jiとv
s;v
tと各v
i間を結ぶ有向エッジe
si、及びe
itから成る。各エッジは切断コストと呼ばれる重みを持っておりそれぞれc
ij=c
ji、c
si、c
itと表記する。グラフのカットとは、頂点集合Vを二つの部分集合S(v
s∈S)とT(v
t∈T)に分ける操作を指す。
図11ではエッジを切断するカットを点線で示している。この切断されたエッジのうち、頂点v
sからv
tに向かうエッジの総切断コストをカットの容量と呼ぶ。最小カット問題は容量が最小であるカットを見つける問題である。データ項と平滑化項をグラフの切断コストに対応させたとき、最小カット容量は上記数式2の最小エネルギーに一致する。したがって、カットにより分割した部分集合S、TがGraphcutsによる分割結果となる。本実施形態ではエッジe
si; e
it; e
ijに対応する切断コストをそれぞれ、c
si=E
1(y
i=−1)、c
it=E
1(y
i=1)、c
ij=E
2(y
i, y
j)で表す。データ項は既知の特徴量モデルに対する各フレーム特徴量の尤度を用いて算出し、平滑化項は隣接フレーム間の特徴量差に基づいて算出する。本実施形態では特徴モデルとしてSVMモデルの超平面からの距離に基づく正規分布を用いる。Yに基づいて分割した静止区間と動作区間をそれぞれ、C
0とC
1で表す。特徴モデルの学習ではまず、初期分割結果の分割ラベルに基づいて各フレームをC
0とC
1に振り分け、その後、下記数式3によって導出される分割超平面からの距離d
iを用いて、μ
C1距離平均μ
C0、μ
C1と距離分散σ
C0、σ
C1を導出する。
【0080】
学習した特徴モデルを用いたデータ項は下記数式4及び数式5を用いて算出する。
【0083】
ただし、N(μ
C、σ
C、d
i)は、下記数式6で示される。
【0087】
ただし、<>は期待値を導出する演算を指す。上記数式7の指数項はSVMの分割超平面からの距離値の差に基づくガウス関数であり、距離差が期待値を下回る隣接フレーム間のコストを強調する効果がある。グラフの最小カットは最大フロー最小カットアルゴリズムを用いて解けることが知られている。さらに、分割と特徴量モデルの更新を繰り返すことで分割結果を改善することが可能である。本手法ではまず、SVMによる初期分割結果に基づいて特徴モデルの学習を行った後、1回目の分割を行う。その後の分割では、中間分割結果に基づいて特徴モデルを更新して分割を行う。本実施形態では特徴モデルの更新と分割を繰り返し、カットの容量が減少しなくなった時点の分割結果を最終分割結果とする。
【0088】
図12は、クライアント装置200の機能構成の一例を概略的に示す。クライアント装置200は、動画取得部202、表示制御部204、入力受付部206、及び通信部208を備える。
【0089】
動画取得部202は、手話動画を取得する。動画取得部202は、例えば、クライアント装置200が備える撮像部によって撮像された手話動画を取得する。また、動画取得部202は、スマートフォン及びタブレット端末等の任意の装置によって撮像された手話動画を、当該任意の装置から受信してもよい。
【0090】
表示制御部204は、各種情報をクライアント装置200が備えるディスプレイに表示させる。表示制御部204は、例えば、支援UIを表示させる。また、表示制御部204は、動画取得部202が取得した動画を表示させる。
【0091】
入力受付部206は、各種入力を受け付ける。入力受付部206は、例えば、クライアント装置200が備える入力デバイスによる入力を受け付ける。入力受付部206は、例えば、入力エリア420に対する入力を受け付ける。
【0092】
通信部208は、各種通信を実行する。通信部208は、例えば、動画取得部202が取得した手話動画をサーバ装置100に送信する。通信部208は、例えば、入力受付部206が受け付けた入力内容をサーバ装置100に送信する。通信部208は、サーバ装置100から各種データを受信する。表示制御部204は、通信部208がサーバ装置100から受信した各種データを、クライアント装置200が備えるディスプレイに表示させてよい。
【0093】
図13は、サーバ装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本発明の実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0094】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD−ROMドライブ及びDVD−RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0095】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0096】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD−ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0097】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0098】
プログラムは、DVD−ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0099】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD−ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0100】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD−ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0101】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0102】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0103】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0104】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0105】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0106】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0107】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0108】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。