圖像處理知識總結

傳統圖像處理部分

圖像處理基礎知識

彩色圖像、灰度圖像、二值圖像和索引圖像區別?

  • 彩色圖像:RGB圖像。
  • 灰度圖像:0-255像素值。二值圖像:0和1,用於掩膜圖像。
  • 索引圖像:在灰度圖像中,自定義調色板,自定義輸出256種顏色值。

常用的圖像空間有哪些?

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV色彩空間(顏色模型)

  • RGB顏色空間是算法處理中應用最多的顏色空間。
  • HSI顏色空間,色調(Hue)、色飽和度(Saturation或Chroma)和亮度(Intensity或Brightness)   HSV顏色空間,V(value)明度
  • YUV,(YCrCb):分爲三個分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。YUV 4:4:4採樣,每一個Y對應一組UV分量。YUV 4:2:2採樣,每兩個Y共用一組UV分量。 YUV 4:2:0採樣,每四個Y共用一組UV分量。

圖像的像素數與分辨率有什麼區別?

  • 像素數爲圖像實際組成的像素的個數,像素是沒有固定寬度和高度的,是一個感光單元。
  • 分辨率的單位爲 像素/英寸(1英寸(inch)=2.54釐米(cm)),這裏指的不是面積,而是對角線的長度,即dpi、ppi。分辨率也稱之爲點密度,分辨率越高,看的越細膩。、

視頻幀播放速度的單位?

PAL制式是——25fps,NTSC是——30fps。

圖像預處理

圖像增強:平滑--去噪,梯度--銳化

圖像信息提取、檢測:顏色、幾何(邊緣、點)、紋理、局部

敘述Gabor濾波器原理?

          使用一個三角函數(如正弦函數)與一個高斯函數疊加我們就得到了一個Gabor濾波器。Gabor濾波器可以抽取空間局部頻度特徵,是一種有效的紋理檢測工具。

附:圖像的空域是指二維座標系上的操作,頻域指的是圖像經過傅里葉變換後的頻譜。在頻率域中,高頻分量表示圖像中灰度變換比較快的那些地方,比如物體的邊緣就是灰度的突然變化,所以物體邊緣就是高頻分量。而物體內部比較平坦的區域,灰度基本沒有變化,對應的就是低頻分量。比如低通濾波只讓低頻分量通過,往往就是使圖像模糊,因爲邊緣信息被去除了。高頻對應圖像細節,低頻對應圖像大致輪廓。

椒鹽噪聲用什麼濾波處理比較有效?

椒鹽噪聲:也稱爲脈衝噪聲。在圖像中,它是一種隨機出現的白點或者黑點,可能是亮的區域有黑色像素或是在暗的區域有白色像素(或是兩者皆有)。濾除椒鹽噪聲比較有效的方法是對信號進行中值濾波處理。

常用插值方法

  • 最近鄰插值:
  • 雙線性插值:
  • 立方卷積插值:

常用濾波器

均值濾波:均值濾波是一種線性低通濾波器,均值濾波是取領域像素值的平均作爲該像素的新值。

中值濾波:中指濾波是一種非線性的平滑濾波器,中值濾波是將窗口內的所有像素值按大到小排序後,取中間值作爲中心像素的新值。

最大最小值濾波:最大最小值濾波是一種比較保守的圖像處理手段,與中值濾波類似,首先要排序周圍像素和中心像素值,然後將中心像素值與最小和最大像素值比較,如果比最小值小,則替換中心像素爲最小值,如果中心像素比最大值大,則替換中心像素爲最大值。

高斯濾波:模擬人眼,關注中心區域,有效去除高斯噪聲,離中心越遠,感受精度越模糊。

機器學習部分

特徵算子

常用邊緣檢測有哪些算子,各有什麼特點和優缺點?

Prewitt算子     優點:一階微分算子,平均濾波,對低噪聲的圖像有較好的檢測效果。缺點:抗噪性差。

Sobel算子       優點:一階微分算子,加權平均濾波,對低噪聲的圖像有較好的檢測效果。缺點:抗噪性差。

Roberts算子    優點:一種利用局部差分算子尋找邊緣的算子,定位比較精確。缺點:對噪聲敏感,無法抑制噪聲的影響。

