ugo Tech Blog

ugoの日々の開発・生産について

ugoとAI ~OpenVINO™ ツールキット編~

こんにちは 中村です。

今回は、OpenVINO™ ツールキットの主な機能、利点、そしてugoではどのように利用しているかについて紹介します。

OpenVINO™ ツールキットについて

OpenVINO™ ツールキットは、オープンソースのツールキットであり、ディープラーニングモデルの最適化を行い、推論を高速化するツールキットです。

www.intel.co.jp

主な機能

OpenVINO™ ツールキットは、主に以下の機能を提供しています。

  • モデル最適化 OpenVINO™ ツールキットは、各種のディープラーニングモデルを最適化し、高速化することができます。
    モデル最適化には、モデルの量子化、プルーニング、および選定などが含まれます。
    これにより、モデルのサイズが大幅に削減され、モデルの推論が高速化されます。

  • マルチデバイス実行 OpenVINO™ ツールキットは、CPU、GPUFPGA、VPUなどのデバイスで推論を実行することができます。
    これにより、異なるデバイスに適した最適な推論を実行することができます。
    また、この機能により、エッジデバイスでも高速な推論を実行することができます。

  • プリトレーニングモデル OpenVINO™ ツールキットは、主要なディープラーニングフレームワークでトレーニングされたプリトレーニングモデルを提供しています。 これらのモデルは、最適化され、軽量化され、最適な推論速度を提供するように設計されています。
    これにより、モデルのトレーニングにかかる時間を短縮し、より高速な推論を実行することができます。

利点

上記の機能からOpenVINO™ ツールキットを使用すると、以下のような利点があります。

  • 高速な推論を実行することができます。
  • CPU、GPUFPGA、VPUなどの異なるデバイスで推論を実行することができます。
  • モデルの最適化により、モデルのサイズが大幅に削減されます。
  • プリトレーニングモデルを使用することにより、モデルのトレーニング時間を短縮することができます。

ロボットへの応用例

1. ロボットの自律性の向上

ロボットが自己判断を行うためには、高度な推論能力が必要です。OpenVINO™ ツールキットは、機械学習モデルを最適化し、高速化することができます。これにより、ロボットがリアルタイムに環境の変化に対応し、高速かつ正確な判断を行うことができます。
また、OpenVINO™ ツールキットが提供するプリトレーニングモデルを使用することにより、ロボットのトレーニング時間を短縮することができます。
これにより、ロボットの開発サイクルを短縮し、より迅速な開発が可能になります。

2. ロボットのセンシングの向上

ロボットが正確な判断を行うためには、高度なセンサー技術が必要です。OpenVINO™ ツールキットは、デバイスで推論を実行することができるため、ロボットのセンシング能力を向上させることができます。
例えば、VPUを使用することにより、画像推論処理を高速かつ正確に行うことができます。
これにより、ロボットが正確な情報を収集し、より高度なタスクを実行することができます。

3. ロボットの認識の向上

ロボットが環境を正確に認識するためには、高度な画像処理技術が必要です。OpenVINO™ ツールキットは、画像処理に特化した機能を提供します。
例えば、物体検知、顔認識、音声認識などの機能を用いることで、ロボットが周囲の環境を正確に認識し、より高度なタスクを実行することができます。

ugoへの応用例

ではugoではこのOpenVINO™ ツールキットをどのように応用しているのでしょうか。
ugoでは先ほど紹介した3. ロボットの認識の向上にOpenVINO™ ツールキットを活用しています。
ugoの簡単な構成は下図のようになります。

アーキテクチャ

ugoは市販のシングルボードコンピュータ(SBC)を採用しています。SBCでリアルタイムに推論をするのは難しいためOpenVINO™ ツールキットを使用する際はIntel NUCを推論専用機として搭載しています。
.
SBCとIntel NUCとの通信は自社独自のフレームワークを使用しています。
今回使用したIntel NUC(BNUC11TNKi70000)及び周辺機器のスペックは下記となります。OpenVINO™ ツールキットでリアルタイム推論を行うには十分なスペックとなってます。

  • プロセッサ:Intel Core i7-1165G7 Processor (12M Cache, up to 4.70 GHz) 4コア8スレッド
  • メモリ:W4N3200CM-16GR × 2
  • ストレージ:SSD 1TB WDS100T2B0C-EC

それではugoの実例について紹介していきます。
以下がugoで使用しているOpenVINO™ ツールキットの主な機能になります。(本機能はugo go! 2022や自動認識展で展示したものとなります。)

OCR機能

ugoは付属のカメラで文字を読み取ることができます。
これは点検においてデジタルメーターの読み取りや表示板の認識などに利用しています。

表情認識機能

ugoの顔となる頭の部分にはカメラがついています。人は会話をする時、相手の顔を見て会話をしますが、ugoも相手の顔を見ることができます。
また、相手の顔を認識することでどのような表情をしているのか、相手がどっちを向いているのかなどのデータを得ることができます。
.
得られた情報を参考にugoは自動的に顔が変わります。例えばugoと会話をしている時、笑ってあげるとugoも微笑んでくれます。

また相手の視線や頭の向きを検出することで何を見ているのかを推定し、それに合わせたセリフを喋ることができます。

人物検知機能

人検知機能は人の識別、位置、トラッキング情報などが得られます。
.
これらの情報を利用しugoは人が近づいてきたら挨拶をしたり、案内をしたりすることができます。
また、人の数を数えて混雑状況を収集することも可能です。


おわりに

OpenVINO™ ツールキットには多種多様なモデルが存在し、簡単に組み込むことができます。機械学習ライブラリの知識がなくても実装できるのでぜひ試してみてください。
https://docs.openvino.ai/latest/omz_demos.html.
ugoでは物体検知を利用した追尾機能、ジェスチャー推定を利用したコミュニケーション機能など様々なAIを利用した機能を開発中です。

また、一緒にロボットを社会実装していく仲間を絶賛募集中です。
詳しくはこちら👇まで。

herp.careers