如何在五分鐘內搭建人臉檢測/關鍵點識別等服務?

在寫了一段時間的CVTron和CV方面的代碼後,因爲常常遇到一些經典的目標檢測問題,不由想到,若是能夠經過包管理的形式,一鍵下載、安裝,甚至運行一個HTTP的服務,豈不美哉?在CVTron的開發過程當中,咱們也遇到了須要給用戶提供訓練好的模型文件,但用戶表示即便有了模型文件,也要花一些力氣來搭建服務等等。出於興趣和實際問題的要求,咱們花了一週多的時間,搞了一套用於計算機視覺的包管理。還設計一個毛線版Logo.python

爲了檢驗成果,今天咱們就來試試能不能五分鐘內,用這套系統搭建一我的臉檢測、關鍵點識別服務。固然,須要明確,這篇文章裏不會涉及到具體的人臉檢測/關鍵點識別的算法知識。(另一點很差明說的是,複製代碼可能會更好地搭建這樣的服務 :狗頭.jpeg)git


  1. 安裝cvpm.

CVPM須要Python 3 和對應的pip. 在繼續以前須要保證Python 3已安裝。github

CVPM的CLI部分是Go寫成的,能夠簡單地經過下載二進制文件來安裝。前往Release下載對應平臺的二進制文件。本文咱們以Ubuntu 18.04 (x64)爲例。算法

wget https://github.com/unarxiv/CVPM/releases/download/v0.0.2/cvpm_0.0.2_Linux_x86_64.tar.gz
tar zxvf cvpm_0.0.2_Linux_x86_64.tar.gz
sudo mv cvpm /usr/bin/ # 放到/usr/bin中方便使用
cvpm config # 按照說明輸入python和pip對應路徑便可
複製代碼


2. 安裝守護進程和python依賴bash

雖然聽上去麻煩,但實際上用以前下載到的cli是很容易安裝的curl

sudo cvpm daemon install # 請使用管理員權限
cvpm install cvpm:test # 從test-pypi安裝cvpm的python包, 只因我尚未上傳到正式的Pypi上
複製代碼


3. 安裝人臉檢測的package測試

有了上兩步以後,繼續就十分簡單了。咱們能夠在Model Hub上搜索相關的庫。ui

在頁面的左側,咱們就能夠找到對應的安裝指令:url

cvpm install https://github.com/cvmodel/Face_Utility
複製代碼

這一步可能會花相對比較長的時間,這是因爲部分python庫在運行時須要編譯(dlib)。在安裝好以後,會以下圖所示:spa

4. 運行對應的Solver

當須要啓動一個檢測服務時,咱們能夠輸入

cvpm repo run cvmodel/Face_Utility/Face_Detection
複製代碼

這樣,cvpm就會自動去下載預訓練好的模型,同時在8080端口開啓一個HTTP服務。

5. 測試

在Model Hub上,咱們已經看到了相應的測試代碼。

curl -X POST -F number_of_times_to_upsample=1 -F delete_after_process=true  -F mode=CNN -F file=@lena.png 127.0.0.1:8080/infer
複製代碼

這樣,一個很是簡單的人臉檢測服務就搭建完成了。該倉庫中還包含了人臉關鍵點的代碼及預訓練模型,歡迎各位嘗試。

相關文章
相關標籤/搜索