Archive for the ‘google’ Category

Googleはドアベル「Nest Hello」を投入、高度なAIを搭載しセキュリティが格段に向上、今年はAI監視カメラがブレークする

Friday, April 13th, 2018

Googleのスマートホーム部門Nest LabsはAIドアベル「Hello Nest」の出荷を始めた。Helloはドアベルであるが、カメラを搭載しており、監視カメラとしても機能する。Helloは人の姿や物音で玄関に訪問者がいることを把握し、アラートをスマホアプリに送信する。実際に使ってみるとHelloはインテリジェントな監視カメラで、安心感が格段に向上した。

出典: Nest Labs

Helloを設置する

2018年3月からHelloの出荷が始まり、家に取り付けて利用している。Helloは現行のドアベルを置き換える形で設置される。給電のために直流16-24Vの配線が必要となり、使っているドアベルと互換性があることを確認する必要がある。実際の設置作業は、Nest Labsのフィールドエンジニア「Nest Pro」に依頼して実施した。30分くらいで工事が終わり、ドアの隣にHelloが取り付けられた (下の写真)。

ハードウェア構成

Helloは押し釦(下部の円形の部分) の他に、カメラ (上部の円形の部分)、マイク、スピーカーを搭載している。カメラのセンサーは3メガピクセルで、UXGA (Ultra Extended Graphics Array 、1600 x 1200) の縦長モードで録画される。夜間撮影のためにNight Visionとして赤外線LEDライトを備えている。カメラで撮影された映像は家庭のWiFi経由でNestクラウドに送られ格納される。

出典: VentureClef

Nestアプリから利用

Helloはスマホに専用アプリ「Nest」をダウンロードして利用する。アプリを起動するとHelloが撮影している映像をライブで見ることができる (下の写真、左側)。その他に、カメラが検知したイベント (人の動きなど) の一覧が表示される (下の写真、右側)。ここでクリップにタッチすると、録画されたビデオが再生される。この事例はHelloが玄関先で人の動きを検知したもので、訪問者や不審者を過去にさかのぼりビデオで見ることができる。

出典: VentureClef

訪問者があるとアラートを受け取る

使ってみて便利と感じるのは、Helloがイベントを検知すると、そのアラートをスマホで受け取れる機能。スマホのロック画面に「Someone’s at the door (玄関先に誰かいます)」などとメッセージを受信する (下の写真、左側)。そのメッセージをタップすると短いビデオクリップが再生され、誰がいるのかを見ることができる (下の写真、右側)。

出典: VentureClef

録画ビデオをレビュー

更に、ビデオクリップをタップするとアプリが開き、そのイベントを再生して見ることができる (下の写真)。このアラートは庭の手入れを依頼しているガーデナーに関するもので、玄関前を掃除している様子を確認できる (左側)。また、外出先でアラートを受け取り、訪問者を確認できる。Amazonで買い物をした商品の配達であることが分かり (右側)、必要に応じ、配達人とスピーカーを通して話をすることもできる。例えば、商品を玄関に置いてください、と指示することもできる。

出典: VentureClef

Google Homeが誰が来たのかを知らせる

Helloのカメラは訪問者の顔を識別することができる。家族や友人の顔をHelloに登録しておくと、これらの人物がドアベルを押すとその名前を把握する。更に、HelloをGoogle Homeと連携しておくと、AIスピーカーが訪問者の名前を告げる。「○○○ is at the front door (○○○さんが来ました)」などと音声で案内をするので、スマホを手に持っていなくても、家族全員が誰が来たのかが分かる。

ドアベルのインターフェイス

また、名前が登録されていない人が来たら、Google Homeは「Someone’s at the door (玄関先に誰か来ました)」と音声で案内をする。実際に使ってみると、チャイムのピンポーンという無機質な音ではなく、言葉で来客を告げられると温かみを感じる。ドアベルのチャイムが音声になるとマンマシン・インターフェイスが格段に向上する。

顔認識と名前の登録

このために、事前に顔を登録する作業が必要になる。一番最初に友人が訪問すると、Helloは「An unfamiliar face is at the door (登録されていない人が玄関にいる)」というメッセージを発信する。メッセージをタップしてビデオクリップを見ると友人が訪問してきたことが分かる。ここでNew People Seenというページで知人であることを指定し (下の写真、左側)、更に、Familiar Facesというページでその人の名前を入力する (下の写真、右側)。そうすると、Helloは顔写真と名前を結び付け、次回から、その友人が訪問してきたら、Google Homeはその名前を告げる。

出典: VentureClef

テレビで訪問者を見る

我が家で人気の機能はHelloのカメラが撮影する映像をテレビで見ることができる機能だ。これはGoogle Homeの機能を借用したもので、AIスピーカーに「OK Google, show me Nest Hello on my TV」と言葉で指示すると、玄関の様子をテレビの大画面でみることができる。スマホアプリを操作してビデオを見るよりはるかに便利で、スマートホームの必須機能となることは間違いない。

