Archive for the ‘google’ Category

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でできるようになった。ワクワクするアプリであるとともに、現実と虚構の世界の垣根がなくなり、少し危険な香りのするアプリでもある。

無人タクシーに乗るためのマニュアル、Waymoは乗客を乗せて自動運転車の実証実験を開始 (2/2)

Thursday, November 30th, 2017

【無人タクシー事業とは】

販売ではなく共有モデル

WaymoはPhoenix (アリゾナ州) とその近郊で、無人タクシー (下の写真) の実証実験を始めた。無人タクシーは「Driverless Service」と呼ばれ、ドライバーが搭乗しないで輸送業務を遂行する。Waymoは今後、エリアを拡大し、無人タクシーサービスを展開する。無人タクシーが当面のビジネス形態であるが、この他に、貨物輸送、公共交通サービス、個人向け専用車両 (無人ハイヤー) などの事業を計画している。

出典: Waymo

Shared Mobility

このようにWaymoは、個人がクルマを所有するのではなく、共有するモデル「Shared Mobility」を事業の中核に据える。Waymoは、個人に自動運転車を販売するのではなく、ライドサービスを提供する。

一方、TeslaやVolvoは、個人に自動運転車を販売するモデルを計画している。GM、BMW、VWなどは、個人に自動運転車を販売し、同時に、ライドサービスを提供するハイブリッドな事業形態を計画している。

ライドシェア技術

Waymoは2017年5月、ライドシェア企業Lyftと提携することを明らかにした。両社は共同で、無人タクシーの運行試験や技術開発を進める。ライドシェア市場ではUberが大きくリードしているが、両社は自動運転技術開発で厳しく対立している。Waymoは機密情報を盗用したとして、Uberを訴訟している。このような経緯があり、WaymoはLyftに急接近した。

車両メンテナンス

Waymoは2017年11月、車両メンテナンスに関しAutoNationと提携することを発表した。AutoNationとは全米最大の自動車販売会社で、16の州に361の店舗を持ち、35のメーカーのクルマを販売している。販売だけでなく自動車のメンテナンス事業も展開している。

予防保守が中心となる

自動運転車は無人で走行するため、車両保守が極めて重要な役割を担う。問題が発生したり、警告ランプが点灯してから修理するのではなく、障害が発生する前に部品交換を実施する。自動運転車では予防保守が中心となる。(下の写真はガレージに並んでいるWaymo自動運転車。)

出典: Waymo

自動運転車は高度なセンサーやソフトウェアを搭載しており、それに対応できる保守技術が要求される。自動運転車は高価な器機を原価償却するため、24時間連続で運転するモデルが基本となる。これを支えるためにも自動運転車の保守技術が重要になる。AutoNationは既に、カリフォルニア州とアリゾナ州で、Waymoの保守サービスを実施している。

【自動運転アルゴリズム開発と試験】

Waymoの安全性を検証するには

Waymo無人タクシーを利用する時に気がかりなことは、クルマの安全性である。この疑問に答えるためには、Waymoは自動運転車をどのように開発し、安全性をどう検証しているのかを理解する必要がある。

安全性検証の大きな流れ

安全性を決定するのはソフトウェアで、バーチャルとリアルな環境で試験される。開発された自動運転ソフトウェアは、シミュレータでアルゴリズムを教育し、学習した機能を検証する。条件を様々に変えて実行し、ソフトウェアの完成度を上げていく。(下の写真はシミュレータでクルマを稼働させている様子。)

出典: Waymo

シミュレーションを通過したソフトウェアは、実際にクルマに搭載され、専用サーキットで走行試験が実施される。専用サーキットは街並みを再現した試験コースとなっている。この試験に合格したソフトウェアは試験車両に搭載され、市街地を走行して機能や安全性が検証される。実地試験に合格したソフトウェアが最終製品となり出荷される。

シミュレーション

Waymoはクルマのアルゴリズム教育を、高度なシミュレーション環境で実施する。シミュレータで25,000台のWaymoを稼働させ、毎日800万マイル走行する。シミュレータを使うことで、試験走行距離を増やすことができる。更に、実社会では稀にしか起こらないイベントを、シミュレータで構築できる。例えば、交差点で左折信号がフラッシュするなど、極めてまれな信号機を創り出すことができる。

街並みをソフトウェアで再現

シミュレータは、実際の街並みを、ソフトウェアで再現している。仮想の街並みは、市街地をスキャンして構築される。専用車両に搭載されたLidar (レーザーセンサー) で、街並みをスキャンし、高精度な3Dマップを制作する (下の写真)。マップには、レーン、路肩、信号機などが表示され、ここには走行に関する情報 (車線の幅や路肩の高さなど) が埋め込まれている。ここに、前述の左折信号が点滅する交差点を構築できる。

出典: Waymo

仮想の走行試験

