グラフニューラルネットで手話通訳もAIにお任せか

今回紹介するのは先週発表されたAI×手話通訳の論文です。聴覚障害者の増加に伴い手話通訳者の需要も高まっており、手話認識AIの登場が強く期待されています。論文では人の体や指の姿勢をグラフ構造と捉え、グラフニューラルネットで手話認識を行う新たな手法を提案しています。

論文:Spatial-Temporal Graph Convolutional Networks for Sign Language Recognition

                       目次
1. 増える聴覚障害者、足りない手話通訳者。
2. 手話は通常の視覚AIではわからない
3. 時空間GCN
4. 骨格検出:OpenPose
5. 実験結果と展望

 

1. 増える聴覚障害者、足りない手話通訳者。

World Health Organizationによると、聴覚障害者は世界に4億人いるとされ2050年には9億人に登ると推測されています。特に発展途上国で聴覚障害者は多く、耳の病気が悪化して障害に至るケースが多いようなのですが、特にそのような地域では手話が理解できる聴覚健常者は少なく聴覚障害者と健常者との間のコミュニケーションの壁が深刻化しています。

このような現状を受け機械による手話認識の研究は1990年代からありますが、最近ではディープラーニングを用いた研究も始まっています。

2. 手話は通常の視覚系AIではわからない

ディープラーニングならなんとかしてくれると考えられがちですが、手話認識問題は通常の視覚系AIでは解けません。視覚系AIを用いる代表的なタスクとして挙げられる画像分類や位置検出と比較し、大きく2つの難点があります。

まずひとつは手話は映像で理解する必要があるという点です。手の形だけではなくその動かし方をどの用に認識するのかというのがそもそもの難しい点でした。
もう一つが、空間的に様々なスケールの動きを認識することがあるという点です。指だけでなく身振り手振りにも注目する必要があり、学習ベースでそれらすべての認識の仕方を獲得することは困難でした。

(身振り手振りが意味を持つ手話単語の例『メリーゴーランド』)

 

しかし、画像・映像を扱う通常の視覚系AIにとって手話認識が難しいのは当然といえば当然です。なぜならこれらのAIは指や各関節を認識できたとしても、『隣の関節と繋がっていること』や『ある関節が次の時刻にどこへ動いたか』などといった時空間的な関係性を理解できるように設計されていないからです。

動きを理解するAIには時空間的な繋がりを明示的に理解させる手法が必要だとして、1年ほど前にグラフを使った運動認識手法『時空間GCN』が提案されました。

今回の手話認識では、指の骨格も検知して使うことでこの手法を拡張して用いています。

『時空間GCN』のデモ

 

3. 時空間GCN

 

GCNはグラフ畳み込みネットワーク(Graph Convolution Networks)の略でグラフ構造を扱えるニューラルネットワークです。

骨格情報をグラフと見るようなGCNでは上図の真ん中の部分が示すように、体の細かい部分の特徴量を捉えることからはじめ、抽出した複数の特徴量をもとに次の特徴量を捉えるようにして徐々に全体的な特徴を検出していきます。
イメージとしては、はじめに『各腕が伸びているか, 折れているか』を検出、それらをもとに『下半身は座っていそうか, 立っていそうか, あるいは走っていそうか』などを予測し、最終的に得られた情報量すべてを用いて通常の視覚系AIと同じようにクラス分類(何のスポーツをしているかなど)を行う、というような手法になっています。

時空間GCNでは通常の空間を扱うGCNを拡張し、図に描かれているように数10フレーム分のグラフを一緒に並べ、『骨格の動き』を『時空方向に広がる大きなグラフ』として捉え、結果的に映像が処理できるよう工夫されています。

また通常のGCNはそれぞれのノードが同等な意味を持つものしか扱えませんでした。例えば人同士の友好関係を表すGCNでは各ノードは人を、メッシュ情報を扱うGCNでは各ノードはメッシュの点を表していました。
しかし、人の骨格情報をグラフとして捉えた場合、各ノードは、頭、肩、肘、骨盤、膝、つま先、あるいは人差し指の第1関節…のように、それぞれ意味が明らかに異なったものとなっていますが、それでも問題なく既存のGCNの枠組みを使えるように他にもいくつか工夫がされています。

手話認識ではこの既存手法をベースに、胴体の情報として使う骨格情報は減らし代わりに新たに指の情報用いています。

4. 骨格検出:OpenPose

骨格のグラフ構造を扱うこの時空間GCN法自体には骨格を検出する機能はないので、別のシステムを用いて映像からリアルタイムで骨格を推定する必要があります。

そこで用いられるのがOpenPoseというライブラリです。ディープラーニングを使って映像からリアルタイムで全身と顔、手のキーポイントを取得できます。

GCNを使った手話認識を行う際は、フレームごとにまずOpenPoseを使って胴体と指の骨格検出をし、得られた座標情報を約60フレーム分(約2秒分)まとめてGCNに流します。

5. 実験結果と展望

 

論文では問題設定を簡単にし、20種類の手話単語の映像(約2秒)を集めたデータセットASLLVD-Skeleton-20を用意してクラス分類問題としてこの手法の評価を行っています。

残念なことに、提案手法は革新的な方法であることは間違いないのですが精度はあまり出ませんでした。
実験では学習の結果このAIの正解率は57%ほどにとどまり、問題をさらに簡単にして5個まで正解候補を上げて良いとしてようやく95%の正解率が出せたそうです。古典的な手法と比べれば圧倒的なスコアなのですが、他の既存のヒューリスティックな画像処理手法と比べると劣ってしまいました。

グラフという形で体や指の構造的な情報を与えることは有効なはずであるので、GCNのフレームワーク自体に改良の余地が多々ありそうです。また論文では深度情報を使うことも有効なはずだと述べられており、この結果を踏まえたさらなる手話翻訳AIの研究開発が期待されます。

ライター: 東京大学 学生

この記事をシェアする