摘要:但讓我沒想到的是,在過去的一年里有好多好多粉絲加我好友咨詢這個小,因為里邊有點小,導致一些新手朋友不能成功啟動。從此我就開啟不厭其煩的解答各種疑問,不過我精力畢竟有限,最后實在回答不過來,干脆弄了個群粉絲互相分享經(jīng)驗。
大家好,我是小富~
在我最開始寫文章的時候曾經(jīng)寫過一篇文章 基于 Java 實現(xiàn)的人臉識別功能,因為剛開始碼字不知道寫點什么,就簡單弄了個人臉識別的Demo。
但讓我沒想到的是,在過去的一年里有好多好多粉絲加我好友咨詢這個小demo,因為里邊有點小bug,導致一些新手朋友不能成功啟動。
從此我就開啟不厭其煩的解答各種疑問,不過我精力畢竟有限,最后實在回答不過來,干脆弄了個群粉絲互相分享經(jīng)驗。
問題大面積出現(xiàn)的時候我就想過再出一個完整版的demo,可家里工作一大堆事搞得一點精力都沒有,一直拖到了現(xiàn)在,正好現(xiàn)在把這個人臉識別登錄功能用在了自己的項目上,借此機會分享出來了,這次盡可能不給大家留(埋)bug 哈哈哈 。
具體操作之前先看下成品的效果,線上預(yù)覽地址:https://fire100.top,這里大家可以放心,不會收集面部圖片,只是提取了面部特征,并沒有上傳云端。下邊我們以冰冰來做個演示看看效果,識別速度和成功率還是不錯的。
整個功能的邏輯很簡單,前端調(diào)起攝像頭,識別到人臉后拍照上傳到后臺,后端SDK識別出圖片中的人臉特征后,與數(shù)據(jù)庫內(nèi)的用戶人臉特征做比對,比對成功(相似度在0.8~1之間即算同一個人)登錄,如識別到人臉但數(shù)據(jù)庫內(nèi)未比對成功則視為新用戶注冊。
注意:如果要在線上應(yīng)用,必須要使用https才能調(diào)起攝像頭,本地測試沒有限制。
啟動項目之前先做一點準備工作,因為使用的是三方的人臉識別SDK,所以要先在平臺申請一個賬號,然后在下載對應(yīng)版本的SDK。
官網(wǎng)地址: https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/login
可能會有人抬杠為啥你不自己寫個人臉識別,別問,問就是不會!
目前支持Linux
、Windows
、IOS
、Android
版本,每個實名認證的賬號可以激活100臺設(shè)備,換句話說就是同一個賬號申請的SDK可以在100個設(shè)備上運行,一般情況下夠用了。
下載的SDK包目錄結(jié)構(gòu)中libs
最為重要,samplecode
里有示例代碼,doc
有API文檔。我們需要的是libs
里邊的arcsoft-sdk-face-3.0.0.0.jar
、和三個對應(yīng)平臺的引擎文件.dll
或者.so
后綴的文件。
項目本身是springboot + vue 前后端分離的,但為了小伙伴們開箱即用,我把這個功能前后端整合在一起,再用個 jpa
做持久化,表也不用自己建了,給大家省點時間。
使用SDK的時候遇到過一點小坑,所以下邊說的詳細一點
首先在springboot啟動類所在項目根目錄下創(chuàng)建一個lib
目錄,將SDK中解壓出的arcsoft-sdk-face-3.0.0.0.jar
放進去,pom.xml
文件中引入這個 Jar
。
</>復(fù)制代碼
<dependency> <groupId>com.arcsoft.face</groupId> <artifactId>arcsoft-sdk-face</artifactId> <version>3.0.0.0</version> <scope>system</scope> <systemPath>${basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar</systemPath></dependency>
maven
打包配置要特別注意一點,一定要加上includeSystemScope
,這樣 maven 打包時會將外部引入的jar包(比如在根目錄下或resource
文件下新加外部jar包)打包到項目jar中,服務(wù)器上項目才能運行。
不加此配置,本地可以運行,因為本地可以再lib下找到外部包,但是服務(wù)器上jar中是沒有的。
</>復(fù)制代碼
org.springframework.boot spring-boot-maven-plugin ${spring-boot.version} true true com.firebook.FireBookApplication false
application.yml
文件的配置更簡單,搞個數(shù)據(jù)庫存放人臉特征數(shù)據(jù),填寫申請SDK時得到的appId
和 sdkKey
,以及 path
為存放引擎文件.dll
或者.so
后綴的文件路徑。
</>復(fù)制代碼
spring: datasource:# type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/face?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456# 人臉識別-windowsface: appId: #********************* sdkKey: #********************* path: D://face
配置好這些直接執(zhí)行FireControllerApplication
就可以了,訪問:127.0.0.1:8081/login/face
。
這里源碼我就不大段大段往出貼了,感興趣的小伙伴自行獲取鏈接下載源碼玩玩吧。
web人臉識別登錄的完整源碼已經(jīng)上傳到Github
了,關(guān)注公眾號:程序員內(nèi)點事,回復(fù)【人臉識別】,獲取下載地址,如果有問題隨時咨詢吧。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/125055.html
摘要:打包配置要特別注意一點,一定要加上,這樣打包時會將外部引入的包比如在根目錄下或文件下新加外部包打包到項目中,服務(wù)器上項目才能運行。 大家好,我是小富~在我最開始寫文章的時候曾經(jīng)寫過一篇文章 基于 Java 實現(xiàn)的人臉識別功能,因為剛開始碼字不知道寫點什么,就簡單弄了個人臉識別的Demo。但讓我沒想到的是,在過去...
摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網(wǎng)頁可以得到從其他來源動態(tài)產(chǎn)生的數(shù)據(jù)。使用反向代理實現(xiàn)跨域,是最簡單的跨域方式。 前言 前后端數(shù)據(jù)交互經(jīng)常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內(nèi)容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內(nèi)容? 同源策略是一種約定,它是瀏覽器最核心...
摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網(wǎng)頁可以得到從其他來源動態(tài)產(chǎn)生的數(shù)據(jù)。使用反向代理實現(xiàn)跨域,是最簡單的跨域方式。 前言 前后端數(shù)據(jù)交互經(jīng)常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內(nèi)容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內(nèi)容? 同源策略是一種約定,它是瀏覽器最核心...
摘要:本文基于環(huán)境,采用為基礎(chǔ)來構(gòu)建實時人臉檢測與識別系統(tǒng),探索人臉識別系統(tǒng)在現(xiàn)實應(yīng)用中的難點。對于人臉檢測方法,效果好于的方法,但是檢測力度也難以達到現(xiàn)場應(yīng)用標準。本文中,我們采用了基于深度學習方法的人臉檢測系統(tǒng)。 git地址:https://github.com/chenlinzho... 本文主要介紹了系統(tǒng)涉及的人臉檢測與識別的詳細方法,該系統(tǒng)基于python2.7.10/opencv...
摘要:本文基于環(huán)境,采用為基礎(chǔ)來構(gòu)建實時人臉檢測與識別系統(tǒng),探索人臉識別系統(tǒng)在現(xiàn)實應(yīng)用中的難點。對于人臉檢測方法,效果好于的方法,但是檢測力度也難以達到現(xiàn)場應(yīng)用標準。本文中,我們采用了基于深度學習方法的人臉檢測系統(tǒng)。 git地址:https://github.com/chenlinzho... 本文主要介紹了系統(tǒng)涉及的人臉檢測與識別的詳細方法,該系統(tǒng)基于python2.7.10/opencv...
閱讀 2909·2021-11-25 09:43
閱讀 2332·2021-11-24 09:39
閱讀 2717·2021-09-23 11:51
閱讀 1407·2021-09-07 10:11
閱讀 1455·2019-08-27 10:52
閱讀 1940·2019-08-26 12:13
閱讀 3359·2019-08-26 11:57
閱讀 1399·2019-08-26 11:31