自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你對人臉識(shí)別感興趣嗎?JavaScript實(shí)現(xiàn)的人臉檢測方法

開發(fā) 前端 人臉識(shí)別
今天,我們開始學(xué)習(xí)tracking.js,它是一個(gè)由Eduardo Lundgren開發(fā)的輕量級(jí)的javascript庫,它可以讓你做實(shí)時(shí)的人臉檢測,色彩追蹤和標(biāo)記好友的臉。在這個(gè)教程中,我們將會(huì)看到,我們?nèi)绾螐撵o態(tài)圖片中檢測臉,眼睛和嘴巴。

我一直對視頻和圖片中的人臉標(biāo)記、檢測和人臉識(shí)別技術(shù)很感興趣。盡管我知道獲取邏輯和算法去開發(fā)人臉識(shí)別軟件或者插件已經(jīng)超出了我的想象。當(dāng)我知道Javascript庫可以識(shí)別微笑,眼睛和臉部結(jié)構(gòu)時(shí),我得到啟發(fā)去寫一個(gè)教程。有許多的庫,這些庫要不就是純粹的基于Javascript的,要不就是基于java語言的。

今天,我們開始學(xué)習(xí)tracking.js,它是一個(gè)由Eduardo Lundgren開發(fā)的輕量級(jí)的javascript庫,它可以讓你做實(shí)時(shí)的人臉檢測,色彩追蹤和標(biāo)記好友的臉。在這個(gè)教程中,我們將會(huì)看到,我們?nèi)绾螐撵o態(tài)圖片中檢測臉,眼睛和嘴巴。

在教程的***,你可以看到一個(gè)教程提供可以用的例子,這個(gè)例子有技巧和提示以及更多的技術(shù)細(xì)節(jié)。

首先,我們需要建立一個(gè)工程,從github中下載這個(gè)工程并且抽取build文件夾,根據(jù)你的文件和目錄結(jié)構(gòu)放置build文件夾。在這個(gè)教程里,我用了如下的文件和目錄結(jié)構(gòu)。

文件夾結(jié)構(gòu)

  1. Project Folder  
  2. │  
  3. │   index.html  
  4. │  
  5. ├───assets  
  6. │       face.jpg  
  7. │  
  8. └───js  
  9.     │   tracking-min.js  
  10.     │   tracking.js  
  11.     │  
  12.     └───data  
  13.             eye-min.js  
  14.             eye.js  
  15.             face-min.js  
  16.             face.js  
  17.             mouth-min.js  
  18.             mouth.js 

你可以看到j(luò)s文件夾里有我們從tracking.js中抽取的javascript文件。下面是index.html的html代碼。

HTML代碼

  1. <!doctype html> 
  2. <html> 
  3. <head> 
  4.   <meta charset="utf-8"> 
  5.   <title>@tuts Face Detection Tutorial</title> 
  6.    
  7.   <script src="js/tracking-min.js"></script> 
  8.   <script src="js/data/face-min.js"></script> 
  9.   <script src="js/data/eye-min.js"></script> 
  10.   <script src="js/data/mouth-min.js"></script> 
  11.    
  12.   <style> 
  13.   .rect {  
  14.     border: 2px solid #a64ceb;  
  15.     left: -1000px;  
  16.     position: absolute;  
  17.     top: -1000px;  
  18.   }  
  19.    
  20.   #img {  
  21.     position: absolute;  
  22.     top: 50%;  
  23.     left: 50%;  
  24.     margin: -173px 0 0 -300px;  
  25.   }  
  26.   </style> 
  27. </head> 
  28. <body> 
  29. <div class="imgContainer"> 
  30.   <img id="img" src="assets/face.jpg" /> 
  31. </div> 
  32.    
  33. </body> 
  34. </html> 

在上面的HTML代碼中,我們引入4個(gè)javascript來自于tracking.js的文件,這些文件有助于我們從圖片中檢測人臉、眼睛和嘴巴?,F(xiàn)在我們寫一段代碼來實(shí)現(xiàn)從靜態(tài)圖片中檢測人臉,眼睛和嘴巴。我故意選用這張圖片,因?yàn)檫@張圖片中有多張不同表情和姿勢臉。

face

為了達(dá)成目標(biāo),我們需要修改html文件頭部的代碼。

