国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的膚色檢測(cè)設(shè)計(jì)與實(shí)現(xiàn)

2019-09-25 02:44:29董迎春
物聯(lián)網(wǎng)技術(shù) 2019年8期

董迎春

摘 要:在Matlab上采用膚色范圍靜態(tài)膚色建模方式,利用閾值化法統(tǒng)計(jì)輸入像素在YCbCr色彩空間下色度Cb,Cr的集中落點(diǎn)區(qū)域;采取基于YCbCr信號(hào)閾值的膚色分割,灰階值作為膚色檢測(cè)結(jié)果的輸出,在Quartus Ⅱ上進(jìn)行功能仿真,F(xiàn)PGA驗(yàn)證表明:在所用資源比較少的情況下,可實(shí)現(xiàn)人體膚色的實(shí)時(shí)檢測(cè)。

關(guān)鍵詞:Matlab;閾值化;YCbCr;膚色檢測(cè);Quartus Ⅱ;FPGA

中圖分類號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)08-00-03

0 引 言

在先進(jìn)信息技術(shù)的不斷迭代更新下,膚色檢測(cè)已成為與人相關(guān)的絕大多數(shù)機(jī)器視覺[1-2]感官應(yīng)用的基石,例如手勢(shì)識(shí)別及控制、人的臉部檢測(cè)及定位和一些不合法規(guī)的圖片或視頻的過濾等。膚色檢測(cè)不僅可應(yīng)用于人體臉部及手部動(dòng)作的識(shí)別體系,且在安全保密系統(tǒng)及醫(yī)療[3]方面也尤為重要。隨著攝像頭的大眾化,掀起了對(duì)視頻圖像膚色分割[4]的研究熱潮。利用FPGA的邏輯粘合性、實(shí)時(shí)控制性和對(duì)高速信號(hào)的采集及處理[5],結(jié)合OV5640作為視頻圖像采集設(shè)備采集視頻信息送至FPGA做膚色檢測(cè)處理,隨后通過VGA顯示輸出結(jié)果。

1 膚色檢測(cè)設(shè)計(jì)

在雙色差或色調(diào)飽和度平面上,不同地域的人膚色變化不大,具備一致性和穩(wěn)定性,膚色存在差異的原因在于灰階值而非色度[6]。因此將灰階值剝離出來,只在CbCr平面檢測(cè)像素點(diǎn)。

1.1 Matlab統(tǒng)計(jì)閾值

Matlab對(duì)膚色進(jìn)行建模,利用imhist函數(shù)分別對(duì)黑人和黃種人的部分膚色圖像Cb和Cr值進(jìn)行直方圖統(tǒng)計(jì),找出其集中落點(diǎn)區(qū)域,并將此區(qū)域標(biāo)記為膚色區(qū)域。圖1所示為不同膚色原圖像,圖2為對(duì)應(yīng)膚色Cb,Cr值直方圖。

由圖2、圖3可以看出不同人種膚色的Cb和Cr值都集中在Cb=[100,126],Cr=[132,165]區(qū)域,因此將落在此區(qū)域的像素點(diǎn)認(rèn)作人體的膚色。

1.2 膚色檢測(cè)原理

通常的色度彩色信號(hào)以RGB形式儲(chǔ)存,因此要先將彩色視頻信息從RGB信號(hào)轉(zhuǎn)換成YCbCr信號(hào),再對(duì)其進(jìn)行膚色分割、膚色建模[7]。YCbCr是一種分別從灰階值和色度兩方面對(duì)圖像信號(hào)進(jìn)行編碼的色彩空間,其中灰階值、明亮度用Y表示,色調(diào)與飽和度用CbCr表示[8-10],其通過輸入RGB彩色信號(hào)生成,將RGB信號(hào)的特定部分依據(jù)一定的關(guān)系進(jìn)行疊加[11],公式如下:

轉(zhuǎn)換過程中有浮點(diǎn)小數(shù)的存在,由于FPGA很難完成浮點(diǎn)運(yùn)算,因此將浮點(diǎn)小數(shù)轉(zhuǎn)換成定點(diǎn)小數(shù),利用8 bit來表示小數(shù)部分,將小數(shù)擴(kuò)大28倍,計(jì)算完成后,再右移8位即可,操作如下:

為了提高硬件運(yùn)行性能,降低組合邏輯的復(fù)雜程度,采用流水線處理,將一個(gè)復(fù)雜的運(yùn)算分布到4個(gè)時(shí)鐘周期完成轉(zhuǎn)換。

轉(zhuǎn)換完成后,根據(jù)Matlab統(tǒng)計(jì)的結(jié)果,對(duì)Cb和Cr分量設(shè)置閾值,人體的膚色從背景里分離出來。如果輸入信號(hào)Cb和Cr分量在閾值之間,將輸出設(shè)置為全1,即把膚色標(biāo)記為白色;反之則將輸出設(shè)置為全0,即把非膚色標(biāo)記為黑色。閾值設(shè)置如下:

100≤Cb≤126

132≤Cr≤165

2 設(shè)計(jì)仿真

2.1 Matlab仿真

隨機(jī)找了兩張不同膚色的圖片,用Matlab仿真膚色檢測(cè)方案,證明該方案的可行性,結(jié)果如圖3所示。可見,即便膚色、背景大相徑庭,依然能夠?qū)⑷梭w的膚色成功剝離出來,總體效果較好,說明該方案可行。

2.2 Quartus Ⅱ仿真

繼Matlab仿真之后,將其轉(zhuǎn)換成Verilog語言在Quartus Ⅱ平臺(tái)上進(jìn)一步驗(yàn)證。

