玩轉華爲雲開發|老闆萬萬沒想到:剛入職的我一人就搞定人臉識別開發

摘要:程序猿小Hi入職公司不到三個月,就被老闆單獨叫到了辦公室……

初創公司R:剛剛創立,致力於經過信息化技術,幫助中小企業數字化轉型,華麗轉身。java

公司成員:老闆、程序猿小Hi、… …git

程序猿小Hi入職公司不到三個月,就被老闆單獨叫到了辦公室。小Hi心情既激動又不安,激動的是老闆是否是要給本身升職加薪,不安的是否是本身表現很差,老闆要炒魷魚,畢竟疫情是一個很好的藉口。程序員

來到了老闆的辦公室,不等小Hi說話,就單刀直入,說:小Hi啊,你來公司挺長時間了(還沒到三個月,老闆健忘?),你的工做作得挺好(內心開始爽歪歪),今天有個重要任務要交給你(涼了一半,升職加薪忘了吧)。github

小Hi:好的,老闆你有啥就直接吩咐,保證高效完成(內心開始有點忐忑)。segmentfault

老闆:昨天有個新客戶,提了個需求,他們是在XX高新區,公司多切人員雜,在目前疫情狀況下,想在門崗處增長門禁,識別外來人員,增強疫情管控。這是他們的需求文檔,公司的其餘人都出差了,這個任務就交給你了。記住,要作成模塊化,方便後續客戶應用。api

小Hi:是,老闆,我好好看看他們的需求文檔。瀏覽器

……網絡

小Hi離開老闆辦公室,打開需求文檔一看,六個大字映入眼簾:咱們要人臉識別(不對,是七個),內心翻滾着五味雜陳,「模塊化」和「人臉識別」,這就是需求。架構

第一次接到了老闆的任務,小Hi陷入了「深思」(吃雞遊戲中…)分佈式

第一個需求是「模塊化」,模塊化就是要求封裝內部細節,精簡對外交互,實現高內聚低耦合。小Hi第一時間就想到了經過提供API來保障自身的獨立性,以及清晰化的對外交互界面,大學裏學的那點API相關的知識開始在腦海裏迸發:

API的定義:

應用程序接口(Application Programming Interface)是一組定義、程序及協議的集合,經過 API 接口實現計算機軟件之間的相互通訊。用來提供應用程序與開發人員基於某軟件或硬件得以訪問的一組例程,而又無需訪問源碼,或理解內部工做機制的細節。

常見的API類型有:

1)RESTful API:基於HTTP、URI和XML等的常見的Web服務接口標準,描述了一個架構樣式的網絡系統,其核心是面向資源的。

2)SOAP接口:簡單對象訪問協議,簡單對象訪問協議(SOAP)是一種輕量的、簡單的、基於 XML 的協議,它被設計成在 WEB 上交換結構化的和固化的信息。

3)RPC接口:遠程過程調用 (RPC) 是一種協議,程序可以使用這種協議向網絡中的另外一臺計算機上的程序請求服務。

4)RMI接口:遠程方法調用RMI是針對於java語言的, RMI 容許您使用Java編寫分佈式對象。

API的設計原則,好API的6個特質:

1)極簡:極簡的API是指對外暴露的儘量少,這樣的API更易理解、記憶、調試和變動。

2)完備:完備的API是指用戶指望有的功能都包含了,知足用戶的需求,是完備的。

3)語義清晰簡單:接口、參數、幫助等的語義清晰簡單,使用經常使用語和縮略語,不適用生僻語,儘可能減小意外。

4)符合直覺:經驗不很豐富的用戶不用閱讀API文檔就能搞懂API,並且程序員不用瞭解API就能看明白使用API的代碼。

5)易於記憶:爲使API易於記憶,API的命名約定應該具備一致性和精確性。使用易於識別的模式和概念,而且避免用縮寫。

6)引導API使用者寫出可讀代碼:代碼只寫一次,卻要屢次的閱讀(還有調試和修改)。寫出可讀性好的代碼有時候要花費更多的時間,但對於產品的整個生命週期來講是節省了時間的。

注:源自Qt的API設計原則,_詳見__https://github.com/oldratlee/translations/blob/master/api-design-principles-from-qt/README.md_

API相關概念

1)API網關:服務與服務之間通訊的中介或橋樑,提供服務接入和鑑權、API註冊、流控、管理等API託管服務。

2)API全生命週期管理:覆蓋了API的設計、開發、測試、發佈、訂閱、使用和分析的端到端、全流程的管理。

第二個需求是「人臉識別」,小Hi沒有AI相關技術積累,開始捉急,突然靈光一閃,想起來前兩天華爲雲專家過來交流,有提到華爲雲的AI能力,因而激動的打開了瀏覽器。

輸入https://www.huaweicloud.com/,打開華爲雲,選擇「開發者」=>「資源工具」下的API Explorer,查看華爲雲全部開放API:

在API Explorer上面,能夠快速查看對應雲服務的開放API:

在搜索框輸入人臉識別,搜索相關的雲服務:

打開人臉識別服務,有人臉比對、人臉檢測、人臉搜索、人臉資源管理、人臉庫資源管理等,挺多API的,太棒了。

火燒眉毛調試一把,登陸華爲雲(沒註冊的趕忙註冊下),選擇到人臉識別控制檯頁面(https://console.huaweicloud.c...),開通人臉比對服務:

在API Explorer上選擇人臉比對API(FaceCompareByFile),查看此API詳細介紹信息,包括接口說明、請求參數、示例、返回參數、錯誤碼等,此API支持對比兩張人臉圖片信息,判斷是否同一我的的置信度:

咱們直接能夠選擇要比對的圖片,在API Explorer上點擊調試按鈕來在線調試這個API:

點擊調試後,能夠獲得比對結果,類似度94.699%(表明同一我的的機率很大):

再調試了多個API接口,查閱了人臉識別服務介紹後,小Hi內心有着落了,一張「藍圖」在腦海中繪製:

小Hi頓時信心爆棚起來,這下能夠在老闆面前好好表現下了。

你覺得這就結束了嗎?

圖樣圖森破,小Hi仍是太年輕,按以往經驗,藍圖和落地至少還差個銀河的距離,等待小Hi的是怎麼快速實現這個公共服務,未完待續 ……

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索