图像处理基础
图像处理基础
scikit-learn分类器
- 分类问题:一般有监督,拆分数据为训练集和评测集
- 系统内部常内置一些常用数据集(比如iris),可从seaborn里import
- Seaborn:基于matplotlib的高级可视化包,可以可视化高维数据
- pareplot:横向为两量间的相关性,对角线表示相关性
- 训练时,应将特征与标签分开(pd.drop),分成数据矩阵和对应的标签列
- 随机拆分训练集/测试集
- sklearn的model-selection:train-test—split:多次随机取样进行多次训练,可以充分利用数据,默认取75%的数据作为训练集
- 取完测试与训练集后可调用各种model进行fit,之后可以用model进行预测
- 评测:热图分布(heatmap),accuracy,混淆矩阵(confusion matrix),ROC曲线
- 作业可以用SVM
openCV 图像处理基础
- 图像数据量大,需要选择合理的特征并将其变成特征向量
- 特征选择
- conda install opencv
- cv2.imread:读取图片
- cvtColor:BGR2RGB:像素通道转换
- plt.imshow:显示图像
- 可通过矩阵切片进行图像修改、切片等
-
可将三个通道分别拆开
- Histogram:图像灰度或三个通道的统计分布(plt.hist(bins = 256))
- 直方图均衡:增强对比度,取直方图的一小部分
- 对积分函数值域的查表变换,之后归一化为255
- 不一定取积分函数,可以自定义函数用于分散数据
- 相当于非线性的,分布对分布的投影变换
- cv2中有相关函数
高斯模糊
- 高斯模版:相当于一个卷积核,对图像的每个像素卷积
- 高斯模糊相当于图像平滑
- 最大间方差(OTSU)降噪:将图像分为前景与背景(判据:均方差最大),重新赋值
- 滤镜与卷积:
- laplacian卷积核:二阶差分(求导的离散情况),用于做边缘提取,此即对图像的拉普拉斯变换
- 小的噪声点:容易产生很强的信号
- 通过更改卷积核的形式,可以产生具有各种功能的算子(如实现对竖线的识别)
- 一般除了高斯模版外,卷积核都是3*3,减小计算量,并有物理意义对应
- 对非单像素的线,用小卷积核会出现双线(模糊的粗线)
图像的旋转和移动不变性(Motivation)
- 思想:关键点(region of interes)和区域直方图
- Match一些关键位置并作该区域的像素直方图,一般情况下像素直方图的分布差别不应很大,且与旋转与否无关
- 找关键点:
- Hessian算子:由二阶导构成的算子,对原图变换后能把图像中物体边缘显示出来,兼顾了横纵斜三个方向的梯度,以Hessian矩阵行列式的值作为角点,可用作关键点
- 以得到的几十几百个关键点附近作区域直方图进行对比与匹配
- 对缩放过的图片:特征尺度自适应:两图的区域直方图窗口大小不同以做到对应
- 高斯-拉普拉斯算子:对高斯函数作拉普拉斯变换(高斯函数的二阶导),以此作为核函数,可用于检测圆光斑
- 只有特定尺寸的光斑和特定尺寸的算子才可以给出当前尺度下极值
- 用不同尺度的一系列算子对图像进行高斯拉普拉斯变换(LoG)(对图像过滤),将生成的多通道数据中的多幅图对齐,此时每幅图具有三个维度(平面内,前后两幅图),对每个像素点,比较自己上下左右前后的点,若为极大值,则认为该点为该三维空间中的极大值
- 此时既能得到关键点,又能获得尺度信息,最终将关键点投射到同一个平面中
-
可统一尺度
- 上述变化等价于高斯差(DoG):直接拿两个不同sigma的高斯函数作差
- 用不同高斯核处理图像,得到的多幅图相邻者作差得到另一组通道,效果与前述一致,计算量较小
- 降采样:更低的运算量,用同一个size的高斯核与不同尺度的降采样(仅取图像的一部分)后的图像进行卷积,之后插值回来
- 差分金字塔;
- 插值会使关键点中心位置的值飙升
- 对旋转的图像:
- 求图像的梯度方向,并将主梯度方向转正(仿射变换),实现图像的旋转
- 关键点方向正则化
- SIFT特征:尺度旋转不变的特征变换:上述处理后可拿到特征
- 局部特征表达向量
-
HOG特征:方向梯度直方图
- 作业:Hog特征,sift特征,分类器,SVD
特征匹配与RANSAC算法
- RANSAC:但凡两物体匹配,就会存在一个仿射变换,能将两组特征互相映射,做到大量特征点点互相Cover
仿射变换
- 非奇异的平移与旋转
-
cv.getrotationmatrix2d
- mean shift:视频物体跟踪,框出物体,进一步拆分,取灰度直方图和灰度方向,排成一行长特征作为框中物种的特征向量(进一步拆分的小框可以连续平移)
-
cell的大小与图像等比(等比划分),消除了物体尺寸变化的影响
- 攻击HOG:加入高频梯度方向的噪声,针对梯度攻击