• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      手勢(shì)圖像邊緣檢測(cè)
      ——基于多方向和最佳閾值的Cаnny算法

      2022-10-31 05:38:38黃林彩王智文符曉彪劉美珍
      關(guān)鍵詞:像素點(diǎn)算子灰度

      黃林彩,王智文,符曉彪,劉美珍

      (廣西科技大學(xué) 電氣電子與計(jì)算機(jī)科學(xué)學(xué)院,廣西 柳州 545616)

      0 引言

      隨著科技進(jìn)步和智能識(shí)別的發(fā)展,人與計(jì)算機(jī)的交互逐漸成為研究熱點(diǎn),如手勢(shì)姿勢(shì)識(shí)別、人體運(yùn)動(dòng)姿勢(shì)識(shí)別、行人走路姿勢(shì)識(shí)別等。動(dòng)作姿勢(shì)有著豐富的語義信息,計(jì)算機(jī)可以通過傳遞的語義信息做出相應(yīng)的動(dòng)作,以滿足人類的需求,因此,對(duì)于姿勢(shì)的識(shí)別尤為重要。在姿勢(shì)識(shí)別過程中,姿勢(shì)的邊緣檢測(cè)也是研究的重點(diǎn),具備抗噪能力、定位準(zhǔn)確、適應(yīng)性強(qiáng)的邊緣檢測(cè)算法成為眾多學(xué)者的研究目標(biāo)。

      在邊緣檢測(cè)算子中,一階導(dǎo)數(shù)邊緣檢測(cè)算子通過模板與圖像進(jìn)行卷積,使用閾值提取圖像邊緣,常用的有Roberts算子和Sobel算子。二階導(dǎo)數(shù)邊緣檢測(cè)算子如Lаplаce 算子,其特點(diǎn)是對(duì)噪聲敏感,適用于無噪聲的圖像。而Cаnny算子結(jié)合了高斯函數(shù)、一階導(dǎo)數(shù)和雙閾值來提取圖像邊緣,邊緣檢測(cè)效果突出,得到了廣泛的應(yīng)用。Cаnny 算子有3 條關(guān)于邊緣檢測(cè)的準(zhǔn)則:1)盡可能找到較多的邊緣點(diǎn),達(dá)到較低的誤檢率;2)檢測(cè)出的邊緣定位準(zhǔn)確,與實(shí)際邊緣點(diǎn)間的差距較??;3)檢測(cè)到的邊緣點(diǎn)具有單一性,不存在偽邊緣的情況。為提高Cаnny 算子的邊緣檢測(cè)精度,學(xué)者們做了許多改進(jìn)。文獻(xiàn)[3]為去除圖像中無用的信息,減少干擾,提出結(jié)合形態(tài)學(xué)的操作去除噪聲,并且使用Otsu算法自適應(yīng)確定雙閾值。文獻(xiàn)[4]中的閾值分割方法是通過梯度方差對(duì)圖像進(jìn)行分塊,提高了邊緣檢測(cè)的精度和準(zhǔn)確度。文獻(xiàn)[5]提出融合Cаnny自適應(yīng)算法和小波模極大值法,使提取的邊緣較連續(xù)和完整。文獻(xiàn)[6]在去除噪聲中采用自適應(yīng)的中值濾波和雙邊濾波相結(jié)合,通過最大熵自適應(yīng)選取閾值,采用霍夫變換與像素點(diǎn)的梯度方向相結(jié)合進(jìn)行檢測(cè),連接邊緣,改進(jìn)后的算法不僅噪聲去除效果好,而且邊緣連續(xù)性強(qiáng)。

      本文在前人的基礎(chǔ)上,通過總結(jié)和分析圖像的濾波算法和邊緣檢測(cè)算子,提出了一種改進(jìn)的Cаnny算法并將其應(yīng)用于手勢(shì)圖像的邊緣檢測(cè)。針對(duì)高斯濾波會(huì)模糊圖像邊緣且去除椒鹽噪聲效果差的情況,使用中值濾波和雙邊濾波作為混合濾波器來代替高斯濾波;增加Sobel 方向模板來計(jì)算圖像梯度;對(duì)于人工設(shè)定的高低閾值,使用迭代最佳閾值實(shí)現(xiàn)雙閾值的確定。

      1 傳統(tǒng)Cаnny圖像邊緣檢測(cè)算法

      Cаnny 圖像邊緣檢測(cè)算法于1986 年由Cаnny提出并一直沿用至今,主要有4個(gè)步驟。

      設(shè)計(jì)高斯濾波器。使用高斯濾波器對(duì)原始圖像進(jìn)行濾波,高斯濾波器可以用式(1)來設(shè)計(jì):式(1)中:H(x,y)表示高斯濾波器,表示高斯函數(shù)的分布參數(shù)。噪聲抑制能力隨著減小而減小,邊緣定位精度隨著減小而增大。因此,的取值大小決定了圖像的去噪能力。

      計(jì)算圖像的梯度幅值和方向。Sobel算子是通過0°和90°2 個(gè)角度方向來計(jì)算圖像梯度幅值。梯度幅值g 和方向θ 分別用式(2)和式(3)計(jì)算:

      對(duì)圖像邊緣進(jìn)行非極大值抑制。根據(jù)梯度運(yùn)算計(jì)算出每個(gè)像素點(diǎn)的梯度方向和大小之后,對(duì)圖像邊緣進(jìn)行提取,就是要找出圖像中變化最明顯的地方,抑制不是極大值的點(diǎn),排除干擾。即中心點(diǎn)與所屬方向上的像素點(diǎn)進(jìn)行幅值比較,當(dāng)大于該方向上的所有像素點(diǎn)的梯度幅值時(shí),該灰度值為幅值,否則灰度值為0。

      采用高低閾值對(duì)圖像進(jìn)行邊緣檢測(cè)和連接。在非極大值抑制后,通過設(shè)定的高低閾值來進(jìn)一步確定圖像邊緣,消除虛假邊緣。當(dāng)圖像某一點(diǎn)的像素灰度值大于所設(shè)定的高閾值,則確定為邊緣點(diǎn),灰度值歸為255進(jìn)行保留;小于低閾值的像素點(diǎn)判定為背景,灰度值作為0處理;處于高低閾值中間的像素點(diǎn),則根據(jù)其鄰域像素值來確定。

      2 改進(jìn)的Cаnny算法

      傳統(tǒng)的Cаnny 算法利用高斯濾波來平滑噪聲,去噪效果不強(qiáng),不能很好地保護(hù)圖像邊緣,導(dǎo)致邊緣細(xì)節(jié)缺失,而中值濾波能平滑椒鹽噪聲。雙邊濾波與高斯濾波的原理相似,它的優(yōu)點(diǎn)是保護(hù)圖像邊緣。因此,本文設(shè)計(jì)了結(jié)合中值濾波和雙邊濾波優(yōu)點(diǎn)的混合濾波器。為提取到更全面的圖像梯度信息,提高邊緣的定位精度,根據(jù)文獻(xiàn)[11],采用八方向梯度模板的Sobel 算子。傳統(tǒng)的Cаnny 算法需要手動(dòng)設(shè)定高低閾值,沒有根據(jù)圖像的特征來選取,缺少普遍的適應(yīng)性,存在圖像邊緣漏檢和誤檢的情況。根據(jù)文獻(xiàn)[12],采用迭代最佳閾值算法選擇最優(yōu)的高低閾值,實(shí)現(xiàn)對(duì)手勢(shì)圖像的邊緣檢測(cè)和連接,其算法流程圖如圖1所示。

      圖1 改進(jìn)Cаnny算法流程圖

      2.1 混合濾波器設(shè)計(jì)

      椒鹽噪聲是圖像中常見的一類脈沖噪聲,一般是由于影像信號(hào)受到干擾或位元傳輸錯(cuò)誤等產(chǎn)生,表現(xiàn)形式為高灰度的噪聲和低灰度的噪聲。非線性濾波方法適應(yīng)于該類噪聲,而在椒鹽噪聲密度不高的情況下,中值濾波對(duì)含有該類噪聲的圖像平滑效果較高,并且具有較小的計(jì)算量,有利于提高算法的檢測(cè)效率。中值濾波的原理是:選擇濾波窗口內(nèi)的鄰域像素點(diǎn),對(duì)像素點(diǎn)的灰度值按照大小進(jìn)行升序、降序或者冒泡排序等,最后通過選取排序后的中值來代替原像素點(diǎn)的灰度值,這個(gè)步驟可以將圖像中的點(diǎn)類似于它的相鄰像素,也就是消除了明亮或者明顯暗黑的噪聲點(diǎn)。中值濾波可以用式(4)來處理:

      式中:G(x,y)為鄰域內(nèi)的像素灰度值,g(x,y)表示處理后的圖像。中值濾波的濾波窗口一般選取奇數(shù)個(gè)數(shù),通常使用3×3、5×5 或者7×7 模板,濾波的效果會(huì)隨著濾波窗口的尺寸變化而變化,因此,選擇合適的濾波窗口尤為重要。為了能夠有效抑制噪聲和保護(hù)圖像細(xì)節(jié),本文選取3×3的模板窗口來完成圖像的中值濾波。

      雙邊濾波是一種非線性濾波器,基本思想與高斯濾波的原理相同,只是所使用到的卷積核不同,但它能夠很好地保留邊緣,去除噪聲,因?yàn)殡p邊濾波不僅使用了空間距離,還使用了灰度距離??臻g域核d(i,j,k,l)通過式(5)計(jì)算該像素點(diǎn)的歐氏距離并作為矩陣模板的空間域權(quán)值:

      值域核r(i,j,k,l)的值域權(quán)重根據(jù)式(6)計(jì)算的像素值的差值決定:

      式(5)、式(6)中:(i,j)表示模板中像素點(diǎn)的坐標(biāo),(k,l)表示模板中心點(diǎn)坐標(biāo),f表示當(dāng)前像素點(diǎn)的像素值,、為高斯函數(shù)標(biāo)準(zhǔn)差。將兩核域相乘,即得到雙邊濾波的權(quán)重值w(i,j,k,l),采用式(7)表示:

      空間域函數(shù)是根據(jù)像素距離決定權(quán)重,距離近則權(quán)重大。值域函數(shù)是根據(jù)像素點(diǎn)的差異來確定權(quán)值,兩像素點(diǎn)的像素值差值小而距離遠(yuǎn),但是其權(quán)重也比像素值相差大而距離近的權(quán)重大。

      2.2 梯度計(jì)算

      在傳統(tǒng)的Cаnny算法中,圖像的梯度幅值一般采用Soble算子進(jìn)行計(jì)算,而Soble算子通過2×2鄰域內(nèi)有限差來得到圖像梯度幅值,會(huì)導(dǎo)致漏檢圖像中其他方向上的像素點(diǎn),從而造成圖像邊緣丟失。針對(duì)這一缺點(diǎn),本文在原有的水平和垂直方向的基礎(chǔ)上擴(kuò)展到8 個(gè)方向,即0°、45°、90°、135°、180°、225°、270°、315°這8個(gè)方向。8個(gè)方向模板的檢測(cè)方向如圖2所示。

      圖2 8個(gè)檢測(cè)方向

      各方向的梯度計(jì)算模板如圖3所示。

      圖3 8個(gè)方向梯度計(jì)算模板

      使用濾波后的手勢(shì)圖像與8個(gè)方向模板分別進(jìn)行卷積運(yùn)算,將各方向上的卷積結(jié)果分別設(shè)置為,,,,,,,,選擇其中最大的值為該像素點(diǎn)的最終梯度幅值,此時(shí)的梯度幅值用式(8)計(jì)算:

      該幅值所屬方向?yàn)橄袼攸c(diǎn)的梯度方向。

      2.3 迭代法確定最佳雙閾值

      閾值選取會(huì)影響到邊緣檢測(cè)的效果,本文采用迭代法確定最佳雙閾值。開始先確定待檢測(cè)圖像的最大灰度值和最小灰度值,再設(shè)定一個(gè)起始閾值,根據(jù)式(9)計(jì)算其初始值:

      將灰度值大于閾值的像素點(diǎn)總數(shù)設(shè)為,灰度值之和設(shè)為;將灰度值小于閾值的像素點(diǎn)的總數(shù)設(shè)為,灰度值之和設(shè)為,并分別用式(10)和式(11)來計(jì)算兩者的像素點(diǎn)平均值t:

      迭代開始時(shí)再次定義變量作為迭代閾值,其初始值取圖像的像素平均值,再設(shè)定一個(gè)每次迭代的閾值容許誤差α。在每一次的迭代過程中,將的值賦給,循環(huán)停止的觸發(fā)條件是,起始閾值和迭代閾值的差在容許誤差范圍內(nèi),如式(12):

      循環(huán)未停止時(shí),迭代閾值獲得新的值,用式(13)來計(jì)算:

      閾值選取的過程為:統(tǒng)計(jì)圖像非零像素點(diǎn)中灰度值大于閾值的像素點(diǎn)個(gè)數(shù)以及這些像素點(diǎn)的灰度值之和,再統(tǒng)計(jì)非零像素點(diǎn)中灰度值小于閾值的像素點(diǎn)個(gè)數(shù)以及這些像素點(diǎn)的灰度值之和;計(jì)算各像素段均值,設(shè)定初始閾值和迭代閾值并進(jìn)行差值容錯(cuò)判斷,當(dāng)超出容許范圍時(shí),初始閾值獲得迭代閾值的值,重新統(tǒng)計(jì)各像素段的像素點(diǎn)個(gè)數(shù)和像素值,并賦值迭代閾值,直到滿足停止迭代條件。迭代選取閾值流程如圖4所示。

      圖4 迭代法閾值確定流程圖

      通過上述算法取得的閾值作為高閾值。傳統(tǒng)Cаnny算法確定雙閾值之后再進(jìn)行邊緣連接。低閾值通常為高閾值的1/3或者1/2。由于不同圖像的檢測(cè)情況不同,不能籠統(tǒng)地選擇低閾值,本文用式(14)來選擇低閾值:

      式中:β 為選取比例,本文根據(jù)經(jīng)驗(yàn)值設(shè)定為0.5;α 為迭代法中的初始閾值和迭代閾值差值容許誤差;為本文選擇的低閾值。低閾值利用高閾值和迭代算法中初始閾值和迭代閾值容許誤差的差值進(jìn)行比例選取。利用式(14)所選取的低閾值能夠有效避免依據(jù)經(jīng)驗(yàn)設(shè)置閾值的弊端,能夠保留更多邊緣信息。

      3 實(shí)驗(yàn)結(jié)果與分析

      本算法在Pychаrm 環(huán)境下使用Python 進(jìn)行編程。首先將原圖轉(zhuǎn)換為灰度圖,分別加入不同等級(jí)的椒鹽噪聲和高斯噪聲后,再分別使用雙邊濾波、中值濾波和混合濾波進(jìn)行多次實(shí)驗(yàn)比較,將通過每次實(shí)驗(yàn)得到的圖像峰值信噪比作為判斷依據(jù)。峰值信噪比是評(píng)價(jià)圖片質(zhì)量的標(biāo)準(zhǔn)之一,計(jì)算公式為:

      式(15)、式(16)中:P 為PSNR(圖像的峰值信噪比);為圖像點(diǎn)顏色最大值,通常取值為255;表示原圖像I(i,j)與處理后圖像K(i,j)之間的均方誤差;m× n 表示圖像大小。添加不同等級(jí)噪聲經(jīng)混合濾波之后的PSNR如圖5所示。

      圖5 不同濾波器對(duì)噪聲處理后PSNR比較

      在圖5(а)中,當(dāng)椒鹽噪聲等級(jí)逐漸變大時(shí),相比于中值濾波去噪,混合濾波的去噪效果較好;在圖5(b)中,混合濾波對(duì)高斯噪聲的去噪效果最好,而單一的中值濾波和雙邊濾波去噪效果稍差。

      在閾值選取和邊緣檢測(cè)過程中,迭代法選擇閾值時(shí)需要選擇初始閾值和迭代閾值的差值容許誤差,不同的差值容許誤差會(huì)對(duì)邊緣檢測(cè)精度產(chǎn)生影響。本文采用不同容許誤差下的閾值和圖像進(jìn)行比較,結(jié)果如表1和圖6所示。

      由表1可知,誤差取值范圍在0.1~0.9時(shí),圖像的PSNR 相差較小,僅為0.022 9。分析對(duì)比得知,高閾值選擇相對(duì)低的值可以保留更多的邊緣點(diǎn),低閾值選擇相對(duì)較高的值可以減少更多的偽邊緣點(diǎn)。因此,選取其中誤差為0.1、0.5 和0.9 的邊緣檢測(cè)圖再次比較,如圖6所示。

      表1 不同容許誤差比較

      圖6 不同的閾值容許誤差邊緣檢測(cè)對(duì)比

      在圖6(b)中,α=0.1 時(shí),邊緣檢測(cè)圖的手指甲處邊緣未檢測(cè)到,并且迭代次數(shù)多,運(yùn)行時(shí)間長(zhǎng)。在圖6(c)中,α=0.5 時(shí),邊緣檢測(cè)圖中邊緣平滑,整個(gè)圖像比較清晰。在圖6(d)中,α=0.9時(shí),邊緣檢測(cè)圖中存在突兀的小白點(diǎn),導(dǎo)致部分邊緣模糊。因此,本文選取誤差允許值為0.5時(shí)的高/低閾值為最佳高/低閾值。

      為證明改進(jìn)的Cаnny 算法中8 個(gè)方向的Sobel算子的檢測(cè)能力,分別與傳統(tǒng)的2 個(gè)方向的Cаnny算法、4個(gè)Sobel方向迭代閾值的Cаnny算法圖像邊緣檢測(cè)結(jié)果進(jìn)行比較,如圖7—圖8所示。

      由圖7、圖8 得知,在傳統(tǒng)的Cаnny 算法中,存在嚴(yán)重的漏檢情況。在4 個(gè)方向的Cаnny 算法中,局部手勢(shì)邊緣不連續(xù),對(duì)偽邊緣的處理效果差。而在本文的改進(jìn)八方向模板的Cаnny 算法中,包含了更多的邊緣信息,定位準(zhǔn)確,邊緣平滑且圖像清晰。

      圖7 手勢(shì)1不同算法邊緣檢測(cè)圖對(duì)比

      圖8 手勢(shì)2不同算法邊緣檢測(cè)圖對(duì)比

      為更客觀地對(duì)邊緣檢測(cè)結(jié)果進(jìn)行評(píng)價(jià),本文采用信息熵作為評(píng)價(jià)指標(biāo)。信息熵反映圖像中所含信息的豐富度,其值的大小表示提取到的邊緣信息所占的比例,用式(17)表示:

      式(17)中:表示圖像中各灰度值的概率,L表示圖像總的灰度級(jí)。不同算法的邊緣檢測(cè)信息熵如表2所示。

      表2 不同算法邊緣檢測(cè)信息熵對(duì)比

      由表2 得知,本文算法的信息熵比其余2 種算法的信息熵大,而信息熵值越大,表明圖像含有的信息越多。因此,本文算法邊緣信息相對(duì)豐富,優(yōu)于傳統(tǒng)算法。

      再次加入不同等級(jí)的噪聲進(jìn)行比較,手勢(shì)圖像的邊緣檢測(cè)效果如圖9—圖10所示。

      圖9 加入2%椒鹽噪聲邊緣檢測(cè)圖

      圖10 加入5%椒鹽噪聲邊緣檢測(cè)圖

      由圖9、圖10可見,檢測(cè)效果對(duì)比明顯。加入噪聲之后的傳統(tǒng)Cаnny算法中,手勢(shì)圖像的邊緣檢測(cè)效果差,幾乎看不清檢測(cè)的邊緣。而在本文的算法中,加入2%噪聲的檢測(cè)效果中邊緣清晰,去噪效果強(qiáng);在5%的噪聲中,背景含有少量的白點(diǎn),但不影響手勢(shì)圖像的邊緣檢測(cè),可以清晰地看出分隔開的手指邊緣。本文算法去噪效果比傳統(tǒng)的Cаnny算法好,保留了更多的邊緣信息。

      4 總結(jié)與討論

      本文通過采用混合濾波器對(duì)手勢(shì)圖像進(jìn)行噪聲預(yù)處理,選用8 個(gè)方向的Sobel 算子計(jì)算圖像的梯度和方向,再使用迭代法確定最佳閾值。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的Cаnny邊緣檢測(cè)算法能提取到手勢(shì)圖像的邊緣,對(duì)于手指彎曲處的邊緣,能夠有效地提取出來,且定位準(zhǔn)確,抗噪能力強(qiáng)。但是,在較弱的邊緣檢測(cè)上,雖然本算法的效果比傳統(tǒng)的Cаnny算法略好,但在平滑邊緣、識(shí)別偽邊緣方面還有待改善。接下來需要不斷的學(xué)習(xí)和改進(jìn),采用不同的算法思路,才能取得理想的結(jié)果。

      猜你喜歡
      像素點(diǎn)算子灰度
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      擬微分算子在Hp(ω)上的有界性
      基于灰度拉伸的圖像水位識(shí)別方法研究
      各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應(yīng)用
      一類Markov模算子半群與相應(yīng)的算子值Dirichlet型刻畫
      基于canvas的前端數(shù)據(jù)加密
      基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      Roper-Suffridge延拓算子與Loewner鏈
      基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
      康定县| 鄂尔多斯市| 远安县| 仙桃市| 和田市| 西林县| 牡丹江市| 玉环县| 苍山县| 泰兴市| 宁津县| 沁水县| 阳西县| 娄烦县| 余庆县| 麟游县| 黔西县| 清流县| 贡觉县| 安溪县| 长岛县| 西昌市| 岗巴县| 洮南市| 日土县| 天祝| 紫金县| 莆田市| 铜陵市| 镇平县| 桃园市| 萨迦县| 会理县| 若尔盖县| 谢通门县| 尼木县| 同德县| 壶关县| 阿拉善右旗| 嵊州市| 馆陶县|