DFace SDK  1.8.5
dface::DfacePose类 参考abstract

DFace人脸姿态API抽象层(DFacePose) 更多...

#include <dface_pose.h>

Public 成员函数

virtual int identify () const =0
 
virtual void predictPose (const dface::Mat &img, const std::vector< dface::Bbox > &in_bboxs, std::vector< std::vector< dface::Point > > &out_landmarks, std::vector< std::vector< double >> &out_head_pose)=0
 
virtual void predictBlur (const dface::Mat &img, const std::vector< dface::Bbox > &in_bboxs, std::vector< double > &out_blur)=0
 
virtual void predictLight (const dface::Mat &img, const std::vector< dface::Bbox > &in_bboxs, std::vector< int > &out_light)=0
 
virtual void predictAge (const dface::Mat &img, const std::vector< dface::Bbox > &in_bboxs, std::vector< int > &ages)=0
 
virtual void predictSex (const dface::Mat &img, const std::vector< dface::Bbox > &in_bboxs, std::vector< int > &sexs)=0
 
virtual void setCameraParameter (float focalLength, float opticalCenterX, float opticalCenterY)=0
 
virtual void setMaxFace (int max_size)=0
 
virtual void setMinFace (int min_size)=0
 

详细描述

DFace人脸姿态API抽象层(DFacePose)

成员函数说明

virtual void dface::DfacePose::predictAge ( const dface::Mat img,
const std::vector< dface::Bbox > &  in_bboxs,
std::vector< int > &  ages 
)
pure virtual

人脸年龄判断

参数
img摄像头录制一帧的图像,dface::Mat输入(RGB格式,其他格式需转换,例如RGBA,BGR,YUV,MJPG,H264等需要转换成RGB的Mat)
in_bboxs人脸对应的边框,如果为空,则自动检测人脸边框
ages返回的每个人脸的年龄
返回
参考 ages out_bbox note ()
virtual void dface::DfacePose::predictBlur ( const dface::Mat img,
const std::vector< dface::Bbox > &  in_bboxs,
std::vector< double > &  out_blur 
)
pure virtual

人脸清晰度判断

参数
img摄像头录制一帧的图像,dface::Mat输入(RGB格式,其他格式需转换,例如RGBA,BGR,YUV,MJPG,H264等需要转换成RGB的Mat)
in_bboxs人脸对应的边框, 如果为空,则自动检测人脸边框
out_blur返回的每个人脸清晰度
返回
参考out_blur note (正常人脸清晰度500以上,较模糊的人脸3清晰度在30~300之间)
virtual void dface::DfacePose::predictLight ( const dface::Mat img,
const std::vector< dface::Bbox > &  in_bboxs,
std::vector< int > &  out_light 
)
pure virtual

人脸光照质量判断

参数
img摄像头录制一帧的图像,dface::Mat输入(RGB格式,其他格式需转换,例如RGBA,BGR,YUV,MJPG,H264等需要转换成RGB的Mat)
in_bboxs人脸对应的边框,如果为空,则自动检测人脸边框
out_light返回的每个人脸的光照质量指标(0:人脸光照正常,曝光正常 1:人脸光照太黑,曝光太低 2:人脸光照质量太亮,曝光太高)
返回
参考 out_light out_bbox note ()
virtual void dface::DfacePose::predictPose ( const dface::Mat img,
const std::vector< dface::Bbox > &  in_bboxs,
std::vector< std::vector< dface::Point > > &  out_landmarks,
std::vector< std::vector< double >> &  out_head_pose 
)
pure virtual

定位人脸68关键点和头部3D姿态角估计

参数
img摄像头录制一帧的图像,以dface::Mat输入(RGB格式,其他格式需转换,例如RGBA,BGR,YUV,MJPG,H264等需要转换成RGB的Mat)
in_bboxs输入的人脸的边框信息,如果输入为空列表,则自动检测人脸边框
out_landmarks返回的68个关键点定位坐标, 例如 ((x1,y1) (x2,y2)...(x68,y68))
out_head_pose返回人脸3D姿态角度信息(yaw,pitch,roll,t_x,t_y,t_z)
详情查看《DFace用户手册.pdf》
yaw(偏航角): 人脸朝向视角,向右转脸为正角度,向左转脸为负角度(单位角度数)
pitch(俯仰角): 人脸朝向视角, 向下俯为正角度,向上仰为负角度(单位角度数)
roll(滚转角): 人脸朝向视角,向右滚头为正,向左滚头为负(单位角度数)
t_x: 摄像头为视角,向摄像头右方偏离为正,左方为负(单位米)
t_y: 摄像头为视角,向摄像头上方偏离为正,下方为负(单位米)
t_z: 摄像头为视角,偏离摄像头越远值越大,该值和摄像头焦距关系很大,实际生成环境需要设置好焦距参数
返回
参考out_landmarks和out_head_pose,out_bboxs
注解
()
virtual void dface::DfacePose::predictSex ( const dface::Mat img,
const std::vector< dface::Bbox > &  in_bboxs,
std::vector< int > &  sexs 
)
pure virtual

人脸性别判断

参数
img摄像头录制一帧的图像,dface::Mat 输入
in_bboxs人脸对应的边框,如果为空,则自动检测人脸边框
sexs返回的每个人脸的性别
返回
参考 sexs out_bbox note ()
virtual void dface::DfacePose::setCameraParameter ( float  focalLength,
float  opticalCenterX,
float  opticalCenterY 
)
pure virtual

设置相机参数,根据实际生产环境摄像机参数设置

参数
focalLength相机焦距像素,默认500px
focalLength = f_mm * (sensor_size_px / sensor_size_mm)
f_mm:相机实际焦距(单位毫米)
sensor_size_px:摄像头成像分辨率大小,单位像素
sensor_size_mm:传感器实际尺寸大小(传感器感光面积),单位毫米
opticalCenterX(成像中心)opticalCenterX=成像分辨率宽/2,单位像素
opticalCenterY(成像中心)opticalCenterY=成像分辨率高/2,单位像素
virtual void dface::DfacePose::setMaxFace ( int  max_size)
pure virtual

设置最大人脸尺寸

参数
max_size最大人脸尺寸
virtual void dface::DfacePose::setMinFace ( int  min_size)
pure virtual

设置最小人脸尺寸

参数
min_size最小人脸尺寸

该类的文档由以下文件生成: