コンピュータビジョン | AI tech studio https://cyberagent.ai AI事業本部は、サイバーエージェントグループのデジタルマーケティング分野におけるサービス開発を行う組織です。 Tue, 12 Apr 2022 05:13:09 +0000 ja hourly 1 https://wordpress.org/?v=5.3.26 【CVPR’22】物体検出アルゴリズムの新しい評価指標 https://cyberagent.ai/blog/research/computervision/16366/ Fri, 01 Apr 2022 01:05:10 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=16366 Media fundamentalsチームの大谷です。今回は物体検出を評価するための新しい指標を設計したので、その研究について概要を解説します。この研究成果はCVPR2022に採択されています。論文のリンクはこちらです。

 

Mean Average Precisionはなにを見ている?

物体検出の評価では多くの場合Mean Average Precision (mAP)が使われています。まずAPについて概要を確認しておきましょう。APは検出したオブジェクトをconfidence score順に並べてprecision-recall curveを求め、その曲線の下の面積で求められます。これをカテゴリごとに計算し、全てのカテゴリ上で平均したものがmAPです。ここでは詳細に触れませんが、実際のAPの計算では諸々の実装上の事情があり、それらがAPの振る舞いにおいて少なくない影響を及ぼしています。ここの説明はAPが評価しているものについての簡単な説明なので、実際のAP計算とは異なる点があるので悪しからず。

mAPは物体検出をデータセット全体から見つけたオブジェクトのランキング問題として評価しています。この前提は物体検出を開発しているコミュニティでもあまり意識されていない点ではないでしょうか。この「データセット全体における」「ランキング問題」として物体検出を評価するという姿勢は、なかなかに強い前提です。

一つ論文で出した極端な例を紹介します。下のイラストに示すような、アヒルとロバの検出器、A,B,Cと3枚の画像からなるデータセットを考えます。この例ではある検出器Bはデータセットの画像2枚を完全に無視していますが、mAP上では検出器Aと区別がつきません。APは見つけたオブジェクトを画像からひっぺがして評価するので、データセットの画像それぞれで検出が成功したかどうかという情報は基本的には失われています。これはある画像グループで性能が極端に悪くなっていたとしても、評価指標上では現れないことがあるということです。これは多様な画像で安定した性能を求められるようなアプリケーション、例えば画像認識APIの評価などでは好ましくないでしょう。また検出器Cは大量のロバを誤検出しています。しかし、これらの誤検出はAPを下げません。これは検出された物体のうち、正しいものが誤検出よりも上位にランキングされているかどうかを重視しており、ランキング下位の誤検出については直接ペナルティを課していないことが理由です。

もう一つ、クラス識別を重視するという点もAPの特徴的なスタンスです。APでは予測クラスが間違っていた場合、その検出結果は「完全な失敗」として扱われ、位置の正確性については評価されません。これは扱うクラス数が膨大な場合や、クラス識別よりも位置の予測を重視するアプリケーションには少々厳しすぎる方針かもしれません。

このようにmAPには、データセット全体に対するランキング性能を見ていることに由来する、評価の「クセ」があります。以下は今回の研究で注目したmAPの性質です。

 

  • 物体検出をデータセット全体における検出物体のランキングとして扱っている

  • confidence scoreの低い誤検出の影響は小さい

  • 各画像のAPに対する影響は平等ではない

  • クラス識別が位置推定よりも重視される

  • 評価時に参照する真値アノテーションが最適でない場合がある

 

これらの特徴のほとんどは良い悪いというものではありません。最終的にやりたいことが画像データセット全体から見つけた物体領域のうちconfidence scoreの上位~%を検出とするようなアプリケーションであれば、これらの性質はそれなりに妥当と言えそうです。評価の際は最終的にどんな検出器が欲しいのかを考慮して、目的に合った評価指標を使うことが理想でしょう。ですが、今のところ物体検出に関してはAPとAPをベースに改良された指標がいくつかあるぐらいで、実質的な選択肢は限られています。そこで今回は、APとは違った発想で検出結果を評価する別の指標を考えました。

Optimal Correction Cost

今回提案した指標はOptimal Correction Cost (OC-cost)と呼んでいます。OC-costは誤差を含む検出結果を正解に修正するためにかかるコストを使って、検出結果の品質を測ります。この方法は去年物体検出モデルの学習法として提案されたOTAを参考にしています。実際、その最終的な目的を学習とするか評価とするかで、OTAと提案指標は設計が異なってきますが、技術的には多くの部分で共通しています。

まず検出結果と真値アノテーションからコスト行列を作ります。コスト行列のそれぞれの要素はある検出結果を真値アノテーションのどれかに修正するためにかかるコストです。このコストはクラス識別に関する誤差と予測位置の誤差から計算します。このコスト行列からトータルの修正コストが最小となるような検出結果と真値アノテーションの対応を最適輸送問題を解くことで求めます。そしてその時かかった修正コストをOC-costとします。バウンディングボックスに対する編集距離のようなイメージです。この指標の性質としては以下のようなものがあります

  • 画像1枚に対して検出精度を評価できる

  • 識別の誤差と位置ずれの誤差を同時に評価できる(クラス識別が間違っていても位置予測精度は評価される)

  • 適当な真値アノテーションとの比較に基づく評価ができる

  • 余分な検出に対してペナルティを積極的に与える

繰り返しになりますが、この性質も最終的なアプリケーションによって良し悪しです。基本的には画像1枚1枚の検出精度が重要で、事前に検出結果を間引いておく必要があるようなアプリケーションに合っていると思います。

 

OC-costの実例

実際にこの指標の振る舞いを実例を使ってみていきます。左からOC-costが低い(=良いと判断された)検出結果です。まあまあ納得感のある結果ではないでしょうか。

 

次にmAPとOC-costをそれぞれ使って検出結果をフィルタリングするパラメータを調整してみます。具体的にはNon maximum supressionの閾値パラメータをmAPを最大化、あるいはOC-costを最小化するようにパラメータを最適化しています。この結果を見比べてみることで、それぞれの指標がどのような検出器を高く評価するのかわかります。以下が実例です。

 

mAPは正しい検出結果を得るチャンスを上げるために、なるべくたくさんの予測を出すモデルを好みます。余計な検出が大量に出力されたとしても、そのconfidence scoreが相対的に低ければあまり問題としません。mAPはユーザがそれぞれconfidence scoreの適切な閾値を決めるものと想定しています。一方、OC-costは余計な検出にはペナルティを与えます。検出結果を事前にフィルタリングしておく必要があるような場合にはOC-costを用いたチェックが有効でしょう。

さいごに

物体検出アルゴリズムの新しい評価指標を紹介しました。さらに詳しい内容については論文を見ていただけると幸いです。さて、物体検出の評価もこれをもって十分とはまだ言えません。また他の領域でも評価方法の改良はまだまだやることがありそうです。コンピュータビジョンの発展に評価の観点から貢献することに興味のある方がいればぜひご連絡ください。

]]>
【AI Lab リサーチインターンシップ】頑健性と転移学習 https://cyberagent.ai/blog/research/computervision/16404/ Fri, 01 Apr 2022 01:00:05 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=16404 2021年の夏にMedia Fundamentalsチームで大谷さんメンターのもとで研究インターンをしていた山田です。夏のインターンで行っていた研究の概要を紹介します。この研究はCVPR2022に採択されています。論文はこちらのリンクです。

 

画像認識モデルの頑健性

画像認識モデルは目覚ましい発展を遂げており、一部の主要な画像認識タスクでは精度が頭打ちしてきましたが、一方で画像にノイズが加わるとモデルの精度が大きく下がる問題が指摘されています。自動運転など実世界への応用ではこれらの画像認識モデルの脆弱性は大きな問題で、画像認識モデルの頑健性を向上させる研究が盛んに行われています。

画像認識の頑健性と言っても様々なものがあります。ある画像に対して色々な摂動が考えられるからです。ガウシアンノイズやコントラストの変化、雪、雨、パンダの画像でお馴染みの敵対的摂動、背景画像の変化、視点の変化などがあります。ビジョンの頑健性の研究では「この摂動が画像に適用されても人間の認識にはそれほど影響がないだろう」という範囲での摂動に興味の対象があって、機械をどうやってそのレベルに持っていくか色々試行錯誤している状況です。

これまで画像認識モデルの頑健性向上を目指す研究の多くは、ImageNetにおける画像の識別タスクの性能変化を測定することでモデルの頑健性を検証してきました。一方で、画像認識モデルを実際に活用する場面では、ImageNetなどの大規模データセットで事前学習されたモデルを転移学習して用いることが一般的です。 元の画像認識モデルの精度が高ければ高いほど転移学習後の精度も高くなることは知られていましたが、頑健性という尺度に着目した転移学習の効果の研究はあまり行われていませんでした。そのため、主要な画像認識データセットで高い頑健性を有する画像モデルが必ずしも転移学習後にその頑健性を維持しているかどうかは不透明でした。

 論文の概要 

このような背景のもと、本論文では転移学習後のモデルが、事前学習済みモデルが有していた頑健性を維持することができているかを様々な設定で検証しました。 転移学習先のタスクとして画像のセグメンテーション、物体検出、別ドメインの画像認識タスクを設定し、モデルのアーキテクチャとしては主要な画像認識モデルであるResNetや、近年注目を集めているTransformerベースの画像認識モデルを扱いました。

実験の結果から、画像認識モデルのアーキテクチャが転移学習後の頑健性において重要であることがわかりました。より具体的には、 既存の頑健化手法でロバストにしたResNetを転移学習させるよりも、頑健化手法を使っていない普通のSwin Transformerの方が転移学習後の頑健性が高いということがわかりました。これは画像識別から物体認識やセグメンテーションに転移学習させる際には既存の頑健化手法よりもアーキテクチャ自体が有する頑健性の方が効果的であることを意味します。

またこのように主要なデータセットを用いて獲得された頑健性は、別データセット、タスクを使った転移学習後に必ずしも保持されないことから、データセットやタスクを跨いだ分析の重要性を指摘しました。 

まとめと今後の展望

今回の論文では、今まで主に画像の識別タスクで行われてきた頑健性に関する研究をより実用的なタスクに適用する際に現れる問題点について議論しました。これを受けてより実世界に直結した頑健性の研究を進めていきたいです。ビジョンの分野での頑健性研究は本質的にhuman-centricな問題だと思っているので、そもそも人間が物体を認識するとはどういうことなのかというところからボトムアップに考えていきたいと思います。

]]>
CVPR 2019 参加報告 https://cyberagent.ai/blog/no_use/participant_report/2396/ Thu, 11 Jul 2019 05:13:10 +0000 https://cyberagent.ai/research/?p=2396 はじめに

AI Lab の大田、大谷です。
6月にアメリカで開かれたコンピュータビジョンの国際会議、CVPR 2019 に参加してきました。
今年も簡単に参加報告をしたいと思います。

CVPR 2019

CVPR は ICCV、ECCV と並ぶコンピュータビジョン分野におけるトップカンファレンスです。AI Labは一昨年、昨年と参加しており、今年で3度目の参加となります。
今年はカリフォルニア州ロングビーチの Long Beach Convention Center にて6月16日〜20日の5日間での開催となりました。15日までは機械学習のトップカンファレンスである ICML 2019 も同会場で開催されており、現地に到着した際にはすでに会場付近が参加者で賑わっていたのが印象的でした。続けて参加された方も多かったのではと思います。その影響もあってか、今年の参加人数は9,227人と前年より2,000人以上増加しています。論文投稿数、採択数も5,160件、1,294件となっており、いずれも過去最高を更新しています。

今年の新しい取り組みとして、本会議でのショートオーラル発表が挙げられます。5分間での研究紹介を3件分行ったあと3件まとめて質疑応答というスタイルとなりました。288件ものオーラル論文を効率良く発表してもらうための工夫でしたが、研究内容の理解が少し難しかったようにも感じました。

併催されている Exhibition では世界各国の大企業や AI スタートアップがこぞってブースを出展。こちらも例年通りの盛況ぶりでしたが、自動運転車両の実車展示が特に目立っており、各社の実用への意気込みの高まりを感じます。

会場周辺はカリフォルニア州最大規模の水族館やアウトレットモールなどが揃う大きな港町です。会議終了後は軽い観光や食事も楽しむことができましたが、アメリカならではの大量で高カロリーな食事には未だに慣れません。

AI Lab からの発表

本会議には大谷による論文 Rethinking the Evaluation of Video Summaries が採択されており、ポスター前では多数の参加者と議論を交わしました。この研究では映像要約手法の評価指標と主要なデータセットを分析しています。より詳しい内容はブログ記事として公開されています。このポスターでは既存の映像要約指標と映像要約手法の一般的なパイプラインに潜在する課題を説明しています。研究者だけでなく映像配信サービスのビジネスサイドの人も議論に参加しており、産業界での関心の高さが伺えました。

本会議論文紹介

注目した論文についていくつか紹介します。

Semantic Image Synthesis With Spatially-Adaptive Normalization

Taesung Park, Ming-Yu Liu, Ting-Chun Wang, Jun-Yan Zhu

プロジェクトサイト
GauGAN

Semantic Map からの画像生成において、Normalization 後のスケーリング係数に Semantic Map から得られる特徴を利用した SPADE という手法を提案しています。画像生成モデル自体への入力は Semantic Map ではなくランダムノイズであり、これを操作することで多彩なスタイルの画像生成を可能としています。GauGAN と名付けられたデモも話題になったため、ご覧になられた方も多いかもしれません。

プロジェクトサイトより “Brief Description of the Method”

論文より Figure 9. 提案モデルによる多様なスタイルの画像生成

Image Generation from Layout

Bo Zhao, Lili Meng, Weidong Yin, Leonid Sigal

Semantic Map から画像を生成する手法はこれまでにも数多く提案されてきていますが、大まかなレイアウトからの画像生成はテキストやシーングラフなども利用した手法が主でした。この論文では Bounding Box のみで物体の大きさと位置を表現するとてもシンプルなレイアウト入力から画像を生成する手法を提案しています。

論文より Figure 1. Image generation from layout

論文より Figure 7. Examples of diverse images generated from same layouts

Homomorphic Latent Space Interpolation for Unpaired Image-To-Image Translation

Ying-Cong Chen, Xiaogang Xu, Zhuotao Tian, Jiaya Jia

画像を特徴ごとにドメイン分けしドメイン間における差異を学習することで画像の変換に用いる Unpaired Image-to-Image 技術は StarGAN や MUNIT などマルチドメイン・マルチモーダルなモデルの提案により、より多彩な振る舞いが可能となってきています。提案手法ではそれらに加え、変換過程の補間についても考慮しています。滑らかで自然な変換アニメーションの生成もできるモデルとなっています。

論文より Figure 2. Illustration of latent space interpolation along different paths

Image Deformation Meta-Networks for One-Shot Learning