HTML 代碼

  1. <!doctype html> 
  2. <html> 
  3. <head> 
  4.   <meta charset="utf-8"> 
  5.   <title>@tuts Face Detection Tutorial</title> 
  6.    
  7.   <script src="js/tracking-min.js"></script> 
  8.   <script src="js/data/face-min.js"></script> 
  9.   <script src="js/data/eye-min.js"></script> 
  10.   <script src="js/data/mouth-min.js"></script> 
  11.    
  12.   <style> 
  13.   .rect {  
  14.     border: 2px solid #a64ceb;  
  15.     left: -1000px;  
  16.     position: absolute;  
  17.     top: -1000px;  
  18.   }  
  19.    
  20.   #img {  
  21.     position: absolute;  
  22.     top: 50%;  
  23.     left: 50%;  
  24.     margin: -173px 0 0 -300px;  
  25.   }  
  26.   </style> 
  27. // tracking code.  
  28. <script> 
  29.     window.onload = function() {  
  30.       var img = document.getElementById('img');  
  31.    
  32.       var tracker = new tracking.ObjectTracker(['face', 'eye', 'mouth']); // Based on parameter it will return an array.  
  33.       tracker.setStepSize(1.7);  
  34.    
  35.       tracking.track('#img', tracker);  
  36.    
  37.       tracker.on('track', function(event) {  
  38.         event.data.forEach(function(rect) {  
  39.           draw(rect.x, rect.y, rect.width, rect.height);  
  40.         });  
  41.       });  
  42.    
  43.       function draw(x, y, w, h) {  
  44.         var rect = document.createElement('div');  
  45.         document.querySelector('.imgContainer').appendChild(rect);  
  46.         rect.classList.add('rect');  
  47.         rect.style.width = w + 'px';  
  48.         rect.style.height = h + 'px';  
  49.         rect.style.left = (img.offsetLeft + x) + 'px';  
  50.         rect.style.top = (img.offsetTop + y) + 'px';  
  51.       };  
  52.     };  
  53.   </script> 
  54.    
  55. </head> 
  56. <body> 
  57. <div class="imgContainer"> 
  58.   <img id="img" src="assets/face.jpg" /> 
  59. </div> 
  60.    
  61. </body> 
  62. </html> 

結(jié)果

resutlface

代碼說明.

  • tracking.ObjectTracker() 方法對你想要進(jìn)行跟蹤的對象進(jìn)行了分類,它可以接受一個(gè)數(shù)組作為參數(shù).

  • setStepSize() 指定的塊的步進(jìn)大小.

  • 我們將要跟蹤的對象綁定上 &#8220;track&#8221; 事件, 對象一被跟蹤,很快正在跟蹤的對象就會(huì)觸發(fā)跟蹤事件.

  • 我們以對象數(shù)組的形式中獲取數(shù)據(jù),里面有每個(gè)對象(臉部,嘴部很眼部)的寬度,高度 , x 和 y 坐標(biāo);

結(jié)果總結(jié).
你可能會(huì)發(fā)現(xiàn)結(jié)果會(huì)根據(jù)形狀的條件而有所不同, 還有地方需要改進(jìn)和提高,而我們也承認(rèn)并且真心認(rèn)同對于這種類型的API的開發(fā).

運(yùn)行示例:

帶有的圖片的運(yùn)行示例.

更多資源 &#8211; 基于 Javascript 的面部識(shí)別

https://github.com/auduno/headtrackr

https://github.com/auduno/clmtrackr

我們計(jì)劃為 HTML5 的 Canvas 和攝像頭視頻的臉部跟蹤以及圖像標(biāo)簽做一個(gè)教程。你可能會(huì)用到我上面提到的客戶端訪問攝像頭博客,它可以幫助你,用你知道的方式去訪問用戶的攝像頭。

注意:由于瀏覽器安全性的原因,這個(gè)程序需要運(yùn)行在一樣的域或者禁用網(wǎng)絡(luò)安全的瀏覽器中。

喜歡這篇文章嗎?

您要是有建議,補(bǔ)充,或者在這篇文章中發(fā)現(xiàn)錯(cuò)誤,信息過時(shí)。我們期待你的評(píng)論。

請您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!

英文原文:Javascript based Face Detection Method

責(zé)任編輯:林師授 來源: 開源中國社區(qū)編譯
相關(guān)推薦

2012-07-09 11:20:59

2024-06-12 12:57:12

2009-03-20 08:34:11

2018-10-19 10:43:13

營銷物聯(lián)網(wǎng)IOT

2009-07-27 17:59:27

博科資訊物流管理

2020-12-23 08:29:08

人臉識(shí)別AI人工智能

2009-07-17 11:28:07

TwitterGoogle

2012-10-17 13:28:59

Windows 8

2021-02-03 14:43:40

人工智能人臉識(shí)別

2021-08-13 10:01:19

人臉識(shí)別人工智能數(shù)據(jù)

2009-06-25 09:11:58

鮑爾默雅虎搜索

2017-03-20 08:58:02

Python人臉識(shí)別AI

2024-09-30 06:04:02

人臉識(shí)別Python機(jī)器學(xué)習(xí)

2024-11-01 07:00:00

人臉識(shí)別Python機(jī)器學(xué)習(xí)

2024-07-18 00:00:25

PyTorch神經(jīng)網(wǎng)絡(luò)

2017-03-16 22:22:26

2018-06-29 10:15:20

PythonOpenCV人臉識(shí)別

2021-05-10 11:08:00

人工智能人臉識(shí)別

2024-01-01 15:35:24

TikTok前端

2020-10-29 16:25:46

人臉識(shí)別AI人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)