又到了一年一度的学校 school picture 时节, 在北美这里有孩子的朋友可能知道, 一般这个时间就是家长得出(tu)钱(xie)的时候了。一般的 school picture 的要价是这样的:
http://thyrsi.com/t6/394/1540328645x-1566684341.jpg
这往往是便宜的,而且一般你家孩子不会只照一张俩张,有时候还会有和其他同学的合照和班级集体照。
随口问了孩子妈,“我们今年买几张”。“全要吧”, 孩子妈头也不回的说。
我简单一算,哎呀妈呀,这还不得好几大百 $ 下去了...
有没有更好的解决方法?然后我想到了 AI, 想到了我那一堆躺在地下室吃灰的显卡 ... (前情提要请看我前面的帖子)
首先我研究了一下 School Picture 提供网站上面提供的学生样品图片。这些样品图片一般是低解析度 (Low Resolution) 和加上了水印 (Watermark) 的给用户提供一个购买之前照片印象的图片。
看了看这些图片,让我想到了使用 SRGANs 和其他的 In Painting Network 来解决这个问题的可能。好吧说干就干吧
首先是原图: http://thyrsi.com/t6/394/1540328673x-1404814676.jpg
使用 ImageNet 的数据,通过 SRGANs 来训练一个 AI 来提升图片的 resolution, 网络结构:
这个网络大概训练了三天多,我看结果似乎还不错,够用了
提升后的图片解析度达到了打印成 8 x 10 或者更大片副的要求,这里是 100% 的 before / after 比较: http://thyrsi.com/t6/394/1540328695x-1404814676.jpg
接下来的问题是水印,我采用了 Nvidia 团队支持不同大小,形状的 Partial Convolution 的解决方法, 论文: http://thyrsi.com/t6/394/1540328723x1822611687.jpg
训练的数据主要是 ImageNet 中的人物数据集,然后我又加上了 CelebA 这个专门的名人头像数据集来作训练
总过花了快俩周的时间才 train 完 (汗,太慢了)。这个 AI 的结果还凑合,暂时可以用了,放一下结果图:
http://thyrsi.com/t6/394/1540328739x1822611687.jpg
当然结果还不够好,可能还需要手工做些 touchup. 不过我打算在继续强化一下这个网络,看看能否提高效果。
然后准备写个简单的网站,这样方便远程使用,年底再去坐 Cruise 的时候看来是不需要再花大价钱买照片了...
哈哈哈...
当我正准备狂笑三声的时候,孩子妈劈头盖脸的问我 "孩子照片你不是说上周就挂家墙上的嘛?“, 我:"..."
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.