多くの人が在宅勤務をするようになり、ビデオ会議が同僚とのコミュニケーションの主な手段となった時代になりました。1対1のミーティングやグループミーティングに何時間も費やし、画面上の小さな枠に映る顔を見ています。率直に言って、これは大変なことです。画面上の顔を認識しようとすると認知負荷が高くなり、「Zoom疲れ」と呼ばれる状態につながります。もちろん、これはZoomに限ったことではありません。Google Meet、WebEx、Skype、Microsoft Teamsなど、どんなツールを使っても同じ問題が起こります。
参照: Microsoft Teams でプライバシーやその他の設定を管理する方法
マイクロソフトは、こうした負担を軽減する方法に取り組んできました。その一つが、画面上の顔の見え方を変えるTeamsのTogetherモードです。もう一つのアプローチは、ArmベースのSurface Pro Xに組み込まれた専用の機械学習ハードウェアを活用することです。
アイコンタクトの紹介
Pro Xをお持ちの方なら誰でも利用できるEye Contactは、タブレットの前面カメラを使用するあらゆるアプリで動作するように設計されています。MicrosoftのSurfaceアプリをインストールし、「Eye Contact」タブに切り替えて「有効にする」をクリックするだけです。プレビューオプションでは、処理済み画像と未処理画像の微妙な違いを確認できます。プレビュー画像を見下ろしながら機能のオン/オフを切り替えると、2つの画像で目の位置がわずかに変化します。
Eye Contact は、あなたのイメージに大きな変化を与えることはありません。頭の位置や部屋の照明は変化しません。目の位置と表情をわずかに変化させるだけです。目が少し開き、視線の位置もわずかに変わります。そのため、実際には画面下の顔に焦点を合わせているにもかかわらず、カメラを見ているように見えます。
その結果、まるでビデオ会議の参加者の目を見つめているかのように、会話に積極的に参加しているように見えます。これは非常に微妙な効果ですが、会話が少しだけ心地よくなります。なぜなら、あなたが画面を見つめている間、相手が無意識にあなたとアイコンタクトを取ろうとすることがなくなるからです。
これは奇妙なほど利他的な機械学習です。あなた自身は(Surface Pro Xを使っている人と話している場合を除き)何の恩恵も感じませんが、相手はあなたが通話に積極的に参加しているように感じ、結果としてリラックスして過負荷状態が軽減されるでしょう。とはいえ、こうした副次的な効果も決して軽視すべきではありません。一部の参加者にとって通話がより良いものであれば、他の全員にとっても良い結果となるのです。
デバイスのハードウェアの使用

画像:マイクロソフト
Eye Contact は、Surface Pro X の SQ1 SOC に搭載されたカスタム人工知能 (AI) エンジンを使用しているため、複雑なリアルタイムのコンピュテーショナルフォトグラフィーの大部分がこのエンジンと内蔵 GPU に処理されるため、パフォーマンスの低下は見られません。すべてはデバイスドライバーレベルで処理されるため、前面カメラを使用するあらゆるアプリで動作します。Teams、Skype、Slack、Zoom など、どのアプリを使っていても、そのメリットを享受できます。
唯一の制約は、Surface Pro Xを横向きにする必要があることです。Eye Contactで使用されている機械学習モデルは、タブレットを縦向きにすると機能しません。ただし、ほとんどのビデオ会議アプリはタブレットPCではなく標準的なデスクトップモニターを使用していることを前提としており、横向きレイアウトに最適化されているため、実際にはそれほど問題にはなりません。
今後の課題は、この機械学習アプローチを他のデバイスにも導入できるかどうかです。残念ながら、当面は汎用ソリューションとして普及する可能性は低いでしょう。カメラドライバーに組み込む必要があり、MicrosoftはSurface Pro Xのカメラソフトウェアとプロセッサアーキテクチャの両方を所有しているという強みがあります。Microsoftは、HoloLensの両世代のカスタムシリコンに使用されているディープニューラルネットワーク(DNN)ハードウェアの設計と開発において豊富な経験を有しており、その知見の一部がSurface Pro Xのシリコン設計に活かされていると推測するのは妥当でしょう(特に、両チップセットの設計に同じチームが関わっていたように見えることから)。
Intel および AMD ベースの Surface 製品ラインの残りについては、機械学習サポートが強化された新世代のプロセッサが登場するか、Microsoft がカスタム AI エンジンを ARM ベースの SQ1 プロセッサから分離して、Google の TPU のようなスタンドアロン AI アクセラレータにするまで待つ必要があるでしょう。
リアルタイムAIには特殊なシリコンが必要
AIエンジンはそれ自体が強力なコンピューティングハードウェアであり、9TFLOPSの性能を発揮します。MicrosoftはここでEye Contact機械学習モデルを実行し、Surface Pro Xのカメラドライバー内の計算写真モデルから呼び出しています。このような専用ハードウェアがすべてのWindows PCで利用可能でなければ、Windows 10がポータブルONNX機械学習モデルをサポートしているとしても、内蔵カメラや外付けカメラを問わず、汎用的なEye Contactサービスを実現することは困難です。
Intelの最新Tiger Lakeプロセッサ(2020年11月発売予定)は、MLパフォーマンスを向上させるDL Boost命令を搭載していますが、SQ1の専用AIシリコンのようなDNN機能は提供していません。これらの機能が汎用CPUで利用できるようになるまでには、おそらく2~3世代のシリコンが必要になるでしょう。次世代GPUがEye ContactのようなDNNをサポートする可能性はありますが、科学研究用ワークステーション向けに設計された高価なハイエンドハードウェアが必要になるでしょう。
現時点では、Eye Contactは、SQ1のようなSOC AIエンジン、OpenCLやCUDAを用いたディスクリートグラフィックスを備えた汎用GPU、あるいはプロセッサのML推論命令セットなどを活用した将来のAIベースカメラのための重要な概念実証ツールと考えるのが適切でしょう。AIモデルをデバイスドライバに組み込むことで、ユーザーは新しいデバイスを接続するだけで高度な機能を提供できます。また、新たな機械学習技術によって新機能が実現すれば、デバイスドライバのアップデート版として提供することも可能です。それまでは、ハードウェアの持つわずかなパワーを最大限に活用し、より多くの人にとってより良いビデオ会議を実現していく必要があります。