Zitian Chen, Yanwei Fu, Yu-Xiong Wang, Lin Ma, Wei Liu, Martial Hebert

今年の本会議では {Zero, One, Few}-shot Learning というワードをよく目にしました。限られた学習データからの学習テクニックの一つにデータの水増しを行う Data-Augmentaiton がありますが、提案モデルはその Data-Augmentation を内包しているようなネットワークとなっており、少量のデータに対して End-to-End な学習を可能としています。

論文より Figure 2. The overall architecture of our image deformation meta-network

Efficient Video Classification using Fewer Frames

Shweta Bhardwaj, Mukundhan Srinivasan, Mitesh M. Khapra

同様に少量データからの学習ですが、こちらは動画分類に対するアプローチです。Distillation の仕組みを利用することで等間隔に間引かれた少数フレームによる学習を可能にし 、リソース消費の激しい動画分類のコスト軽減を図っています。

論文より Figure 1. Architecture of TEACHER-STUDENT network for video classification

GoodNews Everyone! Context driven entity aware captioning for news images

Ali Furkan Biten, Lluis Gomez, Marçal Rusiñol, Dimosthenis Karatzas

画像のキャプション生成の研究です。この手法では入力として画像だけでなく、画像に関連する文書を使って固有名詞などのキーワードを取り入れたキャプションを生成します。広告制作においてはコピー生成などに活用できそうなアプローチです。

論文より Figure 2

Complete the Look: Scene-based Complementary Product Recommendation

Wang-Cheng Kang, Eric Kim, Jure Leskovec, Charles Rosenberg, Julian McAuley

画像全体の雰囲気に合った商品を予測するモデルを提案しています。同様の構造を持ったタスクは広告バナーの制作にもあります。バナー画像の雰囲気に合ったフォントやテクスチャ素材などデザイン要素を提案するシステムなどにも応用できそうです。

論文より Figure 1

Less is More: Learning Highlight Detection from Video Duration

Bo Xiong, Yannis Kalantidis, Deepti Ghadiyaram, Kristen Grauman

映像から重要なシーンを抽出するハイライト検出の研究です。機械学習を用いた映像のハイライト検出では、学習データの収集コストが非常に高いという課題があります。そこでこの研究ではウェブ上の動画の長さを教師信号として活用する方法を提案しています。短い映像はより「ハイライトらしい」シーンで構成されている傾向にある一方で、長い映像はハイライトとしては適していないシーンを多数含んでいることが予想されます。この仮説に基づき、提案手法では短い動画と長い動画からハイライトらしい動画の特徴を学習しています。

論文より Figure 1

まとめ

CVPR は参加者・論文数共に爆発的な増加を続けており、もはや会議全体のトレンドを把握することは困難ですが、個人的には GAN や画像生成に関する研究の発展はやはり興味深く、質の高い研究について生で聴講できる機会はとてもありがたいです。引き続き広告やメディアデータに対するコンピュータビジョン・機械学習技術の応用に向けて今後も研究活動を続けていきます。

]]>
グラフィックスデザインのための機械学習研究動向 https://cyberagent.ai/blog/research/computervision/2167/ Fri, 24 May 2019 10:29:09 +0000 https://cyberagent.ai/research/?p=2167 こんにちは、AI Labの山口です。

以前の記事でもお伝えした通り、AI Labでは広告表現を生成するための技術開発に取り組んでいます。広告表現を直接のターゲットとしてバナー画像や動画を生成するような研究は多くは存在しませんが、それでも最近は深層生成モデルを代表として、広告表現の生成につながりそうな要素技術が見られるようになってきました。

グラフィックスデザインでは一般にベクター形式のデータと解像度の高いラスタ画像を扱います。解像度の高いラスタ画像を生成する試みはこれまでにもいくつか見られてきましたが(Glow、BigGAN、StyleGAN、GauGAN)、これだけではポスターやバナー制作のようなベクター形式の画像編集に用いることができません。幾何変換、ストロークやポリゴンのようなデータ表現、フォントなど、扱うべきデータはピクセル以外にも多く存在します。

そこで、今回の記事ではベクター形式での画像編集や画像生成を念頭に置いた最近の研究事例をいくつか紹介します。

Vectorization

Vector Image Generation by Learning Parametric Layer Decomposition

Othman Sbai, Camille Couprie, Mathieu Aubry
arXiv:1812.05484

figure1

Fig 1 from the paper

与えられた画像を解像度フリーな単色のレイヤー群に分解する手法を提案したもの。座標系からマスクを描く関数のパラメータとそのマスクの色を、入力画像から逐次的に推定しています。全て微分可能なプロセスで記述でき、また座標系の連続値を入力とすることで解像度を問わないレイヤー分解ができます。

かなり実験的な取り組みのようで、実際にはこの手法ではかなりぼやけた画像が生成されるものの、画像のスタイル変換を後処理的に噛ませることで見た目の良い画像に仕上げることができるとのこと。小山らの色分離手法に比べると入力画像の再現性は低そうですが、レイヤーそのものを関数で表現できる点は興味深いです。例えば関数として図形を使ったフィッティング(=完全なベクター化)をかけることも原理的には可能でしょう。

ラスタ画像からレイヤーが一旦分離されてしまえば、例えば色調を変える、といった画像のスタイリング編集は容易にできます。自然画像よりもイラストのような、色分布が偏ったデータで真価を発揮しそうです。画像圧縮手法としての一面もあります。

End-to-End Wireframe Parsing

Yichao Zhou, Haozhi Qi, Yi Ma
arXiv:1905.03246

Fig 1 from the paper

ワイヤーフレームをEnd-to-endで抽出する手法。ワイヤーフレームは線分、交点を抽出し、つなぎ合わせる必要がありますが、この論文では一貫して全てを一つのネットワークで出力するようにモデルを設計しています。モデルはバックボーンCNN、交点のサンプリング、線分のサンプリング、最後に線分の判定をするモジュールをつないでいます。

Semantic Segmentation for Line Drawing Vectorization Using Neural Networks

Byungsoo Kim, Oliver Wang, A. Cengiz Öztireli, Markus Gross
Eurographics 2018
Author website

重なりを考慮してストロークを分割するベクター化の手法。ある点が他の点と同一のパス上に存在するかを判別するPathNetと、ある点がパスの交差上に位置するかを判別するOverlapNetを使い、マルコフ確率場でピクセルのラベリングを行います。これによってパスのインスタンスを分割します。潜在関数としてニューラルネットワークを用いている点がポイントです。一旦パスをそれぞれラベリングができれば、パスのアウトラインを出すことで完全なベクター化ができます。

Learning to Infer Graphics Programs from Hand-Drawn Images

Kevin Ellis, Daniel Ritchie, Armando Solar-Lezama, Joshua B. Tenenbaum
NeurIPS 2018

Figure 1 from the paper

スケッチからこれを生成するプログラムを出力する手法。手法は大きく二つのステップに分かれていて、最初にスケッチから図形要素の抽出、そして図形要素群からプログラムの記述が行われます。スケッチからの図形要素の抽出は畳み込みネットワークにアテンションを組み込んだもので、 circle(x=7, y=12) のような図形プリミティブを認識します。これをプログラム言語の文法に従い最適化問題として定式化し、適切なプログラム記述を探索します。各ステップは認識だけでなく生成もできます。

関連: Yaroslav Ganin, Tejas Kulkarni, Igor Babuschkin, S.M. Ali Eslami, Oriol Vinyals, Synthesizing Programs for Images using Reinforced Adversarial Learning, arXiv:1804.01118

