溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)是怎么樣的

發(fā)布時(shí)間:2021-12-18 14:12:04 來源:億速云 閱讀:126 作者:柒染 欄目:互聯(lián)網(wǎng)科技

基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)是怎么樣的,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)

1 概述

在膚色識(shí)別算法中,常用的顏色空間為Ycbcr,Y代表亮度,cb代表藍(lán)色分量,cr代表紅色分量。

由于膚色在 YCbCr 空間受亮度信息的影響較小,本算法直接考慮 YCbCr 空間的 CbCr 分量,映射為兩維獨(dú)立分布的 CbCr 空間。在 CbCr 空間下,膚色類聚性好,利用人工閾值法將膚色與非膚色區(qū)域分開,形成二值圖像。

RGB 轉(zhuǎn) YCbCr 的公式為:

Y =0.257*R+0.564*G+0.098*B+16

Cb=-0.148*R-0.291*G+0.439*B+128

Cr =0.439*R-0.368*G-0.071*B+128

對(duì)膚色進(jìn)行判定的條件常使用如下判定條件:

Cb > 77&& Cb < 127

Cr > 133&& Cr < 173

本節(jié)目標(biāo):在復(fù)雜環(huán)境中識(shí)別人臉膚色,并且提取膚色,完成人臉位置的定位。

2實(shí)驗(yàn)程序

圖1 實(shí)驗(yàn)原圖

由于圖1不是800*600的圖像,我們使用畫圖工具將圖1轉(zhuǎn)化成800*600。

通過matlab查找人臉膚色范圍如圖2.

基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)是怎么樣的

圖2 matlab查找人臉膚色范圍(cb,cr)

人臉顏色轉(zhuǎn)化為黑色,其他顏色轉(zhuǎn)化為背景白色。

/*

Modulename:  face_location.v

Description:  face location

Data:         2018/11/21

e-mail:       137194782@qq.com

微信公眾號(hào):    FPGA開源工作室

*/

`timescale1ns/1ps

moduleface_location(

       input                            pix_clk,

       input                            reset_n,

       input          [23:0]            i_rgb,

       input          [23:0]            i_gray,

       input          [23:0]            i_ycbcr,

       input                            i_h_sync,

       input                            i_v_sync,

       input                            i_de,

       output           [23:0]          skin_binary_image,

       output           [23:0]          skin_rgb_image,

       output           [23:0]          skin_gray_image,

       output                           o_h_sync,

       output                           o_v_sync,                                                                                                 

       output                           o_de 

       );

//*****************************************

// skindetection parameter define

//*****************************************

parameterY_LOW   = 8'd35;

parameterY_HIGH  = 8'd60;

parameterCB_LOW  = 8'd93;

parameterCB_HIGH = 8'd120;

parameterCR_LOW  = 8'd135;

parameterCR_HIGH = 8'd165;

wire                [7 : 0]                 y_8b;

wire               [7 : 0]         cb_8b;

wire               [7 : 0]         cr_8b;

reg                                h_sync_delay;

reg                                v_sync_delay;                                                                                                 

reg                                de_delay; 

reg                [23:0]          skin_binary_r;

reg                [23:0]          skin_rgb_r;

reg                [23:0]          skin_gray_r;

assign  y_8b  =i_ycbcr[23:16];

assign  cb_8b = i_ycbcr[15:8];  

assign  cr_8b = i_ycbcr[7:0];

always@(posedge pix_clk or negedge reset_n) begin

  if(!reset_n) begin

    skin_binary_r <= 24'h000000;

    skin_rgb_r    <= 24'h000000;

    skin_gray_r   <= 24'h000000;

  end

  else if((cb_8b > CB_LOW && cb_8b< CB_HIGH) && (cr_8b > CR_LOW && cr_8b < CR_HIGH))begin

    skin_binary_r <= 24'b000_000;

    skin_rgb_r    <= i_rgb;

    skin_gray_r   <= i_gray;

  end

  else begin

    skin_binary_r <= 24'hfff_fff;

    skin_rgb_r    <= 24'hFFFFFF;

    skin_gray_r   <= 24'hFFFFFF;

  end

end

always@(posedge pix_clk) begin

  h_sync_delay <= i_h_sync;

  v_sync_delay <= i_v_sync;

  de_delay    <= i_de;

end

assigno_h_sync = h_sync_delay;

assigno_v_sync = v_sync_delay;

assigno_de     = de_delay;

assignskin_binary_image = skin_binary_r;

assignskin_rgb_image    = skin_rgb_r;

assignskin_gray_image   = skin_gray_r;   

endmodule

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

基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)是怎么樣的

圖3 實(shí)驗(yàn)結(jié)果

從圖3中可以看出img5提取出了人臉膚色,img6框出了人臉范圍。實(shí)驗(yàn)成功。

本節(jié)實(shí)驗(yàn)只是簡(jiǎn)單的人臉位置定位仿真程序,對(duì)于多個(gè)人臉,或者有其他類似膚色干擾暫時(shí)還不能識(shí)別。

看完上述內(nèi)容,你們掌握基于FPGA的人臉位置定位的仿真實(shí)現(xiàn)是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI