Pythonの包:scikit-画像/ skimage
I.はじめに
大規模データとビデオ画像の90%
画像コンテンツの分析プロセス:画像取得 - >画像強調(例えば、コントラスト、等) - >(ボケを含む)画像復元 - >形態素処理 - >画像セグメンテーション - >特徴抽出 - >画像分類(ならびにオブジェクト検出、等) - >画像検索
画像履歴:1826年最初の画像、1861年の最初の色の写真、1878年最初の映像(写真)
基本的なコンセプトイメージ
ピクセルのピクセル解像度:①デバイスに依存しない(例えば、メガピクセルなど)②DPI
(画素画像アレイ)に、ビットマップのビットマップ
色深度:ビットマップ・ビットがピクセルを格納するために必要な、バイナリ、8ビットグレースケール画像(0が黒である)、RGBカラー画像24に
小数点演算:出力画像の各画素は(かかわらず、周囲の)位置に対応する入力画像の濃淡値によってのみ決定されます
近傍操作:ピクセルによって決定される画素に対応する出力画像の各画素と近傍
画像の特徴:色(色ヒストグラム)、テクスチャ(サンプル点と相関差を算出)、形状(エッジ検出)
画像の類似性尺度:特徴空間反射距離画像によって例示
セマンティックギャップ:同じコインの人とコンピュータの異なる理解
第二に、基礎となる画像処理 - 小数点演算
1.画像強調
(歪みの程度を許可する)視覚的効果を向上させる画像の情報の有用性を高めます
画像のコントラスト:画像の黒から白への階調レベル(より多くのレベルの定義)
ヒストグラム:階調値の座標(あるいはRGB値)を、図の縦軸の発生確率。
線形ポイント操作:F(S)= M・S + B
延伸コントラスト:グレー値範囲を所定の画像に対して正規化画像に新たな画素を延伸することによって画像のコントラストを向上させます。
抗画像:否定の結果の加算画像の階調値255の各画素
非線形小数点演算:①(低階調の部分画像の価値を高めるための)対数変換
②ガンマ変換(画像が近い人間の目の知覚応答になるように)Cは、一般的にγ変数1
ヒストグラム等化:画像小数点演算のヒストグラム等化の画像変換による階調変換
ヒストグラム仕様:選択一定の階調範囲を有するヒストグラムの特定の形態のコントラストを向上させます
第三に、コンピューティング近所
1.近所の操作
近隣動作:画像によって決定される出力画像の各画素と近傍の対応する入力画素
フィルタリング(ローパス、ハイパス、バンドパス、バンドストップを(中間体が一定期間を防ぐ))は、特定の周波数帯域の信号を保持またはフィルタ
空間フィルタ:エリア(形状および寸法)、フィルタテンプレート(各点の重み行列の近傍)近隣計算テンプレートに基づいて(相関、コンボリューション)
相関計算:出力点により算出さ加重平均をフィルタリングテンプレート周辺
コンボリューション:テンプレートの中心に対応を濾過し、加重平均を変換します
2.空間フィルタリング
画像平滑化:ノイズ軽減し、不必要な詳細(高い空間周波数は、ノイズ、すなわち、重複したジオメトリを有する傾向があります)
画像平滑化フィルタテンプレート:
①平均値フィルタ(リニア):選択した近所の加重平均
②ガウシアンフィルタ(線形):元の信号のいくつかの点スケール空間表現における信号は、空間的に重み付けされ平滑化(即ち、ガウスぼかし)のシリーズとして見ることができます
③メディアンフィルタ(非線形):近隣グレー値出力画素値を取ります
④保存された(非線形)を平滑化:ポイント値が約/最低値、最高値は約取られる最大値/最小値よりも高い場合には、そうでなければ変化しません
画像鮮鋭化:強化された詳細
ハイパス鮮鋭化(ハイパス):陰性(部分近傍)とフィルタテンプレートは、演算結果が負であってもよく、必要が再マップされます。エッジエリアを急速に変化向上させることができる他の画像の明るさが、元の背景画像の階調を失い
高域強調鮮鋭化:増加鮮鋭に基づいて高域通過係数、元のプラスに対応するエッジ検出
USMのシャープニング(アンシャープマスキング):画像ぼかし処理、及び(スケッチに類似)ファジー図オリジナル抽出位相マスク保存、ZOOMを適用
四、エッジ検出と画像勾配
1.画像勾配
勾配は、階調変化の強さを表すベクトルであります
離散非連続の画像データ:
①第1差分△F(X)= F(X + 1)-f(x)は
②二次差分△2F(X)=△F(X + 1) - △F(X)= F(X + 2)+ F(X)(X + 1)-f
(フィルタとして使用される)共通の演算子のステップ:一般的な方向は、X、Y、45度、135度を含みます
二次勾配演算子(一次よりも高いエッジ位置決め精度):
①ラプラシアン(1D X方向のみ、2Dは、xプラスy方向である):ノイズに非常に敏感
②LoGオペレータ(ガウシアンのラプラシアン):二次元ガウシアンラプラシアン(メキシカンハット)
2.エッジ検出
エッジ:グレー値画像急変領域
エッジ検出:ローカル最大勾配方向を求めると
エッジタイプ:
边缘检测标准:①尽可能多标识实际边缘 ②标出的边缘与实际边缘尽可能接近 ③噪声不应被标为边缘
边缘检测步骤:①图像平滑(有效减少噪声影响) ②边缘增强 ③边缘定位
Canny边缘检测步骤:①降噪(如高斯滤波)
②计算图像梯度(Prewitt或Sobel算子) 并去掉|G|小于某个阈值的点,对每个点计算梯度方向
③非极大值抑制:将梯度方向量化成4个基本方向(0,90,45,135),检测当前点是否为局部极大值(当前梯度值是否比梯度方向上两个近邻梯度值都大),不是则去掉
④双阈值+边缘跟踪:设置两个阈值,高于上界的为强边界,低于下界的不是边界,两者之间的为弱边界。与强边界相连的可作边界,其他边界被抑制
五、几何运算
1.尺度缩放
尺度缩放:将图片延展或压缩来放大缩小,对输出图像每个点分配数值,即输入图像对应位置的值,没有对应位置时需要插值
插值:①最近邻插值 ②双线性插值
双线性插值:周围四点按距离的倒数加权平均
2.旋转
将(x1,y2)绕(x0,y0)旋转θ
3.反射
图像以x0为中心反射
4.平移
5.仿射变换
仿射变换指一个空间向量进行一次线性变换并接一个平移成为另一个空间向量,本质上是旋转、反射、平移的结合(旋转并非上面的标准情况旋转,相当于换坐标系)
6.透视变换
形状位置任意改
六、色彩
1.色彩基础知识
可见光波长400nm~700nm
色彩三要素:
①色相:由主波长决定
②饱和度:主波长的比例决定
③明度:色彩的明亮程度,由光亮多少决定(RGB中按305911公式计算明度)
CIE xyY色彩模型:xy描述色相、饱和度,Y描述强度
2.色彩空间
对颜色定量描述的数值空间
常用色彩空间:RGB(显示),HSV(直观),Lab(均匀感知),CMY(印刷),YCbCr(数字电视)
HSV色彩空间:Hue色相,Saturation饱和度,Value明度,与RGB可用公式换算
CIE Lab色彩空间:L亮度,ab为颜色对立维度(两个颜色)
颜色直方图:描述不同色彩在整幅图像占比,RGB三个图分别为对应颜色不同明度像素数(左边明度高)
3.色彩图像处理
一个像素点变为有三个数值的向量
伽马校正:曲线图横纵坐标为输入和输出的幂指数,用于补偿人眼对自然亮度的非线性感知(实质上是一个非线性映射)
色彩增强:通过分通道的直方图平均
彩色图像平滑:对色彩向量各个值领域分别平均
4.伪色彩
伪色彩处理:通过对不同灰度级赋予不同的色彩,给灰度图分配色彩以增加辨识度
七、色彩特征
1.色彩直方图
描述特定颜色在图像中出现的概率
色彩量化:将RGB值按区间归总到几个值(可将图像改为绘画风)
灰度量化:将RGB数值按公式计算变为灰度值
2.色彩一致区域
一致区域:区域内相连(斜着也算),像素同属一种颜色且个数≥τ
(可以先色彩量化再算区域)
3.色彩矩
描述色彩分布的统计特征,用RGB值计算
八、纹理特征
纹理是图像颜色与密度的空间分布的描述
1.基于空间域的纹理特征
①灰度共生矩阵GLCM:定义方向θ、步距d、阶数N(下例中θ=0,d=1,N=8)
灰度值域常为256,但N=256时矩阵稀疏,可先做灰度量化降维
基于GLCM的纹理特征:
②边缘直方图描述子EHD:x, y, 45度, 135度一阶梯度算子
③局部二值模式LBP:中心点灰度值与临近灰度值比大小,定义中心点到近邻距离R,近邻个数P(下例中R=1,P=8)
2.基于频率域的纹理特征
①颜色纹理矩CTM
求像素近邻离散傅里叶变换DFT系数(基于相似纹理有相似DFT系数的假设)
F(k)各个fn对应的系数填入滤波器对应位置,取k∈[0,4],其中k=1,2,3时有虚部,获得共8个滤波器,各滤波器计算相应均值及方差,得16维特征,RGB或HSV时48维
九、图像分割
将图像细分为多个图像子区域
1.二值化
给定一个阈值,大于阈值的设为灰度极大值,小于阈值的设为灰度极小值(实质是二分类问题)
大津二值化:找一个阈值使类内灰度值加权方差最小化(像素数作为权),等价于最大化类间方差
2.K-means聚类
k个类中数据点到类中心mi 距离的平方误差最小
自适应聚类:①选距离最远两个像素点作初始中心 ②将各像素点分配到最近的类 ③计算类中心间平均距离q ④对每个类Ci找距离类中心mi 最远的像素点p,若p到m距离d>q/2则令p为新中心,返回步骤2
3.区域生长
选取一个种子像素作为起点,设置生长规则(满足规则的纳入区域),按4领域或8邻域生长至没有符合规则的像素为止,从而生成有相似性质的区域
4.基于图像分割的Felzenszwalb算法
将图片看作以像素为顶点的8邻域连通图,相邻像素点之间不相似度(如RGB欧式距离)为边权重,属于同一个区域的像素被一个最小生成树覆盖
操作实例:①对图像RGB三个通道分别高斯平滑 ②对每个像素点计算8邻域权重(RGB欧式距离) ③将所有边按权重大小排序 ④对任一顶点分别属于两个区域Ci Cj 的边ek ,若ek同时小于两个区域内的最大边则合并两个区域 ⑤合并面积过小的区域
5.Hough直线检测
数据空间与参数空间:对y=ax+b,前者xy为轴,后者ab为轴,数据空间的直线对应参数空间中一点(参数空间可转为极坐标)
给定形状的类型(直线、圆等)后,算法决定物体形状
霍夫变换(直线):①边缘检测得出一些边缘点 ②过每个边缘点,有无数个ab组合的直线经过,在参数空间可画一个曲线 ③对所有边缘点的参数空间曲线,取有最多曲线经过的点为最终参数结果
十、形态学运算
1.结构元素
结构元素:用于检测图像形状的特殊邻域运算模板
对原图像的像素点集中每个点代入结构元素的中心点,若结构元素完全包含在原集中则保留
集合间空间关系:包含(fit),击中(hit,即相交不包含),未击中(miss,即不相交)
2.形态学运算基本操作
①腐蚀运算:保留结构元素包含于原图像的所有部分(消除边界点,向内部收缩,可消除小而无意义的物体)
②膨胀运算:保留结构元素包含于或击中原图像的所有部分(将物体接触的背景合并,向外扩张,可填补物体内空洞)
※两个运算间存在对偶关系:(AC表示A的补集,B为结构元素)
③开运算:先腐蚀后膨胀(可消除小物体,平滑大物体边界且不明显改变面积)
④闭运算:先膨胀后腐蚀(用于填充物体内细小空洞,连接邻近物体,平滑边界并不明显改变面积)
※做过开运算后再做开运算对结果没有影响,闭运算同
两运算间有对偶关系:
⑤击中-未击中变换HMT:使用两个结构元素分别对物体、物体的补集进行腐蚀运算,取两个结果并集的补集,得到物体边缘(两个结构元素分别为物体和物体的补集时可用于物体检测)
※形态学运算可用于降噪,空洞填补和边界提取
十一、局部特征
1.Harris角点检测器
小滑窗进行检测,滑窗在各点向周围各方向移动,一般移动无变化,遇边时沿边方向移动时无变化,遇角时各方向均有变化。
※R对旋转不敏感(滑窗在角上时R不随滑窗旋转改变),对图像大小不敏感,对图像密度部分敏感
2.SIFT算法(尺度不变特征变换)
https://www.cnblogs.com/sonicmlj/p/7648068.html
用于提取部分特征描述子
步骤:①提取图像对尺度缩放和旋转不敏感的兴趣点(对每个点按不同σ作高斯模糊得多层,,相邻两层相减得高斯差分金字塔DOG,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较确保找出极值点)
②根据稳定程度对兴趣点筛选得关键点(去除低对比度点和边缘相应点)
③根据梯度方向给关键点分配方向(梯度计算)
④关键点特征描述,通过局部梯度计算得128维特征向量
词袋模型(BoW)
https://www.cnblogs.com/jermmyhsu/p/8195727.html
对所有图片的所有SIFT关键点进行k-means聚类,再统计每个图片各类关键点个数,以k维向量(直方图)标识每张图片
十二、图像检索
1.基于文本图像检索
输入文本,输出图像,对高视觉度图片效果好(名词性的“马”“车”等)
2.基于内容图像检索
输入图像,输出图像
查询图像特征提取→特征空间相似性度量→搜索结果 (结构存在语义鸿沟,即人通过事物对象判断相似,而非低层视觉特征)
3.基于概念图像检索
使用机器学习的方法,将查询图片标识语义类别并输出同类结果
跨媒体搜索:对文本、图像分别配映射矩阵映射到同一隐空间