StrokeNet: A Neural Painting Environment

Ningyuan Zheng, Yifan Jiang, Dingjiang Huang
ICLR 2019

Fig 1 from the paper

ストロークを筆の太さ、色、座標・筆圧のシーケンスのタプルとして捉え、ここから画像を生成するMLPと、与えられた画像からストロークを再現するエージェントを強化学習する手法。エージェントは与えられた画像と現在のキャンバスを入力としてVGGベースのCNNを使ってストロークの一点を再帰的にキャンバスに足していきます。描画環境には一般のWebGLレンダリングエンジンを用いていて、微分できない環境でも強化学習を使ってストローク表現を探索できることを示しています。強化学習を用いた描画は最近よく見られるようになり(PaintBot、T Zhou, 2018、Z Huang, 2019、R Nakano, 2019)、今後も目が離せません。

関連: David Ha and Douglas Eck. A neural representation of sketch drawings, arXiv:1704.03477

Image composition

ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing

Chen-Hsuan Lin, Ersin Yumer, Oliver Wang, Eli Shechtman, Simon Lucey
CVPR 2018

ST-GAN

Fig 2 from the paper

Spatial Transformer(M Jaderberg 2015)ではニューラルネットを使って微分可能な画像のワープを実現していました。この仕組みを使い、新しい物体を背景の中に設置するモデルがST-GANです。こちらはアフィン変換のようなワープのパラメータ差分を物体画像と背景画像から逐次的に求め、物体の配置場所を決定します。学習の際により自然な画像になるように敵対的損失関数を含めているため、ST-GANと呼ばれています。逐次的にワープパラメータを推定する理由はおそらく解が一意ではない、大きな幾何変換を一度に推定すると細かい精度が悪い、といった理由があるようです。

よく見る画像生成モデルでは直接ピクセルのパターンを生成していますが、この方法は解像度が固定されるという弱点があります。しかし、ST-GANの利点は解像度に依存しないワープパラメータを求める点にあります。実際、ST-GANの推論は低解像度の画像で行い、求めたワープパラメータを高い解像度の画像に適用するという使い方が想定されています。ベクター画像には非常に相性の良い手法でしょう。

Compositional GAN: Learning Image-Conditional Binary Composition

Samaneh Azadi, Deepak Pathak, Sayna Ebrahimi, Trevor Darrell
arXiv:1807.07560

compositional-gan

Fig 1 from the paper

二枚の画像の関係性を考慮して適切に合成するモデル。二つの物体を置いた時の合成画像の分布が自然画像の分布に近くなるように学習を行います。あらかじめマスキング済みのデータセットに対し、Spatial TransformerまたはRelative Appearance Flow Network(RAFN)と呼ぶencoder-decoderモデルを使い入力画像を相対座標にワープさせたのち、これをcomposition-by-decomposition (CoDe)と呼ぶネットワークに入力して画像を合成します。これは二つの画像を入力して一枚の画像として出力するGANで、合成画像から二つの画像を分離するself consistencyを考慮して学習させています。また、合成画像を入力としてマスクの推定を行うGANも組み合わせて損失関数を構成しています。ペアとなる入力と合成画像がない場合、インペインティングを使って画像を補間したものを使用しています。テーブルと椅子、顔にサングラス、道路に車といったデータで評価実験を行なっています。

Self consistencyが特徴的で多くのGANを組み合わせた手法ですが、ST-GANと同じく解像度に依存しないワープを使っている点、最終的な画像が尤もらしいかどうかを敵対的損失を使って学習させる点など、重要な点では共通するところも見られます。

Fonts

TET-GAN: Text Effects Transfer via Stylization and Destylization

Shuai Yang, Jiaying Liu, Wenjing Wang, Zongming Guo
AAAI 2019

Fig 6 from the paper

フォントのエフェクトを転移するGANの一種。スタイリングと逆方向のでスタイリングを学習します。スタイル変換系でよく見られるモデル構成ですが、フォント効果のデータセットを構築している他、少数のサンプルでも学習できるように一つの画像からのパッチのサンプリングする例も提案しています。

関連: Controllable Artistic Text Style Transfer via Shape-Matching GAN

A Compositional Textual Model for Recognition of Imperfect Word Images

Wei Tang, John Corring, Ying Wu, Gang Hua
arXiv:1811.11239

Fig 1 from the paper

Fig 1 from the paper

テキストのレンダリングは大きく以下のプロセスに分けられます。

  • Skeletonization: 単語を文字列に分割
  • Kerning: 文字間隔を調整
  • Font: 字体を決定
  • Appearance: 色やシャドウなどの効果付け
  • Geometric distortion: 幾何変換

この論文ではそれぞれのステップの逆変換を施すend-to-endなモデルの構築を目指し、各ステップに対応するニューラルネットワークを記述しています。OCRでは単語の認識が最終的な目標になりますが、各ステップを微分可能なレンダリングモジュールで記述することができれば、例えば文字認識以外のパラメータをニューラルネットワークで最適化することも可能になりそうです。

おわりに

ラスタ画像のベクター化、画像合成、フォントに関していくつか論文を見てきました。ニューラルネットワークでend-to-endに扱えるように、微分可能なモジュールを設計する、強化学習で微分不可能なシステムを扱う、ラスタ画像につきものの解像度の問題を回避するデータ構造、といったアイディアが取り入れられていることがわかります。この記事では取り上げませんでしたが三次元グラフィックスでも微分可能なレンダラーが提案されて以降、ライブラリが整備されるなど、コンピュータグラフィックス領域で扱っていたトピックに急速に機械学習が入ってきています。

サイバーエージェントAI Labでは「広告表現のための機械学習」に取り組んでいます。この記事で上げたような研究内容に興味のある方はぜひ学会などで私たちに声をかけてください。

]]>
画像における感情表現の理解に向けて 〜 BAM データセットと活用事例の紹介〜 https://cyberagent.ai/blog/research/computervision/921/ Mon, 26 Nov 2018 06:00:17 +0000 https://cyberagent.ai/research/?p=921 はじめに

AI Lab クリエイティブリサーチチームの大田です。

我々はインターネット広告におけるバナー・動画・テキストなどの所謂クリエイティブの自動生成を目指して研究活動に励んでいるわけですが、今回はバナー広告を構成する背景や物体など重要な要素の大元である素材画像について考えてみたいと思います。

素材画像は写真のみならずイラスト・3DCG などの様々な表現媒体によって表現されています。また、画像内の被写体も人物を始めとして動物や商品などの多種多様な物体が含まれています。デザイナーはこれらの素材画像やテキストデータを広告主の訴求内容に沿うように上手く組合せてバナー広告を制作しています。素材画像に関わる作業としては

  • Behance などのストックフォトサイトからの検索
  • Photoshop などを利用したレタッチ作業

などが挙げられますが、いずれもコストの大きい作業であるため、クリエイティブの自動生成以前に何らかの制作支援としての課題解決の余地が考えられます。

Behanceキャプチャ

このような人工的な非自然画像表現を多く含む画像群を理解し、クリエイティブ制作上の課題解決を目指すために BAM データセットに着目しました。BAM データセットはストックフォトサイト Behance からクローリングされた写真に留まらない様々なメディア画像に対し、クラウドソーシングによって属性付与およびスコアリングがなされているため、うまく活用することで素材画像表現の理解に繋がることが期待できます。さらにこのデータセットには感情情報に関する属性も含まれており、画像に対して人々が抱いた感情についての分析も行うことが可能となっています。

