OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6429|回复: 0

疯壳-MTK智能电话手表开发3-7AI人脸注册认证与识别

[复制链接]

98

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2017-2-27
在线时间
53 小时
发表于 2021-3-26 18:15:08 | 显示全部楼层 |阅读模式

详情地址:https://fengke.club/GeekMart/views/offline/ai

购买链接:https://fengke.club/GeekMart/su_fKw7Nb7oC.jsp

视频地址:https://fengke.club/GeekMart/su_f9cTSxNsp.jsp

官方QQ群:457586268

AI人脸注册认证与识别

使用IAR打开AI_OCR文件夹里面的工程,打开common.h头文件,连接的路由器名称及密码如图1.0.1所示,如需修改成需要注意路由器名称长度和密码的长度以及加密类型都要修改。

图1.0.1 路由器相关信息

在AI人脸识别系统中需要有上层服务器,CC3200通过TCP与上层的服务器建立连接关系,通过这一链路来实现数据包的传递,从而实现人脸识别的功能。在mian.c文件中通过两个全局变量来定义服务器的IP及端口,如图1.0.2所示为连接服务器的IP及端口,用户可在此更改切换连接到自己的服务器。

图1.0.2 服务器的IP及端口

IP地址用16进制来表示,例如:“192”对应16进制的“0xc0”、“168”对应16进制的“0xa8”、“05”对应16进制的“0x05”、“05”对应16进制的“0x05”,合起来就是0xc0a80505(192.168.5.5)。

在UartTask任务中为了方便调试与二次开发,AI人脸识别系统使用串口指令的方式来开启相关标志位从而实现对应的功能,如表1.0.1所示为AI人脸识别系统的串口指令表。

表1.0.1 AI人脸识别系统串口指令表

串口指令

相关标志位

功能

fk+set+mode+1#

stationModeChangeFlag

STA模式

fk+connectWlan#

receiveOneFinishFlag

连接指定的路由器

fk+connectServ#

connectToServerFlag

与服务器建立连接

fk+airegister#

hackHandsPckSendEn

注册数据包

fk+ailogin#

Login_Flag

登录

fk+aiFaceReg#

Face_Reg

人脸注册

fk+aiFaceImg0#

Face_Img0

录入正脸图像

fk+aiFaceImg1#

Face_Img1

录入左侧脸图像

fk+aiFaceImg2#

Face_Img2

录入右侧脸图像

fk+aiFaceImg3#

Face_Img3

录入闭眼图像

fk+aiFaceImg4#

Face_Img4

录入张嘴图像

fk+aiFaceImg5#

Face_Img5

录入微笑图像

fk+aiFaceImg6#

Face_Img6

录入眨眼图像

fk+aiFaceEnd#

Face_End

结束人脸注册

fk+aiFDelete#

Face_Delete

人脸删除

fk+aiFidentifi#

Face_identifi

人脸识别

fk+aiFcertifi#

Face_certifi

人脸认证

为了方便调试,最好提前把这些指令添加到串口调试助手中,使用时直接点击发送即可。如图1.0.3所示为把指令添加到SSCOM串口调试助手后的界面图。

图1.0.3 添加指令后的SSCOM串口调试助手

UartTask任务主要是实现接收串口指令,对接收到的指令匹配并置位相关标志位。

WlanModeChangeTask任务主要是为了实现CC3200网络连接部分,如图1.0.4所示为该任务代码。

图1.0.4 WlanModeChangeTask任务

当接收到串口发来的模式改变指令“fk+set+mode+1#”时会使得模式改变开关stationModeChangeFlag置1,通过ChangeToStationMode()函数,CC3200被配置为STA模式。

当接收到串口发来的联网指令“fk+connectWlan#”时会使得连接网络开关connectToWlanFlag置1,通过ConnectToWlan()函数,CC3200连入指定的路由器。

当接收到串口发来的连接服务器指令“fk+connectServ#”时会使得连接服务器开关connectToServerFlag置1,通过ConnectToServer(),CC3200与指定IP的端口建立连接。

SendDataTask任务主要是实现检测到相关指令的标志位被置位后发送相关的数据包到服务器端,SendDataTask任务的核心部分,如图1.0.5所示。

图1.0.5 SendDataTask任务

具体的数据包内容可参考《加解密与数据协议》小节。ReceiveDataTask任务主要是对接收到的服务器回传数据进行处理,如图1.0.6所示为该任务的代码。每当服务器接收到CC3200发来的数据包时,会返回一个响应数据包,CC3200通过发送数据包时置位的标志位,来判断接收到的为哪一个包的响应数据包,并对响应数据进行处理。具体可参考《加解密与数据协议》小节。

图1.0.7 ReceiveDataTask任务

编译代码下载Bin文件到CC3200上(具体可参考GPIO小节),下载成功之后将拨码开关再拨回去,由于用到串口UART1调试的接收,需要把USB转TTL电平的CH340的供电端以及收发端接上,把CH340G_VCC拨到ON,接收端RXD拨到ON如图1.0.8所示。

图1.0.8 下载完成的后的拨码开关示意图

由于板子拨码处的TXD(GPIO_11)也已被摄像头使用,所以在程序中改为了GPIO_31,故需要把P17短路帽接上,插上USB线。最后板子上的拨码及接线状态如图1.0.9所示。

图1.0.9 最终接线状态

打开串口调试助手,选择相应的串口号(根据自己电脑进行选择),波特率设置为115200,打开,按下板子复位键。会收到摄像头初始化的信息,如图1.1.0所示。

图1.1.0 摄像头初始化信息

点击sta,将CC3200配置为Station模式,收到串口回传,如图1.1.1所示。

图1.1.1 配置CC3200为Station模式

点击wifi,CC3200接入程序中指定的路由器,收到串口回传,如图1.1.2所示。

图1.1.2 CC3200接入路由器

点击服务器,CC3200与程序中定义好的服务器IP和端口建立TCP连接,收到串口回传,如图1.1.3所示。

图1.1.3 CC3200与服务器建立TCP连接

若设备已经注册过,Skey已经写在了程序里,可以直接登录;若未注册则发送注册包,点击“登录”。收到串口回传,如图1.1.4所示。

图1.1.4 AI设备注册

登录成功后,设备将会在空闲的时候不断地向服务器发送心跳包,当Skey过期的时候也会自己更新Skey。

点击人脸注册,收到串口回传,会得到一个属于这个人脸的UID,如图1.1.5所示。

图1.1.5 人脸注册包

接下来是按顺序发送正脸到结束人脸注册,按顺序点击正脸且用摄像头对着你的脸,如果没有识别到有脸,(下面的包也是一样)会发送失败,待返回图片发送成功回应时,再采集下一张脸,依次点击,完成7张脸部采集后点击结束人脸注册,完成人脸录入注册。如图1.1.6所示,发送一组人脸进行人脸注册。

图1.1.6 发送一组人脸进行注册

点击人脸识别,会在已录入的人脸库中,寻找与当前正在识别的脸最匹配的user_top_num张脸,user_top_num已经在程序里写为了1,即在库中寻找一张脸与正在识别的脸相似度最高的脸,串口会返回相似度以及找到的脸的UID,相似脸的人脸类型即正脸到眨眼(0x00~0x06)和userinfo(人脸信息),如图1.1.7所示。

图1.1.7 人脸识别信息

点击人脸认证,则会比较人脸与特定的UID人脸进行比对,返回相似度。这里的UID已经记录为之前注册的人脸。串口返回如图1.1.8所示。

图1.1.8 人脸认证信息


【7】AI人脸注册认证与识别.pdf

1.59 MB, 下载次数: 0

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-9 08:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表