CC3200AI實(shí)驗(yàn)教程 ——瘋殼·開(kāi)發(fā)板系列 AI人臉注冊(cè)認(rèn)證與識(shí)別
使用IAR打開(kāi)AI_OCR文件夾里面的工程,打開(kāi)common.h頭文件,連接的路由器名稱(chēng)及密碼如圖1.0.1所示,如需修改成需要注意路由器名稱(chēng)長(zhǎng)度和密碼的長(zhǎng)度以及加密類(lèi)型都要修改。
圖1.0.1 路由器相關(guān)信息
圖1
在AI人臉識(shí)別系統(tǒng)中需要有上層服務(wù)器,CC3200通過(guò)TCP與上層的服務(wù)器建立連接關(guān)系,通過(guò)這一鏈路來(lái)實(shí)現(xiàn)數(shù)據(jù)包的傳遞,從而實(shí)現(xiàn)人臉識(shí)別的功能。在mian.c文件中通過(guò)兩個(gè)全局變量來(lái)定義服務(wù)器的IP及端口,如圖1.0.2所示為連接服務(wù)器的IP及端口,用戶(hù)可在此更改切換連接到自己的服務(wù)器。
圖1.0.2 服務(wù)器的IP及端口
圖2
IP地址用16進(jìn)制來(lái)表示,例如:“192”對(duì)應(yīng)16進(jìn)制的“0xc0”、“168”對(duì)應(yīng)16進(jìn)制的“0xa8”、“05”對(duì)應(yīng)16進(jìn)制的“0x05”、“05”對(duì)應(yīng)16進(jìn)制的“0x05”,合起來(lái)就是0xc0a80505(192.168.5.5)。
在UartTask任務(wù)中為了方便調(diào)試與二次開(kāi)發(fā),AI人臉識(shí)別系統(tǒng)使用串口指令的方式來(lái)開(kāi)啟相關(guān)標(biāo)志位從而實(shí)現(xiàn)對(duì)應(yīng)的功能,如表1.0.1所示為AI人臉識(shí)別系統(tǒng)的串口指令表。
表1.0.1 AI人臉識(shí)別系統(tǒng)串口指令表
表1
為了方便調(diào)試,最好提前把這些指令添加到串口調(diào)試助手中,使用時(shí)直接點(diǎn)擊發(fā)送即可。如圖1.0.3所示為把指令添加到SSCOM串口調(diào)試助手后的界面圖。
圖1.0.3 添加指令后的SSCOM串口調(diào)試助手
圖3
UartTask任務(wù)主要是實(shí)現(xiàn)接收串口指令,對(duì)接收到的指令匹配并置位相關(guān)標(biāo)志位。
WlanModeChangeTask任務(wù)主要是為了實(shí)現(xiàn)CC3200網(wǎng)絡(luò)連接部分,如圖1.0.4所示為該任務(wù)代碼。
圖1.0.4 WlanModeChangeTask任務(wù)
圖4
當(dāng)接收到串口發(fā)來(lái)的模式改變指令“fk+set+mode+1#”時(shí)會(huì)使得模式改變開(kāi)關(guān)stationModeChangeFlag置1,通過(guò)ChangeToStationMode()函數(shù),CC3200被配置為STA模式。
當(dāng)接收到串口發(fā)來(lái)的聯(lián)網(wǎng)指令“fk+connectWlan#”時(shí)會(huì)使得連接網(wǎng)絡(luò)開(kāi)關(guān)connectToWlanFlag置1,通過(guò)ConnectToWlan()函數(shù),CC3200連入指定的路由器。
當(dāng)接收到串口發(fā)來(lái)的連接服務(wù)器指令“fk+connectServ#”時(shí)會(huì)使得連接服務(wù)器開(kāi)關(guān)connectToServerFlag置1,通過(guò)ConnectToServer(),CC3200與指定IP的端口建立連接。
SendDataTask任務(wù)主要是實(shí)現(xiàn)檢測(cè)到相關(guān)指令的標(biāo)志位被置位后發(fā)送相關(guān)的數(shù)據(jù)包到服務(wù)器端,SendDataTask任務(wù)的核心部分,如圖1.0.5所示。
圖1.0.5 SendDataTask任務(wù)
圖5
具體的數(shù)據(jù)包內(nèi)容可參考《加解密與數(shù)據(jù)協(xié)議》小節(jié)。ReceiveDataTask任務(wù)主要是對(duì)接收到的服務(wù)器回傳數(shù)據(jù)進(jìn)行處理,如圖1.0.6所示為該任務(wù)的代碼。每當(dāng)服務(wù)器接收到CC3200發(fā)來(lái)的數(shù)據(jù)包時(shí),會(huì)返回一個(gè)響應(yīng)數(shù)據(jù)包,CC3200通過(guò)發(fā)送數(shù)據(jù)包時(shí)置位的標(biāo)志位,來(lái)判斷接收到的為哪一個(gè)包的響應(yīng)數(shù)據(jù)包,并對(duì)響應(yīng)數(shù)據(jù)進(jìn)行處理。具體可參考《加解密與數(shù)據(jù)協(xié)議》小節(jié)。
圖1.0.7 ReceiveDataTask任務(wù)
圖6
編譯代碼下載Bin文件到CC3200上(具體可參考GPIO小節(jié)),下載成功之后將撥碼開(kāi)關(guān)再撥回去,由于用到串口UART1調(diào)試的接收,需要把USB轉(zhuǎn)TTL電平的CH340的供電端以及收發(fā)端接上,把CH340G_VCC撥到ON,接收端RXD撥到ON如圖1.0.8所示。
圖1.0.8 下載完成的后的撥碼開(kāi)關(guān)示意圖
圖7
由于板子撥碼處的TXD(GPIO_11)也已被攝像頭使用,所以在程序中改為了GPIO_31,故需要把P17短路帽接上,插上USB線。最后板子上的撥碼及接線狀態(tài)如圖1.0.9所示。
圖1.0.9 最終接線狀態(tài)
圖8
打開(kāi)串口調(diào)試助手,選擇相應(yīng)的串口號(hào)(根據(jù)自己電腦進(jìn)行選擇),波特率設(shè)置為115200,打開(kāi),按下板子復(fù)位鍵。會(huì)收到攝像頭初始化的信息,如圖1.1.0所示。
圖1.1.0 攝像頭初始化信息
圖9
點(diǎn)擊sta,將CC3200配置為Station模式,收到串口回傳,如圖1.1.1所示。
圖1.1.1 配置CC3200為Station模式
圖10
點(diǎn)擊wifi,CC3200接入程序中指定的路由器,收到串口回傳,如圖1.1.2所示。
圖1.1.2 CC3200接入路由器
圖11
點(diǎn)擊服務(wù)器,CC3200與程序中定義好的服務(wù)器IP和端口建立TCP連接,收到串口回傳,如圖1.1.3所示。
圖1.1.3 CC3200與服務(wù)器建立TCP連接
圖12
若設(shè)備已經(jīng)注冊(cè)過(guò),Skey已經(jīng)寫(xiě)在了程序里,可以直接登錄;若未注冊(cè)則發(fā)送注冊(cè)包,點(diǎn)擊“登錄”。收到串口回傳,如圖1.1.4所示。
圖1.1.4 AI設(shè)備注冊(cè)
圖13
登錄成功后,設(shè)備將會(huì)在空閑的時(shí)候不斷地向服務(wù)器發(fā)送心跳包,當(dāng)Skey過(guò)期的時(shí)候也會(huì)自己更新Skey。
點(diǎn)擊人臉注冊(cè),收到串口回傳,會(huì)得到一個(gè)屬于這個(gè)人臉的UID,如圖1.1.5所示。
圖1.1.5 人臉注冊(cè)包
圖14
接下來(lái)是按順序發(fā)送正臉到結(jié)束人臉注冊(cè),按順序點(diǎn)擊正臉且用攝像頭對(duì)著你的臉,如果沒(méi)有識(shí)別到有臉,(下面的包也是一樣)會(huì)發(fā)送失敗,待返回圖片發(fā)送成功回應(yīng)時(shí),再采集下一張臉,依次點(diǎn)擊,完成7張臉部采集后點(diǎn)擊結(jié)束人臉注冊(cè),完成人臉?shù)浫胱?cè)。如圖1.1.6所示,發(fā)送一組人臉進(jìn)行人臉注冊(cè)。
圖1.1.6 發(fā)送一組人臉進(jìn)行注冊(cè)
圖15
點(diǎn)擊人臉識(shí)別,會(huì)在已錄入的人臉庫(kù)中,尋找與當(dāng)前正在識(shí)別的臉最匹配的user_top_num張臉,user_top_num已經(jīng)在程序里寫(xiě)為了1,即在庫(kù)中尋找一張臉與正在識(shí)別的臉相似度最高的臉,串口會(huì)返回相似度以及找到的臉的UID,相似臉的人臉類(lèi)型即正臉到眨眼(0x00~0x06)和userinfo(人臉信息),如圖1.1.7所示。
圖1.1.7 人臉識(shí)別信息
圖16
點(diǎn)擊人臉認(rèn)證,則會(huì)比較人臉與特定的UID人臉進(jìn)行比對(duì),返回相似度。這里的UID已經(jīng)記錄為之前注冊(cè)的人臉。串口返回如圖1.1.8所示。
圖1.1.8 人臉認(rèn)證信息
圖17
文件下載請(qǐng)點(diǎn)擊:
【7】AI人臉注冊(cè)認(rèn)證與識(shí)別.pdf
(1.92 MB)
2022-9-6 17:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
|