有时候我们在看知乎的时候,会突然发现一张很好看的图片,想据为己有,猥猥琐琐的准备长按图片保存,发现图片上居然带了水印,这个时候该怎么办呢?哈哈哈,直接裁剪掉不就好了吗~~~
但是,作为一个新时代的程序猿,我们不能够就这么简单处理对不对。对
于是翻起了课本,发现有一种算法叫做矩阵补全(matrix compltion)可以用来做图像修复,可以把模糊成这样的新垣结衣修复新垣结衣原图
加了两次高斯噪声的新垣结衣
修复后的新垣结衣
虽然比原图模糊了一点,但新垣结衣还是美丽好看的(甚至别有一番韵味)。那么其实我们可以想一想噪声其实就是相当于数据缺失,那么水印也是相当于数据缺失,那么矩阵补全可以把图像修复,是不是也可以把水印去掉呢?
首先,我们来了解一下什么是矩阵补全
矩阵补全(matrix completion)
根据字面意思就是有一个矩阵,里面有一些元素是缺失的,我们要想办法把缺失的元素补全,这就是矩阵补全了。
矩阵补全一开始是从Netflix 的一个比赛中流行开来的,悬赏100万美金给能够提高公司现行的matrix completion 算法10%以上的优胜队伍。
以豆瓣为例,就是根据电影的评分系统做推断。但是我们知道,豆瓣的用户千千万,电影的数量千千万,但是每个用户对只会对极少的电影进行评分,那么这个矩阵中大部分的数据是缺失的,我们要根据这个非常稀疏的矩阵,来推断整个用户群对不同电影的评分,这就是矩阵补全的实际