根據我上篇文章的分享,我提到了FaceRecognitionDotNet,它是python語言開發的一個項目face_recognition移植。結果真是有喜有憂,喜的是很多去關註了,進行了下載,我看到項目Star從十幾個變成了現在將近兩百多個,憂的是很多人看不懂這項目,加了我的群來問怎麼用,或者缺 ...
根據我上篇文章的分享,我提到了FaceRecognitionDotNet,它是python語言開發的一個項目face_recognition移植。結果真是有喜有憂,喜的是很多去關註了,進行了下載,我看到項目Star從十幾個變成了現在將近兩百多個,憂的是很多人看不懂這項目,加了我的群來問怎麼用,或者缺少的Dll在哪裡。其實作者本身已經在項目介紹裡面都寫清楚了,真的是明明白白的。缺的dll可以nuget上下載,缺少的模型文件可以去它所移植的原項目上下載。很多人良莠不齊的,問的問題也五花八門,好歹也追求一下本質問題,好好看看介紹和文檔,仔仔細細閱讀一下,也沒有多少字的。各位有點焦急了。
我對整個項目做了整體的梳理,我主要看重的是人臉識別部分,其實作者在編碼上原先不太支持中文,我做了一些修改還加了一些函數,整體如下圖。我做成了一個OWIN自宿主程式,將人臉識別的介面以WebApi的形式暴露給外部調用。本身也提供命令行進行一些操作。
1.exit顧名思義是退出指令
2.face init是用於初始化模型數據
3.face add用於添加新的模型數據
4.face test用於做測試
日誌記錄工具是用了NLog,別的都是項目的依賴包。說了這麼多估計很多人急著要源碼,急於求成的心態很不好啊。誒,能仔仔細細去看別人項目的沉靜心思還是要有的,不然還是渣,向移植代碼的大佬致敬,這才是中流砥柱,希望用了源碼的各位去給大佬也提交一下代碼或者提一些建議,讓這樣好的項目存在下去。源碼地址(包比較大我上傳到了百度雲,我把所有文件都放在了一起,vs2017社區版創建,免得不會搭建項目的小白問):
鏈接:https://pan.baidu.com/s/1mI5vLNOgE6amEcYiiGOzpg
提取碼:54th
最後說一下成果,裡面有不是點會踩到,比如記憶體增長問題,需要手動釋放一些資源,我已經在包函數的時候做了簡單處理。整體性能還是不錯的,兩千張照片,處理花了700秒,我是在一臺虛機上做的測試,當然開發也在那台機器上。總體和我同事調用百度AI的API不相上下(免費版),對於需要離線的項目很有幫助。會做一定移植的可以在linux上運行,我看到作者在Mac和linux都有測試,也在支持.NET Core的。真心佩服那個作者。