出典: VentureClef

クラウドサービス

録画したビデオを閲覧したり顔を認識する機能はクラウドサービス「Nest Aware」として提供される。Nest Awareは、撮影した映像をクラウドに格納し、後日、それを閲覧できる機能を提供する。イベントが発生すると、Nest Awareで録画された映像をレビューして、その原因を突き止めることができる。Nest Awareは有料のサービスで、ビデオ保存期間に応じて料金が変わる。最長で30日間分のビデオを保存でき、月額料金は30ドルとなる。また、Helloのハードウェア価格は229ドルとなっている。

問題点もある

Helloは登場したばかりの商品で、機能が成熟しているというわけではない。その一つがカメラ機能で、露出を調整できないことが問題となる。自宅のエントランス構造として、玄関部分が暗く背後が明るいため、カメラが捉える訪問者の顔がどうしても暗くなる。Nestに相談したが解決策はないとのことで、今後の機能改良を待つしかない。また、夜間に通りを走るクルマのヘッドライトが反射して、玄関先に差し込むことがある。Helloはこれを侵入者と誤検知しアラートを発信する。AIのアルゴリズムを改良し、画像認識で誤検知を抑制する対策も必要となる。

Googleとの統合

Googleは2014年1月にNestを買収し、その後Alphabet配下の子会社として運営してきた。2018年2月、NestはGoogleのハードウェア部門に統合されることとなった。この部門はGoogle Homeなどのハードウェア製品を開発しており、NestはAIスピーカーとの連携が密接になり、ユニークな機能の開発が進んでいる。今後、NestはGoogleが所有しているAI技法をフルに実装でき、高度なAI監視カメラが登場することになる。

今年はAI監視カメラがブレーク

Helloは今までのセキュリティカメラとは格段に使い勝手が良く、Google Homeとの連携も快適で、満足できる製品だと感じる。Helloを使い始めたが、安心感が格段に増大した。日々の生活で不審者が自宅を訪れることも多く、これからはドアを開ける前にビデオで確認できる。また何かあればスマホにアラートが届くので、即座に玄関先の様子を確認できる。自宅にいなくても遠隔で監視でき安心感が大きく増大する。今年はAIを監視カメラに適用したAI監視カメラがヒットする勢いを感じる。

Waymo自動運転車がついに完成!!無人タクシーの営業運転を開始

Friday, March 16th, 2018

Waymoは無人タクシーの営業運転を始めたことを明らかにした。スマホでクルマを呼ぶと、ドライバーが搭乗していないWaymo自動運転車がやって来る (下の写真)。Google・Waymoは2009年から自動運転車を開発しているが、ついにこの技術が完成するに至った。

出典: Waymo

無人タクシーとして運行開始

Waymoはアリゾナ州フェニックスで自動運転車の実証実験を続けている。これは「Early Ride Program」と呼ばれ、2017年11月からは無人タクシーとしての試験走行が始まった。しかし、無人タクシーといっても、安全のためにセーフティドライバーが搭乗し、緊急事態に備えていた。2018年3月からは、セーフティドライバーが搭乗しない、文字通り無人タクシーとして運行を開始した。

安全性をPRするビデオ

これに先立ち、Waymoは無人のクルマがどのように安全に走行できるのかを説明したビデオを公開した。ビデオはX-View形式で、クルマの周囲360度を見渡すことができる。スマホでこのビデオを見ると、クルマの前方だけでなく、体を回転させると側面から背後まで見ることができる。

クルマが認識する世界

ビデオはクルマに搭載されているセンサーが周囲のオブジェクトをどのように捉えるかを中心に構成されている。つまり、クルマのセンサーは何を見て、どのようにハンドルを切るのかを、グラフィカルに説明している。

Lidarが捉えるイメージ

クルマの眼の中心はLidar (レーザーセンサー) で、三種類のモデルが搭載されている。「Short-Range Lidar」はクルマの前後左右四か所に設置され、車両近傍のオブジェクトを認識する。クルマのすぐ近くにいる小さな子供などを把握する。解像度は高く、自転車に乗っている人のハンドシグナルを読み取ることができる。(下の写真、路上の緑色のポイントクラウドの部分。)

「Mid-Range Lidar」と「Long-Range Lidar」は屋根の上のドームの内部に搭載され、中長距離をカバーする。後者は可変式で、レーザービームがスキャンする角度を変えることができ、特定部分にズームインする。これらのLidarは周囲の車両や歩行者など把握し、最も重要なセンサーとなる。 (下の写真、青色のポイントクラウドの部分。)

出典: Waymo

レーダーの機能

