一、项目简介

基于Matlab的YCbCr人脸口罩定位识别系统是利用Matlab平台,借助YCbCr色彩空间特性实现人脸口罩定位与识别的系统。该系统在疫情防控中,对于戴口罩人员的识别发挥着关键作用。

在人脸检测方面,针对复杂背景下的彩色正面人脸图像,系统将肤色分割、模板匹配与候选人脸图像块筛选结合起来。通过在YCbCr空间下基于高斯模型的肤色分割方法,建立肤色分布的高斯模型,得到肤色概率似然图像,并在最佳动态阈值选取算法下完成肤色区域的分割。采用数学形态学和先验知识对肤色区域进行人脸特征筛选,进一步剔除非人脸肤色区域,减少候选人脸数量,简化后续检测过程。

二、部分源码

function face_location_Callback(hObject, eventdata, handles)

% hObject handle to face_location (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global image;

global face;

faceDetector = vision.CascadeObjectDetector();

bbox = step(faceDetector, image);

facebox = insertObjectAnnotation(image,'rectangle',bbox,'Face');

face = imcrop(image, bbox);

face = imresize(face,[100,100]);

axes(handles.axes2);

imshow(face);

title('人脸定位');

% --- Executes on button press in ycbcr.

function ycbcr_Callback(hObject, eventdata, handles)

% hObject handle to ycbcr (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global face_filtered;

global YCbCr;

global face;

global face_filtered;

fR=face(:,:,1);

fG=face(:,:,2);

fB=face(:,:,3);

f=1/9*ones(3);

filtered_fR=imfilter(fR,f);

filtered_fG=imfilter(fG,f);

filtered_fB=imfilter(fB,f);

face_filtered=cat(3,filtered_fR,filtered_fG,filtered_fB);

YCbCr=rgb2ycbcr(face_filtered);

axes(handles.axes7);

imshow(YCbCr);

title('YCbCr');

% --- Executes on button press in skin_calibration.

function skin_calibration_Callback(hObject, eventdata, handles)

% hObject handle to skin_calibration (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global YCbCr;

global skincalibration;

Y = YCbCr(:,:,1);

skincalibration = skinCalibration(Y,YCbCr);

axes(handles.axes8);

imshow(skincalibration);

title('肤色标定');

三、运行结果

四、总结

基于MATLAB YCbCr的人脸口罩定位识别系统利用MATLAB平台,结合YCbCr颜色空间进行人脸口罩的定位与识别。

YCbCr颜色空间对于肤色的表示具有优势,系统可借助其特性实现人脸区域的初步定位与分离,将目标人脸区域从复杂背景中提取出来。在人脸区域内,利用肤色定位原理对像素进行遍历,准确找出属于肤色的像素值及其位置。若人员佩戴了口罩,口罩部分并非人脸肤色,不会被检测为肤色像素,该区域会呈现不同特征。

系统可进一步运用形态学知识,过滤掉面积小于一定阈值的白色区域,保留面积符合要求的白色区域,此区域即为口罩区域。通过这种方式,系统能够实现对人脸口罩的定位识别

五、代码获取

接matlab程序定制和论文设计,程序包运行成功,零基础的可以远程帮你运行。

作为初学者,遇见不会的问题是非常正常的事情,具体代码仿真 私信博主。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