优化旧照片

最近测试了一些翻新旧照片的算法,主要是试着把模糊的小照片翻新成清晰的大照片。据说淘宝上有很多人做这个生意,主要是靠手工来修复的。网络少也有不少PS修复旧照片的教程。不过我不会使用PS,所以只能依靠算法了。修复旧照的人工智能的算法也是有一些的,但目前来说,人工智能算法的修复效果在总体上还是比不了人工修复的,但某些情况下表现也还不错。

第1步 选照片

首先找一张老照片:

要想效果好,照片一定要找上图这样的:大头照,而且只有少量折痕和磨损。我也测试了一些质量更差的照片(人脸所占像素太小,有大片磨损等),人工智能对于它们目前还还无能为力。

第2步 去网纹

很多老照片都不是光滑的,像纸上有排列规则的凸点,扫描之后的图片上就会有网纹。上图的旧照片上可以明显看到这些网纹。我找的几个人工智能程序都是解决特定问题的,无法很好的处理这些网纹,所以先要人工去除这些网纹。网上搜了一下,没有专门去除网纹的程序,只有PS相关的教程。PS是收费软件,我也没有。好在有一些免费的图像处理软件可以替代PS。我用了GIMP(GNU Image Manipulation Program)加上FFT插件。FFT是快速傅里叶变换的缩写,用于把时域信号转换为频域信号。

上图经过傅立叶变换,在频域上的图像如下(灰度图部分):

由于原照片里的网纹是规则的(有固定频率),频域图会在一些特定的频段里出现高能量区域,也就是上图用红圈圈出来的部分。我只画了三个圈,但其它那些亮点(除了中心低频区域外),都是网纹造成的,只要把这些亮点全部涂黑,再做反傅立叶变换,新生成的图片就是被去除了网纹的照片了。

第3步 上色

GitHub上最受欢迎的黑白照片上色程序是这个:https://github.com/jantic/DeOldify

我试了一下,效果只能说马马虎虎,上了色的照片看上去还是像旧照片,只是把原来的纯黑白色调中加入一点肉色,一看就不是真的彩色照片。

如果会PS的,肯定还是PS效果好。

第4步 清晰化

我在GitHub上找到了两个照片变清晰的软件,一个是微软的 https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life

一个是腾讯的 https://github.com/TencentARC/GFPGAN

两个软件各有千秋,比如微软的可以修复裂痕,但腾讯的可以放大照片。具体那个效果更好,要针对不同情况测试一下。

这两个软件都是侧重于对人头像进行优化,对其它区域的优化会差一些,所以经过它们优化的照片常常是人脸非常清晰,但衣服还是模糊的。再有它们对于眼镜的处理都不太好。常把眼镜当成皱纹;或者把眼镜上的反光当作眼睛来处理。有时候生成的照片非常诡异吓人。

另外,它们也没法处理太小的人像,或是有缺损的人像。

处理后的效果

西安之行的照片

    虽然在西安的工作计划安排的蛮紧张的,但我还是抽出了一上午的时间,和同事一起去了一趟兵马俑。来西安不去看看兵马俑就太遗憾了。虽然在电视上看过无数次了,但是真的看到两千年前的陶像站在眼前,还是被他们一下子震撼住了。对于两千年前的科技而言,这是项多么浩大的工程啊。而且居然史料中没有记载。
    我给兵马俑们拍了些照片,出门的时候才注意到,这里不须使用闪光灯,我拍照的时候都没注意,真是不好意思。游客们大多开着闪光灯,工作人员也不说提醒一下。

    西安有我几个亲戚,这次去,见到了一个我以前从未见过的远房表妹。临走的前一天晚上,她和她男朋友还特意带我参观的西安的大雁塔。他俩对西安的文化景点了解也不多,说不清大雁塔的历史,不过据我观察,这个塔大概是跟唐僧玄奘有点联系。
    真正吸引我的还是大雁塔北广场的音乐喷泉,据说这是世界最大的音乐喷泉广场。我本来没计划晚上出来逛的,所以穿的比较少。而西安的晚上还是相当冷的,我们七点多就到了,一直熬到八点半喷泉表演才开始。
    第一支乐曲《重返心灵花园》,是我最喜欢的曲目之一。看来喷泉的设计师还是比较有品位的。为此我觉得冻了一个多小时还是值得的。在喷泉广场也拍了两张照片,但是当时只有手机,效果差了些。

2007.11 西安之行的相册

