前文介紹了人臉API吧凉,但沒有一個(gè)完整的功能實(shí)現(xiàn)隧出,各個(gè)功能的API始終如散開的珍珠一樣,不能串成珠鏈阀捅。到底這套API是如何工作的呢?Person饲鄙、Person Group凄诞、FaceList、Face這些不同的對(duì)象是怎么發(fā)生聯(lián)系的呢忍级?
???? 于是帆谍,我決定寫一個(gè)相對(duì)完整的簡(jiǎn)單程序,完成一個(gè)對(duì)人臉進(jìn)行識(shí)別的功能轴咱。
???? 仔細(xì)看了看文檔汛蝙,琢磨了一下。為了實(shí)現(xiàn)人臉識(shí)別朴肺,需要實(shí)現(xiàn)以下幾個(gè)步驟:
1窖剑、創(chuàng)建一個(gè)Person Group。人需要通過(guò)組來(lái)進(jìn)行管理組織戈稿。每個(gè)組最多有1000個(gè)人西土,免費(fèi)的每個(gè)訂閱最多1000人,S0訂閱的每個(gè)組10000人鞍盗,每個(gè)訂閱上限1M組需了、100M人跳昼。
2、創(chuàng)建一個(gè)Person援所。人是Face的擁有著庐舟。每個(gè)人最多有248張臉的圖片欣除。和人關(guān)聯(lián)的臉是持久化的persistedFace住拭,而使用detect等api讀取的是非持久的Face。
3历帚、為Person提供幾張不同的Face滔岳。除了Face,還有FaceList對(duì)象挽牢,但更多用于分辨類似的臉谱煤。我估計(jì)要進(jìn)行人臉識(shí)別,用Face對(duì)象就可以禽拔。
4刘离、對(duì)提供的幾張F(tuán)ace進(jìn)行訓(xùn)練。人工智能需要對(duì)輸入進(jìn)行訓(xùn)練睹栖,利用認(rèn)知服務(wù)進(jìn)行分析并得到結(jié)果硫惕。理論上提供訓(xùn)練的數(shù)據(jù)越多,結(jié)果越準(zhǔn)確野来。
5恼除、提供一張用于比對(duì)的Face。上傳一張圖片曼氛,讓人工智能判斷是不是同一個(gè)人豁辉。
??? 開始之前我要首先熟悉一下示例代碼。前文提供的示例代碼和Face API的示例代碼使用了不同的模塊舀患。示例代碼引入了requests這個(gè)庫(kù)徽级,使用它可以更靈活的完成有關(guān)HTTP的各類方法特別是傳遞數(shù)據(jù)。所以:
???? pip install requests
???? 因?yàn)橛袃煞N不同的數(shù)據(jù)headers提交方式j(luò)son和octet-steam聊浅,所以分開寫了兩個(gè)不同的headers頭部定義餐抢。為了便于使用,把訂閱的Key和訪問(wèn)的基礎(chǔ)鏈接分別使用變量進(jìn)行提供狗超。
??? 正式開干~首先是創(chuàng)建Person Group弹澎。和別的對(duì)象不同,PersonGroup的名字和ID都是字符串努咐,只接受小寫英文字符和‘-’苦蒿、‘_’,不多于64個(gè)字符渗稍。
本文章轉(zhuǎn)載自51CTO博客佩迟,如需閱讀全文請(qǐng)點(diǎn)擊>>>