▪ SD2で生成された画像を基に、生成に使用されたプロンプト (の埋め込みベクトル)を推定するタスク ▪ Image2textでGTpromptを推定→Sentence Transformerで埋め込んで も良いし、画像から直接Sentence Transformer埋め込みを推定してもOK ▪ コサイン類似度で評価 コンペティション概要: タスク an astronaut standing on a engaging white rose, in the midst of by ivory cherry blossoms Input GT prompt Prediction (384d vector) GT Target (384d vector) Cosine similarity Sentence Transformer Model 引用: Kaggle提供データ
▪ 運営から与えられるデータは7件のみ ▪ LB: 16,000件(Pub:Pri=20:80)で評価(Code competition) ▪ 解像度は一律(768x768→512x512にresize) ▪ 画像生成スクリプトは共有されているため、プロンプトさえあれば 無限に訓練データを生成可能 コンペティション概要: データ an astronaut standing on a engaging white rose, in the midst of by ivory cherry blossoms Kaggle employee Phil at a donut shop ordering all the best donuts, with a speech bubble that proclai... portrait painting of a shimmering greek hero, next to a loud frill- necked lizard a thundering retro robot crane inks on parchment with a droopy french bulldog ultrasaurus holding a black bean taco in the woods, near an identical cheneosaurus ramen carved out of fractal rose ebony, in the style of hudson river school hyper realistic photo of very friendly and dystopian crater 引用: Kaggle提供データ
プロンプト例 monsters playing board games, oil painting by justin gerard, deviantart, pixar, bright colors a void beast with shadowy tendrils and piercing red eyes creeping through a white background, grunge, artstation, high quality, hyper detailed still of emma watson as scarlett witch, cushart, krenz 画像例 課題 解像度が運営提供と 大きく異なる 画像が壊れている 画像とプロンプトが 一致していない ▪ SD Discordサーバから収集したデータセット ▪ 収集期間: 2022/08/07 - 2022/08/21(SD1系と考えられる) ▪ 180万ユニークプロンプト・1400万画像 ▪ 解像度・品質が様々で、偏りも大きいためフィルタリングは必須 主要なデータセット: DiffusionDB 引用: DiffusionDB
▪ CLIP Interrogatorベースの手法で画像プロンプトを生成 1. BLIP(image captioning)でキャプションを生成 2. CLIPで画像 ⇔ 事前に準備したサブプロンプトの類似度を計算し、 各カテゴリで類似度が高いものを 1. に結合 ベースライン by @leonidkulyk(LB: 0.45836) BLIP CLIP a man in an astronaut suit waliking down a path by A. B. Jackson by Van Gogh by Pablo Picasso … a man in an astronaut suit waliking down a path, by A. B. Jackson, portrait portrait anime 4k … artist.txt flavor.txt 引用: Kaggle提供データ
OID1,2,4,5 ① “a photo of” に続けてキャプション生成(Aとする) ② "a photo of" + A に続けてキャプション生成(Bとする) ③ A + B をキャプションとする OID3 ① chain=1で生成した短いキャプションをSentenceTransformerでベクトル化 ② Spherical KMeansで1000クラスタへ分割 ③ 2クラスタの組み合わせからランダムに1件ずつキャプションを選択、コンマで結合 ▪ データソース ▪ DiffusionDB、COCOCaptions ▪ 180万 + 50万 プロンプトに対してSD2で画像生成 ▪ Open Images Dataset V3(OID) ▪ 900万画像のうち最初の500万画像に対してBLIP2でキャプション化 ▪ 複雑なキャプションを得るため、以下を実行 2nd place (KaizaburoChubachi): データセット 2nd place (@zaburo)
▪ データソース ▪ ChatGPT (gpt-3.5-turbo) ▪ 公開ノートブックのアイデアを活用 ▪ 生成物を多様化するため、プロンプトに生成物をランダムで追加 ▪ 100万プロンプト生成 → 100万画像をSD2で生成 2nd place (KaizaburoChubachi): データセット Describe a fairly random scene with multiple objects by one short sentence with some modifiers in one line. Here are some examples of such texts: hyper realistic photo of very friendly and dystopian crater ramen carved out of fractal rose ebony, in the style of hudson river school ultrasaurus holding a black bean taco in the woods, near an identical cheneosaurus a thundering retro robot crane inks on parchment with a droopy french bulldog portrait painting of a shimmering greek hero, next to a loud frill-necked lizard xxxx… yyyy… zzzz… 導入部 運営提供サンプル から4件ランダム に選択 生成済みサンプル から3件ランダム に選択
▪ 4種のモデルのアンサンブル ▪ テキスト候補に対する検索 ▪ ① CLIP bigG(@motono0223と同様のアプローチ) ▪ ② CLIP Interrogator(@leonidkulykと同様のアプローチ) ▪ ③ CoCa(@motono0223と同様のアプローチ) ▪ ④ ViT Encoder(@shoheiazumaと同様のアプローチ) 4th place (Gerwyn): モデル 4th place (@gerwynng)