任瑞斌,男,西安工程大学电子信息学院,2021级研究生
研究方向:机器视觉与人工智能
电子邮件:[email protected]
吴燕子,女,西安工程大学电子信息学院,2021级研究生,张宏伟人工智能课题组
研究方向:人工智能与机器视觉
电子邮件:[email protected]
人脸检测是对输入图片进行人脸检测和分析,输出人脸在图像中的位置、人脸关键点位置和人脸关键属性。
1、 只支持识别JPG、PNG、JPEG、BMP格式的图片。
2、 为保证识别效果,人脸图片建议要求如下:
a) 光照大于200lux、无反光强光阴影现象。
b) 人脸无遮挡、整体清晰无拖尾抖动等运动模糊。
c) 侧脸不超过30°、俯仰角小于15°、偏转角小于15°、图片中人脸保持竖置正脸。
3、由于过大图片对识别算法精度无明显提升,同时会导致时延较长,建议传入图片小于1MB,一般500KB左右足够。图片中人脸像素建议120*120以上。
1、注册华为云账号,进行实名认证,开通服务。
2、AK/SK认证,下载文件credentials.csv
登录人脸识别管理控制台。
单击页面右上角的用户名,并选择“我的凭证”。进入“我的凭证”页面。
单击“访问秘钥”页签下的“新增访问密钥”。弹出“新增访问密钥”对话框。
输入“登录密码”,如果绑定了手机或者邮箱,还需要获取验证码并进行验证。验证成功后,弹出访问密钥下载对话框。
单击“确定”,并根据提示下载保存访问密钥。
如果已生成过AK/SK,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。
3、在API Explorer中调试接口
本案例中使用base64的图片格式,python实现代码如上图所示。
attributes (人脸关键属性,比如头部姿态):2:年龄 4:装束(帽子、眼镜) 6:口罩 7:发型 8:胡须 11:图片类型 12:质量 13:表情 21:人脸图片旋转角(顺时针偏转角度),支持0°、90°、180°和270°图片旋转。
#############下载需要的库
import base64
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkfrs.v2.region.frs_region import FrsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkfrs.v2 import *
###############导入AK和SK
if __name__ == "__main__":
ak = "输入获得的AK"
sk = "输入获得的SK" # ak和sk读取
credentials = BasicCredentials(ak, sk) \
client = FrsClient.new_builder() \
.with_credentials(credentials) \
.with_region(FrsRegion.value_of("cn-north-4")) \
.build()
f = open('C:\\图片路径\\图片名称.png', 'rb') # 图片路径读取
img = base64.b64encode(f.read()) # 图片转换为base64格式
try:
request = DetectFaceByBase64Request() # 人脸在图像中的位置
request.body = FaceDetectBase64Req(
attributes="2,4,6,7,13", # 人脸关键属性,比如头部姿态。
image_base64=img)
response = client.detect_face_by_base64(request)
print(response) # 输出结果
except exceptions.ClientRequestException as e: # 有误情况的输出
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
输入图片: