これまでは「回転レーンから取った寿司⽫数」が機械的に取得できず、店員が⼿動かつ⽬視で⽫数の確認を⾏っていましたが、くら寿司では QR コードの識別とTensorFlow を⽤いた画像検知により⾃動で取られた寿司⽫の種類と数をカウントすることで、無⼈で会計確認を⾏う事を実現し、業務コストの削減に成功しました。
この記事は Daniel Situnayakeによる TensorFlow - Medium の記事 "Build AI that works offline with Coral Dev Board, Edge TPU, and TensorFlow Lite" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
投稿者: Daniel Situnayake(@dansitu、TensorFlow Lite デベロッパー アドボケート)
機械学習を支えるハードウェアと聞くと、どこかのサーバー ファームで無数のプロセッサが大量に電力を消費しながら何テラバイトものデータを消費している様子や、たくさんの GPU を搭載した巨大なデスクトップ コンピュータを思い浮かべるのではないでしょうか。
クレジットカードほどの大きさの開発ボードに取り付けられている 40mm x 48mm の集積回路を想像する方は、あまりいないでしょう。ましてや、ミニカーほどの大きさのなめらかなアルミニウム製の箱が 1 つの USB-C でコンピュータと接続されている姿は論外のはずです。
Coral の開発ボードは、Edge TPU を搭載したリムーバブル System-On-Module(SOM)を含むシングルボード Linux コンピュータです。そのため、アプリケーションのプロトタイピングを行ってから、独自の端末に SOM を含めて生産用にスケールアップすることができます。Coral USB アクセラレータは、Edge TPU を対応する Linux コンピュータに接続する USB アクセサリです。Raspberry Pi Zero にちょうど合うように設計されています。
このブログ投稿では、「エッジ」(末端)でのおもしろい機械学習活用例や、ハードウェア製品に AI を組み込む際に TensorFlow Lite と Coral がどのように役立つかについて説明します。トレーニング済みモデルを使えば、機械学習の経験がなくても大丈夫なこともわかっていただけるでしょう。独自のモデルをローカル用に最適化する変換ツールについても紹介します。
Coral は新しいプラットフォームですが、TensorFlow とシームレスに連携できるように設計されています。Coral で TensorFlow モデルを使う場合は、TensorFlow Lite を使います。TensorFlow Lite は、Edge TPU を含むエッジデバイスやスマートフォン、マイクロコントローラで機械学習推論を実行するためのツールキットです。
トレーニング済みモデル
Coral のウェブサイトでは、Coral ハードウェアでの利用に最適化されているトレーニング済み TensorFlow Lite モデルが公開されています。まだ初めたばかりだという方は、モデルをダウンロードして端末にデプロイしてみてください。Coral の API デモスクリプトを使って、さまざまな種類の物体に対するイメージ分類や物体検知を実行できます。
AI はあらゆる人にメリットをもたらします。調査や学習、開発作業を共同で行う場合、特にそれが当てはまります。この目的を実現し、誰でも AI を使った開発ができるようにするため、Google は TensorFlow や AutoML といったツールを開発しています。本日、コーラルが公開ベータ版になり、皆さんがアイデアやプロダクトを構築する方法がさらに広がります。
コーラルが提供するのは、簡単にアイデアをプロトタイプから製品へと発展させることができる完全なローカル AI ツールキットです。コーラルには、端末のローカルでニューラル ネットワーク(NN)を作成、トレーニング、実行する際に役立つハードウェア コンポーネント、ソフトウェア ツール、コンテンツが含まれています。私たちはローカルで NN を高速化することに主眼を置いているため、コーラル製品群は優れたニューラル ネットワークのパフォーマンスを発揮でき、プライバシーも強力に保護され、すべてが電力効率のよいパッケージにまとめられています。皆さんがアイデアを市場に出せるように、コーラルのコンポーネントは、高速なプロトタイピングと簡単な生産ラインへのスケーリングができるように設計されています。
コーラル開発ボードは、新しいプロダクトの開発用です。完全に統合されたシステムで、キャリアボードに接続された System on Module(SoM)として設計されています。この SoM は、強力な NXP iMX8M SoC と Google の Edge TPU コプロセッサを組み合わせたものです(Wi-Fi、Bluetooth、RAM、eMMC メモリも含まれています)。コンピュータ ビジョン アプリケーションのプロトタイピングを簡単に行えるように、MIPI インターフェースで開発ボードと接続できるカメラも提供します。
既存の設計に Edge TPU を追加したい場合は、コーラル USB アクセラレータを使うと、USB 2.0 や 3.0 経由でどんな Linux システム(Raspberry Pi ボードも含む)にも簡単に組み込むことができます。PCIe バージョンも近日中に登場する予定で、M.2 または mini-PCIe 拡張スロットにはめ込むことができるようになります。
生産ラインへのスケーリングの準備ができた方のために、開発ボードを元にした SOM と PCIe バージョンのアクセラレータの大量発注も受け付けます。独自のキャリアボードを作ってさらに統合を進めたい方のために、ベースボードの回路図も公開する予定です。
ソフトウェア ツールは、TensorFlow と TensorFlow Lite をベースとしています。TF Lite モデルは、量子化して Google のツールチェーンを使ってコンパイルした上で、Edge TPU で直接実行する必要があります。簡単に試せるように、トレーニングおよびコンパイル済みでコーラルボードですぐに動作させることができる 10 個以上のモデルと、それを再トレーニングするためのソフトウェア ツールを共有しています。