自制微擎AI面相識別算術閾值

     有時在朋友圈或其餘地方會看到一些AI面相的分享連接或小程序,不是面相算命的有多吸引人,而是前面有"AI"兩個字母。因而我就上網找了一下相關代碼,發現了一個微擎系統的面相模塊。下載下來後,借用了別人認證的服務號運行並閱讀了源代碼,好奇也逐步消失,惟一沒跑通的就是臉部識別以後沒法返回對應的結語;好比鼻相描述,眼相描述等等,由於須要一個收費接口,不過爲了避免收費只能本身寫,這個後面再說。前端

版本清單

微擎1.8.3 (關注下面 公衆號 回覆「微擎」也能夠獲取源碼)linux

AI面相模塊1.17小程序

安裝環境

PHP+MYSQL+認證服務號windows

預覽

 

臉部識別部分

        臉部識別使用的是百度人臉識別API,地址: https://ai.baidu.com/tech/face/detect。我的帳戶也能夠免用申請使用,微擎的面相是用戶上傳一張圖片後,調用百度接口,經過API返回結果判斷圖片是否符合,符合保存頭像和部分接口信息。而後經過臉部特徵點將其返回到前端,前端根據特徵點的座標繪製五官定位,臉部眼睛眉毛等輪廓。api

        其中最主要是使用landmark特徵點,就是臉部五官的XY座標,能夠把人臉想成蒙上一張網,眼角就是其中一個(x,y)。接口返回4特徵點,72特徵點,150特徵點,值越大五官定位越精確。微信

        其實接口還有返回臉型,顏值,是否真人臉,是否戴眼鏡,表情,性別,人種等不少比較有趣的字段,不過有一個精確值。可是這個AI面相代碼並無使用這些,後面我修改的時候把這些元素都加上去了,感受表情能識別出來會更驚喜。網站

 

支付提現部分

        屬於商業代碼,天然就有收費和推广部分。因此裏面有關於鼻子或其餘解鎖的須要收費,而且還有二級分銷,就少不了提現功能。關於公衆號中支付和提現,若是沒有申請商戶平臺帳號能夠先申請。完了後只須要把公衆號和商戶平臺進行綁定,記錄相關參數和下載提現須要的證書祕鑰等。最後就是在微擎系統中配置了。加密

1. 支付(公衆號AppID, Appsecret,  商戶ID,支付祕鑰[本身在微信商戶平臺設置的32位字符串])spa

 

2. 提現(證書和證書私鑰)3d

 

面相算術閾值

    這個就是AI面相源碼最後須要的了,由於當圖片上傳後,五官也定位了,可是沒有描述。因此不少網站上下載的代碼都是對這部分作了sg11加密,相似下面

雖然下載PHP擴展SG11也能正常運行,可是讀不了源碼更改不了比較難受。其中SG11擴展包分別是: ixed.5.5.win和 ixed.5.5.lin,對應windows和linux。不過我後來發現了這個獲取描述的接口,地址: http://eb4lxnw.66bbn.com/api/index/getContent,請求參數見下,請求值是亂打的。

        最後再回頭去看代碼的時候,發現上傳頭像後讀取相關描述是直接傳入五官名字就能夠,好比傳入「眼睛」,「鼻子」等返回。其實我開始覺得這個描述是有結合特徵點作篩選,因此我猜那個系統描述的數據量很大,當須要讀取時就隨機返回一條,知道這個後面後本身修改就比較好作了。

 

本身寫的部分

添加了下面的幾個類和幾張表(包括五官解鎖描述語,五官種類等)。不過本身是有結合72特徵點計算五官的佔比而後去匹配對應的數據的,鼻子寬度佔比能知道鼻翼的大小等等。而數據是在網上採集和爬取後整理的,最後使用起來就像上面那幾個報告的描述那樣也能達到一點準確度。

 

公衆號

相關文章
相關標籤/搜索