登陆注册
57676100000576

第576章 AI 智能修复老照片

图像识别技术本身的原理并不复杂,信息的处理是这一技术的关键点所在。

近年来,由于深度学习的发展,大大提高了图像识别的准确率,深度学习通过大量图像数据信息特征的积累与分析,可自动完成特征提取和图像匹配等任务。

最近一段时间,最受欢迎的必须是图像修复功能。

早在文艺复兴时期,人们就开始修复一些中世纪的艺术品,其目的在于通过填补一些裂缝来使画面恢复原貌,这一工作就称之为“Inpainting“(修复,润饰)或“Retouching“。

M. Bertalmio首次提出许多图像修复能被简化为一个数学表达式,利用计算机能自动加以实现。

图像修复现已是计算机图形学和计算机视觉中的一个研究热点,在文物保护、影视特技制作、虚拟现实、多余物体剔除(如视频图像中删除部分人物、文字、小标题等)等方面有着重大的应用价值。

其中常见的修复方法有:

偏微分方程的方法:Bertalmio采用偏微分方程(PDE)的方法进行图像修复,取得了较好的效果。

用户需指定需要修复的区域,算法将待修补的区域边界的等值线外部的信息沿轮廓法向扩散到中间待修补的象素上。

该算法利用局部颜色的光滑度沿着等值线扩散,考虑了各向异性的扩散,以保证边缘处的边界连续,但该方法计算不稳定。

整体变分方法和基于曲率的扩散模型:整体变分方法(TV,TotalVariational)采用了欧拉-拉格朗日方程和各向异性的扩散,基于曲率的扩散模型(CDD,Curvature-DrivenDiffusion)方法是整体变分方的一种扩展,在扩散过程中考虑了轮廓的几何信息(曲率),可以处理较大的区域,但边界处往往很模糊。

高斯卷积核对图像进行滤波的方法:利用了高斯卷积核对图像进行滤波,能快速地修复破损区域,但该算法仅考虑了破损区域边缘一周的图像颜色值,使得其仅适用于破损区域为2-3个象素宽度的情形。

纹理合成的方法:纹理合成的方法,能较好地去除图像中的大块污斑,但由于算法运行时间不是与掩模区域成正比,而是与图像大小成正比,因此修复时间相对较长。

而今天我们就将借助Python实现我们的修图效果。

所使用的的python库有cv2库,目的是用来读取图片,处理图片像素值和保存图片等;numpy用来对读取过来的像素值矩阵进行运算。

修复程序处理一的搭建

1、图像处理第一步:

首先我们所借助常用的OpenCV处理手段进行处理图片。首先进行的是图片二值化处理和创建结构元素。

2、扩张修复区域:

识别到修复区域并根据相邻像素值进行扩张达到弥补像素值修复图片的效果。cv2.inpaint()函数主要涉及两种算法。

一种算法是从该区域的边界开始,然后进入区域内,逐渐填充边界中的所有内容。它需要在邻近的像素周围的一个小邻域进行修复。该像素由邻居中所有已知像素的归一化加权和代替。选择权重是一个重要的问题。对于靠近该点的那些像素,靠近边界的法线和位于边界轮廓上的像素,给予更多的权重。

另一种是基于流体动力学并利用偏微分方程。基本原则是heurisitic。它首先沿着已知区域的边缘行进到未知区域(因为边缘是连续的)。它继续等照片(连接具有相同强度的点的线,就像轮廓连接具有相同高度的点一样),同时在修复区域的边界处匹配渐变矢量。为此,使用来自流体动力学的一些方法。获得颜色后,填充颜色以减少该区域的最小差异。

修复程序处理二的搭建

1、图像处理第二步:

转换成hsv值,根据hsv值判断图片的前景和后景。HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法。HSV即色相(Hue)、饱和度(Saturation)、明度(Value),又称HSB(B即Brightness)。色相是色彩的基本属性,就是平常说的颜色的名称,如红色、黄色等。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。明度(V),取0-max(计算机中HSV取值范围和存储的长度有关)。HSV颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。其中主要用到的函数是cv2库中的cv2.cvtColor()函数,将RGB图像(在opencv中设计BGR图像)转换为HSV图像用到了参数cv2.COLOR_BGR2HSV。

2、图像修复:

在扩张修复区域的基础上外加调整像素值图片处理。

其中腐蚀操作详细如下:

定义了一个十字形结构元素其实是一个矩阵,我们知道在图片的腐蚀过程,对图片的每个点,使用这个结构扫描每一个点,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1。否则为0,腐蚀处理的结果是使原来的二值图像减小一圈。使用的函数:cv2.erode(img,kernel);