Laplacian算子  優點:各向同性,二階微分,精確定位邊緣位置所在。缺點:無法感知邊緣強度。只適用於無噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測邊緣之前需要先進行低通濾波。

Laplacian of Gaussian(LoG)算子:先對圖像做高斯濾波,再做Laplacian算子檢測。

Canny算子:一個具有濾波,增強,檢測的多階段的優化算子。先利用高斯平滑濾波器來平滑圖像以除去噪聲,採用一階偏導的有限差分來計算梯度幅值和方向,然後再進行非極大值抑制。

SIFT/SURF LDA/PCA

SIFT/SURF爲了實現不同圖像中相同場景的匹配,主要包括4個步驟:

  • 1. 尺度空間的建立(之所以採用尺度空間,是爲了應對尺度不變性);
  • 2. 特徵點的提取;
  • 3. 利用特徵點周圍鄰域的信息生成特徵描述子;
  • 4. 特徵點匹配。

SIFT具體步驟實現

1.生成高斯差分金字塔(DOG金字塔),尺度空間構建

  • 通過對原始圖像進行尺度變換,獲得圖像多尺度下的尺度空間表示序列
  • 對這些序列進行尺度空間主輪廓的提取,並以該主輪廓作爲一種特徵向量,實現邊緣、角點檢測不同分辨率上的關鍵點提取等
  • 尺度空間構建的基礎是DOG金字塔,DOG金字塔構建的基礎是高斯金字塔

2.空間極值點檢測(關鍵點的初步查探)

  •     爲了尋找DOG函數的極值點,每一個像素點要和它所有的相鄰點比較,看其是否比它的圖像域和尺度空間域的相鄰點大或者小
  •     在二維圖像空間,中心點與它3*3鄰域內的8個點做比較,在同一組內的尺度空間上,中心點和上下相鄰的兩層圖像的2*9個點作比較,如此可以保證檢測到的關鍵點在尺度空間和二維圖像空間上都是局部極值點。

3.穩定關鍵點的精確定位

  • DOG值對噪聲和邊緣比較敏感,所以在第2步的尺度空間中檢測到的局部極值點還要經過進一步的篩選,去除不穩定和錯誤檢測出的極值點,另一點就是在構建高斯金字塔過程中採用了下采樣的圖像,在下采樣圖像中提取的極值點對應在原始圖像中的確切位置,也是要在本步驟中解決的問題。

4.穩定關鍵點方向信息分配

  • 穩定的極值點是在不同尺度空間下提取的,這保證了關鍵點的尺度不變性。爲關鍵點分配方向信息所要解決的問題是使得關鍵點對圖像角度和旋轉具有不變性。方向的分配是通過求每個極值點的梯度來實現的。
  • 分配給關鍵點的方向並不直接是關鍵點的梯度方向,而是按照一種梯度方向直方圖的方式給出的。
  • 具體的方法是:計算以關鍵點爲中心的鄰域內所有點的梯度方向,當然梯度方向一定是在0~360°範圍內,對這些梯度方向歸一化到36個方向內,每個方向代表了10°的範圍。然後累計落到每個方向內的關鍵點個數,以此生成梯度方向直方圖。

5.關鍵點描述

  • 對關鍵點的描述是後續實現匹配的關鍵步驟,描述其實就是一種以數學方式定義關鍵的過程。描述子不但包含關鍵點,也包括關鍵點周圍對其有貢獻的鄰域點。
  • 描述的思路是:對關鍵點周圍像素區域分塊,計算塊內梯度直方圖,生成具有獨特性的向量,這個向量是該區域圖像信息的一種抽象表述。
  • 如下圖,對於2*2塊,每塊的所有像素點做高斯加權,每塊最終取8個方向,即可以生成2*2*8維度的向量,以這2*2*8維向量作爲中心關鍵點的數學描述。
  • David G.Lowed的實驗結果表明:對每個關鍵點,採用4*4*8共128維向量的描述子進項關鍵點表徵,綜合效果最佳:

6.特徵點匹配

特徵點的匹配是通過計算兩組特徵點的128維的關鍵點的歐式距離實現的。歐式距離越小,則相似度越高,當歐式距離小於設定的閾值時,可以判定爲匹配成功。

