王相超,陳龍,顏斌
(杭州電子科技大學 電子信息學院,浙江杭州,310018)
圖像的邊緣,也稱圖像輪廓,是一種重要的視覺信息。作為圖像分析處理、計算機視覺的基本步驟,圖像邊緣檢測結(jié)果的準確性將直接影響到機器視覺系統(tǒng)對客觀世界的理解[1]。在機器視覺領(lǐng)域,圖像邊緣檢測常用的算子包括Sobel 算子,Canny 算子,Prewitt 算子和Robert 算子[2],各類算子針對不同情景,其使用各具優(yōu)勢。其中,Sobel 算子較其他算子有更高的邊緣檢測精度和抗躁能力,對于各類圖片邊緣檢測有較強的泛化能力和魯棒性而被廣泛應用[3],但傳統(tǒng)的X,Y 兩方向的Sobel 算子對圖像邊緣信息的提取能力仍然有限,在檢測水平、豎直以外方向的邊緣信息時,容易引入噪聲或檢測失敗[4-5]而降低識別準確率。同時,無論邊緣檢測算法使用哪種算子,其先決條件都是圖像本身要清晰可辨,算法對待處理圖像的光照條件,明亮程度有一定要求。當待處理圖像總體色度偏低,光照條件不足或者光照分布極其不均勻,應用邊緣檢測算法得到的識別準確率將大大降低[6]。由此,本文提出了一種在FPGA 平臺搭建的,基于直方圖增強與8 方向Sobel 算子的圖像邊緣檢測系統(tǒng),能夠快速,準確地提取缺乏光照條件下所拍攝圖片的邊緣信息。
直方圖均衡化則是一種用于增強動態(tài)范圍偏小圖像的對比度的算法。圖片拍攝時光照過強過弱在其灰度統(tǒng)計直方圖上的反映:灰度集中于高亮部分和低亮部分,如圖1 所示,圖片整體色度偏暗,統(tǒng)計直方圖所含灰度值頻次集中于低灰度部分,圖片中諸如人臉輪廓,前景與背景差等細節(jié)部分難以突出。對于此類圖片使用直方圖均衡化算法,可以將灰度圖像的直方圖分布重新映射為均勻分布,增強圖像對比度從而使圖像細節(jié)信息更為突出[7],如圖2 所示。
圖1 低色度圖片與直方圖
圖2 直方圖均衡化結(jié)果
直方圖均衡化基于對灰度圖像的統(tǒng)計直方圖,以256灰度級圖像為例,所謂統(tǒng)計直方圖,就是遍歷灰度圖每個像素,統(tǒng)計每個像素灰度級的出現(xiàn)頻次,數(shù)學表達如式1,ni為灰度值i 對應的出現(xiàn)頻次,N 為圖像總像素數(shù)。
而直方圖均衡化本質(zhì)是改變灰度值的概率分布使其成為均勻分布,需要借助變換函數(shù)對原分布進行操作。由概率論理論推導可知,以函數(shù)P 的累積分布概率函數(shù)作為變換函數(shù)Sk,其分布滿足均勻分布,數(shù)學表達如公式2。
因此,在原統(tǒng)計直方圖的基礎上,對頻次進行累加,得到圖片累計直方圖,該分布即為直方圖均衡化的目標函數(shù),而累計直方圖得到的結(jié)果是灰度級累計概率,因此需要將結(jié)果乘總灰度級個數(shù)完成映射。
圖像的邊緣是指其圖像灰度值或紋理結(jié)構(gòu)等信息的突變位置,而Sobel 算子在設計原理上為一階離散差分算子,為大小固定的方陣。算子通過與圖像子模板的卷積運算[8](式3)可以計算灰度圖像的近似梯度值。
經(jīng)典的Sobel 邊緣檢測算法包括水平X 方向與豎直Y方向兩個算子,算子常選用的模板尺寸為3×3,如圖3 所示。X 方向算子以中間列作為基準,計算左右兩列卷積的差值,在計算機中,差分運算等價于微分運算,即可求出圖片X 方向梯度值。Y 方向運算同理。最終將X,Y 方向得到的梯度信息進行求和,與設定的閾值相比得到邊緣信息。
圖3 傳統(tǒng)Sobel 算子
經(jīng)過圖像灰度化與模板獲取后,將每次計算得到的8 個方向的梯度值求平方和再開根號(式4),每個結(jié)果Out 與算法設定的閾值threshold 相比較進行二值化,獲得圖像邊緣信息Edge(式5)。
圖4 8 方向Sobel 算子
3.3.1 圖像3×3 模板獲取
能源消費結(jié)構(gòu)不斷優(yōu)化,與2015年相比,2030年煤、油比重分別下降15.2%和5.6%,天然氣和非化石能源比重分別上升8.0%和12.8%[4-5]。
圖5 算法流程圖
由于傳統(tǒng)的Sobel 算子僅計算水平與垂直兩個方向的圖像灰度梯度,會導致邊緣檢測不連續(xù)或不夠準確。改進型的8 方向Sobel 算子較之傳統(tǒng)算法,共使用到8 個方向Sobel 算子。一一對應于圖像3×3 模板360°范圍內(nèi)的均勻劃分空間。使算法能夠充分地提取圖像邊緣信息[9]。算子模板如圖4 所示。
The sun sets earlier in May and July, summer-rain is so much that people get sad.
系統(tǒng)使用Inter 公司旗下Cyclone 4 系列芯片—EP4CE10F17C8N 作為主控,普通邏輯資源豐富,擁有約10k 的邏輯單元。通過晶振電路可產(chǎn)生50MHz 方波,經(jīng)過鎖相環(huán)PLL 分頻產(chǎn)生33.3MHz 時鐘用于驅(qū)動VGA 顯示屏。使用ROM 模塊用于存儲原始的BMP 圖片,使用兩個RAM用于進行灰度直方圖統(tǒng)計與均衡化,使用若干按鍵用于顯示系統(tǒng)各環(huán)節(jié)圖像處理的結(jié)果。VGA 分辨率使用800×480??傮w結(jié)構(gòu)如圖6 所示。系統(tǒng)仿真電路設計圖如圖7 所示。
圖6 系統(tǒng)總體結(jié)構(gòu)圖
圖7 系統(tǒng)電路圖
式中ram_data_sum 為累計直方圖中灰度的累計頻次,10000 為原圖總像素數(shù),255 為總灰度級。gray_s 為均衡化后的灰度值。
本系統(tǒng)使用FPGA 內(nèi)置的ROM 模塊對原始圖片進行儲存與讀取,其集成電路如圖8 所示。ROM 存儲圖片的mif 文件信息,模塊包括兩個輸入端口,時鐘輸入與地址端輸入,輸出為對應地址的圖片數(shù)據(jù)。
仿真波形如圖10 所示。第一行為RAM 輸入時鐘,第二三行分別為原圖灰度值與直方圖均衡化后的灰度值。
圖8 ROM 模塊
圖片mif 文件使用BMP2Mif 轉(zhuǎn)換軟件生成,原圖為RGB888 格式的BMP 圖片,生成mif 文件對應的輸出數(shù)據(jù)大小為24bit。
由于系統(tǒng)自帶ROM 模塊進行數(shù)據(jù)存儲的容量有限,最多可以保存200×200 大小的圖片,影響結(jié)果觀感。因此,設計了圖片放大算法,輸入圖片為100×100,在顯示時擴大至800×480。
第一行為原圖像素灰度值,第二行為濾波后像素灰度值。
圖片放大算法利用其顯示原理,VGA 屏幕橫坐標位置每8 個坐標單位顯示實際圖片的同一坐標信息,縱坐標位置每4.8個坐標單位顯示實際圖片同一信息,算法公式如公式6。
2.2 兩組新生兒指標比較 觀察組新生兒出生體質(zhì)量、巨大兒4例(5.00%),對照組分別為(3.81±0.73)kg和15例(18.75%),差異有統(tǒng)計學意義(t=-8.33,P=0.02;χ2=21.60,P=0.00);兩組新生兒窒息率均為2.50%(2/80),差異無統(tǒng)計學意義(χ2=1.31,P=1.24)。
式中rom_addr 為ROM 的輸入地址,每個地址保存圖片一個像素信息,pixel_xpos 為VGA 屏掃描的橫坐標,pixel_ypos 為對應縱坐標。100 為輸入圖片的寬度。
3.2.1 圖像灰度化設計
由于從ROM 中讀取的為BMP 圖片,如果直接進行邊緣檢測 則是對RGB 三通道色彩進行單獨檢測,但是各原色在同一像素位置的梯度大小方向可能各不相同,得到的邊緣信息也不同從而發(fā)生檢測錯誤。因此需要將圖片轉(zhuǎn)換為單通道,即灰度化。
RGB 灰度化公式如下:
而FPGA 進行浮點運算較為復雜,因此這里采取乘加與移位的近似計算。
rom_data 共24bit,每8bit 對應原圖一個通道。完成了對原圖的灰度化。
3.2.2 直方圖均衡化設計
在設計上,系統(tǒng)使用兩個單端口RAM 模塊對數(shù)據(jù)進行存儲來完成直方圖與累計直方圖的統(tǒng)計。RAM 模塊集成電路如圖9所示。
圖9 RAM 模塊
第一個RAM 用于對原始直方圖進行統(tǒng)計,地址端從0~255依次遍歷,當對應位置圖像像素灰度值與地址匹配時,寫入的data 數(shù)據(jù)自增1,當遍歷完整幅圖像也就完成了對原始灰度圖的直方圖統(tǒng)計。第二個RAM 用于計算累計直方圖,當從RAM1 中讀取的data 數(shù)據(jù)不為0 時,對寫入數(shù)據(jù)進行累加,再通過歸一化完成直方圖均衡化(式9)。
系統(tǒng)經(jīng)過初始化,首先從ROM 模塊中讀取存儲的BMP圖片,經(jīng)過圖像放大后進行灰度化處理,使用兩個RAM 模塊分別用于直方圖統(tǒng)計與累計直方圖計算,經(jīng)過歸一化處理后得到圖像增強的結(jié)果,使用按鍵1 顯示于顯示屏上。使用高斯卷積核對增強圖片進行濾波,結(jié)果使用按鍵2 顯示。取濾波后的圖像3×3 模板分別與8 方向Sobel 算子進行卷積,求出梯度和與閾值比較,得到邊緣檢測結(jié)果,使用按鍵3 顯示。
但是,商業(yè)銀行金融產(chǎn)品單一,而且創(chuàng)新效果并不理想,產(chǎn)品同質(zhì)化比較嚴重,這些都是商業(yè)銀行需要進行金融產(chǎn)品創(chuàng)新的重要原因。
圖10 直方圖均衡化仿真結(jié)果
圖11 移位寄存器生成圖像模板
在確定所使用的算子后,邊緣檢測算法流程如圖5 所示。
FPGA 中圖像數(shù)據(jù)的保存形式是串行數(shù)據(jù)流,通過使用帶taps 的移位寄存器模塊,將串行數(shù)據(jù)轉(zhuǎn)化為3×3 的模板數(shù)據(jù)。每次取圖片3 個像素點信息于寄存器中,在第二個時鐘到來時,間隔一行像素進行存儲,重復三次即獲得了圖像3×3 模板數(shù)據(jù)。
移位寄存器模塊仿真結(jié)果如圖12 所示。
圖12 圖像模板仿真結(jié)果
3.3.2 圖像高斯濾波實現(xiàn)與仿真
從圖2可以看出,創(chuàng)作謝里丹風格唐草紋樣,確定好主花位置,畫出半徑為3cm的圓,然后圍繞主花利用sin曲線為基線繪制葉子,使葉子形成圓形的渦卷。以波狀線與切圓線相組合,并向兩個相反方向波卷,組成“S”形枝蔓連綿的紋樣。圓圈是參考線,葉的線條尾端要自然地接近圓圈但不能相交。一直保持線的末端離圓圈1~2mm。葉片數(shù)量一般在8~10片。
與Sobel 原理類似,在獲取圖像3×3 模板后,在FPGA 上設計高斯卷積核,與模板進行卷積運算得到結(jié)果。系統(tǒng)設計時,卷積操作通過乘加器完成。經(jīng)過高斯濾波,消除直方圖均衡化對灰度圖像帶來的銳化噪聲,提高邊緣檢測的準確率。
全面優(yōu)化基于B/S架構(gòu)的高校人力資源管理系統(tǒng)設計與實現(xiàn)方案,提升高校人力資源管理質(zhì)量,首先要著重設計基于B/S架構(gòu)的人力資源管理平臺,充分發(fā)揮人力資源管理職能,從而有效提升本校的人力資源管理質(zhì)量。目前,人力資源管理具備人力資源規(guī)劃、招募與甄選職能,人力資源開發(fā),薪酬福利管理,職業(yè)生涯規(guī)劃,勞資關(guān)系管理和人力資源研究等六種職能,在構(gòu)建人力資源管理平臺的過程中,要緊密融合這六項職能,促進人力資源管理體系的良好發(fā)展。
高斯卷積核如圖13 所示。
圖13 高斯卷積核示意圖
可以看出高斯濾波是對原圖像模板各位置加權(quán)求平均值得到濾波結(jié)果。模板窗口滑動遍歷整幅圖片,得到高斯濾波結(jié)果。仿真結(jié)果如圖14 所示。
圖14 高斯濾波仿真結(jié)果
圖15 Sobel 算子參數(shù)定義
從諾利地圖到瓦齊城繪:18 世紀羅馬微觀城市空間的創(chuàng)新研究引介 黃健文 張偉國 徐 瑩2018/04 57
3.3.3 Sobel 邊緣檢測與仿真
左小龍把摩托車停在一間酒店門口,琢磨著看大局這里超不過一百元一晚上。雖然所剩下的錢不多,但好歹比搞一個小姐便宜。到了前臺,左小龍問:“多少錢?單人間?!?/p>
我站在這里覺得很尷尬,相比那些城里人,我總覺自己是個冒牌貨??创蚯虻某宋遥€有個坐輪椅的老頭,他眼神怪怪地瞅著我,讓我感到渾身不自在。
在獲得濾波圖像數(shù)據(jù)之后,同樣使用移位寄存器,將濾波數(shù)據(jù)串行輸入轉(zhuǎn)換為3×3 的模板數(shù)據(jù),再依次與8 個Sobel 算子進行乘加器卷積運算。需要注意的是,在8 個Sobel 算子設計時,其中的負數(shù)需要以補碼形式定義。以90 度方向算子和180 度方向算子定義為例。
參數(shù)定義中的ff與fe 分別對應十進制的-1 與-2。
教工黨支部的建設是一項系統(tǒng)化工程,發(fā)展歷史較短的民辦高校的黨建工作,需要進一步解放思想,深入研究,研究建設民辦高校教工黨支部建設的新思路和新方法,不斷提高民辦高校教工黨支部工作的針對性和實效性,充分發(fā)揮教工黨支部的主體作用,為高等學?;鶎狱h組織的建設注入新的活力,開創(chuàng)新的局面。
與高斯濾波計算過程有差別的是。邊緣檢測算法還需進行梯度合成與閾值判斷。梯度合成使用浮點運算單元中的開方運算器實現(xiàn)。最后,邊緣檢測仿真結(jié)果如圖16 所示,1表示邊緣信息,0 表示非邊緣信息。第一行為系統(tǒng)時鐘,每個時鐘周期對應一個像素信息,從圖片左上角至右下角,自左向右,自上向下遍歷,第二行表示每個像素點是否為邊緣信息。
圖16 邊緣檢測結(jié)果仿真
通過對系統(tǒng)整體結(jié)構(gòu)的分析,設計了實驗平臺,編寫verilog HDL 程序完成了ROM、RAM 存儲讀取,圖像放大,圖像灰度化,直方圖均衡化,Sobel 邊緣檢測模塊的實現(xiàn)。最后驅(qū)動VGA 顯示屏顯示結(jié)果。圖17 為未經(jīng)直方圖均衡化的邊緣檢測結(jié)果。圖18(a)為輸入的原始低亮度圖片,圖18(b)為直方圖均衡化后的灰度圖,圖18(c)為經(jīng)過直方圖均衡化與高斯濾波的圖片,圖18(d)為最終的邊緣檢測結(jié)果。
荸薺:購置于湖北省武漢市洪山區(qū)南湖大道菜市場。挑選大小均勻、無明顯機械傷、無病蟲害、成熟度一致的荸薺作為試驗材料。
圖17 直接邊緣檢測結(jié)果
圖18 系統(tǒng)圖像處理結(jié)果
可以從圖17 與圖18 的對比結(jié)果中可以看出,未經(jīng)直方圖均衡化增強而直接進行邊緣檢測,由于圖片整體灰度值普遍低于閾值并且對比度低,細節(jié)信息非常少,難以識別出圖片邊緣。而經(jīng)過直方圖均衡化,圖片對比度提升,圖片可辨識度大大提高,系統(tǒng)可以較為準確地識別出邊緣信息。
本文針對圖像邊緣檢測算法,關(guān)注于外界光線條件不足對算法結(jié)果的影響,設計了一款綜合直方圖均衡化圖像增強,圖像高斯濾波,8 方向Sobel 邊緣檢測的FPGA 圖像處理系統(tǒng)。該系統(tǒng)相較于傳統(tǒng)算法,能有效解決欠光環(huán)境下邊緣檢測可行性低的問題,大幅提升了算法對光照條件的魯棒性,同時以FPGA 作為系統(tǒng)主控,提升了算法效率。結(jié)合了圖片全局灰度均值作為閾值初值的方法,大大減少了在FPGA 平臺搭建邊緣檢測算法的參數(shù)調(diào)整時間。后續(xù)可結(jié)合SDRAM 外設進行原始圖片的存儲讀取以解決ROM 存儲空間有限的問題,使原始圖片具備更高的分辨率。