膨胀操作详细如下:

使用同样的结构,对图片的每个点,使用这个结构扫描每一个点,用结构元素与其覆盖的二值图像做“与”操作,如果出现1,结果图像的该像素为1。否则为0,腐蚀处理的结果是使原来的二值图像扩大一圈。使用的函数:cv2.dilate(img,kernel)

同类推荐
  • 那年青春人和事

    那年青春人和事

    回到过去,青春的时代,种种机遇,从爱你开始。
  • 社会学生

    社会学生

    社会对于很多人来说有着不同意义,而我却在学生时代与社会扯上了关系
  • 苦味现实

    苦味现实

    只有对生活失望了,才能懂得如何去生活!远方的一切都是未知数,可现实的苦落却让我们无法直面远方。
  • 帝少溺宠娇妻太调皮

    帝少溺宠娇妻太调皮

    杨晓芸是一位平凡的女大学生,唯一的兴趣就是喜欢看小说,这占了她生活的一大部分,结果睡了一觉就穿进一本小说的书中,那是她最近看的一本连载的言情小说,特别精彩还意犹未尽,但她却不想穿越啊啊啊!在她醒来的时候一脸懵逼,完全是被吓得,因为她发现自己躺在床上……
  • 人生平淡可否诗化

    人生平淡可否诗化

    人生感悟在狂欢之后,走出人群走进自己。独白的声音常常如此清晰。
热门推荐
  • 一切从约战开始

    一切从约战开始

    “约会大作战的世界又如何?面对自己又如何?我就是靠着这把剑,一样能胜过一切!”这是一个萝莉控(琴里专控)变为“男性精灵”后,穿越到约战中收后宫,打boss,找身世的故事。
  • 快穿boss:魔尊大人,求轻宠

    快穿boss:魔尊大人,求轻宠

    作为一个刚上岗没几天的小孟婆,平时也就负责喂喂汤,送鬼过过桥,却没想到竟然被好友坑到一个小小的芥子里面,去维持世界和平?喵喵喵?姐姐是那么热爱和平的鬼吗?搞事情才是最终的目标好不好。然而...天不遂鬼愿....厉鬼大大、高冷学霸、妖娆影帝....都想好好“宠爱”她怎么办?逃婚?带球跑?nonono...这种庸俗套路才不干,说好的床上见,看谁“弄死”谁....哼哼!本文一对一,超级甜超级苏,欢迎入坑~
  • 阴间人

    阴间人

    那年,我变成了孤儿,也就是那年,我认识了师傅,师傅常说:“因果轮回,皆有定数。”而我,拿着师傅留给我的东西,在一次意外过后,所有的事情才慢慢浮出了水面..
  • 对不起你不是我的菜

    对不起你不是我的菜

    穿越千年,本想当一只米虫,了此余生,可你们一个个非要闯进我的生活!哎大男主,我不是你的宠物也不是你的玩具,你不是我的菜…
  • 英雄联盟之老夫很风骚

    英雄联盟之老夫很风骚

    一代世界最强路人王Alone强势穿越,另一个平行世界。装逼?老夫是职业的。泡妹?老夫天下无敌。老夫翻手为云,覆手为雨,天下之大,都是俺老夫的!
  • 几世轮回之冥王总裁请接招

    几世轮回之冥王总裁请接招

    他是DS影视集团的CEO.他是冥界之王。他是一朝之王。她是雪狐转世,她是艾雪儿,一个刚从北影表演系毕业的大学生,她怀揣着当大明星闯好莱坞的梦想。他一直以为他是一个不可一世的王者,所有的人都必须臣服于他,当然确实也如此唯独只有她艾雪儿,第一见面就狠狠的甩了他一巴掌,对他吹鼻子瞪眼,对他大吼大叫,敢在他面前自称老娘。
  • 乘黄2019

    乘黄2019

    两个相距十年的男女相互扶持、跨越命运围栏的故事。
  • 一世兄弟一世人

    一世兄弟一世人

    那年,两个毛都没长齐的小屁孩。那年,一帮子不怕天不怕地的兄弟
  • 高进是我兄弟

    高进是我兄弟

    穿越到了港片世界,成为了高进的朋友,出入上流社会,游戏人生。
  • 夫君桃花朵朵开

    夫君桃花朵朵开

    她,五岁时便被爹娘从神界扔到了幻影大陆,直到有一天,她救了他,她开玩笑说,若真的要报答的话,那不如以身相许。他说:好啊!何时成亲。她选了一个黄道吉日,便和他成了亲奈何夫君桃花多,她只能一朵一朵的赶…………