本記事ではこの BAM データセットについての簡単な解説と、レタッチ作業支援として今年の JSAI、CVPR ADS ワークショップにて発表した感情属性スコアを利用した画風変換についての取り組みを紹介したいと思います。

BAM データセット

まずは改めて BAM データセットについて簡単に紹介します。

概要

このデータセットはイラストで描かれた犬の画像やゲームキャラクター画像など、写真に留まらないメディア画像を理解するためのデータセットとして Wilber らによって提案されており、原著論文は昨年の ICCV 2017 にて採択されています。

プロジェクトサイト: https://bam-dataset.org/

彼らは Amazon Mechanical Turk を利用してクラウドソーシングを行っており、クラウドワーカーへのマイクロタスクである HIT(Human Intelligence Task)では、Behance からクローリングした画像について指定した属性が妥当かどうかのラベル(例:content_dog について positive か negative か)を尋ね、その回答を収集しています。このクラウドソーシングによるラベルアノテーションとそれを元に学習した分類器によるスコアリングを複数回繰り返す Human-in-the-Loop 手法により、最終的に画像に対し Media、Content、Emotion の3軸における全20種の属性についてのスコアデータを付与しています。

プロジェクトサイトよりクラウドソーシング Human-in-the-Loop 図

簡単な画像検索も上記プロジェクトサイトから試すことができます。「Media: 3D Graphics, Content: Dog, Emotion: Happy」という条件で検索してみると以下に示すキャプチャのように 3D CG で描かれた笑顔で幸せそうな犬の画像が取得できます。

ここで「Emoiton: Scary」に変更してみましょう。先程とはうって変わってダークな雰囲気で凶暴そうな犬(犬じゃなさそうな画像もありますが・・・)の画像が現れてきました。

このように、画像検索はもちろん新画像に対するラベル付けや非自然物体の検出など様々な応用が考えられるデータセットとなっています。サイト上ではデータセット内の画像の t-SNE Embedding も確認できます。単純に似通った画像同士を眺めているだけでも楽しいですね。

データセット SQLite

BAM データセットのキモとなるメタデータは SQLite ファイルで提供されています。データベースの主要テーブルと簡単な説明・スキーマ情報は下記になります。

modules

画像 URL、ライセンスなど、画像自体に関する基礎情報が含まれています。

CREATE TABLE modules (
        mid int primary key,
        project_id int,
        src text
    , mature_content, license);

scores

画像に対する全20種の属性スコアが含まれています。

CREATE TABLE scores (
    mid int,
    content_bicycle real, content_cat real,      content_tree real,
    emotion_scary real,   media_oilpaint real,   content_bird real,
    content_dog real,     emotion_gloomy real,   media_3d_graphics real,
    media_pen_ink real,   content_building real, content_flower real,
    emotion_happy real,   media_comic real,      media_vectorart real,
    content_cars real,    content_people real,   emotion_peaceful real,
    media_graphite real,  media_watercolor real
);

crowd_labels

画像に対する属性 attribute とそのラベル label が付与されており、その画像がどんな画像なのか、ということを手っ取り早く把握できます。ラベルは positive, negative, unsure のいずれかをとり、 その値については下記のように定義されています。

  • positive: HIT にて2名(もしくは2/3)以上のクラウドワーカーによって特定の属性について positive 評価を得た
  • negative: HIT にて2名(もしくは2/3)以上のクラウドワーカーによって特定の属性について negative 評価を得た
  • unsure: それ以外

CREATE TABLE crowd_labels (
    mid int,
    attribute text,
    label text,
    primary key (mid, attribute)
);

画像の閲覧

データベースファイルダウンロード後は SQLite コマンドを介してクエリを発行することで画像ダウンロード用の URL を取得することができます。試しに、画像 URL のカラムである src を参照するようなクエリを用いて HTML ファイルにタグとして出力するようなコマンドを実行してみましょう。

sqlite3 20170509-bam-1m-18UThu3ICM.sqlite <<EOF > top_watercolor.html
    select "<img src=""" || src || """ height=200>"
    from modules, scores where modules.mid = scores.mid
    order by media_watercolor desc limit 0,100;
EOF

上記コマンドにより出力された HTML ファイルを開くと下記のように水彩画風の画像が表示されました。属性スコアでソートした上位の画像がその属性が持つ画風特徴をよく表現していることが伺えると思います。

top_watercolor.html の一部

次期データセットについてのアノテーション

ちなみにデータセットの実利用に関してはプロジェクトサイトからの利用申請後、新データセットへ向けてのアノテーションに協力する必要があります。協力した画像枚数によって徐々にデータセットがロック解除されていくというゲーミフィケーションがうまく利用されているように見受けられます。

次期データセットへ向けたアノテーション協力画面

感情スコアに基づく画像表現

上述した通り、BAM データセットには人々が画像に対して抱いた感情に関する属性も有しています。感情スコアが異なれば、画像にはどのような違いが現れてくるのでしょうか?顔写真などのポートレイト画像においては表情がその類だとは考えられますが、BAM データセット内のメディア画像全体について気になったため、確かめてみることにしました。

感情ドメインごとの画像サンプルと属性・ラベルの分布

上のプロジェクトサイトのキャプチャにもありますが、BAM データセットの感情属性には emotion_happy, emotion_scary, emotion_gloomy, emotion_peaceful の4種が定義されています。それぞれにおけるスコア上位1,000件の画像群を Happy ドメイン、Scary ドメイン、Gloomy ドメイン、Peaceful ドメインとします。

まずはこれら4ドメインの画像についてそれぞれのサンプル画像と crowd_labels テーブルによる属性・ラベルの分布を出してみました。それぞれにおける表現媒体やコンテンツの特徴に対する所感も簡単に記してみます。

Happy

笑顔の人物、草花、かわいい動物が見受けられ、全体的に明るい雰囲気が感じられます。

Scary

凶暴そうなキャラクターが赤・黒色のダークな色合いで表現されているのがわかります。

Peaceful

草原、夕日などの落ち着いた風景写真が多く含まれています。

Gloomy

廃墟、樹海の写真やイラストがグレイスケールな色合いで表現されています。

Image-to-Image による感情ドメイン間での Style Transfer

上記の各感情ドメインの画像サンプルにおいては、画像の見た目及び crowd_labels テーブルにおける属性の分布に違いがあることが伺えます。ちょっとした試みとして最近流行りの Deep Learning を利用した Style Transfer を感情ドメイン間で行ったらどういう効果が得られるのかを見てみようと思います。もし上手く画風変換が行われるのであればクリエイティブ素材編集支援として特定の感情に沿ったレタッチガイドラインを示すことも出来そうです。

Happy ⇔ Scary 間で CycleGAN

今回はこれまた ICCV 2017 採択論文である CycleGAN を利用してみることにしました。CycleGAN は Zhu らによって提案された、2ドメイン間における画像の差異を互いに交換するように学習する Unsupervised な Image-to-Image 技術です。わざわざペアデータを準備する必要がないため、ドメインごとに画像を揃えるだけで学習を行えるという手軽さがあります。今回のような感情ドメインごとに別れている画像データの Style Transfer に役立てることが出来ないかと考えました。

プロジェクトサイト: https://junyanz.github.io/CycleGAN/

CycleGAN プロジェクトページより

とりあえずですが、Happy ドメインと Scary ドメインの両極端とも言える感情ドメイン間で画風変換を試してみます。

各設定は著者の PyTorch 実装をそのまま利用させていただきました。パラメータも下記のデフォルト設定です。

  • 画像サイズ: 286×286
  • 最適化: Adam
  • 学習率: 0.0002 〜 0
  • バッチサイズ: 1

200エポックの学習を NVIDIA GeForce GTX 1080 Ti 上で実施し、予めテスト用に用意しておいた emotion_happy と emotion_scay の属性における上位1,000〜1,200の画像を学習された変換器に通してみました。さて、どんな効果が現れてくるのでしょうか。

結果画像

上記実験による出力結果画像のサンプルがこちらになります。

いかがでしょうか?見た感じ、2つの変換には下記のような効果が現れたと考えられます。

  • Happy -> Scary
    • 明度が下がる
    • エッジが強調される
    • 赤黒い彩色がなされる
    • 笑顔の女性がまるでゾンビのように
    • 風景画が地獄絵図に
    • 可愛いワンちゃんが夜の野犬のように
  • Scary -> Happy
    • 明度が上がる
    • 草花を生やすかのようにカラフルな彩色がなされる
    • エッジをぼかす
    • 顔・肌の血色が良くなる
    • 夜道には光が差し込む

直感的ですが割と面白い結果が出てきたかなと思います。ややこじつけ気味かもしれませんが、単純に感情情報での自動レタッチを行ったり、そのガイドラインを示すことは出来そうです。

まとめ

BAM データセットより抽出した、人々が画像に対して抱いた感情データを元に CycleGAN を用いて学習することで画風変換を行ってみましたが、Happy と Scary という2感情間における画像差異を上手く認識することができたかと思われます。バナー広告のみならず何らかのクリエイティブの素材画像にはレタッチ作業などの編集が施されることがほとんどですが、感情をもとにレタッチするという新しい編集法の提案も出来ました。

今後は Happy, Scary 以外の感情や CycleGAN 以外の手法で画風変換を行ったり、出力画像に対する定量的な評価にも取り組みつつ、引き続きコンピュータビジョンの技術でクリエイティブ自動生成と制作支援に対してアプローチしていきたいと思います。

参考文献

  • Wilber, M. J., Fang, C., Jin, H., Hertzmann, A., Collomosse, J., & Belongie, S. (2017). BAM! The Behance Artistic Media Dataset for Recognition Beyond Photography.
  • Zhu, J.-Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks.
]]>
CVPR 2018 における参加報告と AI Lab からの発表について https://cyberagent.ai/blog/research/10249/ Mon, 30 Jul 2018 10:18:12 +0000 https://cyberagent.ai/research/?p=311 はじめまして、AI Lab クリエイティブリサーチチームの大田です。 6月にコンピュータビジョンの国際会議 CVPR 2018 にチームで参加してきました。
この記事では今年の CVPR についての簡単な紹介と我々の発表内容についてご報告したいと思います。

会場

CVPR 2018

CVPR はコンピュータビジョン分野において ICCV, ECCV と肩を並べるトップカンファレンスです。 昨年はハワイで開催されました。

開催地はアメリカ合衆国のユタ州ソルトレークシティ、会場はソルトパレスコンベンション・センターです。 ソルトレークシティはモルモン教徒が拓いた町として知られており、市街地には立派な聖堂が存在しています。 2002年の冬季オリンピックの開催地としても有名ですね。
会期中の現地の天気は概ね晴れており屋外の強い日差しと会場の冷房のギャップに悩まされつつも毎日ホテルと会場を往復していました。

ソルトレークシティ市街地

今年は参加者数が約6,000人、投稿論文数3,000件以上と昨年同様過去最高を更新しています。
論文についてはさらにその中から979件が採択され、オーラル・スポットライト・ポスターのそれぞれの枠での発表となりました。

Best Paper Award は Taskonomy: Disentangling Task Transfer Learning [Zamir et al.] です。
コンピュータビジョンにおけるタスク間の転移学習の行いやすさについて分析し、グラフとして可視化。 関係の強いタスク同士は転移学習においてより少量の学習データで高い性能を出すことができ、学習の効率アップが期待できるとしています。

会場内はとても広く、目当ての発表を聴きに行くための部屋移動だけでかなりの時間がかかります。
特に巨大な展示ホールでは本会議ポスター発表や企業からの Expo ブースの出展が数多くされたのですが、それでもスペースが余ったのかソファやデスクなどの休憩所や卓球台まで。 議論の合間に軽く汗を流す参加者の姿が見受けられました。

会場内に設置された卓球台

さらに今年は会期とワールドカップの開催期間が重なっており、リアルタイム上映用の大スクリーンも設置。 試合中は大勢の参加者がスクリーンに釘付けになり、決定的瞬間の際には大歓声が会場内に響き渡ります。

ワールドカップに夢中な参加者

そして本会議1日目の夜には会場からほど近い広場にて Social Event が開催。 料理やお酒を頂きつつパフォーマンスショーやバンド演奏がなされ、夜が更けるに連れてステージ前は曲に合わせて踊り出す方々で湧き上がりました。

SocialEvent

研究紹介

CVPR 本会議にて発表された研究の中から我々が注目した発表を数件程度ピックアップしました。 簡単にコメントを添えて紹介いたします。

StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation

Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, Jaegul Choo

arXiv


論文より図1: StarGAN によるマルチドメインな Image-to-Image の結果例、入力画像に対し単一の Generator のみで複数のドメインへの画風転送に対応している

CycleGAN においての制約であった画像ドメインのペア制約を取り除きユニバーサルな Generator を配置したモデルを提案。 学習に ConditionalGAN の枠組みを取り入れることで、複数の Generator を学習することなくマルチドメインな Image-to-Image を実現しています。

CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

Yang Chen, Yu-Kun Lai, Yong-Jin Liu

CVF Open Access

論文より図3: CartoonGAN によるアニメ調スタイル転送結果、多様なアニメスタイルに忠実な形で元の写真をアニメ調に変換できる

写真をアニメ調に変換する GAN の提案ですが、これまでの画風変換と異なるのはシンプルなテクスチャやくっきりとしたエッジなどアニメ調の画像が持つ特性をうまく再現するように損失関数を工夫していることが挙げられます。 実験においては「新海誠スタイル」や「宮崎駿スタイル」といった日本のアニメ映画作品に見られるような画風変換を行い結果画像を示しています。

ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing

Chen-Hsuan Lin, Ersin Yumer, Oliver Wang, Eli Shechtman, Simon Lucey

プロジェクトページ


論文より図11(a): ST-GAN による顔写真とメガネの合成結果の生成過程、左の初期状態から反復的に推論し右のフィット状態へ至る

写真の中の顔に対しメガネを掛けさせるような画像合成を考えたとき、人間の眼の部分にフィットしていないと不自然なことは明らかです。 この論文では合成するオブジェクトの変形パラメータ+マスク画像を作成するモデルを学習することで、オブジェクトの変形を伴う画像の合成を行う GAN を提案しています。

Natural and Effective Obfuscation by Head Inpainting

Qianru Sun, Liqian Ma, Seong Joon Oh, Luc Van Gool, Bernt Schiele, Mario Fritz

arXiv


論文より図2: オリジナル顔画像あるいは黒塗り顔画像からランドマークを得る Stage-1 とそのランドマークと黒塗り画像を利用して擬似頭部を生成する Stage-2 というネットワークモデルを構築

ソーシャルサービスの拡がりに伴い、画像や動画におけるプライバシー保護がますます困難になっています。
画像内における顔部分を黒で塗りつぶすことは簡単ですが、隠蔽編集が施されていることがひと目で分かります。
この提案では代わりに写実的な擬似頭部を生成することにより、写真における自然な顔の挿げ替えを行っています。

Semi-parametric Image Synthesis

Xiaojuan Qi, Qifeng Chen, Jiaya Jia, Vladlen Koltun

プロジェクトページ



論文より図2,3: 最初に Semantic Layout と External Memory から Canvas を生成し、次のフェーズでさらに Semantic Layout と Canvas を利用して最終アウトプットを出力する2フェーズ構成

External memory と呼ばれるセグメント化済みの画像セットを合成することで、与えられた Semantic Layout から高精細な画像を生成する SIMS という手法を提案しています。
当日の口頭発表においては直前にも pix2pixHD という pix2pix の高精細化についての発表もなされましたが、こちらはよりリアルな結果を叩き出せていることを pix2pixHD と比較して主張しており会場が沸いていました。

AI Lab からの発表

それでは CVPR 2018 における我々の発表内容について紹介します。 今年の CVPR は本会議が3日間、チュートリアル・ワークショップが2日間ありました。 先日 PR ブログでも紹介されましたが、我々からは本会議にて1件の発表を行い、さらに2つのワークショップに参加しています。

本会議

本会議においては山口による以下の論文が採択されており、共著者と共にポスター発表を行いました。

Feedback-prop: Convolutional Neural Network Inference under Partial Evidence [Wang et al.]

複数のタスクを同時に推論するような DNN モデルにおいて部分的な正解ラベルが与えられた際に残りの未知ラベルの推定精度を向上させる汎用的な手法の提案を行っています。当日のポスターボード前には大勢の人だかりができ、盛んな議論が行われました。

山口本会議

Towards Automatic Understanding of Visual Advertisements ワークショップ

参加ワークショップ1つ目は広告画像理解のためのワークショップ。 与えられた広告画像に対し正しい説明文を選択するコンペが開催されました。

Towards Automatic Understanding of Visual Advertisements (ADS)

広告画像の自動生成・制作支援について研究している我々クリエイティブリサーチチームとしてはぜひ参加したいということで話が決まり、山口・大谷・岩崎の3名がコンペに向けてスコアの向上に努めてまいりました。
そして何と1位を獲得、大谷がワークショップ冒頭にて “Unreasonable Effectiveness of OCR in Visual Advertisement Understanding” というタイトルで Winner Talk を行いました。

大谷winnertalk

コンペ内容や技術的詳細については下記のブログ記事をご参照ください。

[CVPR Workshop] Automatic Understanding of Visual Advertisementsコンペティション解説

また、このワークショップでは上記コンペに加えて広告画像にまつわるアブストラクト論文の募集も行われました。 こちらについては私大田より “Emotional Style Transfer for Stock Assets” というタイトルの論文を投稿し発表。 BAM データセット [Wilber 17] の感情スコア値に着目し、人々の画像に対して抱いた感情に基づく画像変換手法を CycleGAN [Zhu 17] を利用して提案しています。

大田poster

Language and Vision ワークショップ

参加ワークショップ2つ目は言語と画像についてのワークショップ。こちらでは大谷が大阪大学にて学生時代より進めていた研究について “Visually Grounded Paraphrase Extraction via Phrase Grounding” というタイトルで発表しました。 画像において2つのフレーズが同じオブジェクトに関する言い換え表現かどうかを判定する提案を行っています。

大谷poster

おわりに

やはり今年も DeepLearning 祭りなのはもはや当然のことながら、昨年と比べるとグラフ情報に着目した提案が目立っていたように思います。個人的には GAN に関する発表が一度に沢山聞けたのも良い経験となりました。ちなみにオーラル・スポットライト発表の録画はこちらの YouTube チャンネルにて随時アップされておりますので気になった方は発表を聴いてみてはいかがでしょうか。

来年の CVPR 2019 はアメリカ合衆国ロサンゼルス・ロングビーチにて開催されます。機械学習のトップカンファレンス ICML と開催地・日程が重複しているということもあり、参加人数もさらに多くなることが予想されます。

私が CVPR に参加するのは昨年に続き2度目となります。 昨年は聴講だけでしたが、今回はワークショップとはいえ発表も兼ねました。 現地での自身の研究に関するフィードバックはやはり新鮮でより様々な意見が得られますし、今後も何らかの投稿をもって国際会議に参加していければと思っています。 引き続き我々 AI Lab では広告とコンピュータビジョンに関する研究を進め、権威ある国際会議への論文投稿も積極的に狙っていきます。

全員

]]>
広告クリエイティブ制作と機械学習 https://cyberagent.ai/blog/research/10248/ Thu, 26 Jul 2018 15:00:15 +0000 https://cyberagent.ai/research/?p=299 広告において、バナー画像や映像、コピー文言などの制作物はクリエイティブと呼ばれます。近年のデジタル広告市場の拡大に伴い、品質の高いクリエイティブをより効率的に作ることが広告制作側の課題となってきました。広告クリエイティブは広告主、プランナー、デザイナーなど複数の人が関わって作り上げられます。サイバーエージェントAI Labではクリエイティブ制作をスケールアップさせるために、機械学習を用いて制作を支援したり、自動で生成するような技術を研究開発しています。

機械学習データとして見た広告クリエイティブの特徴

例としてバナー広告を考えてみましょう。バナーは画像や動画として捉えられることがありますが、自然な写真などと比較すると、写真、イラスト、タイポグラフィなどの視覚要素を空間的・時間的に複雑に配置したプレゼンテーションフォーマットであると言えます。(図1)昨今の画像認識や自然言語処理の技術で使われるデータ形式とは異なり、素材選択、レイアウト構成、といった制作・編集工程そのものがデータとなっています。

図1:バナーのレイアウト例

クリエイティブ編集データはAdobe PhotoshopやIllustratorといったプロフェッショナル向けツール用の専用データ形式で保存されることが多く、一般画像のようにWebに大量に存在するわけではありません。そのため、大量のデータを必要とするような機械学習モデルを学習することは容易ではありません。また、制作プロセスが複雑なため機械学習で解ける問題設定を定義するところも工夫が必要となります。こうした理由から、機械学習を使った制作自動化に関する学術研究はあまり多くみられてきませんでした。

最近では敵対的生成ネットワーク(GAN)をはじめとした生成モデルを使って画像の生成やスタイル変換を自動化する手法が知られるようになってきましたが、この記事を執筆している2018年の段階では、入力を広告訴求素材として実用レベルの高品質なバナーを出力する汎用的な生成手法は知られていません。出力となるバナーに輪郭がぼやけるなどの不審な箇所が少しでもあってはいけないという厳しい要求に加え、バナー制作では編集データというベクトル形式のグラフィックスデータを取り扱う必要があることが、理由に挙げられます。

取り組むべき課題

AI Labではクリエイティブ制作を対象とした機械学習手法の開発に向け、社内の広告代理店業務で制作される編集データの基盤(図2)を整備するとともに次のような課題に取り組んでいます。

図2:バナー画像の大規模データ基盤、大量の編集データを再利用可能な形で収集

データ分析基盤整備

  • クリエイティブ編集データの解析ツール開発(psd-tools2)
  • 編集データの統計分析と検索基盤開発

広告視聴分析

制作編集支援

  • ストック素材画像のスタイル編集
  • バナーレイアウトの自動配置
  • レイアウトデータへの自動画像描画
  • 検索連動型広告のタイトル記述の自動生成

広告配信の最適化

  • クリエイティブのクリック予測
  • 広告配信ロジックの最適化

最後に

広告クリエイティブを対象とした機械学習研究はまだまだ発展途上にあると言えます。AI Labでは研究を進めるとともに、得られた成果を論文やオープンソースソフトウェアとして世の中に公開していきます。(論文一覧はこちら)将来的にクリエイティブ分野に機械学習的な知見が蓄積することを楽しみにしています。

]]>
[CVPR Workshop] Automatic Understanding of Visual Advertisementsコンペティション解説 https://cyberagent.ai/blog/research/10243/ Tue, 03 Jul 2018 09:25:42 +0000 https://cyberagent.ai/research/?p=16 6月にアメリカ、ソルトレイクシティでコンピュータービジョンの主要な国際会議であるCVPRに参加してきました.3日間の本会議では6,000人を超える参加者が集まり、最新の成果について900件以上の研究発表がありました.CVPRでは本会議に加え、多数のワークショップも開催されています.今回はCVPR併設ワークショップのTowards Automatic Understanding of Visual Advertisements (ADS)に参加しました.広告画像の研究に関するワークショップで、広告画像の意味内容理解や広告製作支援技術に関する研究発表や講演があり、コンピュータビジョンに限らず広範な分野の研究者が集まり、議論を交わしました.サイバーエージェントAI Labからはポスター発表一件のほか、コンペティションで1位を獲得し、winner talkでの登壇がありました(発表資料).本記事ではコンペと開発した手法の技術詳細について解説します.

 

Automatic Understanding of Visual Advertisementsタスク概要

今回のコンペの課題は与えられた広告画像に対して、正しい説明文を選択するmultiple choice問題です.15個の説明文候補があり、そのうち3個だけが正しい文です.各画像について1つ説明文を選び、正答率で評価します.

問題例.正解説明文は緑で強調しています.

データセットでは以下のような画像が提供されています.

基本的にデザイナーが作成した画像です.イラストなども多数含まれています.また視覚的な比喩を使ってメッセージを表現している広告も多く、画像からの意味内容理解としては大変難しいデータセットです.

OCRを用いた広告画像説明文の関連度推定

アイディア

今回私たちのチームは画像に加え、文字認識技術(OCR)を使ってこの問題に挑戦しました.広告画像はテキストを含むことが多く、さらにテキストには重要な情報が明示的に記述されています.例えば、ブランド名や商品の具体的なアピールポイントなどはこのタスクを解く上で強力なヒントになります.

 

モデル概要

ここからは具体的に開発したモデルについて説明します.このモデルでは入力広告画像と説明文の関連度を推定します.関連度に基づき15個の説明文を順位付けし、最も関連度が高かったものを回答とします.このモデルは主に2つのコンポーネントで構成されています.1つ目は説明文とOCRで検出した単語の関連度を推定するtext2ocrモジュールです.ニューラルネットワークを用いて説明文とOCRで検出した単語群をそれぞれ特徴ベクトルに変換し、その距離を計算します.距離が近いほど関連度が高いとみなします.

 

OCRで検出した単語の中には重要でないものも多数含まれています.そこで説明文中の単語とOCRで検出した単語の意味の近さを計算し、重要そうな単語だけを反映した特徴量を抽出します.

 

 

具体的には図のように各単語をword2vecを用いたベクトル表現にします.次に説明文とOCRで検出した単語ベクトルの内積を計算し、OCRで検出した単語ごとに和をとります.最後にsoftmaxをとり単語ごとの重みとします.このとき単語のベクトル表現の重み付き和をOCR結果の特徴ベクトルとしています.このOCR結果に対する特徴抽出は単純なモデルですが、今回のデータセットでは広告画像のテキストと同じ語を使った説明文が多いためこれでもそれなりに機能します.

 

text2imgモジュールでは説明文と広告画像の視覚的な特徴から関連度を推定します.説明文はtext2ocrモジュールと同様CNNで特徴ベクトルに変換します.画像特徴抽出にはFaster RCNNを使います.Faster RCNNで複数の画像領域から特徴ベクトルを抽出し、説明文を使って領域ごとのattentionを計算しています.今回はattentionを使った画像領域の重み付き和を広告画像の視覚的な特徴としています.

 

前処理

このデータセットの説明文はactionとreasonで構成されています.actionは広告を見た人が「何をすべきか」、reasonは「なぜそうすべきか」を説明する文です.例えば「I should buy Old Navy jeans Because they make you feel like a Rock star」では、「I should buy Old Navy jeans」がaction、「they make you feel like a Rock star」がreasonです.actionとreasonは広告画像の異なる側面に着目しています.actionは広告に表示されている商品に関連する記述が多くなります.reasonなら広告の雰囲気や比喩表現を解釈したより高度な意味を記述しています.そこで、今回は説明文をこのactionとreasonに分割して別々のモデルを学習します.さらに入力文が短くなることで学習が容易になることが期待できます.

 

結果

いくつか推定結果を載せます.広告画像の右に選択された説明文とOCRで検出された単語を表示しています.また各単語の重みは色で可視化しています.青は低い値を、赤は高い値を表しています.

国際環境NGO Greenpeaceの地球温暖化に関する啓発広告です.正しい説明文が選ばれています.画像右上のテキストのうち「greenpeace」、「miss」が強調されているのが確認できます.

ビールの広告.ビールに関する単語が相対的に強調されているのがわかります.

 

考察

この広告画像データセットでは、画像に含まれるテキストが説明文の選択において強力なヒントとなっています.そこでOCRの性能が最終的な正答率にどれほど影響を与えるかを調べてみました.コンペではGoogle Cloud Vision OCRを使用しましたが、ここでは比較のためTesseract OCRを使い再度モデルを学習しました.

同じ広告画像に対してTesseract OCRとGoogle Cloud Vision OCRを適用した結果です.Google Cloud Vision OCRの方がより多くの単語を正しく認識できています.

 

  Google Cloud Vision Tesseract
Precition@1 0.85 0.54

上の表はGoogle Cloud Vision OCRとTesseract OCRを使った正答率の比較です.ただしvalidation setでの評価です.これまでの結果からtest setでの評価と大きな差は無いと考えられます.Tesseract OCRを使った場合、正答率が大幅に下がっており、最終的な正答率はOCRの性能に強く依存していることがわかります.

 

  OCR2text (OCRのみ) OCR2text + img2text (full model)
Precision@1 0.83 0.85

またこのタスクにおけるOCRと画像特徴の影響を調査しました.ocr2textのみを用いた場合の正答率は0.83、画像特徴も取り入れた場合は0.85となり、わずかに改善されていますが、このタスクにおいて画像特徴はあまり有効ではないようです.OCRのみを用いた場合でも正答率は8割を上回っており、この問題の多くは画像中のテキストを読み取ることで解けるものになっているということがわかります.

 

まとめ

今回CVPR workshopの広告画像理解のコンペに参加し、OCRを用いた手法で正答率1位を獲得することができました.広告画像理解は、視覚的なメタファーの解釈や、画像から想起される感情の推定など、コンピュータビジョンの問題として面白いサブトピックを含んでいます.しかし、今回のコンペでは広告画像のテキストを読むことで、正解説明文を当てることができるという結果になりました.この結果から、タスク及びデータセットのデザインと本来の研究目的との隔たりが明確になったように思います.現在のデータセットでは画像中のテキストから得られる情報が強すぎるように思います.これに対しては、テキストを除去するするなどの処理で画像理解の側面を強調することができるかもしれません.以上、簡単にですが今回のコンペで開発した手法と結果を説明しました.実装をGitHubで公開しているので、詳細についてはそちらをご参照ください.

]]>