TwitterがAI技術による画像の自動トリミングの最適化を導入
Twitterに投稿した画像はUIデザインに合わせて自動でトリミングされますが、「思っていたのと違う……」という切り取り方をされることもよくありました。TwitterはAI技術を活用することで、従来よりも速くかつ最適なトリミングが可能になったと公式ブログで発表しています。
Speedy Neural Networks for Smart Auto-Cropping of Images
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/Smart-Auto-Cropping-of-Images.html
2011年に画像投稿が可能になったTwitterでは、スマートフォンなどの画面レイアウトに応じて写真をトリミングした上でサムネイル(プレビュー)として表示してきました。しかし、自動トリミング機能の精度が低いため、思うようなイメージで切り取ってもらえないこともしばしばでした。これまでにも顔検出機能などを使って、写真に写る人物の顔にフォーカスを合わせて画像をトリミングすることで、ツイートする人のイメージに近いサムネイルの作成を目指していたものの、すべての写真に人物が登場するわけもなく、なかなかうまくいかなかったそうです。なお、顔が検出できない場合は基本的には写真の中心を基準にトリミングするという残念な仕様だった模様。
左が従来の自動トリミング。右は理想的な自動トリミング。
そこでTwitterでは自動トリミング機能を改良するために、画像内の「salient(顕著な)」領域にフォーカスを当ててトリミングするというアイデアを導入することになりました。顕著な領域とは、画像を見た人が視点を当てる可能性の高い領域だとのことです。
一般的に人は画像にある「顔」「テキスト」「動物」などの物体の他に、コントラストの高い部分に注意を向ける傾向があることから、Twitterはニューラルネットワークや特定のアルゴリズムを鍛えることで、人が何を見たいのかを的確に予測する技術を開発したとのこと。
機械学習技術の進歩によって人が注目しやすい「顕著な領域」を予測する精度は非常に高まっているのですが、複数の画像を投稿するとTwitterというサービスの特徴からいえば、大量の画像を読み込んで鍛えたニューラルネットワークを利用して画像をトリミングするという方法では時間がかかりすぎて不適当でした。Twitterにとって細かなピクセルレベルでの予測は不要で、顕著な領域がどこにあるのかを大まかに知る必要があるため、「knowledge distillation(知識の蒸留)」と呼ばれる手法で、顕著な領域を予測するネットワークサイズを大幅に減らすことにしたそうです。
知識の蒸留によってサイズを減らした上で、「pruning(剪定)」と呼ばれる作業によって、画像検出精度に寄与しない割に演算能力を浪費している特徴を除去するという作業を行ったとのこと。ニューラルネットの蒸留と剪定という2種類のAI技術を組み合わせることで、機械学習を利用して予測した「顕著な領域」に基づいて画像をトリミングする速度が、従来技術に比べて10倍高速化できたとTwitterは述べています。
投稿時にほとんど待ち時間がかかることなく自然なトリミングが可能な新技術によって、従来は「足下」にフォーカスを当ててしまっていた残念なサムネイルは、「子どもの表情」にフォーカスを当てたトリミングが可能に。
物がたくさんある状況でも、テキストなど重要な要素を的確に見抜いて切り取ることができるようになりました。
複数の画像を投稿した場合でも、もれなく最適化されているのがわかります。
AI技術を活用した自動トリミング機能は、ブラウザ版、iOS/Android版アプリですでに導入されているとのことです。
・関連記事
Twitterが複数ツイートをまとめるスレッド機能を公開、実際に使ってみた - GIGAZINE
Twitterの投稿写真がトリミングなしで表示されるように改善 - GIGAZINE
ついにTwitterが文字数制限を280文字に拡大 - GIGAZINE
Twitterが青色チェックマーク「認証済みアカウント」の基準を見直すため認証プロセスを一時中断 - GIGAZINE
なぜトランプ大統領はTwitterにBANされないのか - GIGAZINE
・関連コンテンツ