次に、この仮想の街並みをクルマで走行する。例えば、左折信号が点滅する交差点を曲がる練習ができる (下の写真)。クルマは交差点にゆっくり進入し、対向車がいないのを確認して左折する。アルゴリズムが改良されていくが、その都度、同じ条件で走行試験を繰り返す。このプロセスを繰り返し、習得した技術 (左折信号が点滅する交差点を曲がる技術など) の完成度を上げる。

環境を変化させる

シミュレータは環境に変化を加える(Fuzzingと呼ばれる)ことができる。左折信号のケースでは、対向車の速度を変えたり、信号機のタイミングを変えることができる。新しい条件でクルマが安全に左折できることを確認する。また、実際にはありえない条件を付加できる。オートバイがレーンの白線の上を走行したり、人がレーンをジグザグに走るケースなどを生成できる。異常な行動に対して、クルマがどう反応するかを検証する。

出典: Waymo

シミュレーションの成果

自動運転車は、主要技術をシミュレータで学び、練習を重ね、完成度を上げた。2016年には、Waymoはシミュレータで25億マイルを走行した。これは地球10万周分の距離に当たる。シミュレーション環境が優れている点は、危険な出来事を頻繁に再生できることにある。歩行者が垣根の陰から路上に飛び出すなど、事故となるシーンでも試験を重ねた。

試験サーキット「Castle」

シミュレータを通過したソフトウェアは試験車両に搭載され、試験サーキット「Castle」で試験される。これは空軍基地跡地を利用したもので、ここに街並みが再現されている (下の写真、左下の部分)。ここで、新規に開発されたソフトウェアが試験される。また、改版されたソフトウェアが検証される。更に、ここでは、稀にしか発生しない事象を試験する。これらを「Structured Tests」呼び、2万のシナリオを検証する。検証が済んだソフトウェアは公道での実地試験に進む。

出典: Google Earth

公道での路上試験

Waymoは試験車両を公道で走らせ試験を展開している。過去8年間にわたり、全米20都市で350万マイルを走行した。アリゾナ州では砂漠の環境で、ワシントン州では雨が降る環境で、ミシガン州では雪の中で試験が進められている。それぞれ異なる気象条件で安全に走行できることを検証する。また、路上試験は啓もう活動を兼ねている。地域住民が自動運転車に接し、理解を深めることも目標としている。

【自動運転車は安全か】

安全性の指標は確立されていない

自動運転車の安全性に関する指標は確立されておらず、どこまで試験をすればいいのか、議論が続いている。カリフォルニア州は、州内で実施されている自動運転車試験の内容を公表することを義務付けている。この中に、自動運転機能を停止する措置 「Disengagement」の項がある。Disengagement (自動運転機能解除措置) を実行することは、自動運転車が危険な状態にあることを意味する。自動運転車が設計通り作動していない状況で、不具合の件数とも解釈できる。

WaymoのDisengagementの回数 (1000マイル毎) は、2015年には0.80回であったが、2016年には0.20回に減少している (下のグラフ)。2017年度のレポートはまだ公開されていないが、このペースで進むと、更に大きく減少することになる。

出典: Department of Motor Vehicles

Waymoの安全対策を纏めると

Waymoは安全性に関し、複数の視点からプローチしている。徹底した走行試験を繰り返し、自動運転モードで350万マイルを走行した。車両ハードウェアを重複構造とし、重要システム (ステアリングやブレーキなど) を二重化している。運用面では、走行できる領域をOperational Design Domainとして定義し、クルマが走れる条件を明確に把握している。乗客とのインターフェイスも重要で、無人タクシーで乗客が不安にならないよう設計されている。

安全性を最優先した製品コンセプト

開発プロセスや試験結果から、Waymo無人タクシーは安全な乗り物であると評価できる。また、運行できる範囲を限定し、安全に走行できる環境に限ってサービスを提供している。更に、無人で走行するものの、運行は監視室で遠隔モニターされており、非常事態に対応できる。

技術的には、WaymoはLidarとカメラを併用し、慎重なアプローチを取る (詳細は下記の補足情報を参照)。ステアリングのないクルマを走らせるなど、革新技術を追求するWaymoであるが、商用モデルは意外なほど手堅い造りになっている。

次の目標

他社に先駆けて、無人タクシーの運行に漕ぎつけたことは、大きな成果である。Phoenixで運行を始めたばかりであるが、次のサービス都市は何処かが話題になっている。高度な技術が要求されるSan Franciscoで運行するには、もう少し時間がかかる。Operational Design Domainの拡大がWaymoの次の目標となる。

———————————————————————

補足情報:Waymo自動運転技術まとめ

【自動運転車のセンサー】

多種類のセンサーを併用

安全性を評価するためにはWaymoの自動運転技術を把握する必要がある。WaymoのセンサーはLidar System (レーザーセンサー)、Vision System (光学カメラ)、Radar System (ミリ波センサー)、Supplemental Sensors (オーディオセンサーやGPS) から構成される (下の写真)。

出典: Waymo

ミニバンの屋根に小型ドームが搭載され、ここにLidar SystemとVision Systemが格納される。別タイプのLidarはクルマの前後と前方左右にも搭載される。クルマ四隅にはRadarが設置される。Lidarとカメラを併用する方式はSensor Fusionと呼ばれる。(これに対しTeslaは、Lidarを搭載せず、カメラだけで自動走行する技術に取り組んでいる。)

Lidar System

Waymoは独自技術でLidarを開発している。クルマは三種類のLidarを搭載している。「Short-Range Lidar」はクルマの前後左右四か所に設置され、周囲のオブジェクトを認識する (上の写真、バンパー中央と左側面の円筒状の装置)。クルマのすぐ近くにいる小さな子供などを把握する。解像度は高く、自転車に乗っている人のハンドシグナルを読み取ることができる。

出典: Waymo

「Mid-Range Lidar」と「Long-Range Lidar」は屋根の上のドームの内部に搭載される。前者は高解像度のLidarで、中距離をカバーする。後者は可変式Lidarで、FOV (視野、レーザービームがスキャンする角度) を変えることができ、特定部分にズームインする。レーザービームを狭い範囲に絞り込み、遠方の小さなオブジェクトを判定できる。フットボールコート二面先のヘルメットを識別できる精度となる。

Vision System

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

【自動運転の仕組み】

位置決定:Localization

Waymoが自動走行するためには3D高精度マップが必要となる。マップには道路の形状が3Dで詳細に表示され、セマンティック情報 (道路、路肩、歩道、車線、道路標識などの情報) が埋め込まれている。クルマは搭載しているセンサーが捉えた情報と、3D高精度マップを比較して、現在地をピンポイントに特定する。この位置決めをLocalizationと呼ぶ。

周囲のオブジェクトの意味を理解:Perception

クルマのセンサーは常時、周囲をスキャンして、オブジェクト (歩行者、自転車、クルマ、道路工事など) を把握する (下の写真)。オブジェクトは色違いの箱で表示される。クルマは緑色または紫色、歩行者は赤色、自転車は黄色で示される。

出典: Waymo

ソフトウェアは、これらオブジェクトが移動している方向、速度、加速度などを推定する。また、信号機、踏切標識、仮設の停止サインなどを読み込む。ソフトウェアは、オブジェクトの意味 (信号機の色の意味など) を理解する。

動くオブジェクトの挙動予測:Behavior Prediction

ソフトウェアは路上のオブジェクトの動きを予想し (下の写真、実線と円の部分)、その意図を理解する。ソフトウェアはオブジェクトの種類 (クルマや人など) により、動きが異なる (クルマの動きは早く人の動きは遅い) ことを理解している。また、人、自転車、オートバイは形状が似ているが、その動きは大きく異なることも理解している。

出典: Waymo

更に、クルマは道路状況 (工事など) により、これらの動きが影響される (工事でクルマが車線をはみ出すなど) ことを理解している。これらは試験走行でアルゴリズムが学習したもので、ここにAI (Machine Learning) の技法が使われている。

最適な経路を計算:Planning

ソフトウェアはオブジェクトの動き予想を元に、最適なルートを決める (下の写真、幅広い緑の実線)。ソフトウェアは進行方向、速度、走るレーン、ハンドル操作を決定する。ソフトウェアは「Defensive Driving」としてプログラムされている。これは安全サイドのプログラミングを意味し、自転車と十分間隔を取るなど、慎重な運転スタイルに設定されている。クルマは周囲のオブジェクトの動きを常にモニターしており、それらの動きに対してルートを変更する。

出典: Waymo

AIではなく人間が経路を決める

重要なポイントはPlanningのプロセスにAIは適用されていないことだ。Planningのロジックはコーディングされており、クルマの動きは人間がプログラムで指定する。人間が自動運転アルゴリズムを把握できる構造になっている。このため膨大なルールが定義されており、それを検証するためには、大規模な試験走行が必要となる。

AI Carというアプローチ

一方、NvidiaはPlanningのプロセスをAIが司る「AI Car」を開発している。AIが人間の運転を見てドライブテクニックを学ぶ先進技術に取り組んでいる。AI Carは道路というコンセプトを理解し、車線が無くても人間のように運転できる。膨大なルールの定義は不要でアルゴリズムがシンプルになる。しかし、AIの意思決定のメカニズムは人間には分からない。信頼性の高いクルマを作るため、Nvidiaはこのブラックボックスを解明する研究を進めている。

Waymoは安全なアプローチ

WaymoはLidarとカメラを併用 (Sensor Fusion) する、手堅い手法を取っている。アルゴリズムの観点からは、AIが周囲のオブジェクトを把握するが、ハンドル操作は人間がコーディングして決定する。Waymoは極めて安全な技法で開発されたクルマといえる。