クルマはレーダーを搭載しており「Radar System」と呼ばれ、ミリ波を利用して路上のオブジェクトを把握する。ミリ波は水滴の中でも移動でき、雨や霧や雪のなかでも機能する。また、日中だけでなく夜間でも使うことができる。クルマの屋根の四隅に搭載され、周囲のオブジェクトまでの距離とその移動速度を把握する。 (下の写真、走行中や駐車中のクルマまでの距離と速度を表示。)

出典: Waymo

高精度なカメラ

カメラは「Vision System」と呼ばれクルマの屋根のドームに格納されている。ダイナミックレンジの広いカメラの集合体で、8つのモジュール から構成される。カメラは信号機や道路標識を読むために使われる。 (下の写真、信号機を把握している。) モジュールは複数の高精度センサーから成り、ロードコーンのような小さなオブジェクトを遠方から検知できる。ダイナミックレンジが広く、暗いところから明るいところまでイメージを認識できる。

出典: Waymo

PerceptionとPrediction:周囲の状況を理解

Waymoは複数のセンサーの情報を統合して周囲の構造を把握する。交差点では、周囲のクルマ、自転車、歩行者などのオブジェクトを把握する。また、信号機とその色を把握してそれに従う。更に、横断歩道や道路の路肩なども把握する。ソフトウェアは、これらオブジェクトが移動している方向、速度、加速度などを推定する。(下の写真、クルマは青色の箱で示され、その距離と移動速度を把握。クルマの走行経路を予想して、それを青色の実線で示す。右前方のクルマは「Police Car」と認識。歩行者は茶色の箱で示される。信号機は白色の枠で示され、「STOP」か「GO」かを認識する。)

出典: Waymo

Planning:走行経路を決定

クルマ周囲のオブジェクトの動きを予想して、ソフトウェアは最適な走行ルートを決める。具体的には、Waymoの進行方向、速度、走るレーン、ハンドル操作を決定する。センサーが認識できる範囲は広く、フットボールコート二面先のヘルメットを識別できる。(下の写真右側、Waymoが認識する周囲のクルマとその予想進行経路。これを元にアルゴリズムはWaymoの進行経路を算出する。それが緑色の実線で表示されている。下の写真左側、同じシーンをシミュレータで表示したもの。)

出典: Waymo

安全運転をプログラミング

ソフトウェアは「Defensive Driving」としてプログラムされている。これは安全サイドのプログラミングを意味し、自転車と十分間隔を取るなど、慎重な運転スタイルに設定されている。運転スタイルがクルマの性格を決めるが、Waymoは安全第一にプログラミングされている。(下の写真、左折中に前方から自転車が接近してきたケース。自転車は桃色の箱で示され、距離は50フィートで速度は毎時9マイル。自転車の予想走行ルートはピンクの実線で示される。自転車は直進するか、右折するオプションがあるが、アルゴリズムは直進する可能性が大きいと判定。このため、Waymoは路上で一旦停止する判断を下した。)

出典: Waymo

ビデオから読み取れる自信

Waymoが公開したビデオを見ると、アルゴリズムは何を見て、どのように運転しているのか、その一端を窺うことができる。そこから、Waymoの技術に対する自信も読み取れ、自動運転車が完成の域に入ったことを感じる。

開発はこれからが本番

ついに、無人タクシーが市街地を走行できるようになったことの意味は大きい。ただ、走行できる範囲はアリゾナ州フェニックスの一部に限定されている。ここは砂漠地帯に作られた街で、天気は良く、自動運転車にとって走りやすい環境である。Waymoは全米の25都市で試験走行を展開しており、難易度が高い地域での無人タクシー運行が次のステップとなる。多くの難題があり、自動運転車の開発はこれからが本番となる。

GoogleはAIがAIを生成するクラウドを公開、業務に最適なニューラルネットワークを数分で開発できる!

Friday, January 26th, 2018

GoogleはAIがAIを生成する技術の開発を急いでいる。この技法は「AutoML」と呼ばれ、AIがニューラルネットワークを自動で生成する。アルゴリズムが別のアルゴリズムを生成する技法で、AI基礎研究で重要なテーマと位置づけている。GoogleはAutoMLを使って高度な機械学習アルゴリズムを生成し、社内サービスで利用してきた。今般、Googleはこの技法をクラウドサービス「Cloud AutoML」として一般に公開した (下の写真)。

出典: Google

Cloud AutoMLとは

Cloud AutoMLは機械学習クラウドサービスで、利用者の研究や業務に最適化したニューラルネットワークを生成する。現在は、既存のニューラルネットワークを使ってAIシステムを構築している。これらは”汎用AI”で幅広い機能を持つが、高度な判定能力が要求される特定業務では使えない。このため”専用AI”を開発する必要があるが、これに応えることができるAI研究者の数は限られている。Cloud AutoMLはAI研究者に代わり”専用AI”を瞬時に開発する。