線性判別分析(LDA), 主成分分析(PCA)

        LDA和PCA最終的表現都是解一個矩陣特徵值的問題,分類的目標是,使得類別內的點距離越近越好(集中),類別間的點越遠越好。LDA的全稱是Linear Discriminant Analysis(線性判別分析),是一種supervised learning。

        LDA的原理是,將帶上標籤的數據(點),通過投影的方法,投影到維度更低的空間中,使得投影后的點,會形成按類別區分,一簇一簇的情況,相同類別的點,將會在投影后的空間中更接近。要說明白LDA,首先得弄明白線性分類器(Linear Classifier):因爲LDA是一種線性分類器。對於K-分類的一個分類問題,會有K個線性函數 y = wx+b.

         當滿足條件:對於所有的j,都有Yk > Yj,的時候,我們就說x屬於類別k。對於每一個分類,都有一個公式去算一個分值,在所有的公式得到的分值中,找一個最大的,就是所屬的分類了。

y = wx+b實際上就是一種投影,是將一個高維的點投影到一條高維的直線上,LDA最求的目標是,給出一個標註了類別的數據集,投影到了一條直線之後,能夠使得點儘量的按類別區分開
 

       主成分分析(PCA)與LDA有着非常近似的意思,LDA的輸入數據是帶標籤的,而PCA的輸入數據是不帶標籤的,所以PCA是一種unsupervised learning。PCA更像是一個預處理的方法,它可以將原本的數據降低維度,而使得降低了維度的數據之間的方差最大。它的目標是通過某種線性投影,將高維的數據映射到低維的空間中表示,並期望在所投影的維度上數據的方差最大,以此使用較少的數據維度,同時保留住較多的原數據點的特性。

       通俗的理解,如果把所有的點都映射到一起,那麼幾乎所有的信息(如點和點之間的距離關係)都丟失了,而如果映射後方差儘可能的大,那麼數據點則會分散開來,以此來保留更多的信息。可以證明,PCA是丟失原始數據信息最少的一種線性降維方式。(實際上就是最接近原始數據,但是PCA並不試圖去探索數據內在結構),與PCA保持數據信息不同,LDA是爲了使得降維後的數據點儘可能地容易被區分!

特徵點匹配應用問題

如下圖所示,請以準確快速實現配準爲目標,設計算法,讓兩圖中對應的特徵點(至少一部分特徵點)配準(即精準地地找出對應點之間對應的座標關係值)。

參考答案

之前是用角點檢測,後來採用SIFT算子,Sift算法的實質是在不同的尺度空間上查找關鍵點(特徵點),計算關鍵點的大小、方向、尺度信息,利用這些信息組成關鍵點對特徵點進行描述的問題。

  •    1 生成高斯差分金字塔(DOG金字塔),尺度空間構建
  •    2 空間極值點檢測(關鍵點的初步查探)
  •    3 穩定關鍵點的精確定位
  •    4 穩定關鍵點方向信息分配
  •    5 關鍵點描述(128維向量算子)
  •    6 特徵點匹配(歐氏距離)
     

極值點鄰域篩選

對於一般應用圖像中,景物可能存在任意特徵(如折線,弧形、亮度極值、色調等),請設計合適的算法,找到圖像中可以作爲明顯特徵點的灰度的極值點所在的鄰域。以準確快速實現極值點鄰域篩選爲目標,設計算法。用流程圖表達)。

參考答案:也使用shif特性

特徵離散化的好處

  1. 增減特徵較爲方便,易於迭代。
  2. 離散化後運算速度快,存儲方便。
  3. 對髒數據的魯棒性較強。
  4. 離散化一定程度簡化了模型,可以防止過擬合。

GMM的基本原理和應用

        高斯混合模型(Gaussian Mixture Model, GMM)將一個事物分解爲若干的基於高斯概率密度函數(正態分佈曲線)形成的模型。高斯混合模型(GMM,Gaussian mixture model)是建模最爲成功的方法之一,同時GMM可以用在監控視頻索引與檢索。

