数字媒体技术考点整理
Posted 五季十三月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字媒体技术考点整理相关的知识,希望对你有一定的参考价值。
一、前言概述部分
1.数字媒体包含哪些类型,涉及哪些研究领域
- 数字媒体包括了文字、图形、图像、音频、视频影像和动画等各种形式,以及传播形式和传播内容中采用数字化,即信息的采集、存取、加工和分发的数字化过程。
- 数字媒体技术主要研究与数字媒体信息的获取、处理、存储、传播、管理、安全、输出等相关的理论、方法、技术与系统。
- 相关领域:计算机视觉、计算机图形学、图像处理、多媒体计算、模式识别、人工智能。
- 应用领域:机器人(立体视觉、自动驾驶),遥感、医学(图像分析、植被、骨骼),安全、监控(门禁、视频监控),国防(目标识别与跟踪、地形匹配),其他(游戏、动画、人机交互……)。
2.说明数字图像处理、计算机视觉、计算机图形学的关系和差异
- 数字图像处理(Digital Image Processing)是对已有的图像进行变换、分析、重构,得到的仍是图像。
- 计算机视觉(Computer Vision)是给定图象,从图象提取信息,包括景象的三维结构,运动检测,识别物体等。
- 计算机图形学(Computer Graphics)讲的是图形,也就是图形的构造方式,是一种从无到有的概念,从数据得到图像。是给定关于景象结构、表面反射特性、光源配置及相机模型的信息,生成图像。
- 区别:
- 计算机图形学(Computer Graphics),简称 CG。输入的是对虚拟场景的描述,通常为多边形数组,而每个多边形由三个顶点组成,每个顶点包括三维坐标、贴图坐标、rgb颜色等。输出的是图像,即二维像素数组。
- 计算机视觉(Computer Vision),简称 CV。输入的是图像或图像序列,通常来自相机或usb摄像头。输出的是对于图像序列对应的真实世界的理解,比如检测人脸、识别车牌。
- 数字图像处理(Digital Image Processing),简称 DIP。输入的是图像,输出的也是图像。Photoshop中对一副图像应用滤镜就是典型的一种图像处理。常见操作有模糊、灰度化、增强对比度等。
- 联系:
- 计算机图形学(Computer Graphics)和计算机视觉(Computer Vision)是同一过程的两个方向,计算机图形学(Computer Graphics)是计算机视觉(Computer Vision)的逆问题。计算机图形学(Computer Graphics)将抽象的语义信息转化成图像,计算机视觉(Computer Vision)从图像中提取抽象的语义信息。数字图像处理(Digital Image Processing)探索的是从一个图像或者一组图像之间的互相转化和关系,与语义信息无关。
- 计算机图形学(Computer Graphics),简称 CG 中也会用到数字图像处理(Digital Image Processing),简称 DIP,现今的三维游戏为了增加表现力都会叠加全屏的后期特效,原理就是数字图像处理(Digital Image Processing),简称 DIP,只是将计算量放在了显卡端。计算机视觉(Computer Vision),简称 CV更是大量依赖数字图像处理(Digital Image Processing)来打杂活,比如对需要识别的照片进行预处理。
- 简单点说:1 计算机视觉,里面人工智能的东西更多一些,不仅仅是图像处理的知识,还涵盖了人工智能,机器学习等领域知识;2,计算机图形学,主要涉及图形成像及游戏类开发,如OpenGL等,还有就是视频渲染等;3,图像处理,这个主要针对图像图像的基本处理,如图像检索或则图像识别,压缩,复原等等操作。
二、色彩和图像基础
1.常用的色彩空间、每个色彩空间包含的分量及其含义
- RGB
- R(red红)、G(green绿)、B(blue蓝)
- C = rR + gG + bB
- 计算机中使用最为广泛的色彩空间
- 显示设备兼容性
- 不是非常符合人对色彩的感知(面向硬件)
- 每个色彩空间中每个分量的数值范围是01或0255
- RGB 颜色空间适合于显示系统,却并不适合于图像处理
- YUV
- Y(灰度)、UV(色差)
- 兼容彩色黑白显示设备,在视频中广泛应用(考虑数据压缩)
- “Y”表示明亮度(Luma, gray),也就是灰阶值
- “U”和“V”表示的则是色度(Chrominance, color),作用是描述影像色彩及饱和度,用于指定像素的颜色
- U红色,V蓝色
- HSV
- Hue(色度)、Staturation(饱和度)、Value(亮度)
- Color wheel、Distance from gray、Lightness
- Hue 用角度度量,取值范围为0~360°,表示色彩信息,即所处的光谱颜色的位置。
- 色彩H由绕V轴的旋转角给定。红色对应于角度0° ,绿色对应于角度120°,蓝色对应于角度240°
- 水平方向表示饱和度,饱和度表示颜色接近光谱色的程度。饱和度越高,说明颜色越深,越接近光谱色饱和度越低,说明颜色越浅,越接近白色。饱和度为0表示纯白色。取值范围为0~100%,值越大,颜色越饱和。
- 竖直方向表示明度,决定颜色空间中颜色的明暗程度,明度越高,表示颜色越明亮,范围是 0-100%。明度为0表示纯黑色(此时颜色最暗)。
- 对用户一种直观的颜色模型,适用领域范围:颜色识别。
2.为什么视频中更多使用类YUV色彩空间
- YUV采样节省存储空间,而且人眼对色度敏感度不高,省略一些色度后人眼难以区分,减少冗余,减少信息量。
- YUV解决了彩色电视机与黑白电视的兼容问题,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的。
- YUV更方便对视频信号进行压缩,占用的带宽更低。符合人眼的视觉特性,人眼对亮度的敏感度要大于红蓝,所以我们可以保留Y原始值的基础上,降低U和V的值,而不影响观看,从而更加有效的存储图像数据。
- YUV不像RGB那样要求三个独立的的视频信号同时传输,所以YUV方式传送占用极少的频宽。
3.图像在计算机中储存表示的方式-矩阵
- 在图像中,数组的行数对应图像的高度,而列数对应图像的宽度。单通道,三通道的存储维度也不同。
- 图像的尺寸就是图像的高度(x)和宽度(y)上的像素数,计算机以数字的形式存储图像,这些数字称为像素值,这些像素值表示像素的强度。
- 对于灰度或黑白图像,像素值的范围是0到255。接近零的较小数字表示较深的阴影,而接近255的较大数字表示较浅或白色的阴影。
- 图像以数字矩阵的形式存储在计算机中,其中这些数字称为像素值。
- 这些像素值代表每个像素的强度。
- 0代表黑色,255代表白色。
- 数字矩阵称为通道,对于灰度图像,我们只有一个通道。
- 彩色图像都是由这三种颜色或3个通道(红色,绿色和蓝色),这些像素都具有从0到255的值。最后,所有这些通道或所有这些矩阵都将叠加在一起。结果为N*M*3,其中N是整个高度上的像素数,M是整个宽度上的像素数,3表示通道数。
4.图像的色彩调整的处理过程
- 对比度调节
- Photoshop对比度算法。
- 可以用下面的公式来表示:
(1) nRGB = RGB + (RGB - Threshold) * Contrast / 255
公式中,nRGB表示图像像素新的R、G、B分量,RGB表示图像像素R、G、B分量,Threshold为给定的阀值,Contrast为处理过的对比度增量。 - Photoshop对于对比度增量,是按给定值的正负分别处理的:
①当增量等于-255时,是图像对比度的下端极限,此时,图像RGB各分量都等于阀值,图像呈全灰色,灰度图上只有1条线,即阀值灰度;
②当增量大于-255且小于0时,直接用上面的公式计算图像像素各分量;
③当增量等于 255时,是图像对比度的上端极限,实际等于设置图像阀值,图像由最多八种颜色组成,灰度图上最多8条线,即红、黄、绿、青、蓝、紫及黑与白;
④当增量大于0且小于255时,则先按下面公式(2)处理增量,然后再按上面公式(1)计算对比度:
(2) nContrast = 255 * 255 / (255 - Contrast) - 255
公式中的nContrast为处理后的对比度增量,Contrast为给定的对比度增量。
- 色彩饱和度调节
- 计算每个像素点三基色最小值和最大值
- delta为两值之差 / 255,如果两值之差为0则不做操作,value为两值之和 / 25
- 有RGB图像空间转化成HSL(H色调,S饱和度,L亮度)L = value / 2,如果L < 0.5 则 S = delta / value,否则 S = delta / (2 - value);
- Increment / 100 为饱和度,正值为提升饱和度,负值为降低饱和度。根据不同公式得到新的rgb值。
- 灰度化
- 灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种。
①第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。
②第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。
5.OpenCV中图像的基本运算
- 打开图像文件
import cv2
img = cv2.imread("D:/tupian/green.png")
- 显示图像文件
cv2.imshow("显示框名称",img)
cv2.waitKey(0)``#暂停cv2模块 不然图片窗口一瞬间即就会消失,观察不到
- 访问像素颜色值
- 获取三维矩阵(i,j)处的元素
(b,g,r) = image[i,j],image大小为:MxNxK - 获取三维矩阵的子矩阵——第i行到第j行与第m列到第n列的交叉部分
newImage = image[i:j,m:n],image大小为:MxNxK - 访问图像(0,0)处的像素并更改;
访问图像第0行到第100行与第0列到第100列的交叉部分并更改;
import cv2
image = cv2.imread("H:\\\\img\\\\lena.jpg")#读取图像
(b,g,r) = image[0,0]#读取(0,0)像素,Python中图像像素是按B,G,R顺序存储的
print "位置(0,0)处的像素 - 红:%d,绿:%d,蓝:%d" %(r,g,b)#显示像素值
image[0,0] = (100,150,200)#更改位置(0,0)处的像素
(b,g,r) = image[0,0]#再次读取(0,0)像素
print "位置(0,0)处的像素 - 红:%d,绿:%d,蓝:%d" %(r,g,b)#显示更改后的像素值
corner = image[0:100,0:100]#读取像素块
cv2.imshow("Corner",corner)#显示读取的像素块
image[0:100,0:100] = (0,255,0);#更改读取的像素块
cv2.imshow("Updated",image)#显示图像
cv2.waitKey(0)#程序暂停
三、图像滤波
1.线性滤波、滤波核的基本概念
- 线性滤波
原始数据与滤波结果是一种算术运算,即用邻域像素的加权和来替代该像素的值,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值(如高斯滤波、均值滤波)。 - 滤波核
滤波时输入图像一个小区域中像素加权平均后成为输出图像中的每个对应像素,使用到的权用一个矩阵表示,该矩阵是一个权矩阵。这个权矩阵就是滤波核。 - 首先我们应该了解一下什么是平滑。平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法。平滑的一种作用就是用来减弱噪声。OpenCV中提供了两类常见的滤波器用来对图像进行平滑处理。一类是线性滤波,包括 方框滤波(boxFilter)、均值滤波(blur)、高斯滤波(GaussianBlur);另一类是非线性滤波器,包括中值滤波(medianBlur)和双边滤波(bilateralFilter)。
2.均值、中值、最小最大值、高斯、双边滤波的概念
- 均值滤波
均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素计算出来的平均值替换图像中每个像素。采样Kernel数据通常是3X3的矩阵,如下表示:
从左到右从上到下计算图像中的每个像素,最终得到处理后的图像。均值滤波可以加上两个参数,即迭代次数,Kernel数据大小。一个相同的Kernel,但是多次迭代就会效果越来越好。同样,迭代次数相同,Kernel矩阵越大,均值滤波的效果就越明显。 - 中值滤波
中值滤波也是消除图像噪声最常见的手段之一,特别是消除椒盐噪声,中值滤波的效果要比均值滤波更好。中值滤波是跟均值滤波唯一不同是,不是用均值来替换中心每个像素,而是将周围像素和中心像素排序以后,取中值。 - 最小值最大值滤波
最大最小值滤波是一种比较保守的图像处理手段,与中值滤波类似,首先要排序周围像素和中心像素值,然后将中心像素值与最小和最大像素值比较,如果比最小值小,则替换中心像素为最小值,如果中心像素比最大值大,则替换中心像素为最大值。一个Kernel矩阵为3X3的最大最小值滤波如下:
123 124 108
122 150 98
112 135 144
排序以后为:98,108,112,122,123,124,135,144
最大值最小值滤波以后,中心像素值为:144 - 高斯滤波
高斯滤波和均值滤波一样,都是利用一个掩膜和图像进行卷积求解。不同之处在于:均值滤波器的模板系数都是相同的为1,而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小(服从二维高斯分布)。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小,更能够保持图像的整体细节。
高斯滤波器是一种平滑线性滤波器,使用高斯滤波器对图像进行滤波,其效果是降低图像灰度的“尖锐”变化,也就是使图像“模糊”了。高斯滤波对于抑制服从正态分布的噪声效果非常好,其代价是使图像变得“模糊”。当然,有时对图像进行平滑滤波的目的就是让图像变得模糊。高斯滤波的模板是用高斯公式计算出来的。
- 双边滤波
双边滤波是一种非线性滤波器,它可以达到保持边缘、降噪平滑的效果。和其他滤波原理一样,双边滤波也是采用加权平均的方法,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布[1]。最重要的是,双边滤波的权重不仅考虑了像素的欧氏距离(如普通的高斯低通滤波,只考虑了位置对中心像素的影响),还考虑了像素范围域中的辐射差异(例如卷积核中像素与中心像素之间相似程度、颜色强度,深度距离等),在计算中心像素的时候同时考虑这两个权重。
3.通过滤波实现 图像锐化、边缘提取 的计算思路
- 图像锐化常用的做法是提取图像的高频分量,将其叠加到原图上。图像高频分量的提取有两种做法:一种是用高通滤波器,得到高频分量;另一种是通过低通滤波,用原图减去低频分量得到高频分量。
- 边缘提取:高斯模糊——计算梯度幅值和方向——非最大值抑制——双阈值——滞后边界跟踪
1)使用高斯滤波器,以平滑图像,滤除噪声
2)计算图像中每个像素点的梯度强度和方向
3)应用非极大值抑制,以消除边缘检测带来的杂散响应
4)应用双阈值检测来确定真实的和潜在的边缘
5)通过抑制孤立的弱边缘最终完成边缘检测 - 利用laplacian滤波器实现图像的锐化
由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的缓慢变化区域。
因此,锐化处理可选择拉普拉斯算子对原图像进行处理,产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像:
其中,f(x,y)为原始图像,g(x,y)为锐化后图像,c为-1(卷积核中间为负数时,若卷积核中间为正数,则c为1)。
四、照片计算
1.SeamCarving中Seam的计算过程
- 给出能量矩阵,计算Seam
- 能量矩阵:八联通,第一行值不变,从第二行开始找出能够到达该节点的最小和,采用动态规划,不断计算下一个值,直至最后一行。
- Seam:顶部到底部的一条联通路径,每行有且只有一个像素。
- 假设能量矩阵如下(深蓝色标记是已经计算的结果),
举例:对于第一个图到第二个图,5、8、12都与 2 是联通的,其中最小值为(5+2),故2 更新为 7,依此类推,如下:
- 算法的基本步骤:
1.为每个像素分配一个能量值
2.找到能量值最小的像素的八连通路径
3.删除路径中的所有像素
4.重复前面1-3步,直到删除的行/列数量达到理想状态
2.暗通道去雾中暗通道的计算过程
- 给出图像数据、计算暗通道
在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数。我们给暗通道一个数学定义,对于任意的输入图像J,其暗通道可以用下式表达:
式中Jc表示彩色图像的每个通道 ,Ω(x)表示以像素X为中心的一个窗口。
式(5)的意义用代码表达也很简单,首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波,滤波的半径由窗口大小决定,一般有WindowSize = 2 * Radius + 1;
暗通道先验的理论指出:
五、图像特征
1.SIFT、HOG特征的概念
- SIFT
- 尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe在1999年所发表,2004年完善总结。
- 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。
- 局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。
- SIFT算法的特点有:
- SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;
- 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
- 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
- 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
- 可扩展性,可以很方便的与其他形式的特征向量进行联合。
- SIFT算法可以解决的问题:
目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/目标识别跟踪的性能。而SIFT算法在一定程度上可解决:- 目标的旋转、缩放、平移(RST)
- 图像仿射/投影变换(视点viewpoint)
- 光照影响(illumination)
- 目标遮挡(occlusion)
- 杂物场景(clutter)
- 噪声
- SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。
- HOG
- 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。
- 主要思想:
在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。 - 具体的实现方法是:
首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。之所以统计每一个小单元的方向走直方图,是因为,一般来说,只有图像区域比较小的情况,基于统计原理的直方图对于该区域才有表达能力,如果图像区域比较大,那么两个完全不同的图像的HOG特征,也可能很相似。但是如果区域较小,这种可能性就很小。 - 提高性能:
把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方法是:先计算各直方图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归一化。通过这个归一化后,能对光照变化和阴影获得更好的效果。 - 优点:
与其他的特征描述方法相比,HOG有很多优点。首先,由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此HOG特征是特别适合于做图像中的人体检测的。
2.SIFT、HOG特征的计算过程
- SIFT
- Lowe将SIFT算法分解为如下四步:
- 尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。
- 关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。
- 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
- 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。
- 胡伟老师课件:
- 特征点附近16x16窗口
- 计算每个像素的梯度方向,剔除部分较小的梯度值
- 得到梯度方向的直方图
- HOG
- HOG特征提取方法就是将一个image(你要检测的目标或者扫描窗口):
- 灰度化(将图像看做一个x,y,z(灰度)的三维图像);
- 采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;
- 计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。
- 将图像划分成小cells(例如6*6像素/cell);
- 统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;
- 将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
- 将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。
- 胡伟老师课件:
- 灰度图Gamma校正(不必须)
- 梯度计算
- 8x8 Cell梯度直方图
- 16x16 Block归一化
- 计算HOG特征描述
- 方向梯度
在单变量的实值函数的情况,梯度只是导数,或者对于一个线性函数,也就是线的斜率。
在图像梯度的概念也是像素值变化最快的方向,把边缘(在图像合成中单一物体的轮廓叫做边缘)引入进来,边缘与梯度保持垂直方向。
用以下公式计算该像素点的梯度大小和方向。
- 16x16 Block归一化,一个Block包含四个8x8 cell,特征描述是一个XXX的向量
3.特征维度的概念、特征相似度一般怎么度量
- 特征维度的概念
- 对图像来说,维度就是图像中特征向量的数量
- 对数组和series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。索引以外的数据,不分行列的叫一维(此时shape返回唯一的维度上的数据个数),有行列之分的叫二维(shape返回行x列),也称为表。
- 特征相似度的度量
- 明氏距离(Minkowski Distance)
- 切比雪夫距离
- 汉明距离
- 皮尔逊相关系数(Pearson correlation coefficient)
- 马氏距离(Mahalanobis Distance)
- https://blog.csdn.net/weixin_30858241/article/details/98268770
4.两张图像进行全景图拼接的计算思路(利用SIFT特征)
- 读入两张图片并分别提取SIFT特征
- 利用k-d tree和BBF算法进行特征匹配查找
- 利用RANSAC算法筛选匹配点并计算变换矩阵
- 图像融合
5.图像分类的计算思路(利用HOG特征)
- 准备训练样本集合;包括正样本集和负样本集;收集到足够的训练样本之后,需要裁剪样本。
- 将所有正样本放在一个文件夹中,将所有负样本放在另一个文件夹中,并将所有训练样本缩放到同样的尺寸大小。
- 提取所有正样本和负样本的Hog特征。将正负样本的Hog特征,正负样本的标签,都输入到SVM中进行训练。
- 而后加载模型进行预测。
六、深度学习
1.机器学习、深度学习的概念和关系
- 机器学习:
多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 - 深度学习:
深度学习是基于机器学习延伸出来的一个新的领域,由以人大脑结构为启发的神经网络算法为起源加之模型结构深度的增加发展,并伴随大数据和计算能力的提高而产生的一系列新的算法。 - 关系:
深度学习是机器学习中的一部分,而机器学习是深度学习的基础 - 胡伟老师PPT
- AI(Artificial Intelligence)人工智能
对人的意识、思维过程的模拟 - ML(Machine Learning)机器学习
实现AI的方法
计算机利用已有数据,得到某个模型,并利用此模型预测未来的一种方法
模式识别、数据挖掘、计算机视觉、语音识别、自然语言处理……
监督学习、无监督学习、强化学习- 分类和回归问题
- SVM 典型的监督学习
- 神经网络
- DL(Deep Learning)深度学习
机器学习中一种对数据进行表征学习的方法,实质上是层数更多的神经网络学习方法
2.卷积神经网络中的卷积核计算
给出输入、卷积核、Stride、Padding信息,计算输出
参数:W:宽 H:高 D:深度 K:卷积核的个数 F:卷积核的大小 S:步长 P:用0填充
W/H=[(输入大小-卷积核大小+2P)/步长] +1
举个例子
上图中的 output =[(7-3)+21]/1 +1 =7
图中也提到了padding 的选择,
如卷积核为3时 padding 选择1
如卷积核为5时 padding 选择2
如卷积核为7时 padding 选择3
3.卷积神经网络的输入输出尺寸计算
给出输入尺寸、卷积核尺寸、Stride、Padding信息,给出输出尺寸
当给出:输入尺寸(n * n)、卷积核尺寸(m * m)、步长Stride(s)、填充信息Padding ( p )
则输出尺寸为:( ( n - m + 2 * p ) / s +1 ) * ( ( n - m + 2 * p ) / s +1 )
4.全连接神经网络前向和后向计算过程
给出网络结构、初始化参数、前向计算得到结果,并反向更新参数
- 神经网络结构主要包括:输入层、隐藏层和输出层
- BP(Back Propagation)神经网络分为两个过程
1. 工作信号正向传递过程
2. 误差信号反向传递过程 - 工作信号正向传递过程(前向传播):
1. 输入层的每个节点,都要与的隐藏层每个节点做点对点的计算,计算的方法是加权求和+激活
2. 利用隐藏层计算出的每个值,再用相同的方法,和输出层进行计算。
3. 隐藏层用都是用Sigmoid作激活函数,而输出层用的是Purelin。这是因为Purelin可以保持之前任意范围的数值缩放,便于和样本值作比较,而Sigmoid的数值范围只能在0~1之间。
4. 起初输入层的数值通过网络计算分别传播到隐藏层,再以相同的方式传播到输出层,最终的输出值和样本值作比较,计算出误差,这个过程叫前向传播(Forward Propagation)。 - 误差信号反向传递过程:
BP算法是一种计算偏导数的有效方法,它的基本原理是:
1. 利用前向传播最后输出的结果来计算误差的偏导数(前向传播后求偏导),
2. 再用这个偏导数和前面的隐藏层进行加权求和
3. 如此一层一层的向后传下去(隐藏层间偏导加权求和)
4. 直到输入层(不计算输入层)(也就是第一隐藏层到输入层的偏导加权求和)
5. 最后利用每个节点求出的偏导数来更新权重。
5.GAN的概念,生成器、判别器之间互性竞争提升的基本原理
- GAN
- GAN是由一种生成式模型,它也是一种无监督的学习模型。
- GAN主要由两部分组成:生成器(Generator)和判别器(Discriminator)。
- 生成器:一种生成网络,负责生成数据,一开始时接收一个随机噪音
- 判别器:一个判别网络,判断接收的图片是不是真实的图片
- GAN的主要思想来自于零和博弈的思想,GAN的博弈过程可以描述为:生成器生成数据后交给判别器判断是真实数据的可能性,可能性越大得分越高,如果判断器给出的得分低,那生成器就需要根据打分和真实数据获得的损失函数来更新权重,重新生成数据。以此循环直到判别器的打分为0.5,即判别器无法判断生成器生成的假数据。最终达到的平衡点称为纳什平衡。
- Generative 生成 Adversarial 对抗 Networks 网络
- Generator 生成器,产生输出数据
- Discriminator 判别器,分辨真实数据和生成器产生的输出数据
- G、D互相对抗,共同进化升级,形成均衡
- 原理
- 生成器接收一个随机的噪声信号(可以是均匀分布的,也可以是高斯分布的),然后生成器生成相应的样例。判别器会接收生成器生成的样例和来自真实样本的样例,判别器的作用主要就是判断样本的真实度,他会给真实样本尽可然大的概率,给生成样本尽可然小的值(概率越大表示越有可能是真实的样例)。而生成器则不断加强自己的能力,使生成的样本越来越接近真实的样本,即判别器越来越分辨不出来样本是不是真实的。通过不断迭代上述过程,直至判别器区分不清楚接收的样本到底是来自真实样本还是来自生成的样本。
- 生成器、判别器之间互性竞争提升的基本原理
- 生成对抗网络(GAN)由2个重要的部分构成:
生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据” - 第一阶段:固定「判别器D」,训练「生成器G」
我们使用一个还 OK 判别器,让一个「生成器G」不断生成“假数据”,然后给这个「判别器D」去判断。
一开始,「生成器G」还很弱,所以很容易被揪出来。
但是随着不断的训练,「生成器G」技能不断提升,最终骗过了「判别器D」。
到了这个时候,「判别器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。
- 第二阶段:固定「生成器G」,训练「判别器D」
当通过了第一阶段,继续训练「生成器G」就没有意义了。这个时候我们固定「生成器G」,然后开始训练「判别器D」。
「判别器D」通过不断训练,提高了自己的鉴别能力,最终他可以准确的判断出所有的假图片。
到了这个时候,「生成器G」已经无法骗过「判别器D」。
- 循环阶段一和阶段二
通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。
最终我们得到了一个效果非常好的「生成器G」,我们就可以用它来生成我们想要的图片了。
七、视频和音频
1.音频数据在计算机中的表示方式(采样、量化的基本理解)
- 音乐声音的一种类型,声音则是由物体振动产生的波。麦克风将声波强弱
转化为电压波的幅度变化,形成模拟音频信号,可存储在磁带中。而计算
机只能处理二进制数字信息,以二进制数字记录电压的幅度,即转换为数
字音频,才能被计算机存储和处理,这就是声音的数字化。 - 数字化过程事实上就是对真实连续模拟信号的离散化过程,实际处理过程包括:
- 采样:每隔一定时间抽取一个样本。采样频率越大,采样点之间的间隔越小, 数字化得到的声音就越逼真,但相应的数据量增大, 处理起来就越困难(常用采样频率:高保真44.1KHz)
- 量化:用有限长数字量逼近模拟量。位数越多, 所能记录声音的变化程度就越细腻, 所得的数据量也越大
- 编码:将量化的数字变成二进制数码
- 影响数字音频文件数据量的因素:
- 采样率 Sampling Rate:8KHz(电话)、44.1KHz(高保真)
- 采样位数 Bits / Sample:8位、16位
- 通道数 Channel Number:单通道、立体声
- 码率:单位时间的数据量,越大表明音质越好
2.数字媒体压缩编码的必要性
- 必要性
- 4:2:0情况下2小时1080p电影(24fps)所需要的存储
- 2小时 x 60分 x 60秒 x 24帧 x 1920x1080像素 x1.5(字节)= 5375GB
- 要使数字电视信号适合于实际存储和传输,必须压缩数据量,降低传输数据码率。前提:压缩后图象质量要满足视觉要求。
- 视频的数据量很大,如果不进行处理,计算机系统几乎无法对它进行存取和交换。
- 基本思路
- 时间上的冗余:相邻帧的强相关性
- 空间上的冗余:相邻像素的强相关性
- 感知上的冗余:人眼对信息的敏感性
- 统计上的冗余:统计的概率
3.数字媒体压缩和通用数据压缩的差异
- 为缩小数字媒体的文件大小,我们需要对其进行压缩。一般来说我们所接触的媒体内容都需要进行一定程度的压缩,也就是说我们都是在和这些内容的原始文件的压缩格式在打交道。压缩技术可以大幅缩小缩小媒体文件的尺寸,但是通常会在资源的质量上有一定程度的衰减。
- 数据压缩算法主要分有损压缩和无损压缩两种。无损压缩就是能够完全还原的压缩算法. 而有损压缩就是不能完全还原的压缩算法。比如典型的mp3音频就是有损压缩算法,虽然它损失了一些本来的音频信息,但是它能极大地提高其压缩比例,而损失的那点信息对整个音乐片段没有多大影响。本文介绍的通用数据压缩算法针对的不是某种具体的音频或者视频信息,而是一种通用的数据信息,我们并不知道什么信息能够损失,什么信息该保留,所以它肯定就是无损压缩了。我们平时在Windows下使用的WinZip,WinRar的压缩就是标准的通用数据压缩,哈弗曼树。
- 视频压缩是通过压缩帧内/帧间的冗余信息来达到压缩目的的,而通用压缩将信息全部看做二进制的数据,在整个数据空间内压缩冗余信息。
- 通用数据压缩分为无所压缩和有损压缩,视频压缩采用的是有损压缩。(去冗余,不丢失重要信息)
- 数据量=信息量+冗余数据量/,冗余种类:空间、时间、心理视觉冗余
以上是关于数字媒体技术考点整理的主要内容,如果未能解决你的问题,请参考以下文章