软件环境:虹软ArcFace SDK3.0
参考文献:https://ai.arcsoft.com.cn/bbs/forum.php?mod=viewthread&tid=1318&_dsign=584e4fdb

实际应用中SDKdemo在手机端的视频识别和跟踪是没问题的,但是在一些嵌入式设备中可能由于横竖屏等种种原因会产生这个现象
:识别界面中,人脸运动方向和框框运动方向相反(镜像运动),在笔者项目中是屏幕方向设置为ASF_OP_0_ONLY的时候出现的问题。那么这个问题该如何解决呢?虹软官网的参考文献给我们提示,改动点其实是在DrawHelper的

public Rect adjustRect(Rect ftRect) 
方法中,因为我们的问题出现在ASF_OP_0_ONLY的时候,因此需要对adjustRect改为如下的形式

switch (cameraDisplayOrientation) {
    case 0:
        // 人脸追踪红框方向相反可以改此处
        if (cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            newRect.left = rect.left;
            newRect.right = rect.right;
        } else {
            newRect.left = canvasWidth - rect.right;
            newRect.right = canvasWidth - rect.left;
        }
        newRect.top = rect.top;
        newRect.bottom = rect.bottom;
        break;
其实就是将if中代码调换过来,运动方向自然就相反了,笔者推测,估计是笔者的嵌入式设备只有一个摄像头,它虽然是个前置摄像头但是是后置属性,因此就出现镜像运动方向。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