网络知识 娱乐 人工智能如何用于静态生物特征验证

人工智能如何用于静态生物特征验证

{"data":{"title":"人工智能如何用于静态生物特征验证","abstract":"静态生物特征验证是一种常用的 AI 功能,它可以实时捕捉人脸,并可以在不提示用户移动头部或面部的情况下确定人脸是否属于真人。","cover":"https://p3.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/942b61234b104fd3b68e671626aad480","articleType":"article","itemId":"7111984958947754536","groupId":"7111984958947754536","groupSource":2,"isOriginal":false,"banComment":false,"publishTime":"2022-06-22 16:59","source":"海拥科技","tag":"","mediaSite":null,"pathname":"/article/7111984958947754536/","loginUserInfo":null,"favorite":false,"relation":{"isFollowing":false,"isFollowed":false},"likeData":{"userLikeStatus":0,"count":1},"isSelf":false,"content":"

静态生物特征验证是一种常用的 AI 功能,它可以实时捕捉人脸,并可以在不提示用户移动头部或面部的情况下确定人脸是否属于真人。通过这种方式,该服务有助于提供获得积极反馈的便捷用户体验。

人工智能如何用于静态生物特征验证

技术原理

静态生物特征验证需要 RGB 摄像头,并且能够通过细节(例如莫尔图案或纸上的反射)区分真人的面部和欺骗攻击(例如面部和面罩的图像或屏幕截图)照片)在相机拍摄的图像中。该服务支持来自各种场景的数据,包括不同的照明条件、面部配饰、性别、发型和面具材料。该服务分析面部周围环境以检测可疑环境。

静态生物特征验证模型采用轻量级卷积模块,在推理阶段通过重新参数化将线性计算转化为单个卷积模块或全连接层。MindSpore Lite 推理框架可用于模型部署,从而裁剪操作员。然后缩小模型的封装尺寸,使其更便于集成。

应用场景

活体检测通常在人脸验证之前使用。例如,当用户使用面部识别解锁手机时,活体检测首先确定捕获的面部是否真实。如果是,则人脸验证将检查人脸是否与系统中记录的人脸匹配。这两种技术相互补充,以保护用户的设备免受未经授权的访问。

所以可以肯定地说,静态生物特征验证为应用程序提供了严格的保护,我在这里说明如何集成它。

整合程序

准备工作

调用服务有两种模式:

通话模式

活体检测过程

活体检测界面

功能

默认查看模式

由 ML Kit 处理

提供的

确定一张脸是否真实

自定义查看模式

由 ML Kit 处理

自定义

确定一张脸是否真实

一、默认查看模式

1.创建回调获​取静态生物特征验证结果。

private MLLivenessCapture.Callback callback = new MLLivenessCapture.Callback() {n@Overridenpublic void onSuccess(MLLivenessCaptureResult result) {n// 验证成功时回调,结果表明面部是否为真人。n}n@Overridenpublic void onFailure(int errorCode) {n// 验证失败时回调。例如,摄像头异常(CAMERA_ERROR)。 添加处理逻辑来处理失败。n}n};

2.创建静态生物特征验证实例并开始验证。

MLLivenessCapture capture = MLLivenessCapture. getInstance();ncapture.startDetect(activity, callback);

二、自定义查看模式

1.创建一个 MLLivenessDetectView 实例并将其加载到活动布局中。

/**n* 1. 将摄像头预览画面绑定到远程视图,设置活体检测区域。n* 在相机预览流中,静态生物特征验证确定人脸是否在图像中间。 为提高通过率,建议将人脸框置于屏幕中间,并将活体检测区域设置为略大于人脸框。n* 2. 设置是否检测掩码。n* 3. 设置结果回调。n* 4. 将 MLLivenessDetectView 加载到活动中。n*/n@Overridenprotected void onCreate(Bundle savedInstanceState) {nsuper.onCreate(savedInstanceState);nsetContentView(R.layout.activity_liveness_custom_detection);nmPreviewContainer = findViewById(R.id.surface_layout);n// ObtainLLivenessDetectViewnmlLivenessDetectView = new MLLivenessDetectView.Builder()n.setContext(this)n// 设置是否检测掩码。n.setOptions(MLLiveness DetectView.DETECT_MASK)n// 设置人脸框相对于 MLLivenessDetectView 的矩形。n.setFaceRect(new Rect(0, 0, 0, 200))n// 设置结果回调。n.setDetectCallback(new OnMLLivenessDetectCallback() {n@Overridenpublic void onCompleted(MLLivenessCaptureResult result) {n// 验证完成时回调。n}n@Overridenpublic void onError(int error) {n// 验证过程中发生错误时的回调。n}n@Overridenpublic void onInfo(int infoCode, Bundle bundle) {n// 收到验证提示消息时回调。 此消息可以显示在 UI 上。n// if(infoCode==MLLivenessDetectInfo.NO_FACE_WAS_DETECTED){n// No face is detected.n// }n// ...n}n@Overridenpublic void onStateChange(int state, Bundle bundle) {n// 验证状态变化时回调。n// if(state==MLLivenessDetectStates.START_DETECT_FACE){n// Start face detection.n// }n// ...n}n}).build();nmPreviewContainer.addView(mlInteractiveLivenessDetectView);nmlInteractiveLivenessDetectView.onCreate(savedInstanceState);n}

2.为MLLivenessDetectView设置生命周期监听器。

@Overridenprotected void onDestroy() {nsuper.onDestroy();nmlLivenessDetectView.onDestroy();n}n@Overridenprotected void onPause() {nsuper.onPause();nmlLivenessDetectView.onPause();n}n@Overridenprotected void onResume() {nsuper.onResume();nmlLivenessDetectView.onResume();n}n@Overridenprotected void onStart() {nsuper.onStart();nmlLivenessDetectView.onStart();n}n@Overridenprotected void onStop() {nsuper.onStop();nmlLivenessDetectView.onStop();n}","imageList":["https://p26.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/6d78412b792c43e8b9d43fc6a5e5bd09?from=pc"],"mediaInfo":{"userId":"MS4wLjABAAAAJktXNomhDhx98Qkp6vDGin53mMgYbqcmGm8fz3m0kxDGY6mSmVJXKjv0DQQ2MyaH","unsafeUserId":"3012291591419815","name":"海拥科技","avatarUrl":"https://p9.toutiaoimg.com/origin/tos-cn-i-jcdsk5yqko/8b11cc0600474f0f9fb2ee54f3c25589","description":"一枚爱好计算机科学,乐于分享技术与快乐的博主","userVerified":1,"userAuthInfo":""},"seoTDK":{"title":"人工智能如何用于静态生物特征验证-今日头条","description":"静态生物特征验证是一种常用的 AI 功能,它可以实时捕捉人脸,并可以在不提示用户移动头部或面部的情况下确定人脸是否属于真人。","keywords":"人工智能,美好,一直在身边,照相机,2019科技之光","publishTimestamp":"1655888371","modifiedTimestamp":"1656042492"},"logId":"20220624122411010150140037108E6E24","sylpageConfig":{"card":{"id":""}},"identity":{"web_id":"7111199547455817229","user_is_login":false},"abtestInfo":{"rsp_type":5,"version_name":"4252807,4164637","parameters":{"feat_repost_type":{"new":true},"home_nav_conf":{"dcd_out":1},"local_filter":{"core_filter":{"filter_list":{"ms::TicaiFilter":true}}},"page_upgrade":{"new_profile":true,"video_double_column":true},"sati":{"enable_ad_prime":true,"enable_sorter_optimus":true,"prime_rule_rank_version":"toutiao_web","use_toutiao_web_feed":true,"format_max_consecutive_middle":2,"format_max_consecutive_nogroups":3,"enable_reduce_nogroup":true},"seraph":{"score_rule":{"default":{"replace":{"group_util":"_CTR - 1000*dislike"}},"new_user":{"replace":{"group_util":"_CTR - 1000*dislike"}}}},"sort":{"allowed_ticai":["forum_post","pgc_text","pgc_video"]},"video_detail_page_upgrade":{"new_page":true}},"env_flag":0},"localCityInfo":{"name":"北京","code":"110000","channelId":3202164529},"showResearch":false}}