天天看點

如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿

摘要:看一個SDK如何拯救初入職場的程式猿小Hi…

【職場初體驗】

時間過得真快,距離上次給小Hi安排“人臉識别”的開發任務(話接上期:【快速玩轉華為雲開發】小Hi拍了拍你,基于華為雲API的開發你Get到了嗎?)已經過去1個多月了,至今還沒有收到一點進展的音訊,老闆有些躁動起來。眼看着,離雙12也就一兩周的時間了,這是最後的deadline。老闆眉頭緊鎖,點了一根“相約98”的香煙(小Hi正好是98後,一切都是巧合吧),長舒了一口氣,給小Hi發了樓下咖啡廳見的資訊。

程式猿小Hi入職後第二次被老闆單獨召見,這一次突然是在高大上的“小樣”咖啡廳(一杯咖啡可以吸收宇宙的力量)。小Hi感到不妙,非常緊張,畢竟老闆交待的第一個任務還沒有搞定,遇到了點困難。

老闆在招呼小Hi就座後,微笑着說(心裡可能正憋着火):小Hi,人臉識别的需求自從前些日子在華為雲API Explorer上找到相關API後,進展得還順利嗎?有沒有什麼困難需要我來推動解決的?

小Hi開始冒汗…結巴着說:“老闆,我們要的API雖然找着了,而且也都在API Explorer上調試通過了,但還沒有在代碼工程裡調通,我現有點沮喪…(眼淚都快掉起來了)”。

老闆:小Hi,你先别着急,我了解你現在的心情,也注意到你最近工作非常賣力。我們先一起來縷縷,我們的目标是雙12前正式上線人臉識别的功能,能将目前的現狀具體描述下嗎?

小Hi:在代碼中調用這些API需要做很多封裝工作,比如這裡涉及諸多httpsclient公共方法的封裝,涉及ak/sk的擷取以及生成token等操作,需要寫上千行代碼,我以前對這塊不熟悉,雖然近幾周努力加班趕進度,但進度還不是很理想,風險很高哦;

老闆:像華為雲這樣的Top廠商,除了API肯定是有提供SDK。有SDK的話,你隻需要像使用函數一樣,事半功倍哦!另外,以後工作上有什麼風險,要及時回報,及時求助。

小Hi一頭霧水(什麼是SDK?挂到嘴邊又不好意思說),沒想到老闆除了能跟客戶吹水外,技術路子也挺野的。在些許的不确定性中,想起了一句名言“沒有退路,就是勝利之路”,于是擡頭挺胸,大聲的回答道:“老闆,經過你的指導後,感覺豁然開朗,我這就去找SDK,謝謝老闆,那我先回去工作去了,有問題我再及時求助”。說完,跟打了雞血一樣,興高采烈地跑出咖啡廳(一口咖啡都沒顧得上喝,但被老闆激勵到了,也算是吸收了宇宙的力量)。

【困難解決之路】

隻見小Hi從過道飛馳而過,猶如一匹汗血寶馬,讓同僚們都驚呆了,不知道哪來的自信。“我是一隻小小鳥,有了SDK,我可以飛得更高…”,一邊哼着小曲,一邊在華為雲官網搜尋框輸入:SDK。然後一頓操作猛如虎:

  • 打開華為雲官網->開發者->SDK(https://developer.huaweicloud.com/sdk?all):
如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿
  • 搜尋人臉識别FRS服務,找到Java SDK卡片,先進入SDK文檔看看如何使用:
如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿
  • SDK 入門指導出現在眼前,迫不及待地開始操作起來:(https://support.huaweicloud.com/sdkreference-face/face_04_0002.html)
如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿

One by One,不能再簡單,原以為“開通人臉識别服務”的操作需要半天呢,沒想到1分鐘就完成了。

  • 上面的環境準備工作大概隻花了10來分鐘,就輕松的搞定了。小Hi信心爆棚,接下就看“接口示例”代碼了:

構造服務用戶端代碼:

String ak = "***";  
String sk = "***";  
String projectId = "**";  
 // Proxy info,當您需要使用代理才可以通路到服務時,可在此處增加代理資訊  
ProxyHostInfo proxyHostInfo = new ProxyHostInfo("proxy",  8080, "**", "**" );  
 // Service info  
String url = "https://face.cn-north-4.myhuaweicloud.com";  
String region = "cn-north-4";  
AuthInfo authInfo = new AuthInfo(url, region, ak, sk);  
FrsClient frsClient = new FrsClient(authInfo, projectId, proxyHostInfo); // 當您需要代理才可以通路到服務時,在第三個參數增加代理資訊即可            

調用人臉對比函數(檢查相似度)

CompareFaceResult compareFaceResult = frsClient.getV2().getCompareService().compareFaceByFile("data\\小Hi-front.png", "data\\小Hi-side.png");             

人臉對比圖檔:

如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿
如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿

傳回結果:相拟度約為97%

如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿

小Hi看到結果後,還是有點不太相信自己的眼睛,幸福來得太突然了吧?想到前段時間使用過API Explorer調試功能,于是想對比下兩種方式的結果是不是一緻的。…點選調試,結果真得一樣(相拟度約為97%):

如何通過一個SDK輕松搞定人臉識别,拯救初入職場的程式猿

太不可思議了,居然隻需要copy幾行代碼就搞定了人臉檢測服務API的內建開發工作。小Hi欣喜若狂,原來跟華為雲API對接真得跟傳說中的這麼簡單,One by One就搞定了,隻是自己不知道捷徑而已。No Copy, More Code! Low Copy, Low Code, No Code!

【幸福來敲門】

寫在結尾:姜還是老的辣,經過老闆随便一點拔,小Hi輕而易舉地使用華為雲SDK完成了入職以來的第一個任務,所謂背靠大樹好乘涼啊。One day later,小Hi興高采烈地走進老闆辦公室; Several minutes later,小Hi陽光燦爛地飛出辦公室,空氣中彌漫着升職加薪的氣息。誰叫她證明了老闆是對的呢,哈哈…

小道消息,老闆之是以着急人臉識别功能要在雙12上線,是因為他的第二個小公子預産期就是有12月12日,老闆想用自己釋出的産品來對兩個兒子做個人臉識别,比對下相似度。哎呀我勒個天啊,這消息要是讓老闆娘知道那還得了?

江湖傳聞,不久後老闆又開始接見小Hi,交待秘密差事。喜歡蹲牆根的人們,憑借同類的直覺,截獲到小Hi的腦電波信号:“華為雲CLI是什麼鬼?額勒個娘,還有個模闆引擎,我隻聽說過發動機引擎”。未完待續……

本文分享自華為雲社群《【快速玩轉華為雲開發】小Hi如何取得人臉識别SDK處女秀的成功,幸福來敲門!》,原文作者:Mourinho。

點選關注,第一時間了解華為雲新鮮技術~