いま、ここにあるエッジAI

PhotoshopなどでエッジAIを活用するAdobe

~労力のかかっていた被写体の選択をAIが自動処理

CESでのIntel記者会見でのデモの様子。OpenVINOを利用して開発されたPhotoshopの「被写体を選択」で一発で複雑な被写体を指定してるところ。デモしているのはAdobeの名物プレゼンターでもあるAdobe Creative Cloud主任ワールドワイドエヴァンジェリストのジェーソン・ラビーン氏(右)。左はIntel 上席副社長 兼 クライアント・コンピューティング 事業本部長 グレゴリー・ブライアント氏

 Intelは近年マシンラーニング(機械学習)を利用したAIの普及に力を入れている。とくに「推論」と呼ばれる、学習済みデータを利用した物体判別や、音声認識をクラウド側で行なう処理では、その多くの処理に同社のデータセンター向けプロセッサである「Xeon Scalable Processors」が利用されており、われわれのデジタルライフを支える存在になっている。

 そのようにAIというものは、データセンターと結びつけて語られることも多く、文字どおり、どこか雲の上の存在のように感じているユーザーもいるかもしれない。しかし、Intelでは、エッジAIの普及にも力を入れている。エッジAIとは、先端のAI、つまりユーザー端末などローカル上で実行するAIのこと。Windowsで動作するAI対応アプリもその1つだ。

 そうしたエッジアプリでのAI活用の背景には、Intelが提供するツールキットや開発サポートなどが重要な役割を果たしていることをご存じだろうか? とくに無償のAI向け開発キットである「OpenVINO toolkit」は多くのメーカーで採用されている。この連載では、Intelの取材協力のもと、各ソフトメーカーにどのようにして、どういったAIを活用した機能を実装していったのかを聞いていく。

 連載第1回目として、Adobeのクリエイターツール「Creative Cloud」を取り上げる。

CPUやGPUなど各種プロセッサに対応するOpenVINO

 AIという言葉でくくられることの多い、マシンラーニングやディープラーニング(深層学習)を利用した処理は、ここ数年で一般消費者にもおなじみになりつつある。AppleのSiri、MicrosoftのCortana、AmazonのAlexaなど、スマートフォンやWindows PCで利用されている音声認識機能はその代表と言える。

 これらの音声認識機能では、ローカルでキャプチャした音声データをクラウドへアップロードし、クラウド側で推論処理、音声を文字へと変換して検索などの必要な処理を行ない、クライアントへ戻すという一連の作業を行なっている。つまり、実態としてはクラウドベースのアプリだと言える。

 一方、クルマの自動運転では、前方カメラから取り込んだ画像をもとに、障害物があればそれを避けるなどの作業を行なっている。ここで、いちいちクラウドにデータを送って処理をしていると、処理結果が返ってくる前に障害物に衝突してしまう。そこで自動運転の場合は、クルマに内蔵されたCPU/GPUで画像認識を行ない、即座にハンドルやアクセル操作をローカルプロセッサが指示する。こうしたローカルで完結するAIをエッジAIと呼んでいる。

 最近は、Windows 10アプリでも高速処理のためエッジAIで対応するものが増えている。その実装を下支えしているのがIntelが提供するOpenVINOという開発ツールキットだ。OpenVINOを利用すると、CaffeやTensorFlowなどの一般的なフレームワークを利用して、Intelプロセッサに最適化を行なうことができる。

 OpenVINOは、CPUのみならず、GPUやMovidiusの買収で入手したVPU(Visual Processing Unit、1W以下で画像認識などに使えるプロセッサ)にも対応している。まとめて「xPU」と総称される各種プロセッサへの最適化を行ない、効率のよい処理を実現するのがOpenVINOの役割だ。

OpenVINOがなければ、各種のプロセッサに対する最適化をプログラマが行なう必要があり、作業は膨大になり、実装に時間がかかる

 またIntelは、業界を挙げてのAI普及のため、OpenVINOだけでなく、AppleのCore MLやAndroidのTensorFlow Liteなどに対してもハードウェアの最適化を促している。

IntelのエッジAIの考え方

 開発コードネームIce Lake(アイスレイク)で知られる第10世代Coreプロセッサーには、「Intel GNA(Gaussian Neural Accelerator)」という推論アクセラレータが搭載されているが、OpenVINOはGNAにも対応している。

第10世代Coreプロセッサー(Ice Lake)

Adobe SenseiベースのエッジAI開発にOpenVINOが採用

CESの記者会見でAdobeが行なったデモ、この小鳥を「被写体を選択」を切り抜く(切り抜いた後の結果はこの記事の冒頭の写真)

 そうしたAIを利用したソフトウェアの開発で、先頭を行く企業の1つがAdobeだ。Adobeは2016年に発表した「Adobe Sensei」(アドビセンセイ)というAIの実装を近年進めている。

 Adobe Sensei全体としては、その実体はクラウドにあり、基本的にはクラウド側で学習や推論などを行なう。たとえば、同社のストックサービスであるAdobe Stockの検索には、Adobe Senseiにもとづく推奨や検索機能などが活用されている。

 それに対して、Photoshopでは、Adobe Senseiのエッセンスを利用した機能がエッジAIとして実装されている。その代表例が、「被写体を選択」機能だ。詳しい機能はAdobeのWebサイトを参照していただきたいが、簡単に言えば写真などで切り抜きたい被写体があるときに、それをある程度適当に選択するだけで、AIが自動で複雑な物体の輪郭を検出してくれる機能だ。

 この機能が実装される以前は、手作業で領域を細かく指定する必要があり、とにかく時間がかかる作業だった。以前にも「被写体を選択」機能はあったのだが、人間の髪の毛など繊細な選択まではできていなかった。しかし、AIによって、より正確にできるようになったのだ。AIがユーザーの生産性を上げる一例だと言える。

こうした複雑な物体(バラ)も一発で選択可能
切り抜いたバラを他の画像に合成したところ
位置を調整して完了

 なお、Adobe製品では、Photoshop Elementsでも、写真のカラー化や、肌を滑らかにする機能でエッジAIを活用している。

OpenVINOを利用しているAdobeのアプリケーションと機能

 今回取材したAdobe Machine Learning & Platform Engineering部門ディレクターのディヴィヤ・ジェイン氏は、「OpenVINOを利用することで、Adobe SenseiベースのAI実装がより進んだ。OpenVINOの利用にあたっては、Intelのエンジニアチームと密接な協業を行ない、きちんとした最適化がなされていることを確認でき、製品開発を効率化できた」と説明する。

OpenVINOはクロスプラットフォーム開発にも役立つとAdobe

 ジェイン氏は、「OpenVINOを利用したメリットは、そうしたCPUの処理能力の向上だけではない。OpenVINOは、WindowsとmacOSに対応しており、クロスプラットフォームでの加速という側面もあった」と語る。

 参考までに、Adobeが各プラットフォームでのエッジAIの実装に利用している開発ツールキットやフレームワークは以下のとおり。

  • Android: TensorFlow Lite(Google)
  • Windows: OpenVINO(Intel)/WinML(Microsoft)
  • macOS: Core ML(Apple)/OpenVINO(Intel)
  • iOS: Core ML(Apple)

 この連載では、今後、さまざまなアプリ/サービスにおけるエッジAIの活用事例を紹介していく。

[制作協力: インテル]