• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于百度AI平臺的Web人臉注冊和登錄系統(tǒng)的實現(xiàn)

      2019-05-24 14:12:12趙丙秀
      電腦知識與技術(shù) 2019年7期
      關(guān)鍵詞:人臉識別

      趙丙秀

      摘要:有關(guān)人臉識別技術(shù)的應(yīng)用越來越普及,已經(jīng)滲透到家庭看護(hù)、移動互聯(lián)網(wǎng)、智能硬件、政府警用、金融、監(jiān)控、零售、社交娛樂等各個領(lǐng)域。國內(nèi)有許多企業(yè)提供了人臉識別產(chǎn)品。該文介紹了基于Js、Ajax、Jsp等技術(shù)利用百度AI的SDK的Web人臉注冊登錄的實現(xiàn)。

      關(guān)鍵詞:AIPFace;人臉識別;百度AI;Jsp

      中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2019)07-0114-02

      近幾年來,有關(guān)人臉識別技術(shù)的應(yīng)用越來越普及,已逐漸滲透到各行各業(yè),如家庭看護(hù)、遠(yuǎn)程驗證注冊、政府警用、網(wǎng)吧兼管、手機(jī)支付等等。例如:“I Baby”全景嬰兒監(jiān)視器,其借助人臉識別技術(shù),監(jiān)護(hù)寶寶,并實時同步到移動設(shè)備上,讓家長隨時隨地都能監(jiān)管寶貝。微軟公司的顏齡機(jī)器人"how-old.net"網(wǎng)站可從用戶提供人物照片,識別出人性別和年齡?,F(xiàn)在各大金融APP利用人臉識別技術(shù),實現(xiàn)身份驗證、賬號注冊、掃臉放貸、掃臉支付等。

      1 基本思想

      目前國內(nèi)有許多企業(yè)提供了人臉識別產(chǎn)品,比如北京曠視科技、北京商湯科技、騰訊、阿里、百度等。本系統(tǒng)利用百度ai人臉識別,注冊時,將頁面中采集的人臉圖像存入百度云人臉庫和服務(wù)器中。登錄時,將采集到得人臉圖像與百度云人臉庫中的人臉信息進(jìn)行比對,比對成功則可以成功登錄。

      本系統(tǒng)前端采用HTML5、JS、CSS3等技術(shù)對注冊和登錄頁面進(jìn)行設(shè)計和布局。利用JSP、Ajax、Servlet等技術(shù)進(jìn)行后端的處理和交互。注冊具體過程:

      1)當(dāng)用戶注冊時,通過打開本地攝像頭提取人的臉部;2)獲取到人臉之后在通過ajax進(jìn)行提交到Servlet;3)在Servlet里面進(jìn)行處理(添加到人臉庫中),并且將前臺ajax傳過來的base64圖像進(jìn)行轉(zhuǎn)換成圖片,然后上傳到服務(wù)器中;4)提交到人臉庫的同時,設(shè)置編號為注冊用戶名。

      登錄具體過程:

      1)用戶需要輸入登錄的用戶名(username);2)通過本地打開攝像頭進(jìn)行獲取人臉的base64圖像信息;3)將base64圖像信息轉(zhuǎn)換成圖片之后在進(jìn)行與服務(wù)器中的人臉進(jìn)行比對。比對成功則成功登錄。

      2 百度人臉識別SDK

      人臉識別使用百度人臉識別Java SDK。其中AipFace是人臉識別的Java客戶端,為使用人臉識別的開發(fā)人員提供了一系列的交互方法。這里列舉幾個方法:

      人臉?biāo)阉鳎簊earch(image, imageType, groupIdList, options)

      人臉檢測:detect(image, imageType, options)

      人臉注冊:addUser(image, imageType, groupId, userId, options)

      人臉驗證:verifyUser(userId, groupIdList, path, options);

      在使用百度人臉識別Java SDK之前需要導(dǎo)入相關(guān)的jar包。步驟如下:

      1)在百度官方網(wǎng)站下載Java SDK壓縮工具包。

      2)將下載的aip-java-sdk-version.zip解壓后,復(fù)制到工程文件夾中。

      3)在Eclipse中選中工程點擊右鍵,選中“Properties”打開工程屬性視圖,選中“ Java Build Path -> Add JARs”。

      4)添加SDK工具包aip-java-sdk-version.jar和第三方依賴工具包log4j-1.2.17.jar、json-20160810.jar。

      3 具體實現(xiàn)

      1)數(shù)據(jù)庫設(shè)計

      本系統(tǒng)數(shù)據(jù)庫采用MySql數(shù)據(jù)庫,用于登錄的用戶表users的各字段名和類型如下:

      id int(11) NOT NULL, username varchar(50) NOT NULL, password varchar(50) DEFAULT NULL, headphoto varchar(50) DEFAULT NULL

      2)Js讀取攝像頭獲得頭像信息

      打開攝像頭主要用到getUserMedia方法,然后將獲取到的媒體流置入video標(biāo)簽。

      navigator.getMedia({ video: true }, function(stream) {

      mediaStreamTrack = stream.getTracks()[0];

      video.src = (window.URL || window.webkitURL).createObjectURL(stream);

      video.play();

      }, function(err) { console.log(err); });

      3)獲取人臉圖像

      Js代碼中獲得圖像,然后將用戶名和圖像利用Ajax技術(shù)提交給FaceServlet文件進(jìn)行注冊處理。截取圖片主要用到canvas繪圖,使用drawImage方法將video的內(nèi)容繪至canvas中。將截取的內(nèi)容上傳至服務(wù)器,將canvas中的內(nèi)容轉(zhuǎn)為base64格式上傳。

      拍照按鈕處理的核心代碼:

      var canvans = document.getElementById("canvas");

      var video = document.getElementById("video");

      var context = canvas.getContext("2d");

      canvas.width = video.videoWidth;

      canvas.height = video.videoHeight;

      context.drawImage(video,0,0);

      var imgData = canvans.toDataURL();

      var imgData1 = imgData.substring(22); //在前端截取22位字符串作為圖像數(shù)據(jù)

      var username = $("#username").val();

      $.ajax({ type: "post", url: "FaceServlet?tag=reg",

      data:{"img":imgData1,"username":username}, success: function(data){

      if(data=="恭喜你!人臉注冊成功,即將跳轉(zhuǎn)登錄頁面"){

      alert(data); location.href = "login.jsp"; }

      if(data=="人臉識別失敗,請正對屏幕攝像頭??!"){

      alert(data); return false; }

      },error:function(msg){ alert("錯誤"); } });

      4)利用人臉圖像進(jìn)行注冊或登錄

      FaceServlet中注冊處理,如果是注冊,則需要將提交的數(shù)據(jù)存入數(shù)據(jù)庫和將用戶名和圖像存入百度人臉庫。如果是登錄,則將獲得的人臉圖像與人臉庫中的進(jìn)行比對。

      其中有三個核心代碼:GenerateImage將圖像上傳服務(wù)器,facesetAddUser將圖像上傳人臉庫,verifyUser方法為驗證用戶的方法。

      public booleanGenerateImage(String imgStr, String imgFilePath),其核心代碼如下:

      BASE64Decoder decoder = new BASE64Decoder();

      byte[] bytes = decoder.decodeBuffer(imgStr); // Base64解碼

      for (int i = 0; i

      if (bytes[i] < 0) {// 調(diào)整異常數(shù)據(jù)

      bytes[i] += 256; } }

      OutputStream out = new FileOutputStream(imgFilePath); // 生成jpeg圖片

      out.write(bytes);

      public booleanfacesetAddUser(AipFace client, String path, String username)的核心代碼:

      HashMap options = new HashMap();

      JSONObject res = client.addUser(username, "test_users_info", Arrays.asList("group1", "group2"), path, options);

      if (res.keySet().contains("error_code")) { return false; }

      return true;

      public Double verifyUser(AipFace client, String path, String username)的核心代碼:

      HashMap options = new HashMap(1);

      options.put("top_num", 5);

      JSONObject res = client.verifyUser(username, Arrays.asList("group1", "group2"), path, options);

      Double result = Double.parseDouble(res.getJSONArray("result").get(0) .toString());

      return result;

      4 結(jié)束語

      基于百度AI平臺的Web人臉注冊和登錄系統(tǒng),將人臉圖像存入將注冊的人臉圖片存入百度人臉庫,利用百度AI平臺中AipFace中提供的注冊人臉、驗證人臉的方法來實現(xiàn)人臉的添加和識別。人臉識別注冊登錄技術(shù)可以廣泛應(yīng)用到各種系統(tǒng)中,節(jié)省了注冊時間和登錄時間,并具有一定的安全措施。

      參考文獻(xiàn)

      [1] 楊紫荊,韋思宏.潘林.人臉自動檢測與識別技術(shù)探究[J].設(shè)備管理與維修,2018(16):162-163.

      [2] 羅佳偉,孫雪峰,李琳.基于百度AI平臺的Web人臉注冊和登錄系統(tǒng)的設(shè)計[J].中國新通信,2018(6):73.

      【通聯(lián)編輯:朱寶貴】

      猜你喜歡
      人臉識別
      人臉識別 等
      揭開人臉識別的神秘面紗
      基于(2D)2PCA-LBP 的人臉識別方法的研究
      電子制作(2017年17期)2017-12-18 06:40:55
      人臉識別在高校安全防范中的應(yīng)用
      電子制作(2017年1期)2017-05-17 03:54:46
      基于類獨立核稀疏表示的魯棒人臉識別
      基于K-L變換和平均近鄰法的人臉識別
      卢氏县| 比如县| 紫金县| 花莲市| 会昌县| 宝兴县| 云和县| 贵州省| 满洲里市| 高邑县| 铜陵市| 芜湖市| 阿尔山市| 峨眉山市| 曲周县| 泸西县| 锦屏县| 会理县| 阳谷县| 绥化市| 中阳县| 武穴市| 上栗县| 海林市| 化隆| 廉江市| 五大连池市| 马山县| 威海市| 张北县| 大城县| 班戈县| 五台县| 壤塘县| 四子王旗| 莱阳市| 乌鲁木齐县| 五指山市| 临城县| 大悟县| 荆州市|