用於動目標檢測中的背景建模。

  • 混合高斯模型使用K(++基本爲3到5個++) 個高斯模型來表徵圖像中各個像素點的特徵。
  • 在新一幀圖像獲得後更新混合高斯模型,用當前圖像中的每個像素點與混合高斯模型匹配,如果成功則判定該點爲背景點, 否則爲前景點。
  • 通觀整個高斯模型,他主要是有++方差++和++均值++兩個參數決定,,對均值和方差的學習,採取不同的學習機制,將直接影響到模型的穩定性、精確性和收斂性。
  • 由於我們是對運動目標的背景提取建模,因此需要對高斯模型中方差和均值兩個參數實時更新。
  • 爲提高模型的學習能力,改進方法對均值和方差的更新採用不同的學習率
  • 爲提高在繁忙的場景下,大而慢的運動目標的檢測效果,引入權值均值的概念,建立背景圖像並實時更新,然後結合權值、權值均值和背景圖像對像素點進行前景和背景的分類。
     

分類算法

常用的分類器有哪些,並簡述其原理?

線性分類器:Logistic迴歸  y=sigmoid(wx+b )2分類,softmax regression,對於logistic 迴歸的擴展,爲多分類算法,應用梯度下降法找到最優解。

SVM:選定特徵, SVM算法輸出一個最優化的分隔超平面(分類面)。訓練好的模型完全依賴於支持向量。

KNN:K最近鄰,判斷圖像與各個類別的距離。

BPNN:全連接網絡,計算量巨大

CNN:卷積神經網絡,用神經網絡訓練模型

遷移學習,利用別人訓練好的參數,自定義網絡

logistic regression (LR)與線性迴歸(linear regression)的對比

LR的優化函數爲似然函數,經典線性迴歸的優化函數爲最小二乘。

LR將預測範圍縮小到了[0,1],而經典線性迴歸的預測範圍爲整個實數。

LR與SVM的對比

相同:都是分類模型。都處理二分類。都可以添加正則項。

區別:LR是參數模型,SVM是非參數模型;

          LR採用logistical loss,SVM採用hinge loss;

         SVM之所以稱之爲支持向量,是因爲SVM只考慮了與分類最相關的少數點來學習分類器。

KNN的K是如何選取的?

        K值較小意味着模型會越複雜,容易發生過擬合。K值過大會使模型過於簡單,使得預測發生錯誤。實際使用中K一般取較小的數字。

什麼是SVM?

       是一個二分分類器,找尋數據之間間隔最大的線性分類器。其學習策略是使分隔間隔最大化。對於線性可分的數據,SVM構造一個分隔面。對於線性不可分的數據,SVM採用核函數將低維空間的問題映射到了高維空間,從而線性可分。常用核函數有多項式核函數、高斯核函數、線性核函數。爲了應對維度爆炸的情形,核函數事先在低維空間上進行計算,再將分類的實際效果展現在高維上。SVM的損失函數叫做Hinge(hɪndʒ) Loss,形式爲max(0,1-y*a),y爲真實值+-1,a爲預測值,介於-1到1之間。

簡述BP神經網絡

BP(back propagation)神經網絡,輸入X,通過隱藏節點的非線性變換後,輸出信號Y,通過誤差分析,來調整隱藏節點的W和b。

AdaBoost的基本原理? 

AdaBoost是一個廣泛使用的BOOSTING算法,其中訓練集上依次訓練弱分類器,每次下一個弱分類器是在訓練樣本的不同權重集合上訓練。權重是由每個樣本分類的難度確定的。分類的難度是通過分類器的輸出估計的。 

聚類算法 

簡述你熟悉的聚類算法並說明其優缺點?

K均值聚類(K-meansClustering)

將輸入數據分到K個類中。K均值是通過循環更新類中心的初始估計值來實現的。優勢是實現起來很簡單,是並行化的。主要缺陷是,類的數目需要提前確定。

主要分三步:

  • 1. 隨機選取k個聚類質心點(cluster centroids)
  • 2. 對於每一個樣例i,計算其應該屬於的類
  • 3. 對於每一個類j,重新計算該類的質心(每個類中所有數的平均值)
  • 1. 重複下面過程直到收斂

