JavaScript人臉識別技術(shù)及臉部識別JavaScript類庫Tracking.js
我一直對人工智能識別技術(shù)非常感興趣,因?yàn)槲覠o法想象這究竟是一種什么樣的算法,什么樣的分析過程。無論是聲音識別、人臉識別或其它種識別,人們的外貌、說話的方式都是如此不同,一種圖片你可以用不同的方式、從不同的角度拍攝,我不能理解這些識別技術(shù)是如何做到的。有個(gè)叫做“面具”的游戲也使用了這種識別技術(shù),我想對于臉部識別技術(shù)也應(yīng)該研究一下。Facebook使用了這種技術(shù),在手勢控制中也能用到它,所以,你網(wǎng)站上也會(huì)有應(yīng)用的地方。
我找到的一個(gè)可以用于人臉識別的JavaScript程序包是Face Detection,它是由Jay Salvat和Liu Liu開發(fā)的。它是一個(gè)標(biāo)準(zhǔn)的jQuery插件,通過對提供的圖片進(jìn)行分析,返回所有找到的臉部圖像的坐標(biāo)。下面我們來看看它是如何使用的!
jQuery.faceDetection
使用Face Detection這個(gè)jQuery plugin,你需要引入四個(gè)js文件:
<script src="jquery-1.4.3.min.js"></script> <!-- mas js --> <script src="facedetection/ccv.js"></script> <script src="facedetection/face.js"></script> <script src="jquery.facedetection.js"></script>
這個(gè)臉部識別插件的頭兩個(gè)文件里是它的各種功能性程序,通過它們能得到一個(gè)數(shù)組對象,這些對象里存儲(chǔ)的就是圖片里的臉部坐標(biāo)信息。下面是一個(gè)例子:
var coords = jQuery("#myImage").faceDetection();
/* 返回:
{
x: 525
y: 435,
width: 144,
height: 144,
positionX: 532.6353328125226,
positionY: 443.240976080536,
offsetX: 532.6353328125226,
offsetY: 443.240976080536,
confidence: 12.93120119,
neighbour: undefined,
}
*/
你還可以在檢測方法上加入事件回調(diào)函數(shù):
var coords = jQuery("#myImage").faceDetection({
complete: function(image, coords) {
// Do something
},
error: function() {
console.warn("無法分析圖片");
}
});
對于識別出的臉部信息,你可以做任何的處理東西。你可以在圖片中臉部的位置畫出框線:
jQuery("img").each(function() {
var img = this;
// 獲取臉部坐標(biāo)
var coordinates = jQuery(img).faceDetection();
// 在臉上畫出框線
if(coordinates.length) {
coordinates.forEach(function(coord) {
jQuery("<div>", {
css: {
position: "absolute",
left: coord.positionX + 5 + "px",
top: coord.positionY + 5 + "px",
width: coord.width + "px",
height: coord.height + "px",
border: "3px solid white"
}
}).appendTo(img.parentNode);
});
}
});
這很簡單,當(dāng)然你可以做復(fù)雜的處理,比如說提取出來。
我用了各種圖片進(jìn)行臉部識別嘗試,正如我預(yù)想到的,結(jié)果并不是很完美。但不管怎樣,還是相當(dāng)不錯(cuò)的。這是一個(gè)很簡單的腳本技術(shù),而且沒有任何技術(shù)是十全十美的。這個(gè)臉部識別插件并不具有臉部比較功能,你需要用其它方法并提供面部特征信息實(shí)現(xiàn)此功能。總之,相當(dāng)不錯(cuò),強(qiáng)烈建議你試一下。
臉部識別JavaScript類庫Tracking.js
對Web開發(fā)者而言,開源的JavaScript庫Tracking.js正在使計(jì)算機(jī)視覺和增強(qiáng)現(xiàn)實(shí)技術(shù)變得簡單, 使用它可以展示效果類似Kinect或者Wii的體感應(yīng)用,且該JavaScript庫體積小 (~7k),非常輕量級,且接口簡潔。
Tracking.js 能夠在移動(dòng)Web應(yīng)用、桌面應(yīng)用中工作,甚至可以和基于Node.js的服務(wù)器進(jìn)行配對。 它會(huì)給瀏覽器帶來計(jì)算機(jī)圖形學(xué)算法和技術(shù),其擁有功能:臉部識別(某個(gè)特定的顏色時(shí)或人物/臉龐/身體出現(xiàn)移動(dòng)的時(shí)候)、實(shí)時(shí)色彩跟蹤。對于Web開發(fā)而言,以前需要通過C或C++的技術(shù)才能實(shí)現(xiàn)類似效果。而現(xiàn)在Traking.js提供了一個(gè)Web組件,因此Web前端開發(fā)人員可以訪問HTML標(biāo)簽組件來實(shí)現(xiàn)類似功能,而無需了解JavaScript,這極大的簡化了Web開發(fā)。
Tracking.js包括一個(gè)色彩跟蹤算法和對象跟蹤組件,它能使Web瀏覽器識別臉部及眼睛的變化。例如,Web前端還可以對于用這個(gè)功能來設(shè)置用戶頭像,對一些網(wǎng)站而言,這也是個(gè)很炫的功能;同時(shí)對跟蹤的臉部數(shù)據(jù)和后臺(tái)數(shù)據(jù)庫進(jìn)行匹配,從而和反饋給用戶更多有用的數(shù)據(jù)。
目前,在GitHub上Tracking.js源碼工程已經(jīng)被Fork了200次以上,8月份上旬,該JS庫已經(jīng)升級為1.0版本。
以上內(nèi)容就是給大家分享的JavaScript人臉識別技術(shù)及臉部識別JavaScript類庫Tracking.js,希望大家喜歡。
相關(guān)文章
javascript實(shí)現(xiàn)隨機(jī)生成DIV背景色
這篇文章主要介紹了javascript實(shí)現(xiàn)隨機(jī)生成DIV背景色的具體代碼,如何設(shè)置DIV背景色為隨機(jī)色,感興趣的小伙伴們可以參考一下2016-06-06
ES6 Array常用擴(kuò)展的應(yīng)用實(shí)例分析
這篇文章主要介紹了ES6 Array常用擴(kuò)展的應(yīng)用,結(jié)合實(shí)例形式分析各種常見擴(kuò)展方法針對Array數(shù)組的轉(zhuǎn)換、遍歷、查找、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
html中通過JS獲取JSON數(shù)據(jù)并加載的方法
本篇內(nèi)容主要給大家講了如何通過javascript解析JSON并得到數(shù)據(jù)后添加到HTML中的方法,需要的朋友參考下。2017-11-11
JS使用正則表達(dá)式除去字符串中重復(fù)字符的方法
這篇文章主要介紹了JS使用正則表達(dá)式除去字符串中重復(fù)字符的方法,以一個(gè)簡單實(shí)例分析了JavaScript中正則過濾的相關(guān)使用技巧,需要的朋友可以參考下2015-11-11
React?diff算法面試考點(diǎn)超詳細(xì)講解
渲染真實(shí)DOM的開銷很大,有時(shí)候我們修改了某個(gè)數(shù)據(jù),直接渲染到真實(shí)dom上會(huì)引起整個(gè)dom樹的重繪和重排。我們希望只更新我們修改的那一小塊dom,而不是整個(gè)dom,diff算法就幫我們實(shí)現(xiàn)了這點(diǎn)。diff算法的本質(zhì)就是:找出兩個(gè)對象之間的差異,目的是盡可能做到節(jié)點(diǎn)復(fù)用2022-12-12
js?實(shí)現(xiàn)picker?選擇器示例詳解
這篇文章主要為大家介紹了js?實(shí)現(xiàn)picker?選擇器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
webpack-dev-server自動(dòng)更新頁面方法
下面小編就為大家分享一篇webpack-dev-server自動(dòng)更新頁面方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
vite添加環(huán)境變量import.meta.env的方法
在不同的文件里面配置不同的環(huán)境變量,可以讓我們的配置更加容易維護(hù)和使用,這里我們說下vite配置環(huán)境變量和模式是怎么配置的,對vite環(huán)境變量相關(guān)知識感興趣的朋友跟隨小編一起看看吧2023-10-10

