シャッターチャンスを認識して自動で撮影するGoogle Clipsの実現方法

  • 2018.05.17
  • AI
シャッターチャンスを認識して自動で撮影するGoogle Clipsの実現方法

1.シャッターチャンスを認識して自動で撮影するGoogle Clipsの実現方法まとめ

・Google Clipsを開発するために必要だった人工知能の機能と学習データの解説
・シャッターチャンスと言う主観的な事象をどうやって人工知能に認識させたか?
・膨大な計算機パワーと人力によるデータセットの整備が必要であった

2.Google Clipsとは?

私にとって写真とは、出来事の重要性とその出来事を適切に表現するための構図を瞬時に認識する事である。(アンリ・カルティエ=ブレッソン)

ここ数年、AIはカンブリア期(生物が一気に多種多様に進化したと考えられている時代)のように爆発的に進化した。画像認識は様々な物体を写真から認識できるようになった。人物、笑顔、ペット、日没、著名な建造物、等々。しかし、これらの進化にも関わらず、自動的に写真を撮影する事はまだ挑戦的な分野と見なされている。カメラは自動でシャッターチャンスを捉える事ができるだろうか?

近年、GoogleはGoogle Clips、貴方の人生のシャッターチャンスを自動で撮影してくれる、手で持つ必要がないハンズフリーなカメラを発売した。Googleは、Google Clipsに3つの主要な機能を求めた。

(1)オンデバイスでの実行
クラウドサービスやインターネットの力を借りることなく、カメラ内で機能を実現する事。オンデバイスで実行する事は、バッテリーの持ちやシャッターの反応速度が向上するに加え、貴方の写真が貴方の許可なく外部に保存されたり共有される事がない事である。これはプライバシー保護の観点から重要である。

(2)写真ではなく動画
Googleは写真を一枚撮影するのではなく、動画を撮影する事を望んだ。動きのある瞬間はとても記憶に残るものである。そして、完璧な写真を撮る事より、動きのある魅力的な動画を撮影する方が簡単である。

(3)芸術ではなく面白い瞬間
Googleは、芸術的な写真ではなく、人々やペットの魅力的な瞬間を取る事に集中したいと考えた。そのため、Google Clipsは写真の構図やカラーバランス、陰影などは学習していない。その代りに、Google Clipsは、人々やペットの面白い瞬間を捉える事に集中させた。

3.シャッターチャンスを認識するための人工知能が行った事

どのようにすれば、面白い瞬間を認識できるように人工知能を学習させる事ができるだろうか?他の機械学習プロジェクトと同様に、Googleは学習用データセットを集める事から始めた。様々なシナリオの何千もの映像から、素材となる映像を集めた。サンプルに人種や民族、性別、年齢層の片寄がない事を確認した。その後、写真の専門家と編集者を雇用し、集めた映像を細かく確認して貰い、ベストな短編映像を選んだ。

この初期のまとめ作業は、人工知能が真似すべきサンプルを与えてくれた。しかし、まとめを作った人間の主観的選択だけで人工知能を訓練するのは難しい事であった。サンプル映像は抜群のシャッターチャンスからどうでも良い場面まで、時間により変化するため、人工知能が品質の変化を判断するための基準が必要になった。

この問題に対応するために、Googleは次にデータ コレクション アプローチを使った。Googleは映像を細かく分割し、ランダムに選んだ2つのショート映像を人間に見せ、どちらが好ましい瞬間かを選んで貰った。

サンプル映像を直接スコア付けするのではなく、分割したショート映像をペアにして比較する手法を取ったのは、ペアを選択する方が元のサンプル映像を直接スコア付けするより簡単で、評価者も一貫した評価を下せるためだ。元のサンプル映像を十分な量のショート映像に分割して比較したので、サンプル映像の全長に渡って連続的な品質スコアの計算が可能になった。本件では、1000以上のサンプル映像に対して、5000万回のペア比較を行った。そう、大変沢山の人力だ!

4.記録した映像の品質を予測する学習

シャッターチャンスの品質がわかる学習データが出来たので、次は、人工知能がGoogle Clipsが記録した映像の品質を評価できるように学習させるステップに進んだ。Googleは、写真に写っている内容(人々、犬、木、その他)が興味深い瞬間を判断するための要因となりえるという仮説から始めた。この仮説が正しいとしたら、先に作成した学習用データに写っている物体が何であるかわかるようにラベリングすれば、より効果的にシャッターチャンスを検出する事ができるはずである。

ラベル付けには、Google画像検索やGoogle Photosで使われている人工知能を使った。この人工知能は、物体や概念、行動など27,000以上のラベル付けが可能であったが、中には不要なラベルもあり、オンデバイスで実行するには多すぎたので、専門家によって興味深いとされた数百のラベルと品質スコアを評価した人が高く評価したラベルを対象とした。

学習用モデルが完成した後、Googleはオンデバイスで実行可能なコンパクトで効率的な学習モデルを設計する必要があった。モバイルデバイスで動作するアルゴリズムはデスクトップやクラウド上のアルゴリズムより遥かに遅れているため、沢山の課題があった。最初にクラウド上の強力な人工知能を使い、興味深いラベルに対する信頼性を予測させた。次にMobileNetのImage Content Model (ICM)を使って、クラウドで実施した人工知能の模倣を行った。MobileNetを使ったコンパクトなモデルは関連性の低いコンテンツを無視して、興味深い要素のみを認識する事が出来た。

最後のステップは、5000万回のペア比較の結果を学習用データとして、ICMに品質スコアを予測させる事であった。これによってICMは人間が好む瞬間をより正確に認識するように訓練された。

上記プロセス(データ駆動型スコアリング)によって、Googleの画像認識技術の力と人間の評価者による知恵を組み合わせたモデルを作成し、映像から興味深い瞬間を特定する事に成功した。GoogleはGoogle Clipsのユーザーからヒアリングをし、ユーザーが捉えたいと思ってるその他の瞬間も捉える事が出来るようにした。様々な顔、笑顔、ペット、など。最新のリリースではハグ(抱き合う事)、キス、ジャンプ、ダンス、などもシャッターチャンスとして捉える事ができるようにICMモデルを拡張している。

5.シャッターのコントロール

シャッターを制御するアルゴリズムは3つの主な原則に従う。

(1)消費電力と熱
Google Clipsの電源は3時間持続させ、電源をつけっぱなしでも過熱してオーバーヒートしないようにようにしたいと考えている。そのため、Google Clipsを常に最高性能で動作させる事はできない。Google Clipsは通常時、1秒間に1フレームを撮影する低消費電力モードで動作する。撮影したフレームを解析し、一定の興味深さを超えると、Google Clipsは1秒間に15フレームを撮影する高消費電力モードに移行し、最初に検出された興味深さのピークの時点で映像データを保存する

(2)冗長性の回避
Google Clipsが特定の種類の写真、つまり集合写真や笑顔だけをひたすら撮影して容量が一杯になってしまう事を避けるため、Google Clipsは映像をクラスタリング(分類)し、各クラスタで保存する写真の上限を決めている。

(3)事後判断
撮影しながら映像の品質を判断するより、全ての映像を撮影した後にどの映像が一番優れているか選ぶ方が簡単である。Google Clipsはユーザーが確認できる映像以上に沢山の映像を記録する。映像を確認するためにスマートフォンに転送する段階になった時(Google Clips本体には映像を確認するための画面がない)に、Google Clipsはベストな品質且つ冗長していない映像を選択し、それを転送する。

6.機械学習の公平性

学習用データセット作成時に様々な人種(性別、年齢、肌の色など)を考慮しただけに留まらず、Googleは、公平性を確認するテストも行った。異なった人種を撮影対象にしてもGoogle Clipsの認識率やパフォーマンスに差がでない事を確認するテストである。新しい機能を加える際には、リリース前に上記テストをパスする事を求めるようにした。これらのテストを行っても、完全な公平性を実現できているわけではないが、Googleが長期目標とする「機械学習の公平性」を実現するために大事な事であると考えている。

7.結論

従来の人工知能は「その写真に猫が写っているか否か?」等の客観的に判断できる事を推定していた。Google Clipsは「その写真が興味深いか?」と言う主観的な判断を推定する事が目標であった。そのため、Googleは「主観的な人間の好み」と「客観的な写真に写っている物体」を組み合わせて新しい人工知能を作り上げた。

またGoogle Clipsは、完全な自動化ではなく人間と共に動作するようにデザインされている。ユーザはGoogle Clipsを置く場所、つまり構図やGoogle Clipsが撮影している対象を意識する必要がある。Googleは、Google Clipsの現在の性能を嬉しく思い、「完璧な瞬間」を捉える事ができるように今後も人工知能を更に改良していく事に興奮している。

8.シャッターチャンスを認識して自動で撮影するGoogle Clipsの実現方法感想

日本未発売の事もあり、日本ではそんなに大きくは注目されていないGoogle Clipsですが、開発に至るまでの労力、5000万回のペア比較などは本当にコンピューターパワーとヒューマンパワーの結晶だと感心しました。

また、客観的に判断できない主観的な事をどのように人工知能に学習させていったかの方法についてもなるほどな、と非常に興味深いです。

価格は249ドル。アメリカでは先日の母の日に、母の日キャンペーンで$50ディスカウントされていたようです。一部のオンラインショップでは日本への発送もしてくれるようですが、アプリ等は日本語環境を意識していないはずなので、研究目的でなければ正式日本語対応するまで待った方が良いかもしれません。

Google Clipsを使えば、先日Twitterで話題になっていた「#羽生結弦の写真撮るの下手くそ選手権」が解決されるのかと思ったのですが、カメラ機能はシンプルに抑えられているので望遠は難しそうだし、少なくとも枠内に被写体を収めないといけませんね。

「#羽生結弦の写真撮るの下手くそ選手権」とは、フィギュアスケートの金メダリスト羽生結弦選手の熱烈なファンの人達が仙台で行われた羽生結弦選手のパレードを一目見ようと遠方から集まって頑張って写真を撮ったけど、アングルや焦点がずれて「その写真には羽生結弦選手への愛が溢れているが、羽生結弦選手は綺麗に写っていない」写真をTwitterに投稿したものです。

9.シャッターチャンスを認識して自動で撮影するGoogle Clipsの実現方法関連リンク

1)ai.googleblog.com
Automatic Photography with Google Clips