層次聚類

        層次聚類(或者叫做凝聚聚類)是另一個簡單但是強大的聚類算法。其思想是基於成對距離建立一棵相似度樹。該算法首先分組成爲兩個最近的對象(基於特徵向量之間的距離),並且在一棵有着兩個對象作爲孩子的樹中創建一個平均結點。然後在餘下的結點中找到一個最近的pair,並且也包含任何平均節點,等等。在每一個結點,兩個孩子之間的距離也會被存儲。簇然後可以通過遍歷這棵樹並在距離比某個閾值小以至於決定聚類的大小的結點處停止來被提取出來。

層次聚類有幾個優勢。比如,樹結構可以被用來可視化關係,並且顯示簇是如何關聯起來的。一個好的特徵向量將得到樹中好的分離。另一個優勢是樹可以在不同的簇閾值中被重用,而不需要重新計算樹。缺點是需要選擇一個閾值如果實際的簇需要的話。

譜聚類

         對於n個元素的相似度矩陣(或者叫affinity matrix, 有時也叫距離矩陣)是一個有着成對相似度分數的n*n矩陣。譜聚類的這個名稱是從相似度矩陣構造的矩陣的譜的使用得來。這個矩陣的特徵向量被用來降維,然後再聚類。

       譜聚類方法的其中一個優勢是唯一的輸入就是這個矩陣,並且可以被你可以想到的任何相似度度量構造出來。像K均值和層次聚類這樣的方法計算特徵向量的平均值,這個限制了特徵(或者是描述符)對向量(爲了能夠計算平均值)。有了譜方法,不再需要任何類型的特徵向量,只有“距離”或者“相似度”。

Mean Shift 聚類算法

  • 在未被標記的數據點中隨機選擇一個點作爲中心center;
  • 找出離center距離在bandwidth之內的所有點,記做集合M,認爲這些點屬於簇c。同時,把這些求內點屬於這個類的概率加1,這個參數將用於最後步驟的分類
  •  以center爲中心點,計算從center開始到集合M中每個元素的向量,將這些向量相加,得到向量shift。
  • center = center+shift。即center沿着shift的方向移動,移動距離是||shift||。
  •  重複步驟2、3、4,直到shift的大小很小(就是迭代到收斂),記住此時的center。注意,這個迭代過程中遇到的點都應該歸類到簇c。
  • 如果收斂時當前簇c的center與其它已經存在的簇c2中心的距離小於閾值,那麼把c2和c合併。否則,把c作爲新的聚類,增加1類。
  • 重複1、2、3、4、5直到所有的點都被標記訪問。
  • 分類:根據每個類,對每個點的訪問頻率,取訪問頻率最大的那個類,作爲當前點集的所屬類。

     簡單的說,mean shift就是沿着密度上升的方向尋找同屬一個簇的數據點。
 

歐式距離和曼哈頓距離的區別

  • 歐式距離爲最常見的2點之間的距離,爲2點之間的直線距離。
  • 曼哈頓距離又稱爲L1距離或者城市區塊距離,是兩個點的1範數距離。

圖像分割
Graph-cut的基本原理和應用?

         Graph cuts是一種十分有用和流行的能量優化算法,在計算機視覺領域普遍應用於前背景分割(Image segmentation)、立體視覺(stereo vision)、摳圖(Image matting)等。利用圖,將目標和背景進行分割。

圖像融合,鑲嵌

       已知兩幅拼接好的圖像,兩幅圖像在幾何關係配準之後,但兩圖之間存在明顯灰度差別跳變,請設計一個算法對圖像進行處理,讓兩幅圖之間的灰度看不出跳變,形成自然過渡。(可以不考慮兩圖之間的黑圖部分)?

       答:影像融合是指高分辨率灰度圖像和低分辨率彩色圖像融合得到具有高分辨率的彩色圖像。該算法稱之爲圖像鑲嵌。簡單的做法可以是尋找兩幅影像的鑲嵌線,鑲嵌線是指兩幅影像公共區域區別最小的一條線,可以利用相關係數法判斷得到,然後根據鑲嵌線上兩幅影像的灰度差異對右影像進行反差調整,最後拼接。
https://blog.csdn.net/QiangLi_strong/article/details/80760889

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章