この記事は、インテル® デベロッパー・ゾーンに公開されている「Expand the Possibilities of Computer Vision with AI」(https://software.intel.com/en-us/articles/expanding-the-possibilities-of-computer-vision-with-ai) の日本語参考訳です。
この記事の PDF 版はこちらからご利用になれます。
コンピューター・ビジョンの長所と可能性は、AI と IoT テクノロジーの発展に伴って大きく拡大しています。
「コンピューター・ビジョン市場には、医用画像解析、ビデオ監視、不動産開発の最適化、広告掲載、書類のデジタルデータへの変換などのビジネス・アプリケーションとともに、拡張現実やバーチャル・リアリティー、ロボット、ドローン、自動運転車などの一般消費者向けアプリケーションも含まれます。一般消費者向けアプリケーションもしばしば話題になりますが、大きな変化は、コンピューター・ビジョンの機能を利用する AI ベースのビジネス・アプリケーションを推進するため、企業がデータ解析の先に進もうとしていることです。」1
— Tractica、リサーチ・ディレクター、Aditya Kaul 氏
課題
コンピューター・ビジョンは、消費者および企業ビジネス・アプリケーションの両方に多くの可能性をもたらしました。しかし、従来のテクノロジーでは、実装が大きなネックになっていました。
ソリューション
ネットワーク・エッジに人工知能 (AI) を組込む高度なコンピューター・ビジョン・テクノロジーと AI により強化されたソリューションを利用して、実用的な価値を生み出す革新的な新しいユースケースが開発されています。
経歴とプロジェクトの歴史
Adam Milton-Barker 氏は、DJ として働いた後、販売促進用の Web サイトを構築する際にコーディングに興味を持ち、やがて AI および IoT (モノのインターネット) に深い興味を持つようになりました。数年の間、さまざまな仕事や自分の会社の管理に時間を費やしながら、AI の専門知識を蓄え続けました。サンパウロに拠点を置くチームの医療ニューラル・ネットワーク・プロジェクトに参加したこともあります。2014 年に、Microsoft* 開発プログラムコンテストの各部門の優勝者にインテル® Galileo 開発ボードをプレゼント、という広告が彼の目に留まりました。「当時、私は主に、AIML (アーティフィシャル・インテリジェンス・マークアップ・ランゲージ) を使用した、Web、経営管理アプリケーション、自然言語プログラムの開発に携わっていました。コーディングを教えながら、開発者フォーラムのメンバーとしてゲームやアプリの開発も行っていました。IoT に触れる機会はそれまでありませんでしたが、IoT の考え方が大いに気に入り、家にある多くの機器を制御するセキュリティー・システムのプロジェクトに取り組みました。」 (Adam Milton-Barker 氏)
Adam 氏は TASS (TechBubble Assisted Security System) と名付けた顔認識ソリューションを開発し、プロジェクトのアイデアに対して Microsoft* からインテル® Galileo 開発ボードを授与されました。彼はその後、開発環境で Linux* を扱えるように、通常のインテル® Galileo ボードを購入しました。TASS は Codemotion Amsterdam においてインテルのブースでインテル® ソフトウェア・イノベーター・プログラムの一例として紹介されました。このソリューションは多くの会議発表で注目を集め、世界中の会議でデモが行われました。製品として TASS を発売することを検討した後、彼は仕様書とプロジェクトの詳細をオープンソース・コミュニティーに譲り渡すことにしました。「現在の TASS は、オープンソースの、エッジで動作する IoT 接続コンピューター・ビジョン・ソフトウェアです。TASS には、過去数年間に作成された複数のバージョンがあり、クラウドサービスなしで顔認識アプリケーションを提供するためにそれぞれ異なる手法とテクノロジーを使用しています。」 (Adam Milton-Barker 氏)
初期の TASS プロジェクトはいくつもの生産的な方向に進みました。「IBM Global Mobile Innovators Tournament では、TASS と IoT JumpWay を含むプロジェクトで準決勝まで進出しました。プロジェクトは Raspberry Pi* 向けに作成された後、現在は、IoT と AI について学習したい人向けに無料のクラウドサービスとして提供されています。このプロジェクトはヨーロッパの上位 5 位の 1 つでした。私は World's Largest Arduino* Maker Challenge の最初のフェーズウィナーでもあり、AT&T 主催の Hackathon でチームととに発作を検出する脳コンピューター・インターフェイスで 1 位になったこともあります。しかし、概念実証としては、このプロジェクトがデモ段階を超えることはありませんでした。TASS の 1 つのバージョンが Intel/Microsoft IoT Solutions World Congress Hackathon で Intel Experts Award を受賞した後、インテル® ソフトウェア・イノベーター・プログラムに招待されました。このプログラムに招待されることは、IoT に取り組むようになってからの目標の 1 つでした。AI および IoT の分野でプログラムに参加した後、新しい分野 (VR) を追加しました。」 (Adam Milton-Barker 氏)
Adam 氏は、テクノロジーの学位を取得することなく、また大学のコースを受けることなく、数年間で画期的な業績を挙げました。「私の作業、プロジェクトの経験、自己学習は、インテル® ソフトウェア・イノベーター・プログラムへと私を導き、大きなチャンスをもたらしてくれました。そして、世界最大規模のいくつかの技術会議でプロジェクトのデモを行ったことから、Bigfinite* で IoT ネットワーク・エンジニアという理想の仕事に就くことができました。」 (Adam Milton-Barker 氏)
「バルセロナに引っ越して Bigfinite* で働くことで、全く新しい生活が始まりました。今では、気の合う、知識の豊富な人々に囲まれた環境で仕事をしています。ここは、これまで働いた会社で経験したことがないことを学び続けることができる素晴らしい場所です。Bigfinite* は私の個人的なプロジェクトとインテル® ソフトウェア・イノベーター・プログラムにおける役割を理解して支援してくれるだけでなく、ソーシャルメディアで私のプロジェクトを発信しています。また、beTed という名前で、仕事で AI や IoT について学ぶ人々を支援する取り組みを行っています。」
— インテル® ソフトウェア・イノベーター、Bigfinite Inc.、IoT エンジニア、Adam Milton-Barker 氏
「プロジェクトは継続中です。私が 2014 年に最初のバージョンを開発した後、さまざまなバージョンが作成されました。これらのバージョンはすべて、IoT JumpWay GitHub* リポジトリーで公開されています。新しいテクノロジーが登場すると、TASS の新しいバージョンを作成しています。」 (Adam Milton-Barker 氏)
顔認識テクノロジーの改良
これまでの開発経験と進行中の研究により、Adam 氏は顔認識機能をアプリケーションに実装するときに開発者を生産的な方向に導くことができる重要な部分を特定しました。最初に取り組むべき懸案事項は開集合認識問題でした。「開集合認識問題はほぼすべてのコンピューター・ビジョン・プロジェクトに含まれる明らかな欠陥であるため、コンピューター・ビジョン・プロジェクトや製品の開発を進めるときに問題になります。具体的な例で説明しましょう。2 人の人を認識するようにネットワークを訓練した後、分類のために未知の人を導入したとします。デフォルトでは、AI アプリケーションは、その人は以前訓練した人の 1 人であると予測するため、未知の人を検出することに依存するアプリケーションはすべて失敗してしまうのです。」 (Adam Milton-Barker 氏)
図 1. 顔認識を特徴にリンクされた多角形のグリッドで実装。
この問題は 2 つの異なる方法で解決することができます。1 つ目の方法は、例えば 500 の画像からなる、未知クラスを導入することです。このアプローチは小規模な環境ではうまく動作しますが、大規模な環境では未知のデータセットから似た人が見つかる可能性が高くなります。この実装は OpenFace 実装 (GitHub* リポジトリーで利用可能) では動作しますが、TensorFlow* Inception v3 では動作しません。
2 つ目の方法は、FaceNet を使用してフレームの顔と既知の画像データベースの間の隔たりを計算することです。そのままでは、このアプローチは実世界ではうまく動作しません。アプリケーションが数千人の既知の人々に依存する場合、プログラムは既知のデータセットのすべての人をループしてフレームの人と比較しなければなりません。非常に強力なサーバーと大量のリソースがあれば、深刻な問題にはならないでしょう。しかし、計算リソースが制限されたネットワーク・エッジでは、深刻な問題になります。
「次のステップは、初期のモデルと FaceNet を組み合わせて FaceNet を既知の顔をチェックするバックアップとして使用し、既知のすべての人をループする処理を削除することでした。最初の分類の結果を使用することにより比較すべき画像が正確に分かっているため、2 つ目の分類で確認する場合に、その人は実際に似ている人であり、誤検出ではないと判断できます。唯一の要件は、モデル 1 から分類を取得し、ID を使用して既知のデータベースの対応する画像を直接参照することです。洗練された方法ではありませんが、現在のところ、このアプローチが問題を解決する最良の方法であると信じています。このアプローチは、Facebook* の AI およびディープラーニング・グループの会員であり、同僚である、Stuart Gray 氏から提案されたものです。」 (Adam Milton-Barker 氏)
考慮すべきほかの 2 つの問題:
ライト問題 (暗すぎる/明るすぎる)。インテル® RealSense™ テクノロジーはライト問題を最小限に抑えますが、ライトが不十分な状況では認識プロセスは動作しないことを開発者は考慮する必要があります。
コンピューター・ビジョン・システムを欺き、セキュリティー保護や顔認識精度の裏をかくように作成された写真。顔認識が主流のアプリケーションになるにあたって対応すべき現在の課題です。
新たなテクノロジーの活用
Adam 氏は、新たなテクノロジーを活用するため、一連の異なるインテルのソリューションをプロジェクトで使用して、TASS の新しいバージョンを作成しています。「異なるバージョンは異なるテクノロジーを使用しています。初期のバージョンは Raspberry Pi* 向けに作成されました。IoT World Congress Hackathon では、インテル® Joule™ 開発キット (現在は製造中止) 向けのバージョンを作成しました。サーバーバージョンは、OpenVINO™ ツールキットを使用してインテル® NUC DE3815TYKE (英語) およびインテル® NUC I7 向けに作成されました。ライトなどの問題に対応したバージョンでは、インテル® RealSense™ カメラを使用しました。新しいバージョンはUP Squared Grove IoT 開発キットとインテル® Movidius™ テクノロジーを使用しており、インテル® AI DevCloud で訓練可能です。近々、インテルから提供されたハードウェアを使用してバーチャル・リアリティーに対応したバージョンを作成する予定です。」 (Adam Milton-Barker 氏)
Adam 氏は、インテルのさまざまなテクノロジーを利用することにより、さまざまな恩恵を得ました。
- インテル® RealSense™ テクノロジーはライト問題の改善に役立ちました。
- インテル® AI DevCloud は小さなモデルの訓練に効果的でした。
- インテル® Movidius™ テクノロジーはエッジで AI を実行する能力を強化しました。
- インテルから入手できるサンプルコードやリソースは、ソリューションで使用するハードウェアを理解するのに役立ちました。
- OpenVINO™ はソリューションの速度と精度を増し、プロジェクトの結果を大きく向上しました。
「インテルのテクノロジーを実装するたびに、プロジェクトの機能は大幅に増えました。プロジェクトの機能が増えることに加えて、インテル® AI アカデミー・プログラムでインテル® ソフトウェア・イノベーターから受けたサポートは素晴らしいものでした。プログラムから提供されたハードウェアおよびさまざまなイベントでデモを行う機会は、プロジェクトが新たな頂点に達するのに大きく役立ちました。」
— インテル® ソフトウェア・イノベーター、Bigfinite Inc.、IoT エンジニア、Adam Milton-Barker 氏
エッジにビジョンをもたらす: OpenVINO™ ツールキット
インテルによる OpenVINO™ (Open Visual Inference and Neural Network Optimization) ツールキットのリリースは、ネットワーク・エッジでコンピューター・ビジョンを使用したディープラーニング推論ソリューションを実装する迅速な方法を開発者に提供しました。このインテルのビジョン製品への追加は、畳み込みニューラル・ネットワーク (CNN) の原理に基づいており、事業運営を支援する、IoT を活用した効率的なコンピューター・ビジョン・ソリューションの設計、開発、配備が簡単になります。
ツールキットのコンポーネントには 3 つの API が含まれています。
- 広範なインテルのビジョン製品をサポートするディープラーニング推論ツールキット。
- AI ベースのコンピューター・ビジョン・ソリューションの配備および使用を合理化するディープラーニング配備ツールキット。
- OpenCV* および OpenVX* 向けに最適化された関数のセット。
現在サポートしているフレームワークは、TensorFlow*、Caffe、MXNet を含みます。ツールキットは、CPU と統合グラフィックス・プロセシング・ユニット (GPU)、FPGA (プログラム可能な LSI)、ビデオ処理ユニット、画像処理ユニットを含む、さまざまなインテル® アーキテクチャー・ベースのアクセラレーターにより、ソリューションのパフォーマンス向上を支援します。
「高品質ビデオの処理には、エッジの近くで大量データストリームを迅速に解析してリアルタイムに応答し、適切な情報をクラウドに非同期で転送する機能が必要です。OpenVINO™ ツールキットは、エッジでハイパフォーマンスなコンピューター・ビジョンとディープラーニング推論アプリケーションの開発を迅速に行えるように設計されています。」2
— インテル、IoT グループ、上級副社長兼本部長、Tom Lantzsch
OpenVINO™ ツールキット (英語) を利用することにより、大幅なパフォーマンスの向上が見込めます。シングルソースでソリューションを作成できるため、開発者が一度開発すればどこにでも配備でき、任意のモデルを利用してさまざまなインテルのハードウェア・プラットフォーム向けに最適化することができます。
開発者は、OpenVINO™ ツールキットを無料でダウンロードして、インテル® プラットフォームのパフォーマンスを最大限に引き出す最適化されたコンピューター・ビジョン・ソリューションを開発することができます。インテル® IoT ソリューションズ・アライアンスのエコシステム・パートナーは、革新的なコンピューター・ビジョンおよび IoT ソリューションの開発を支援するツールやテクノロジーを提供しています。
将来の開発の展望
急成長する AI および IoT 分野には多くの可能性があり、さまざまなアプリケーションを調査するため、多くのリソースおよび学習ツールを利用できます。International Data Corporation (IDC) は、IoT の世界的な支出が 2017 年の 6740 億ドルから 2018 年には 7720 億ドルになると予測しています。IoT ハードウェアは 2018 年に最大の技術カテゴリーになり、モジュール、センサー、インフラストラクチャー、セキュリティーを合わせた売上は 2390 億ドルに達し、サービスは 2 番目に大きなカテゴリーになると予測しています。3
図 2. さまざまなビジョン・コンピューティングの可能性を広げる空中ドローン・テクノロジー。
産業レポートは、コンピューター・ビジョン市場は引き続き大きく成長すると予測しています。
- 2022 年には、ビデオ解析の市場は 111 億 7000 万ドルに達すると予測されています。4
- 2023 年には、コンピューター・ビジョンの市場は 173 億 8000 万ドルに達すると予測されています。5
- ディープラーニングの収益は 2016 年の 6 億 5500 万ドルから 2025 年には 350 億ドルに増加すると予測されています。6
これらのテクノロジーを活用することに興味がある開発者向けに、AI およびディープラーニングの専門知識を得るため多くの異なる手段が用意されています。
「最新の AI の内部構造を詳しく知りたい人には、Coursera の Deep Learning Specialization (英語) および Stanford Engineering Everywhere の Machine Learning コース (英語) をお奨めします。また、私のようにいきなり本題に入りたい人向けに、多くのウォークスルーを作成し、IoT JumpWay Developer Program (https://iot.techbubbletechnologies.com/developers/) で無料でソースコードを提供しています。」 (Adam Milton-Barker 氏)
AI はコンピューター・ビジョンの限界を拡張
専用チップの設計と開発、委託研究、教育支援、業界との協力により、インテルは、医学、製造、農業、科学研究、その他の業種における困難な課題を解決するため、AI の進歩に力を注いでいきます。科学の重要な課題に取り組むソリューションを発見および発展させるため、インテルは、政府機関、非政府組織、教育機関、企業と協力して作業を行っています。
例えば、Honeywell* のエンジニアリング・チームとの作業で、インテルは、IoT テクノロジーとコンピューター・ビジョン・ツールを組み合わせて、ビルの安全性の確保を支援しました。
「IoT は、ビデオを使用してビルの安全性を確保する方法に大きな進歩をもたらしています。解析、顔認識、ディープラーニングのような新しいテクノロジーで、Honeywell* とインテルはこれまでにない協力関係を築いています。インテルは、業界向けのスマートなビデオ・ソリューションのビジョンを確立する上で重要なパートナーです。顧客にメリットをもたらす継続的な協力を期待しています。」7
— Honeywell、ビデオ・ソリューション、マーケティング・ディレクター、Jeremy Kimber 氏
この実装には、以下のインテル® AI テクノロジーが使用されています。
インテル® Xeon® スケーラブル・プロセッサー: ディープラーニングを含む、広範な AI ワークロード向けに最適化された計算アーキテクチャーを利用して AI の課題に取り組みます。
フレームワーク最適化: 強固でスケーラブルなインフラストラクチャー上でディープ・ニューラル・ネットワークの訓練を高速に行います。
インテル® Movidius™ Myriad™ ビジョン・プロセシング・ユニット (VPU): オンデバイス・ニューラル・ネットワークおよびコンピューター・ビジョン・アプリケーションを作成して配備します。
インテル® AI DevCloud: インテル® Xeon® スケーラブル・プロセッサー・ベースの、マシンラーニングおよびディープラーニング訓練向けの無料のクラウド計算環境。
IoT (モノのインターネット): IoT はリンクやワイヤレスで相互接続されたデータを交換および解析するデバイスのネットワークで構成されます。
インテル® AI 製品の詳細は、https://ai.intel.com/technology を参照してください。
「OpenVINO™ ツールキットを利用することで、インテルのシリコンで推論を最適化して、目標を大幅に上回る (ほぼ 6 倍の) スループットが得られました。我々は、顧客に対する配備コストを抑えるだけでなく、新時代の医用画像に即した、柔軟でハイパフォーマンスなソリューションを提供したいと考えています。インテルとの提携により、コスト効率に優れた方法で、臨床検査薬のスキャンやほかのヘルスケア・ワークフローで AI を活用できるようになりました。」8
— ゼネラル・エレクトリック (GE) ヘルスケア、主任エンジニア、David Chevalier 氏
関連情報
インテル® AI デベロッパー・プログラム
https://software.intel.com/ai
インテル® AI – 人工知能の中身、次のレベルの計算 (英語)
インテル® デベロッパー・クラウド – 無料のクラウド計算環境 (英語)
IoT JumpWay リポジトリー – IoT に無料でデバイスを接続 (英語)
IoT JumpWay ホーム – 個人および教育利用向けの無料の IoT プラットフォーム (http://www.iot.techbubbletechnologies.com/)
インテル® ソフトウェア・イノベーター・プログラム – 革新的な独立した開発者を支援 (英語)
Coursera ディープラーニング専門講座 – ニューラル・ネットワークとディープラーニングのコース (無料) (英語)
Stanford Engineering Everywhere | CS299 – Machine Learning (無料) (英語)
OpenVINO™ ツールキット – マルチプラットフォームのコンピューター・ビジョン開発ソリューション (英語)
インテル® Optimization for Caffe (英語)
インテル® マス・カーネル・ライブラリー (インテル® MKL)
AI のイノベーション – 成功事例
https://software.intel.com/content/www/us/en/develop/topics/ai/library.html
参考文献 (英語)
- Computer Vision Hardware, Software, and Services Market to Reach $26.2 Billion by 2025, According to Tractica. Business Wire 2018.
- Wheatley, Mike. Intel’s OpenVINO toolkit enables computer vision at the network edge. SiliconANGLE 2018. https://siliconangle.com/blog/2018/05/16/intels-openvino-toolkit-enables-computer-vision-network-edge/
- Worldwide Semiannual Internet of Things Spending Guide. International Data Corporation (IDC) 2017. https://www.idc.com/getdoc.jsp?containerId=prUS43295217.
- Marketsandmarkets, Video Analytics Market 2017.
- Marketsandmarkets, Computer Vision Market 2017.
- Tractica, 2Q, 2017
- Intel Customer Quote Sheet. Intel Newsroom 2018.
https://newsroom.intel.com/wp-content/uploads/sites/11/2018/05/intelvisionproducts-quotesheet.pdf - OpenVINO Toolkit. What Customers Are Saying. Intel 2018.
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。