膚色檢測(cè)的RTL圖如圖4所示。rgb_to_ycbcr模塊完成了RGB565到Y(jié)CbCr的轉(zhuǎn)換并且將膚色區(qū)域用白色標(biāo)記出來。攝像頭通過cmos_write_req_gen模塊寫入請(qǐng)求并生成讀寫地址索引;lut_ov5640_rgb565_1024_768模塊進(jìn)行配置查找表;video_timing_data模塊進(jìn)行生成幀讀取數(shù)據(jù)請(qǐng)求;frame_read_write模塊進(jìn)行視頻幀數(shù)據(jù)讀寫控制;coms_8_16bit模塊將OV5640輸出的8 bit數(shù)據(jù)拼接成16 bit RGB565數(shù)據(jù),完成一個(gè)圖像的傳輸;各模塊所需時(shí)鐘信號(hào)均通過PLL模塊倍頻或分頻得到。

3 硬件驗(yàn)證

系統(tǒng)選用Altera公司的CycloneIV系列EP4CE10F17FC8芯片,500萬像素的OV5640攝像頭組塊顯示1 024×768分辨率的視頻畫面,通過DVP接口與FPGA連接,先將視頻數(shù)據(jù)暫存到外部存儲(chǔ)器,再從外部存儲(chǔ)器將信息讀取出來,送到VGA顯示模塊完成圖像的實(shí)時(shí)傳輸。其中OV5640通過硬件FPGA的I2C接口來完成寄存器的配置,將攝像頭的輸出分辨率和顯示器的分辨率設(shè)置一致,并在0x4300寄存器里將OV5640配置成RGB565輸出格式。外部存儲(chǔ)器選用同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,其存取數(shù)據(jù)的速度比FLASH高,內(nèi)部結(jié)構(gòu)采用同步接口和完全流水線[12-13],數(shù)據(jù)的傳輸速率較高,設(shè)計(jì)的運(yùn)行速率大幅提高。

由于光線分布不均及攝像頭像素等因素,導(dǎo)致圖像出現(xiàn)像素點(diǎn)化且伴有光斑,離攝像頭越近,膚色剝離效果越好,圖5為膚色檢測(cè)驗(yàn)證結(jié)果。

4 結(jié) 語

使用Matlab對(duì)不同膚色仿真得到膚色在色調(diào)和飽和度上的閾值,利用FPGA的并行性,在使用少量資源的前提下實(shí)現(xiàn)膚色檢測(cè),將人體膚色從復(fù)雜背景中抽離出來,其結(jié)構(gòu)相對(duì)來說比較簡(jiǎn)單且實(shí)時(shí)控制性強(qiáng),實(shí)驗(yàn)效果較好,同時(shí)還能將其封裝成專用IP核[14],便于其他系統(tǒng)使用,為后續(xù)建立與人體膚色相關(guān)的體系或過濾不雅觀圖片、視頻提供基礎(chǔ)。

參 考 文 獻(xiàn)

[1]李昌盛,王亞娟,黃啟俊,等.基于FPGA的人臉檢測(cè)系統(tǒng)設(shè)計(jì)

[J].電子技術(shù)應(yīng)用,2011,37(10):13-16.

[2]潘志庚,鄒鵬程,梁榮華.基于特征人臉和膚色統(tǒng)計(jì)的人臉檢測(cè)

[J].系統(tǒng)仿真學(xué)報(bào),2004(6).

[3]陳鍛生,劉政凱.膚色檢測(cè)技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2006,29(2):194-207.

[4] PHUNG S L,BOUZERDOUM A , CHAI D. Skin segmentation using color pixel classification:analysis and comparison [J]. IEEE transactions on pattern analysis and machine intelligence,2005,2(1):148-154.

[5]吳厚航.勇敢的芯伴你玩轉(zhuǎn)Altera FPGA[M].北京:清華大學(xué)出版社,2017.

[6]張星.基于內(nèi)容的不良圖像人體軀干檢測(cè)技術(shù)研究[D].蘭州:蘭州大學(xué),2009.

[7]楊振潔,賈皓強(qiáng),趙富康.基于Matlab的人臉識(shí)別與分割[J].通訊世界,2017(12):289.

[8]肖柏清.基于FPGA的人臉檢測(cè)系統(tǒng)的研究與設(shè)計(jì)[D].長沙:中南大學(xué),2014.

[9]樂斌.一種基于OpenCV的人臉輪廓化方法[J].工業(yè)控制計(jì)算機(jī),2014(10):107-108.

[10]袁曉鵬.基于Rentinex理論的圖像增強(qiáng)研究[D].天津:中國民航大學(xué),2015.

[11]張闖.單通道雙譜微光彩色夜視技術(shù)研究[D].南京:南京理工大學(xué),2008.

[12]呂曉明.基于DSP的視覺傳感器的關(guān)鍵技術(shù)研究[D].天津:天津大學(xué),2007.

[13]王玉冰.基于FPGA+DSP的圖像融合系統(tǒng)設(shè)計(jì)[D].西安:中國科學(xué)院研究生院(西安光學(xué)精密機(jī)械研究所),2011.

[14]張晉,莊再姣,劉會(huì)剛,等.一種區(qū)域逐像素點(diǎn)膚色檢測(cè)算法[J].南開大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,49(4):38-42.

庆城县| 庄河市| 梁河县| 朝阳市| 铜鼓县| 福建省| 河北区| 平乐县| 东宁县| 峨眉山市| 许昌市| 崇文区| 汉川市| 曲水县| 南宫市| 湖州市| 正阳县| 绿春县| 清河县| 绥滨县| 鹤岗市| 陈巴尔虎旗| 平阴县| 衡南县| 巩义市| 讷河市| 绥德县| 万全县| 罗定市| 安新县| 厦门市| 合川市| 桐城市| 炉霍县| 余江县| 汉阴县| 微山县| 南华县| 六枝特区| 尼木县| 安康市|