百度人脸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 sho