LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

AIやIoTにおける技術評価、ちょっと変わったアプローチ~レゴブロックで作ったミニチュア工場が教えてくれたこと~

IT技術者の方であれば、新しい要素技術や製品を手元で評価する機会は多いのではないでしょうか。私たちラックの技術者も、そのような機会がよくあります。今回ご紹介するのは、遠隔地に設置されたIoTデバイスをリモートサポートするTeamViewer IoTと、要素技術としてのAI(機械学習)の評価を行ったときに、思いもよらぬ新しい「視点」を与えてくれた体験談です。

はじまりはTeamViewer IoTという新しいサービスを、社内で評価するという話からでした。TeamViewer IoTは、ドイツに本社があるTeamViewer社が提供している、比較的新しいIoTプラットフォームです。主に遠隔地に設置されたIoTデバイスに対するリモートサポート等を支援します。本記事では、TeamViewer IoTの詳しいご紹介は割愛しますが、現在は管理対象デバイスを最大2デバイスまで機能無制限、無期限、無償でトライアルできますので、ご興味がある方は是非こちらをご参照ください。

The TeamViewer IoT solution - Secure Hyperconnectivity


評価環境を準備する

一般的な話になりますが、技術や製品を評価するには、評価対象が動作を行うために必要な機材や入力データ等の評価環境の準備が必要です。TeamViewer IoTのようなサービスの評価では、管理対象になるデバイスが必要になります。最低限動作するデバイスを用意して評価環境としても良かったのですが、以前から下記のような要素技術の検証ニーズがあったので、TeamViewer IoTの管理対象デバイスにこれらの機能を実装して評価を行うことにしました。

技術・製品検証には評価環境が必要
技術・製品検証には評価環境が必要
  • 機械学習ライブラリTensorFlow等を使ったAI(機械学習)について技術評価したい
  • 高価な機材を使わずに汎用のWebカメラの映像で画像分類が実現できるのを検証したい

具体的な準備作業としては、まずTeamViewer IoTのサポートOSでもあるRaspbian(Raspberry Pi OS)が動作するRaspberry Piに、USB接続のWebカメラを接続します。そのカメラからの入力画像をTensorFlow等を利用して画像分類する仕組みを考えました。ちなみに、この仕組みに必要なハードウェアの材料費は15,000円程度です。これであれば、TeamViewer IoTの検証のために、擬似的な評価環境を用意するという空虚な作業もなく、AIの技術評価も同時に行えるので一石二鳥というわけです。

そうなると今度は、この画像分類システムの評価環境はどうすべきか考えてしまいます。カメラからの入力画像をAIで分類する検証事例は多くありますが、検証者の身近な物品をカメラで撮影し、その画像をAIで分類してみるといった取り組みになりがちです。それでも分類精度や技術評価は導き出せますが、もっと、現実に即したリアルな評価環境は用意できないか考えました。そこでたどり着いたのが、レゴブロックを使うというアイデアです。

レゴブロックで作る評価環境

レゴブロックは皆さんご存じの通り、デンマークのレゴ社が提供するプラスチック製のブロックのおもちゃです。子供の頃に遊んだことがある人も多いのではないでしょうか。多くはブロックを組み合わせて、様々な形を作るといった遊び方をしますが、レゴブロックのパーツには単純なブロックだけでなく、ギアや歯車等のパーツもあり、モーターや制御装置を組み込んで可動させることも可能です。

こういった様々なパーツを使って小さなボールを搬送する仕組みをレゴブロックで作るというチャレンジがあり、これはGBC(Great Ball Contraption)と呼ばれています。私たちは、このGBCにインスピレーションを受けて、レゴブロックを使えばより現実に近い画像分類システムの評価環境が準備できるのではと考えました。

具体的には、レゴブロックを使ってミニチュアの工場を作り、その生産ラインを流れる製品の品質管理(今回は良品・不良品判定)をWebカメラが接続された画像分類システムで行うことにしました。AIを応用したシステムは広く普及しており、実際の製品製造工程等でも導入が進んでいますが、私たちのようなSI事業者は工場や店舗など実際の現場を持ち合わせていないので、AIやIoTを現場で試すことが困難です。

そこで今回は、ミニチュアではありますが実際に動く生産ラインを作って、それを画像分類システムの評価環境にしようというわけです。

製造、検品、選別。LEGO MINDSTORMS EV2で制御、検品にTeamViewer IoT・Raspberry Pi WebCam TensorFlow利用の画像分類を行う
こんな感じの評価環境構成を作ろう

レゴブロックによる生産ラインや、画像分類システムを担うRaspberry Piのソフトウェア設計・実装まで含めて、全体の設計~構築、動作確認までは約1ヵ月で行いました。限られた時間で設計から構築を行いましたが、ほぼ当初の想定通りに動作し、目的であったTeamViewer IoTや、AIを利用した画像分類の評価は十分な成果をあげました。

レゴブロックのミニチュア工場、動画でご覧ください

ここで、私たちが今回制作した評価環境を動画でご紹介したいと思います。

ミニチュア工場の生産ライン上を、バケット(籠)が流れています。このバケットは工場が生産する製品の材料の一つです。材料はもう一つあり、このバケットに入るボールです。バケットにボールをいれたものを製品と見立てています。ただし、バケットにボールが入っていれば何でも良いというわけではなく、出荷して良い製品はバケットにボールが2つ入っていて、しかもボールの色は白と設定しています。白以外のボールが混ざっていた場合、それを不良品として生産ラインから除外しなくてはいけません。

バケットに白いボールが2個入っていたら良品、バケットに白と橙・橙と白、橙と橙などボールが2個入っていたら不良品
当初想定していた必要な学習データ

この良品と不良品の判定をRaspberry Piに接続したWebカメラで撮影、その画像を学習済みの機械学習モデルを使って良品か不良品かを判定しています。判定と表現しましたが、内部的には画像を三種類に分類しており、良品(OK)、不良品(NG)、その他(ERROR)に分類しています。この評価環境では判定しただけで終わりではなく、判定結果に応じて生産ラインが動作を変え、良品と不良品に異なる後処理をします。つまり、判定の結果を評価環境にフィードバックもしているわけです。

カメラとAIによる実際のOK・NG・ERROR判定結果
カメラとAIによる実際の判定結果

ちょっと寄り道、デジタルツインってご存じですか?

デジタルツインは、IoTを応用する方法論です。デジタルツインでは、IoTは現実世界(フィジカル空間)とサイバー空間(デジタル空間)の間で情報の橋渡しをする役割と捉え、IoTによって現実世界に存在する観測対象の情報を収集します。さらに、収集した情報に基づいてサイバー空間に観測対象を模倣・再現し、再現された情報を解析してフィジカル空間上の観測対象を適切に制御する方法論です。デジタルツインは、特に製造の現場や設備保守等の分野で注目が高まっています。

デジタルツインの概念図
デジタルツインの概念図

これはIoTを応用したシステムがサイバー空間だけでなく、現実世界とも密接であるということを表す一例とも言えます。さらに、私たちはIoTだけでなくAIも、現実世界との繋がりが非常に密接な技術だと考えています。IoTとAIのいずれも、カメラやマイクなど各種センサーからの入力を処理することが多く、これらはすべて現実世界に存在する様々な観測対象から収集するものです。そう考えるとAIやIoTをベースとした製品や要素技術を評価する場合、単にサイバー空間上に用意した擬似的な入力データを利用して評価を行うのか、それともより本来の動作環境に近い評価環境で行うのかには違いがありそうです。

評価環境で発生した問題

今回のレゴブロックを用いた評価環境では、こんなことがありました。レゴブロックで作成した生産ラインにおいては、バケットにボールを入れることで製品を完成させますが、当初の想定では、ボールは必ず2個ずつバケットに入るように設計していました。ところが実際にレゴブロックで作った生産ラインを動作させると、ボールが1個しか入らないことや、逆に3個以上入ってしまう事象が度々発生してしまいました。この事象の主な原因は以下の2つだと推測されました。

  • ボールを落とす仕組みや構造自体に起因する動作精度の問題
  • レゴブロックの素材がプラスチックであり、たわみ等の影響による動作不良の問題

①は仕組みを大幅に見直した上で改修する必要がありそうです。仮に①が解決しても、②を根本的に解決するのは明らかに困難なため、完全に問題を払拭することは難しそうです。検討した結果、このバケットに入るボールの数が定まらないという想定外の事象を「現実世界におけるノイズ」だと考え、受け入れることにしました。言い方を変えると、私たちの当初の想定である、「バケットには必ず2つのボールが入る」という前提を放棄したのです。

レゴブロックが教えてくれたこと

サイバー空間に用意された正規化されたテストデータとは異なり、現実世界に実際に存在して動作するレゴブロックで作られた生産ラインは、様々な外的要因や特性によって、私たちの予測不可能な動作をすることがあります。しかし、考えてみると、これは程度の差こそあれ現実の製造工場や生産ラインでも起こりうることです。システムの評価を行うという観点では、むしろこういったノイズにも対処できるのかを含めて評価すべきだと、私たちは考えを改めました。

その考えを前提に、このノイズに対して私たちが行った実際の対処は極めて単純なものでした。画像分類システムの機械学習モデルに、ボールが2つ以外の画像を不良品として学習させただけです。こうすることで、生産ラインの仕組みや画像分類システムの構造に手を入れず問題が解決しました。想定外の事象に対する対応でしたが、これによって画像分類システムのような画像とAIによる品質管理システムが、対象とする製品や判定基準が変わっても柔軟に対応できることが証明されました。

バケットに白いボールが2個入っていたら良品、不良品はバケットにボールが2個以外の想定も加える
実際の動作をベースに見直した学習データ

もし、今回のように入力データにノイズの発生する評価環境を実際に用意しなければ、私たちの評価は事前に想定したパターンのテストデータ(ボールが必ず2個入っているバケットの画像)だけで、評価を下していたでしょう。AIやIoTにおける技術評価において、評価環境を現実世界に展開するのか、サイバー空間で完結させるのかは、評価結果に大きく影響することを経験できました。これこそが、今回の取り組みで私たちが学んだ新たな「視点」の一つでした。

さいごに

今回ご紹介したレゴブロックを用いた評価環境は、一見すると変わった取り組みに見えると思います。また、全てのIoTやAIの技術検証でこういった検証が有効というわけではないでしょう。しかし、これからの社会はスマートスピーカーに代表されるようなIoTデバイスの普及が急速に進み、コンピュータビジョンと呼ばれるカメラとAIの連携といった新たな技術が広まっていくでしょう。そういった現実と密接に関係する製品や要素技術の評価には、より現実に即した動作環境を念頭におくことが、適正な評価結果を得るために重要であると言えるかもしれません。

すべての製品・技術評価を、理想的な評価環境を用意した上で行うことは、時間やコスト等の制約から難しいと思います。レゴブロックを用いた評価環境の取り組みは、あらゆる問題を解決するものではありませんが、より現実に即した環境を限られたコストや時間の中で用意する、一つの選択肢になるのではないでしょうか。

お問合せ

TeamViewerに関する
お問い合わせ

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • TeamViewer QuickSupportで社員のスマホトラブルを楽々解消!テレワーク中の情報システム部門を徹底サポート

  • 自宅から客先のシステム開発・保守は実現できるのか?TeamViewerで2名体制のリモート作業を安全に行う方法

  • IPアドレスやVPNの設定不要!TeamViewerのちょっと技術的なハナシ