Googleの汎用AIクラウド

AmazonやMicrosoftやGoogleは汎用AIをクラウドで提供している。Googleはこれを「Cloud ML Engine」として提供している。多くの機能が揃っているが、画像認識処理を実行するには「Cloud Vision API」を利用する。これは教育済みの機械学習エンジンで、イメージを入力するとアルゴリズムがオブジェクトの名前を判定する。又は、エンジニアが公開されているニューラルネットワーク (Google Inceptionなど) を使って、機械学習アルゴリズムを開発することもできる。

Cloud Vision APIを使うと

Cloud Vision APIを使うと簡単に写真の分類ができる。イメージを入力するとシステムはその属性を出力する。例えば、空に浮かんだ雲の写真を入力すると、システムは解析結果として「Sky」や「Cloud」と回答する (下の写真)。その他に、写真に写っている顔を把握し、その表情を分類する機能もある。

出典: VentureClef

気象専門家は使えない

しかし、気象専門家がイメージを科学的に解析するには、Cloud Vision APIの判定機能は十分ではない。上述のケースでは、Cloud Vision APIはイメージを「Sky」や「Cloud」と判定するが、雲の種類を特定することができない。雲の種類である「Cumulus humilis (巻積雲)」と判別する機能はない。

雲の種類を判定できる機械学習アルゴリズム

このため雲の種類を判別できる機械学習アルゴリズムを開発することが求められる。この需要に応えてCloud AutoMLが登場した。Cloud AutoMLが雲の種類を判定できる機械学習アルゴリズムを自動で生成する。Cloud AutoMLは、雲の種類の他に、ファッション区分や動物種別の判定など、特殊な判定が求められる機械学習アルゴリズムを自動で生成する機能を持つ。

Cloud AutoML利用プロセス

Cloud AutoMLでアルゴリズムを生成するためには写真データセットを準備する必要がある。これはタグ付き (又はタグ無し) の写真アルバムで、上述のケースでは雲の写真とその種別を紐づけたセットを準備する。この写真データセットをクラウドにアップロードすると、Cloud AutoMLが雲の種類を判別できる機械学習アルゴリズムを自動で生成する。

データ入力と教育

具体的にはCloud AutoMLのインターフェイスに沿ってこれらの操作を実行する。まず、「Label」のページでタグ付きの写真データセットをアップロードする。ここでは種別ごとの雲の写真をアップロードする。(下の写真、「Cumulonimbus (積乱雲)」というタグがついている雲の写真をアップロード)。 AutoMLは自動で機械学習アルゴリズムを生成し、「Train」というページで、アップロードされた写真を使ってアルゴリズムを教育し最適化する。

出典: Google

アルゴリズム評価と運用

次に、「Evaluate」というページで、教育された機械学習アルゴリズムの認識精度を評価する。アルゴリズムの認識率や誤認率を確認する。最後に、「Predict」というページで、完成したアルゴリズムに写真を入力し、雲の種類を判定する処理を実施する。下のケースはその事例で、完成したアルゴリズムは入力された写真を解析し、「Cirrus (巻雲)」と正しく判定している。汎用AIは「Cloud」としか判定できないが、完成した専用AIは雲の種類まで判定できる。

出典: Google

イメージ認識機能

機械学習アルゴリズムは幅広いが、Cloud AutoMLはその中でイメージ認識 (Image Recognition) 機能を提供している。Googleによると、生成したアルゴリズムの認識率は汎用的なニューラルネットワークより精度が高く、誤認識率が低いとしている。また、ニューラルネットワーク開発期間を大幅に短縮できるのも強みである。パイロットモデルであれば数分で、プロダクションモデルであれば1日で開発できる。

応用事例:ファッションを分類する

Cloud AutoMLを業務に応用した事例が公開されている。ファッションブランドUrban Outfittersは商品にタグ付けするプロセスをCloud AutoMLで自動化した。Urban Outfitters は、商品に付加されたタグをキーに、消費者に関連商品を推奨する。また、商品検索や商品フィルタリングでもタグが使われる。Cloud AutoMLは商品イメージを解析し商品の特徴量を抽出する。例えば、洋服を分類する際に胸元に着目すると、Cloud AutoMLは商品を「V-Neck」、「Scoop」、「Crew」などと判定する。アルゴリズムはデザインパターンやネックラインなどをキーにタグを生成する。(下の写真、ウェブサイトを「V-Neck」で検索した結果。)

出典: Urban Outfitters

応用事例:動物の種別を特定

Zoological Society of Londonは国際的な環境保護団体で動物の生態を守る活動を展開している。Zoological Society of Londonは動物の生態を理解するために、生息地にカメラを設置し動物の行動を観察している。写真に写っているイメージから動物の種類をマニュアルで判定してきたが、このプロセスをAutoMLで自動化した。汎用アルゴリズムでは動物の種別を正確に判定できないが、Cloud AutoMLでこの判定ができるアルゴリズムを開発。これにより、運用コストが大きく低下し、この保護活動を大規模に展開する計画である。

ニューラルネットワーク生成は難しい

ニューラルネットワークで画像認識や音声認識の精度が大きく改善されているがネットワーク生成には特別の技量を要する。ニューラルネットワークの生成と教育では、これを支える数学の知識と、ネットワークを生成するためのプログラミング技法が必要になる。これができるAI研究者の数は全世界で数千人程度と言われている。このため、企業や組織が高度なニューラルネットワークを開発することは事実上できなかった。

ロードマップ

Cloud AutoMLの登場でこれが可能となり画期的なAIが開発される切っ掛けとなる。現在は機能が画像認識 (Convolutional Network) に限られているが、今後は音声認識 (Recurrent Neural Network) も登場すると期待される。 業務に特化したAIアルゴリズム開発が今年の重要な研究テーマとなっている。AI開発が容易になるだけでなく、この研究がAIのブラックボックスを解明する手掛かりになると期待されている。

———————————————————–

AutoMLの仕組み

GoogleはAutoMLの技法について論文で公開してきた。AutoMLはReinforcement Learning (強化学習) の手法とTransfer Learning (知識移植) の手法を使ってニューラルネットワークを生成する。前者については「Neural Architecture Search with Reinforcement Learning」で、後者については「Learning Transferable Architectures for Scalable Image Recognition」でその手法を明らかにしている。

Reinforcement Learningの手法

Recurrent Neural Network (時間依存の処理をするネット) が「Controller」となり「Child Network」を生成する。Child Networkが生成するニューラルネットワークで、ここではConvolutional Network (画像認識ネット) を対象とする。ControllerはあるPolicyに従ってChild Networkを生成し、これを教育してイメージ判定精度を得る。イメージ判定精度をRewardとしてPolicyのGradient (勾配) を計算。このプロセスを繰り返し、ControllerはRewardを最大にする方向に進み、精度の高いChild Networkの生成方法を学習する。

Transfer Learningの手法

しかし、Reinforcement Learningの手法は小さな写真 (CIFAR-10) では上手くいくが、大きな写真 (ImageNet) に適用すると、計算時間が極めて長くなる。このためTransfer Learningという手法が用いられた。これは学習したニューラルネットワークを流用する技法である。具体的には、上述のReinforcement Learningの手法で生成したConvolutional Networkの一部を流用し、それを重ね合わせて新しいConvolutional Networkを生成する。これにより、大きな写真も処理することができる。Cloud AutoMLにはこれらの技法が使われている。

Googleは画像認識を誤作動させるステッカーを発表、AIを悪用した攻撃への備えが求められる

Friday, January 12th, 2018

社会の安全を担保するためにAIが活躍している。市街地や空港の監視カメラの映像をAIが解析しテロリストや犯罪者を特定する。一方、今年はAIを悪用した攻撃が広まると予想される。守る側だけでなく攻める側もAIを使い、社会生活が脅かされるリスクが高まると懸念される。

出典: Google

Googleの研究成果

Googleの研究グループはAIを誤作動させるステッカー(上の写真) を論文の中で公開した。このステッカーは「Adversarial Patch (攻撃ステッカー)」と呼ばれ、これを貼っておくと画像認識アルゴリズムが正しく機能しなくなる。ステッカーは円形で抽象画のようなデザインが施されている。これをバナナの隣に置くと、画像認識アプリはバナナをトースターと誤認識する。ステッカーを街中に貼っておくと、自動運転車が正しく走行できなくなる。

ステッカーを使ってみると

実際にステッカーを使ってみると画像認識アプリが誤作動を起こした。先頭のステッカーを印刷して、円形に切りぬき、バナナの隣に置いて画像認識アプリを起動した。そうすると画像認識アプリはバナナを「トースター」と誤認識した (下の写真、右側)。アプリにはこの他に「ライター」や「薬瓶」などの候補を示すが、バナナの名前はどこにも出てこない。バナナだけを撮影すると、画像認識アプリは「バナナ」と正しく認識する (下の写真、左側)。ステッカーは抽象画のようで、人間の眼では特定のオブジェクトが描かれているとは認識できない。

出典: VentureClef

画像認識アプリ

