未成年人保护工作需要多方协同,注重未成年人健康网络习惯的培养。在技术向善的理念下,人工智能技术又该如何落到实处呢?接下来,本文将详细讲述如何接入腾讯云慧眼·智能身份认证能力助力未成年人保护。
在腾讯云官网了解到 腾讯云AI 人脸核身 产品,可以在验证姓名和身份证信息的情况下,对当前用户身份信息进行审核,包括身份信息核验、人脸核身,即通过拍摄当前用户脸部视频的方式跟用户的身份信息进行比对,完成对身份信息的综合认证。
点击申请免费使用之后,填写腾讯云人脸核身试用申请,因为这里对于防沉迷场景需要进行对当前用户检测是否为活体真人以及进一步与公安权威库比对,确认当前用户身份信息,所以这里需要使用活体人脸核身的功能。
申请成功后开启慧眼人脸核身服务
在腾讯云控制台页面的账号中心拿到对应账号的 APPID。
暂时可以联系客服⼈员进⾏ license 申请,需要准备腾讯云的 appid、客户名称、APP 名称、IOS 包名和 Android 包名。
会得到对应的 lincese 文件
// 设置ndk so架构过滤(以armeabi-v7a为例)
ndk {
abiFilters 'armeabi-v7a'
}
// 过滤重复定义so的问题(以armeabi-v7a为例)
packagingOptions{
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
// 避免so被AS优化
doNotStrip "**/*.so"
}
dependencies {
// 引入慧眼SDK
implementation files("libs/huiyansdk_android_1.0.9.3_release.aar")
// 慧眼使用的模型库
implementation files("libs/huiyanmodels_1.0.0_release.aar")
// 必须引入公共库
implementation files("libs/tencent-ai-sdk-aicamera-1.0.21-release.aar")
implementation files("libs/tencent-ai-sdk-common-1.1.33-release.aar")
implementation files("libs/tencent-ai-sdk-youtu-base-1.0.1.32-release.aar")
// 慧眼SDK需要依赖的第三方库(gson)
implementation 'com.google.code.gson:gson:2.8.5'
}
<!-- 摄像头权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<!-- SDK需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SDK可选的权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
// 在您APP初始化的时候调用,推荐在Application中onCreate内调用
@Override
public void onCreate() {
super.onCreate();
instance = this;
HuiYanAuth.init(getApp());
}
2.设置获取FaceIdToken的方法
在您使用慧眼SDK进行活体核身检测的时候,为了增加请求的安全性,需要您设置获取FaceIdToken的回调方法,慧眼SDK在请求认证阶段会主动调用您传入的回调类获取FaceIdToken。(getCustomerFaceIdToken方法的调用默认在子线程执行)
HuiYanAuth.setFaceIdTokenCreateFunction(new CreateFaceIdToken() {
@Override
public String getCustomerFaceIdToken() {
return currentToken;
}
});
3.启动核身
当您需要启动活体核身检测的时候,只需要调用HuiYanAuth.startHuiYanAuth()函数,同时传入此次核身需要的配置信息以及监听结果的回调即可。
// 启动活体核身的配置信息
AuthConfig authConfig = new AuthConfig();
// 活体检测的界面风格,目前支持PageColorStyle.Light与PageColorStyle.Dark两种默认配置
authConfig.setPageColorStyle(PageColorStyle.Light);
// 此license文件存放在assets下,需要客户提前申请
authConfig.setAuthLicense("YTFaceSDK.license");
HuiYanAuth.startHuiYanAuth(authConfig, new HuiYanAuthResultListener() {
@Override
public void onSuccess(String faceIdToken) {
String showText = "认证成功 faceIdToken: " + faceIdToken;
Log.e(TAG, showText);
Toast.makeText(App.getApp(), showText, Toast.LENGTH_SHORT).show();
}
@Override
public void onFail(int errorCode, String errorMsg, String faceIdToken) {
String showText = "认证失败 code: " + errorCode + " msg: " + errorMsg + " faceIdToken: " + faceIdToken;
Log.e(TAG, showText);
Toast.makeText(App.getApp(), showText, Toast.LENGTH_SHORT).show();
}
});
注意:当前的 "YTFaceSDK.license"文件是需要您主动申请的,暂时您可以联系客服人员进行license申请,将申请的license文件放到assets文件下。
4.SDK资源释放
// Application中onDestroy中调用
@Override
protected void onDestroy() {
super.onDestroy();
// 主动资源释放
HuiYanAuth.release();
}
5.混淆规则(如果您的应用开启了混淆功能,为确保SDK的正常使用,请把以下部分添加到您的混淆文件中)
#慧眼SDK的混淆包含
-keep class com.tencent.could.huiyansdk.** {*;}
-keep class com.tencent.could.aicamare.** {*;}
-keep class com.tencent.could.component.** {*;}
-keep class com.tencent.youtu.** {*;}
-keep class com.tencent.turingcam.** {*;}
-keep class com.tencent.turingfd.** {*;}
-keep class com.tenpay.utils.**{*;}
可以看到,当用户持续在线时间过长时,进行防沉迷识别验证,根据用户输入的身份证号和姓名确定是否成年,并且为了防止绕过注册的方式,进行人脸核身功能,通过 APP 调用手机摄像头,将用户人脸和身份证号等信息进行核对,确保当前用户身份。如果,确认当前用户是未成年,或身份信息与人脸不匹配,就退出应用。
将AI技术应用到未成年人保护领域,利用AI判断实际游戏用户是否为未成年人,并通过人脸识别、人脸核身等AI技术进行二次核验,减少了未成年人冒用成年人身份注册账号进行游戏的情况,从企业层面最大限度的阻止了未成年人超时游戏的行为;在游戏外,利用AI技术还可以对未成年人观看内容进行审核,加强对不雅、暴力等内容的过滤,保护未成年人网络环境的健康。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。