百度人脸SDK安卓平板USB红外(IR)/RGB摄像头图像混淆问题
最近在做一个法院文件柜项目,涉及人脸识别。我们用的是百度的人脸识别SDK,使用安卓工控板通过USB口连接两个摄像头进行人脸识别。一个红外、一个RGB。红外数据用于活体检测,RGB数据用于匹配用户。
开发过程中会出现一个奇怪的现象,在图像预览界面,有时候RGB的图像会被当初红外图像处理,红外图像则被当初RGB图像,导致SDK无法正确识别。
如下图

一开始我怀疑是摄像头问题,换了新的摄像头还是如此,最后排查发现是安卓工控板的问题。在百度官方给的SDK demo中,使用的是老的Camera类来调用相机,即通过cameraId来获取相机。在 Camera源码中,cameraId是被写死的。
/**
* The facing of the camera is opposite to that of the screen.
*/
public static final int CAMERA_FACING_BACK = 0;
/**
* The facing of the camera is the same as that of the screen.
*/
public static final int CAMERA_FACING_FRONT = 1;
/**
* The direction that the camera faces. It should be
* CAMERA_FACING_BACK or CAMERA_FACING_FRONT.
*/
然而安卓工

在使用百度人脸识别SDK的安卓平板项目中,遇到USB红外(IR)和RGB摄像头图像混淆的问题。经过排查,发现是由于工控板对USB设备的识别问题。通过分析官方Demo,找到并利用了预留的`isRGBCamera()`和`switchCamera()`方法,解决了图像混淆问题。在初始化阶段判断摄像头类型,以确保正确打开RGB和IR摄像头,即使图像预览反转也能正确识别。然而,SDK在特定情况下可能出现误判,建议多帧判断提高准确性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



