Xacti社の360°Web会議カメラにAI機能を実装する#1

はじめに

Xacti社の360°Web会議カメラ CX-MT100を利用する機会があり、OpenVINOを利用してAI機能を追加する実験を行いました。

第1回目の内容はWebカメラの紹介と、全体の概要となります。

Xacti社の360°Web会議カメラ CX-MT100

製品公式ページは以下となります。

https://xacti-co.com/products/360camera/

Withコロナという事で、Web会議を利用する機会が増えていますね。拠点の会議室同士を繋いでWeb会議をする場合、大型モニタにWebカメラを設置し、正面から撮影するというパターンが多いと思います。

このカメラは上下パノラマモード、超広角モードという2種類のモードで撮影出来るWebカメラです。会議室の写し方次第で、Web会議の質が変わってくる可能性がありますね。

左上から、本体、台座、USBケーブル。左下の黒いのはレンズキャップです。

89.6 x 89.6 x 46.0mmという事で、結構コンパクトですね。

カメラを縦置きにすると、自動で超広角モードに切り替わります

実現機能の概要と使用モデル

OpenVINOを使って、以下のAI機能を実現したいと思います。
各機能の詳細については、次回以降に順次解説する予定です。

  • Web会議画面の構成(参加者の領域切り出し、属性の表示)
  • 話者の特定機能
  • ホワイトボードOCR機能

また、使用したモデルについては例として記載しています。他のモデルも確認すると適切なモデルが見つかる可能性がありますので試して頂ければと思います。

なお、Webカメラは中央に設置し、撮影モードは上下パノラマモードを利用しました。

Webカメラを会議室の中央に配置

パノラマモードで撮影するとこのような動画になります。

Web会議画面の構成

概要

上下パノラマモードで撮影するとこのような動画が撮影できます。

ここからOpenVINOで人や顔を認識し、認識した領域を切り出す事で、Web会議画面を構成します。

Web会議画面その1です。上部に参加者を、下部に全体の様子を表示しています。

参加者それぞれを認識し、名前、所属などを表示します。

Web会議画面その2です。4人の参加者を切り出しています。

参加者それぞれを認識し、名前、所属などを表示します。

使用モデル

  • Person Detection
    • intel/pedestrian-detection-adas-0002/FP16/pedestrian-detection-adas-0002
  • Face Detection
    • intel/face-detection-adas-0001/FP16/face-detection-adas-0001
  • Person reidentification
    • intel/person-reidentification-retail-0288/FP16/person-reidentification-retail-0288

話者の特定機能

概要

ミーティング中の話者を特定し大写しにします。指向性マイクがないことを想定し、Facial Landmarkの口の動き(画像の上唇:10番、下唇:11番)を利用し、話者特定を行ってみます。

Facial Landmarkの35箇所のポイント。上唇(10番)、下唇(11番)を利用

使用モデル

  • Person detection
    • intel/person-detection-retail-0013/FP16/person-detection-retail-0013
  • Face detection
    • intel/face-detection-retail-0005/FP16/face-detection-retail-0005
  • Reidentification
    • intel/person-reidentification-retail-0288/FP16/person-reidentification-retail-0288
  • Facial landmarks
    • intel/facial-landmarks-35-adas-0002/FP16/facial-landmarks-35-adas-0002

ホワイトボードOCR機能

概要

ホワイトボードに書いた文字を認識し、再利用しやすいように別ウィンドウで表示します。

使用モデル

  • intel/text-detection-0003/FP16/text-detection-0003
  • intel/handwritten-japanese-recognition-0001/FP16/handwritten-japanese-recognition-0001

参考にさせて頂いたプログラム

実装にあたって、openvino_open_model_zoo_toolkit、openvino-wrapperを借用させて頂きました。ありがとうございます。

https://github.com/yas-sim/openvino_open_model_zoo_toolkit
https://github.com/yas-sim/openvino-wrapper

まとめ

第1回目として、Webカメラの紹介と、全体の概要を説明いたしました。
次回から各機能の実装について説明したいと思います。