返回列表

2nd Place Solution

650. Drawing with LLMs | drawing-with-llms

开始: 2025-02-25 结束: 2025-05-27 AIGC与多模态 AI大模型赛
第二名解决方案

第二名解决方案

作者: guo dashuai (guoooooooss)
发布日期: 2025-05-28
团队成员: Yurnero, Arseny Poyda, guo dashuai, esprit (takuji), Brian William Zhao

感谢 Kaggle 举办如此出色的比赛,并为每个人提供了一个伟大的平台。我还要感谢我的两位队友:@takuji,他们完成了大量令人难以置信的工作,再次感谢!

最初,像大多数其他人一样,我们使用 Stable Diffusion 生成图像并将其转换为 SVG。当时,@takuji 的得分更高,我们一直在他的基础上工作。然而,一周后,我们仍处于同一水平,迫使我们转向其他方法。

我开始进行一些实验。想法非常简单:在第三个版本中,VQA 分数的权重是美学分数的两倍,所以我们肯定需要关注 VQA。获得高 VQA 分数的唯一方法是通过 OCR。OCR 单词计数的惩罚是在增强之前应用的,而 VQA 分数是在增强之后计算的。所以,如果我们能让一些文本在增强前不可见但在增强后可见,整个问题就解决了。所以我进行了两个小时的实验并发现:如果文本被精心设计的虚线掩码模板覆盖,并且一些文本未被覆盖,那么只有未被覆盖的文本会被识别。虽然这种方法当时还很脆弱,但它为我们打开了一扇通往新世界的大门。
实验发现示意图

之后,我们仔细设计了字母、模板及其排列。字母和模板由 @takuji 创建,他的代码效率很高——仅用 4,000 个字母,他就插入了大量内容,这给了我们显著的优势。我负责排列代码,主要旨在尽可能将每个单词保持在单列内,避免将它们分成两列。完成此工作后,我们达到了 0.652 的分数。之后的所有提交都仅专注于提高美学分数。

我们发现,放置在掩码区域外的字母组合对美学分数有显著影响。他使用 A100 遍历所有可能的字母和数字组合,选择在 15 个提示中得分最高的组合。最后,他找到了 "Zoe"。

之后,我们还尝试了各种改进(@takuji 完成了大部分工作),例如添加心形符号、调整位置、加倍较短的提示以及随机插入单词以选择美学分数最高的单词。

我原本想使用 DiffVG 来尝试提高分数,但我所有的实验都失败了。它在任务 2 中效果很好,但这些增强完全是不可微分的,我不知道如何处理它们。结果,我最后不得不求助于启发式算法。详情请参考我们的代码。

在最后关头,当我们几乎被第三名团队超越时,@takuji 挺身而出,重写了文本格式,使我们最终获得了第二名。我们最终获得的 SVG:
最终 SVG 示例 1 最终 SVG 示例 2

同比赛其他方案