去休斯敦看球

    有几个同事是体育爱好者,于是约了我一道去休斯敦看姚明的比赛。从我这里到休斯断不算太远,开车3个小时就到了。
    姚明的比赛在星期天下午,我们几个人觉得既然来回路上都要6个小时,只看一场球赛太亏了。于是决定周六一早就出发,在休斯敦停留两天,到附近其它的景点参观一下。休斯敦比较出名的景点一个是NASA航天中心,一个是Galveston岛。
 
    周六一早就起来了,不过我们几个人磨蹭了一会,大约九点钟正式开始上路。到休斯敦我们预定的宾馆差不多正好12点。我们的计划是星期六下午参观NASA,所以宾馆订到离NASA很近的地方。中午在宾馆随便吃了点东西,就直奔NASA。
    NASA里参观的基本都是领着小孩的,像我们专门来看热闹的成年人倒不多。很多人年纪大了,就对这些东西失去兴趣了,我有好多同事参观过NASA后都说很没劲。还好我童心未泯,或者因为从小就对太空充满了向往吧,这次在NASA转了一圈,还是觉得颇为值得的。
    NASA里有一块月亮上的石头,可以让有人摸。于是我赶紧凑过去摸了两下,也算是摸过月亮了。还很多模型,这是我给月球车模型照的相。
 
    从NASA出来,就差不多该吃晚饭了。大家都没来过休斯敦,于是决定到市中心去找一件饭店吃晚饭。到了市中心才发现,这是个很傻的决定。市中心都是办公楼,没什么居民,又是周末晚上,几乎看不到什么人,有那么几家餐馆也都打烊了。最后还是把车看到郊区,我们宾馆附近吃的Lubbys。
 
    第二天上午去Galveston岛。这个海滨小岛漂亮的没法用语言形容了,当然是我没法用语言形容,我语文比较差,想表达点什么常常想不出词来。好多小别墅临海而建,楼下就是沙滩。住在这种地方,每天在阳台上看看书,到沙滩上散散步,或者去海里游游泳,日子过得简直太惬意了。尤其是这种日子在美国并不是只有资本家才过得起的,那些别墅里的人,大多数这是美国中产阶级,和我在国内干的事情差不多。但他们过的生活,我在没来美国亲眼目睹之前,是想都想不到的。我们几个人在车里一边嫉妒美国人民的生活竟然如此腐败,一边盼望下次飓风快点吹过来,好让我们这些平时吹不着海风的人也有点优越感:)
    一路上还发现了好多旅馆是面朝大海的。于是大家就后悔,为什么不在岛上订旅馆呢?
 
    中午,另外几个同事打来电话,说他们到了,在姚餐厅等我们。那几个人专程来看球,所以第二天才来。于是问们开始急匆匆地开始赶回休斯敦市区。
    这是我在姚餐厅门口照的相:
 
 
 
    姚明开的餐厅,随然名气大,但里边的饭菜实在是不敢恭维。我一进屋,里边几个同事已经在等了。我望他们桌子上一看,已经有几盘一模一样黑乎乎的菜在那了。于是我就问,咱们这不是到中餐馆来吃饭来了吗,怎么还是按照美国的习惯分盘吃啊? 他们无奈的一笑,说你仔细看,这儿是六盘不同的菜。我仔细看了看还真是,不过他们的色香味,不论哪一样,不仔细辨别,都还真差不多。
    像我这种不是球迷的中国人,是绝不会再来第二次了。
   
    赶去球场的路上同样是匆匆忙忙。休斯敦道路状况是比较差的,由于堵车,我们到体育场的时候,球赛已就开始15分钟了。
    这是丰田体育中心,休斯敦火箭队的主场:
 
 
   球赛气氛不错,姚明表现的也甚好,只不过火箭队最近太衰了。本来还领先十几分,再快终场的时候被对手追平,然后的加时赛输了两分。
 
 
    我不太喜欢体育,所以这次是我头一次现场观看的体育赛事。现在才知道为什么客场作战不利,原来观众们对客场的球队真是一点都不客气。每次敌方得球,观众席上都是一片嘘声。尤其在对方球员罚球的时候,篮板后面的观众全都站起来起哄。还有球迷会的人组织起哄的,谁的起哄声最大可以得到一件T血作奖励。
 
   球赛结束已经6点多了。于是启程回来。
   这是从丰田体育中心往外看:
 
 
 我的休斯敦相册: