in

精確なAIデータを得る方法

文/Jessica Chien, FLOW AIデータ処理事業部担当者

【要約】AIデータ処理の現場を覗き見:
1. 分野をまたいだ問題を解決するためには?
2. 実例:人流解析
3. 実例:人物照合

FLOW 本社のAIオフィスのドアを開けると、どこか間違った場所に来てしまったのではないかと疑問に思うのかもしれません。

目の前では、鎖骨の角度や骨盤の位置について話し合うグループ。横を見てみると、壁に貼られた人体図を見て熟考する別のグループや、監視カメラの映像を繰り返し再生しながらターゲットの姿を探すグループもいます。

ここは犯罪現場でもなければ、病院でも美術教室でもなく、FLOW AIのデータサービスチームの日常です。

ここまでの文章を経て、精確なデータの重要性についてご理解いただけたと思いますが、ではそのデータはどうすれば得られるのでしょうか?今回では、いくつか実例を交えながらデータ処理の課題やコツ、そして解決策について見て行きたいと思います。

【人流解析】AIが風船を人間の頭部と間違えてしまう!解決策は?

(画像出典:日本FLOW)

以前、AIモデルが丸い風船を人間の頭だと誤認識してしまう問題について弊社FLOW AIに相談を持ちかけたお客様がいました。アノテーションに協力してもらい、精度の高いノイズ無しのデータを得るのが要望です。

担当チームが状況把握のために伺いしたところ、お客様のAIモデルが実力を発揮できなかった原因は、オープンデータセットを多用したからだと判明しました。

AIモデルのトレーニングに入る前に、「精確なデータ」を用意しておくことは非常に重要です。データ精度の定義は、AIを導入して何に使うかによって大きく変わるため、無料のオープンデータだけじゃなくて、実際の用途に合わせてデータを集める必要があります。

状況に合わせたデータ収集やアノテーション作業をするだけではまだ足りません。教師データの種類もできるだけ多様化にすることで、AIモデルの学習効果を更に引き上げることができます。例えば自動運転AIの場合だと、昼と夜、晴れの日と雨の日のデータはバランスを取れているのか気をつけなければなりません。この2大前提さえクリアしていれば、モデルの誤学習を回避できるでしょう。

話を戻しますが、データ処理チームの視点からすると、高精度のノイズ無しデータはどうやって作成するのでしょうか?

通常だと、企業はアノテーションをより多く、細かくすればAIモデルもより精確に学習できると思いがちですが、実は細かすぎると逆に悪影響を与えてしまう場合もあります。

スマートリテールを例として挙げますが、ターゲットの人物の姿がカメラから離れすぎてぼやけてしまうと、逆にAIに認識されにくくなります。FLOW AIのチームはお客様とアノテーションのルールについて話し合い、「切り捨て」のラインを明確に決めます。つまり、ターゲットが画面を一定以上の割合を占めていてはっきりと姿と五官を認識できる場合のみ、バウンディングボックスで囲みます。

また、ノイズの避けるために原則としてボックスを引く時は周囲のオブジェクトをなるべく排除し、他の人の頭も含まないように作業をします。このようにして、得られるデータをお客様のニーズに応えられる精確なものにしていきます。お客様からも、モデルの効率が改善されたという返事をいただけました。

【人体認識】アノテーション現場の人体構造と透視法

(画像出典:日本FLOW)

人体認識AIのデータに取り掛かる際、よく使われるのはキーポイントアノテーションという方法です。一見、マウスを動かして点をつけるだけで、アノテーション方法の中では一番シンプルなのではないかと思うのでしょう。

しかし残念ながら、そういう風に上手く行く場合のほうが稀です。

お客様のAI機械学習の運用目的は、単純なものから複雑なものまで様々あって一概に言えないため、同じターゲットに対しても17~25個、もしくは40~45個もののキーポイントを配置することもあります。人体の骨格についての知識がなければ、見えにくい関節を特定するのは難しいことです。

ターゲットが二次元のアニメキャラであれば比較的に判断しやすいのかもしれませんが、人間は立体的な空間に行きています。前後横、走り、しゃがみ、ジャンプなど色んな姿勢と動作があり、時に障害物により隠されることもしばしば。そうなると遮られた手足と関節の位置を想像力で補う必要があり、データ処理の難易度はぐーんと上がってしまいます。

FLOW AIはアノテーターの人体への知識を深めるために、人体骨格と関節位置に関して5つの基礎研修コースを設計しました。それでも、障害物に遮られた部分の扱いは依然として難航していました。在籍しているアノテーターは200名近くいて、それぞれの想像と判断基準が違うのに、どうやってアノテーションの品質を維持すればいいのでしょうか?

マネージャーチームは悩みに悩んだ末、「透視法」にたどり着きました。

人体のほとんどの関節は二本の平行線のように左右対称となっており(肩、股関節、膝など)、現実に存在する物であればこの二本の線を無限に伸ばし続けるといずれどこかの消失点で交わります。つまり、全てのキーポイントがその位置から線を引いてどこか遠くの点で交われば、このデータは正しく処理されたと判断できるということです。

画面の中の関節が位置を変え続けても、「透視法」という不変のルールを活用すればアノテーターが想像したキーポイントの場所は合っているか検証ができ、確実な品質管理も可能となります。

【人物照合】人波の中でも、一瞬でターゲットを特定するためには?

(画像出典:Unsplash)

近年、スーパーやデパート、道端、道路監視カメラの運用シーンでは、複数カメラを越えた人物照合のニーズは高まりつつあります。アノテーションの方法は基本的なバウンディングボックスかタギングになりますが、時間や空間などの変数も考慮すると処理の難易度も跳ね上がります。

以前、あるお客様から短期間で映像から同一人物を1000名特定しIDをつけ、それぞれの移動ルートに最低10個のバウンディングボックスを設定したいという依頼がありました。こういう時、いかに時間と労力を節約してタスクを達成すべきか、じっくり考えて計画する必要があります。

FLOW AIの場合、空間変数を把握するためにお客様にその場所のカメラ配置図をリクエストし、事前にカメラの角度、位置や出入口を研究します。そしたら捜査官のように、一定範囲の時間を決めてターゲットがA時点を通過すると次はどこに現れるのかを計算して、時間変数を考慮に入れます。

こうすると、ターゲットの移動ルートを素早く予測できるほか、5分後どのエリアに出現するかも推測でき、誤判断はないか検証できるようになります。

時間と空間の変数を乗り越えたら、もう一つ解決しなければならないことがあります。それは、人間の集中力と記憶力に限度があり、長時間に渡り全ての情報を覚えながら同時にアノテーション作業を進めるのは困難です。

アノテーターにとって、何時間もの動画データから1000人の特定人物を見つけ出して追跡するのは過酷なことです。最初のうちはターゲットAとBの違いを判別できても、時間が経つにつれ記憶力と判断力はだんだんと曖昧になり、両者を間違えてしまうこともあります。

そんな時、FLOW AIのチームは「多段階アノテーション」の仕組みを使い、アノテーターにまずボックスで囲む作業に集中させ、完成してからターゲットにタグをつけることでデータの精度を維持します。

AIの導入は実装が近づくにつき、企業のデータ精度への要求はますます高くなります。データ処理チームはAIプロジェクトに関して経験豊富であるか、各業種のデータ処理のノウハウを持っているかも重要になっていきます。

関連記事
AIモデルが育つには、どのくらいのデータが必要?
複雑なデータアノテーションの対処法とは?


AIモデルが正しく学習したかを確かめる方法

人工知能の高慢と偏見をなくす3つの方法