一、計畫介紹
本計畫是一個免費的開放原始碼面孔辨識計畫。實際上,它是一個基於碼頭的應用程式,可以作為獨立的伺服器或部署在雲中。你不需要事先的機器學習技能來建立和使用序言。
該系統提供了用於面部辨識、面部驗證、面部檢測、標誌性檢測、面具檢測、頭部姿態檢測、年齡和性別辨識的RESTAPI。解決方案還提供了一個角色管理系統,使您能夠輕松地控制誰可以存取您的面部辨識服務。
序言是作為一個碼頭組合配置提供的,並支持不同的模型,工作在CPU和GPU。我們的解決方案是基於最先進的方法和圖書館,如法涅特和視覺。
二、特點
這個系統可以精確地辨識人們,即使它只"看到"他們的照片一次。從技術上講,與類似的自由面部辨識解決方案相比,復合材料有幾個優點。序言:
同時支持CPU和GPU,易於擴充套件
是開放原始碼和自主機,這為數據安全提供了額外的保證
既可以部署在雲中也可以部署在現場
不需要機器專業知識就可以建立和使用
使用了最先進的面部辨識方法,包括平面和視覺圖書館
只有一個碼頭工人的命令就能快速啟動
三、系統功能
面部檢測
面檢測服務用於檢測影像中的所有面.它認不出臉,只在影像上找到。面部檢測技術,如同一位敏銳的觀察者,能在任何影像的紛繁細節中精準捕捉每一張面孔的蹤跡。它不涉及辨認個體身份,而是專註於在畫面中巧妙定位每個人臉的存在。這項技術成為解鎖眾多有趣洞察的鑰匙:比如,它能助力商家智慧分析,揭示店鋪對各年齡層與性別的獨特吸重力;透過捕捉顧客視線的焦點,描繪出一幅幅熱力圖,洞悉店內哪些區域最吸睛;還能默默統計客流量,在高峰期為你精確計數;甚至,在這個特別時期,它還能成為公共健康的守護者,確保進入場所的每位顧客都妥善佩戴了口罩,為安心購物環境保駕護航。
使用案例
最有用的例子包括用於面部份析的面部外掛程式:
收集關於你的商店在不同性別中的流行程度的統計數據
收集關於你的活動受歡迎年齡的統計數據
獲取具有裏程碑意義的資訊,以了解客戶的視野
收集商店裏有多少顧客的統計數據
辨識所有顧客是否正確地戴上面具
如何測試
在序言應用程式頁面上,在框架的底部,單擊"建立"按鈕.
在"建立服務"對話方塊中,從"型別下拉選單"中選擇"檢測"。
輸入您將要建立的服務的名稱。
從服務框架中的服務列表中選擇您建立的服務;您可以使用搜尋欄位來過濾服務。
單擊要啟動的服務行中的測試按鈕.
在服務頁面上,開啟或拖放圖片進行分析。
該服務將顯示原始圖片,並在每一張臉上打上標記。
面部辨識
面部辨識服務平台運用先進演算法實作面容辨識,需首步將已知個體面部影像輸入至面容資料庫,構建基礎面容集。後續接獲未標記面容圖片時,平台即啟動面容匹配機制,分析並返回庫中最相似面容記錄。平台另配備驗證介面,針對面容集內特定個體實施精確辨識稽核,強化身份驗證準確度。技術上融合深度學習、影像處理及大數據管理,確保辨識高效且可靠。
使用案例
可能的案例包括:
當你有員工的照片想認出辦公室裏的陌生人
當你有會議與會者的照片,並想追蹤誰對哪個主題感興趣。
當你有貴賓的照片,你想很快在人群中找到他們。
如何測試
在序言應用程式頁面上,在框架的底部,單擊"建立"按鈕.
在"建立服務"對話方塊中,從型別下拉選單中選擇辨識。
輸入您將要建立的服務的名稱。
從服務框架中的服務列表中選擇您建立的服務;您可以使用搜尋欄位來過濾服務。
單擊要啟動的服務行中的測試按鈕.
在服務頁面上,開啟或拖放圖片進行分析。
該服務將顯示原始圖片,並在每一張臉上打上標記。
表面驗證
面部驗證服務是用來檢查這個人是否是正確的。該服務比較您發送到其余端點的兩個面並返回它們的相似性。
使用案例
可能的案例包括:
當客戶給你提供身份證或駕駛執照時,你需要核實這是否是他。
當一個使用者將他的社群網路帳戶連線到你的應用程式時,你想驗證這是不是他
如何測試
在序言應用程式頁面上,在框架的底部,單擊"建立"按鈕.
在"建立服務"對話方塊中,從"型別下拉選單"中選擇"驗證"。
輸入您將要建立的服務的名稱。
從服務框架中的服務列表中選擇您建立的服務;您可以使用搜尋欄位來過濾服務。
單擊要啟動的服務行中的測試按鈕.
在服務頁面上,開啟或拖放兩張圖片以比較其內容。
該服務將顯示原始圖片,並在每一張臉上打上標記。
四、面部辨識體系結構 、 整合 、 演算法
體系結構
讓我們更仔細地看一下臉辨識體系結構。序言有幾個伺服器。當你開始使用序言時,你有一個方便使用者的使用者介面。在一開始,您在那裏設定環境,建立面孔辨識服務,並獲得API鍵。UI部署在平衡器伺服器上,它使用UI管理伺服器作為後端。所有的數據都保存在我們的資料庫中,當您準備好後,您可以開始使用API鍵進行面部辨識。為了提供面部辨識,該系統擁有API伺服器和深度學習伺服器。深度學習伺服器使用神經網路計算嵌入,API伺服器用於分類。API伺服器和深度學習伺服器都是可伸縮的,因此您可以執行幾個例項來提高效能。最重要的是平衡器,它可以傳遞所有的請求。在我們的預設配置中,我們使用NGINX作為平衡器。使用任何平衡器伺服器都是可能的,如果您使用庫伯內特斯,它可能特別有用。
2. 整合
序言是你面部辨識計畫的一部份。要開始你的面部辨識開發,你需要一些視訊或照片捕捉硬體。如果你有一個視訊,你將需要把它分成框架,並行送到合成。所有的整合都是透過使用順序的API完成的。當然,在辨識面部時,請記住,您需要在面部辨識過程中執行業務邏輯。但簡而言之,該公司的面部辨識工作是使用RESTAPI與該系統整合。
3. 技術支持
如上所述,我們擁有不同的伺服器,並使用不同的技術來執行它們。我們在後端伺服器上使用了比達頓和Java,並且使用了各種各樣的機器學習庫,如MXNET和張力流。對於使用者介面,我們使用角和ngrx。我們將所有的東西都儲存在後格列克,並在碼頭執行解決方案。
為了補充這些技術的面部辨識,我們使用了幾個演算法.當我們開始創作序言時,我們開始了 法努內, 這是一個用於面部辨識和集群的統一嵌入。它是一個非常流行的演算法和一個開源庫。我們使用與Fasenet後面相同的思想;我們計算嵌入物,對它們進行分類,並找出嵌入物之間的距離。一開始,我們用了 多工級聯摺積神經網路 用於聯合面部檢測和校準。但是我們決定找到更多的最先進的技術。我們發現一個面部辨識庫( 單階段密集面部在野外的定位 )用於面部檢測及次中心弧形( 大規模吵鬧的網路面孔對增強的面孔辨識 )用於面部辨識。
原始碼下載地址:
https://github.com/exadel-inc/CompreFace.git
看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。