画像認識アプリとしてiPhone向けの「Demitasse – Image Recognition Cam」を利用した。これはDenso IT Laboratoryが開発したもので、画像認識アルゴリズムとして「VGG」を採用している。このケースではその中の「VGG-CNN」で試験した。VGGとはオックスフォード大学のVisual Geometry Groupが開発したソフトウェアで、写真に写っているオブジェクトを把握し、それが何かを判定する機能がある。VGG-CNNの他に、ネットワーク階層が深い「VGG-16」などがあり、画像認識標準アルゴリズムとして使われている。

ステッカーの危険性

画像認識機能を構成するニューラルネットワークは簡単に騙されることが問題となっている。多くの論文で画像認識アルゴリズムを騙す手法やネットワークの脆弱性が議論されている。Googleが公開した論文もその一つであるが、今までと大きく異なるのは、この手法を悪用すると社会生活に被害が及ぶ可能性があることだ。先頭のステッカーを印刷して貼るだけでAIが誤作動する。

自動運転車の運行に影響

その一つが自動運転車の運行を妨害する危険性である。自動運転車はカメラで捉えたイメージを画像認識アルゴリズムが解析し、車両周囲のオブジェクトを把握する。もし、道路標識にこのステッカーが貼られると、自動運転車はこれをトースターと誤認識する可能性がある。つまり、自動運転車は道路標識を認識できなくなる。Tesla Autopilotは道路標識を読み取り制限速度を把握する。このステッカーが貼られるとAutopilotの機能に支障が出る。当然であるが、道路標識にステッカーを貼ることは犯罪行為で処罰の対象となる。

Street Viewで番地が読めなくなる

自宅にこのステッカーを貼っておくとGoogle Street Viewによる道路地図作成で問題が発生する。Street Viewは位置情報をピンポイントに把握するため、建物に印字されている通りの番号をカメラで撮影し、画像解析を通し番地を把握する。番地プレートの隣にステッカーを貼っておくと、画像解析アルゴリズムはこれをトースターと誤認識する。ステッカーをお守り代わりに使い、自宅に貼っておくことでプライバシーを守ることができる。

ステッカーの作り方

Google研究チームは論文でステッカー「Adversarial Patch」の作り方を公開している。ステッカーは複数の画像認識アルゴリズムを誤作動させるようにデザインされる。ステッカーの効力は、デザインだけでなく、オブジェクトの中での位置、ステッカーの向き、ステッカーの大きさなどに依存する。(ステッカーの向きを変えると認識率が変わる。先頭の写真の方向が最大の効果を生む。ステッカーのサイズを大きくすると効果が増す。最小の大きさで最大の効果を生むポイントがカギとなる。オブジェクト全体の10%位の大きさで90%の効果を発揮する。)

ステッカーを生成するアルゴリズム

ステッカーは特別なアルゴリズム (Expectation Over Transformationと呼ばれる) で生成される。上述の条件を勘案して、ステッカーの効果が最大になるよう、ステッカー生成アルゴリズムを教育する。効果を検証するために代表的な画像認識アルゴリズム (Inceptionv3, Resnet50, Xception, VGG16, VGG19) が使われた。先頭のステッカーは「Whitebox – Ensemble」という方式で生成され、これら五つの画像認識アルゴリズムを誤作動させる構造となっている。この事例では「トースター」を対照としたが、任意のオブジェクトでステッカーを作成できる。

出典: Google

画像認識アルゴリズムの改良が求められる

社会でAIを悪用した攻撃が始まるが、これを防御するには画像認識アルゴリズムの精度を改良することに尽きる。既に、画像認識クラウドサービスは高度なアルゴリズムを取り入れ、先頭のステッカーで騙されることはない。事実、Googleの画像認識クラウド「Cloud Vision」でステッカーを貼った写真を入力しても誤認識することはない (上の写真)。犬の写真に先頭のステッカーを貼っているが、アルゴリズムは「犬」と正しく判定する。回答候補にトースターの名前は出てこない。

エッジ側での処理

自動運転車だけでなく、ドローンやロボットも生活の中に入り、ステッカーを使った攻撃の対象となる。更に、農場ではトラクターが自動走行し、工事現場ではブルドーザーが無人で作業をする。これらは、画像認識アルゴリズムはクラウドではなく、車両やデバイス側で稼働している。これらエッジ側には大規模な計算環境を搭載できないため、限られたコンピュータ資源で稼働する画像認識アルゴリズムが必要となる。リアルタイムで高精度な判定ができる画像認識アルゴリズムと、これを支える高度なAI専用プロセッサの開発が必要となる。

AIを使った攻撃と防御

GoogleがAdversarial Patchに関する論文を公開した理由はAIを使った攻撃の危険性を警告する意味もある。AIを悪用した攻撃が現実の問題となり、我々はその危険性を把握し、対策を講じることが求められる。具体的には、画像認識アルゴリズムの精度を改良していくことが喫緊の課題となる。ただ、Adversarial Patchの技術も向上するので、それに応じた改良が求められる。スパムとスパムフィルターの戦いで経験しているように、いたちごっこでレースが続くことになる。これからは守る側だけでなく攻める側もAIを使うので、セキュリティ対策に高度な技能が求められる。

グーグルスマホ「Pixel 2」でAIチップが稼働、ARでスターウォーズをリアルに生成でき現実と仮想の境界が消滅

Tuesday, January 2nd, 2018

映画「スターウォーズ」がGoogleスマホ「Pixel 2」にやってきた。極めて精巧なキャラクターをビデオの中に取り込むことができる (下の写真)。街の中を銀河帝国軍の機動歩兵が歩き、上空をXウイング戦闘機が飛び交うビデオを撮影できる。今までのARとは比べ物にならない精度で、リアルなキャラクターがスマホで生成される。これを可能にしたのがスマホ向けAIプロセッサで、大規模な計算を瞬時にこなす。このプロセッサはAIエンジンとしても使われ、スマホはAIマシンであることが鮮明になった。

出典: Google

拡張現実アプリ

Googleは2017年12月、拡張現実アプリ「AR Stickers」を投入した。このアプリを使うと、ビデオや写真にオブジェクトやテキストをAR (Augmented Reality、拡張現実) として組み込むことができる。多くのスマホでARアプリを使えるが、AR Stickersの特長は高精度でARを実装していることだ。もはや現実と仮想の区別ができない。

銀河帝国軍の機動歩兵が動き出す

AR Stickersは様々なセットを提供しているが、一番人気は映画スターウォーズ最新作「Star Wars: The Last Jedi」のキャラクターである。このセットを選ぶと、映画に登場するキャラクターをビデオの中に取り込める。例えば、銀河帝国軍の機動歩兵「Stormtrooper」を選ぶと、ビデオの中に配置できる。撮影を始めるとビデオの中でStormtrooperが動き喋り出す(下の写真)。一人だけでなく複数のStormtrooperを配置でき、それぞれが独自に動く。これらの機動歩兵は極めてリアルに描写され、動きは滑らかで、現実のキャラクターと見分けがつかない。

出典: VentureClef

反乱同盟軍の戦闘機

反乱同盟軍の戦闘機「X-wing Fighter」を選ぶと、可変翼をX状に広げ空中をホバリングする。戦闘機は背景の明るさに調和し、地上にはその影を落とす。戦闘機を前から撮影するだけでなく、周囲をぐるっと一周して360度のアングルから撮影できる。戦闘機は背景に溶け込み、仮想イメージであるとは思えない。

出典: VentureClef

可愛いロボットBB-8

異なるキャラクターを組み合わせて使うこともできる。雪だるまのようなかわいいロボット「BB-8」を選ぶと、画面の中をころころと動き回る。ここにStormtrooperを加えると、二つのキャラクターがそれぞれ独自の動きをする。時に、二つのキャラクターが鉢合わせして、コミュニケーションが始まる (下の写真)。StormtrooperがBB-8に「向こうに行け」と指示しているようにも見える。

出典: VentureClef

宇宙戦闘機は極めてリアル

「TIE Fighter」を選ぶと、二つのイオンエンジン (Twin Ion Engines) で飛行する宇宙戦闘機が登場する。宇宙戦闘機はイオンエンジン特有の音を出して飛行し、時々レーザーキャノンで攻撃する。TIE Fighterに近寄ってアップで撮影すると、細部まで克明に描写されていることが分かる。機体についた傷や角の摩耗などが極めてリアルに描かれている (下の写真)。モックアップで撮影したとしか思えず、これが仮想のオブジェクトであるとは驚きだ。

出典: VentureClef

開発環境「ARCore」

これらはARアプリ開発プラットフォーム「ARCore」で開発された。GoogleはARCoreを公開しており、パートナー企業もこの環境でARアプリを作ることができる。ARCoreがサポートしているデバイスはGoogle Pixel、Google Pixel 2、及びSamsung Galaxy S8である。AR基礎技術はGoogleの特別プロジェクト「Tango」で開発された。今般、ARCoreが公開されたことで、Tangoはここに集約されることになる。

ARの仕組み

ARとは仮想コンテンツ (スターウォーズのキャラクターなど) を現実社会 (ビデオや写真) に組み込む技術を指し、ARCoreは三つのモジュールから構成される。「Motion Tracking」はARコンテンツの現実社会における位置を把握し、スマホでコンテンツをトラックする技術 (キャラクターの位置決め技術)。「Environmental Understanding」は現実社会でフラットな箇所を検知し、その場所と大きさを把握する技術 (平らな場所を検知する技術)。「Light Estimate」は現実社会における光の状態を把握する技術 (明るさを把握する技術)。

Motion Tracking

カメラが動くにつれ、ARCoreはConcurrent Odometry and Mapping (COM) というプロセスを実行し、カメラの位置関係を把握する。イメージの中の特徴的なポイント (Feature Point、下の写真で○印の個所) を把握し、それらがどのように変化するかをトラックし、空間の中でカメラの位置を把握する。ARCoreはこの動きとスマホの加速度計のデータを組み合わせ、カメラの位置とカメラの向き 「Pose」を把握する。GPSなどの位置情報が無くてもARCoreはピンポイントで位置を把握できる。

出典: Google

Environmental Understanding

ARCoreは現実社会の中で平らな場所を検知する (下の写真でドットで示されたマトリックスの部分)。平らな場所とはFeature Pointが共通した水平面を持っているところで、これを「Planes」と呼ぶ。テーブルや床などの平らな部分がPlanesとなる。また、ARCoreはPlanesの境界を把握する。これらの情報がアプリに渡され、キャラクターが立つことのできる場所とその範囲を把握する。

出典: Google

Light Estimate

ARCoreは現実社会の光の状態を把握する。具体的には、カメラで捉えたオブジェクトの平均的な光の強さを把握する。この情報をアプリに渡し、生成するオブジェクトをこれと同じ明るさにする (下の写真、明るい場所の猫は明るく描かれる)。これにより、生成したオブジェクトがリアルさを増し、背景のイメージに溶け込めるようになる。

出典: Google

Anchors and Trackables

現実社会が理解できると、ARCoreはオブジェクトを生成しその中に置くこととなる。オブジェクトは現実社会に馴染み、自然な形で配置される。ARCoreは周囲の状況を把握しており、利用者はPosesを変えることができる。つまり、カメラを動かしオブジェクトの周囲を周回し、異なる方向から撮影できる。X-wingを周回し背後からも撮影できる (下の写真)。オブジェクトの周りを移動してもX-wingはホバリングを続け、アンカーで固定されているようにその場所に留まる。

出典: VentureClef

AI専用プロセッサ

高度なAR処理をPixel 2で実行できるのはAI専用プロセッサによる。Pixel 2は画像処理と機械学習のための専用プロセッサ「Pixel Visual Core」を搭載している。ARCoreはPixel Visual Coreで処理され、毎秒60フレームを生成し高精度な画像を創り出す。その結果、細部まで詳細に描かれたキャラクターが、画像処理の遅延時間はなくビデオの中を滑らかに動き、本物と見分けがつかなくなる。

ARアプリに先立ち、Pixel Visual Coreは写真撮影やAIで使われている。Pixel 2のカメラアプリは「HDR+」という機能を持ち、ダイナミックレンジの広い写真を撮影する。画像処理では大量の演算が発生するが、これらをPixel Visual Coreで高速実行する。

(下の写真、教会の中で薄暗い祭壇をHDR+で撮影すると、照明が当たっているように鮮明に描き出される。今まではHDR+処理に時間がかかり多くの電力を消費したが、Pixel Visual Coreでこの処理を瞬時に実行する。)

出典: VentureClef

画像処理と機械学習実行

Pixel Visual CoreはGoogleが設計したプロセッサでPixel 2のアクセラレータとして位置づけられる。Pixel 2のメインプロセッサはSnapdragon 835で、画像処理と機械学習実行がPixel Visual Coreにオフロードされる。開発環境としては、画像処理で「Halide」が、機械学習では「TensorFlow Lite」をサポートする。Pixel Visual CoreはAndroid 8.1 Oreoから使うことができる。つまり、Pixel 2にはPixel Visual Coreが搭載されているが、Android 8.1が公開された今月からこのプロセッサを使えるようになった。これに併せて、AR Stickersでスターウォーズのセットが提供された。

Neural Networks API

GoogleはAndroid 8.1で機械学習向けAPI「Neural Networks API」を公開した。エンジニアはこのAPIを使い機械学習機能をアプリに組み込むことができる (下のダイアグラム、Androidスマホやデバイス向けAI開発環境)。Neural Networks APIはPixel Visual Coreの他にGPUなどのプロセッサにも対応している。TensorFlow Liteは軽量のAI開発環境で、教育済みのAIアプリをスマホで実行 (Inference処理) するために使われる。パートナー企業もAndroid向けにAIアプリ開発ができ、スマホ上でリアルタイムに稼働するAIの登場が期待される。

出典: Google

少し危険な香りのするアプリ

GoogleはスターウォーズをモチーフにしたAR Stickersをテレビ放送でPRしており、全米で話題となっている。AR Stickersのインパクトは大きく、これ程リアルな仮想オブジェクトをスマホで生成できるとは驚きである。今まではプロの世界に限られていた特撮をPixel 2でできるようになった。ワクワクするアプリであるとともに、現実と虚構の世界の垣根がなくなり、少し危険な香りのするアプリでもある。