精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

純前端實現人臉識別-提取-合成

開發 前端
最近火爆朋友圈的軍裝照H5大家一定還記憶猶新,整個流程涉及的人臉識別和圖像合成兩項核心技術在前端都有對應的解決方案,因此理論上前端也可以完成人臉識別-提取-合成整個流程,實現純前端的軍裝照H5效果。

[[204016]]

最近火爆朋友圈的軍裝照H5大家一定還記憶猶新,其原理是先提取出照片中的面部,然后與模板進行合成,官方的合成處理據說由天天P圖提供技術支持,后端合成后返回給前端展示,形式很新穎效果也非常好,整個流程涉及的人臉識別和圖像合成兩項核心技術在前端都有對應的解決方案,因此理論上前端也可以完成人臉識別-提取-合成整個流程,實現純前端的軍裝照H5效果。

前端人臉識別

首先需要的是人臉識別,這個一聽就覺得高大上的東西原理并不深奧,無非是用人的面部特征規則對圖像進行匹配和識別,這項工作前端雖然可以實現,但前端實現基本就只能依據內置規則庫進行匹配,這個庫的質量就決定了識別質量,而通常更成熟的方案是引入機器學習,讓程序不斷自我修正和提高,進一步提高識別率,機器學習的前端庫倒是也有,但把這兩者結合起來的還沒發現,因此對前端人臉識別的準確率不要報太高期望。

現有的前端人臉識別庫不算多,這里我們選擇的是效果相對好點的trackingjs,這個類庫功能非常強大,庫如其名,它可以完成各種追蹤類的圖像處理任務,人臉識別只是其眾多功能之一,而且通過選配插件,還可以精確識別眼睛、鼻子等五官的位置,貌似稍微折騰一下也可以實現美圖秀秀的效果。

這里我們只用trackingjs實現面部識別,初始化一個面部識別任務的代碼如下:

  1. //實例化 
  2. var tracker = new tracking.ObjectTracker(['face']); 
  3. //識別回調 
  4. tracker.on('track'function(event) { 
  5.     if (!event.data.length) { 
  6.         return console.log('畫面中沒有人臉'); 
  7.     } 
  8.     event.data.forEach(function(rect, i) { 
  9.         console.log(rect);//單個面部數據 
  10.     }) 
  11. }) 
  12. //配置參數 
  13. ... 

 

這樣一個面部識別任務就初始化完成了,調用方式如下:

  1. tracking.track('#img', tracker); 
  2. //其中'#img'參數是目標圖像的選擇器 

 

在識別回調中event.data就是數組格式的面部數據,如果長度為0則表示圖像中沒有人臉或者識別失敗,如果識別成功,單個面部數據的格式如下:

  1.     x: number,          //面部位于原圖x軸方向位置 
  2.     y: nuber,           //面部位于原圖y軸方向位置 
  3.     width:number,       //面部區域寬度 
  4.     height:nubmer       //面部區域高度 

 

有了這個面部數據就可以很容易的將該區域從原圖中提取出來,前端當然就用canvas啦,示例如下:

  1. var img = document.getElementById("img"); 
  2. var faceCtx = document.getElementById("mycanvas").getContext('2d'); 
  3.   
  4. var theFace = ...; //假設我們識別到了theFace 
  5.   
  6. //使用drawImage()方法將面部繪制出來 
  7. faceCtx.drawImage(img, theFace.x, theFace.y, theFace.width, theFace.height, 0, 0, theFace.width, theFace.height); 

 

到這里我們已經實現了面部識別 + 提取,而且代碼量也沒多少,其實這里面有個小坑要在實踐中才會發現,那就是trackingjs的配置,文檔中能找到4個跟識別有關的配置,分別是:

  1. setClassifiers(classifiers) 
  2.  
  3. setEdgesDensity(edgesDensity) 
  4.  
  5. setScaleFactor(scaleFactor) 
  6.  
  7. setStepSize(stepSize) 

 

看不懂吧,我也看不懂,而且文檔中對他們沒有任何有用的說明,在測試中我只使用了后兩個配置,翻譯過來分別是”比例因子”和”步長”,經過枯燥的人肉測試發現,這兩個參數的有效取值范圍分別在1 - 2和1.1 - 2,其中setStepSize不能為1,否則會瀏覽器會卡死,所以從1.1開始取值,取值超過2也可以,但識別成功的概率就很低了。通過調整這兩個參數絕大多數圖像都可以成功識別,唯獨對面部大特寫很難識別,這可能需要配合另外兩個參數吧,我實在沒耐心繼續人肉測試下去了,感興趣的自己回去玩吧。

前端圖像處理

經過上一步的識別+提取我們已經得到了面部圖像,要實現合成軍裝照效果我們還需要對面部圖像進行處理,使色調與模板一致,將來才能毫無違和感的融合在一起,具體到軍裝照這個例子我們需要將面部重新著色,并達到”做舊”的老照片效果,如果用PS想必大家都會,但在前端怎么實現呢?

這里我們需要借助騰訊前端團隊出品的AlloyImage,這是一個堪稱前端PS的前端圖像處理類庫,比如要實現上述效果,我們只需要這樣:

  1. var faceImg = document.getElementById("theFace"); 
  2. faceImg.loadOnce(function() { 
  3.     AlloyImage(this).act("灰度處理").add
  4.         AlloyImage(this.width, this.height, "#808080"
  5.         .act("高斯模糊", 4) 
  6.         .act("色相/飽和度調節", 22, 45, 0, true), 
  7.         "疊加" 
  8.     ).replace(this); 

 

然后你就得到了一個做舊的人臉,還是非常簡單的,AlloyImage的使用基本可以說是傻瓜化,感興趣的就自己花個五分鐘去看下官方文檔吧,這里不再贅述。

然后就要說一下我們這個圖像處理和人家天天P圖的差距了,雖然我們得到了理想的色調,但要想把隨便一張人臉與特定模板做合成,有兩件事必不可少。首先是面部角度矯正,如果模板是正的而你的照片是歪的,直接暴力拼接肯定很違和,所以需要先識別出面部角度,并糾正到指定角度;然后是面部中心定位,因為人臉識別的結果提取出來后不一定是以面部中心為中心的,所以在合成之前要識別出面部中心線,并以此為依據與模板進行定位。然而這些我們都沒有,所以我們只能對輸入的圖像的要求更高,如果輸入了嘴歪眼斜的圖片,結果就只能尷尬了。

***的圖片合成部分就更簡陋了,先將處理好的面部畫到畫布指定位置,然后將摳好圖的臉部透明png模板鋪在上面,完成。實際過程中需要處理一些小問題,比如要根據模板的面部尺寸將面部圖像縮放到合適的尺寸;摳模板時要將邊緣模糊處理,而且盡量保留模板本來的面部輪廓,只將五官摳掉。即便這樣,合成結果還是很容易穿幫,不過純前端處理也沒有更好的辦法了。

效果展示

好了,說的再多不如看個例子,示例提供三種圖片輸入源,分別是本地圖片、遠程圖片、內置示例。其中內置的圖片大部分是提前在PS中糾正過角度的,而且內置圖片會自動匹配到我事先調校好的參數,不出意外可以直接識別出人臉;如果選擇本地圖片作為圖片源,***選擇頭部姿態垂直的正面照,同時參考內置圖片的 參數設置調節參數,一次識別不成功很正常,需要多調幾次;也可以使用遠程圖片識別,但因為canvas受到跨域策略影響,遠程圖片只能識別不能提取和合成。

示例:純前端軍裝照合成(http://refined-x.com/projects/codes/tracking.html)

后記

最初是抱著好奇的心態開始搗鼓這個項目的,雖然最終的合成效果遠遠達不到生產要求,但整個示例擼下來后對人臉識別和圖片處理技術都有了基本的認識,對canvas操作中一些細節問題的解決也略微補足了一下這方面的知識空白,算略有收獲吧。 

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2021-05-10 11:08:00

人工智能人臉識別

2021-03-09 09:20:09

人臉識別人工智能智能手機

2023-07-03 07:40:13

VueGolangweb

2018-01-31 13:09:35

Pythonface_recogn人臉識別

2017-09-21 15:31:49

2022-10-20 09:33:35

2024-05-30 08:09:33

2023-11-14 08:38:43

Golang人臉識別

2023-12-15 10:21:20

Java聲音識別

2021-12-07 23:00:55

人臉識別安全技術

2020-11-18 09:43:29

人臉識別AI人工智能

2021-02-03 14:43:40

人工智能人臉識別

2015-02-10 10:08:59

JavaScript

2019-07-24 15:25:29

框架AI開發

2021-07-01 09:32:14

人臉識別AI人工智能

2024-09-30 06:04:02

人臉識別Python機器學習

2021-08-26 10:36:02

人臉識別人工智能技術

2022-10-31 08:47:21

人臉識別按鍵鍵盤

2020-11-06 18:55:56

人臉識別刷臉安全

2024-06-12 12:57:12

點贊
收藏

51CTO技術棧公眾號

一本一本久久a久久精品综合麻豆| 懂色av一区二区在线播放| 国产亚洲精品久久久久动| 三上悠亚在线一区二区| 99热国产在线| 97精品久久久午夜一区二区三区 | 国内成人免费视频| 欧美黑人国产人伦爽爽爽| 无码人妻精品一区二区三区温州| 成人国产一区二区三区精品麻豆| 亚洲一区视频在线| 日本不卡久久| 免费看国产片在线观看| 欧美aaa在线| 色综合久久久久久中文网| 西西444www无码大胆| 狂野欧美xxxx韩国少妇| 色综合激情久久| 无码日本精品xxxxxxxxx| 日本毛片在线观看| 国模无码大尺度一区二区三区| 97国产在线视频| chinese全程对白| 国产精品免费99久久久| 亚洲大胆人体在线| 天天干天天色天天干| 国产免费不卡| 午夜成人免费视频| 日本a级片在线观看| 在线观看黄色av| 久久美女艺术照精彩视频福利播放| 亚洲影院色在线观看免费| 波多野结衣视频在线观看| 亚洲视频中文| 麻豆一区二区在线观看| 美女av免费看| 欧美色蜜桃97| 亚洲欧美在线播放| 久久久午夜精品福利内容| 天堂av一区| 欧美精品免费视频| 在线免费观看视频黄| 欧美aa在线观看| 伊人婷婷欧美激情| 在线观看三级网站| 美女羞羞视频在线观看| 国产精品无圣光一区二区| 欧美日本韩国一区二区三区| 日韩电影免费| 久久综合色之久久综合| 久久久久网址| 黄色av网站在线免费观看| 久久先锋影音av鲁色资源网| 久久涩涩网站| 男人的天堂在线| 久久精品一区蜜桃臀影院| 久久日韩精品| 国产精品久久久久久久龚玥菲 | 婷婷社区五月天| 久久在线免费| 久久亚洲精品小早川怜子66| 裸体武打性艳史| 欧美国产91| 性欧美xxxx| 欧美精品一二三四区| 老鸭窝亚洲一区二区三区| 国产成+人+综合+亚洲欧洲| 免费黄色片视频| 日本午夜精品一区二区三区电影 | 婷婷视频一区二区三区| 日韩欧美一区二区免费| 岛国av免费观看| 全国精品免费看| 亚洲日韩第一页| 国产免费一区二区三区四区| 欧美黄色免费| 91精品国产高清| 日韩精品在线一区二区三区| 蜜桃av一区二区在线观看| 成人黄色免费片| 丰满熟妇乱又伦| 久久影院视频免费| 性欧美精品一区二区三区在线播放 | 网曝91综合精品门事件在线| 亚洲精品美女久久| 国产精品av久久久久久无| 希岛爱理av一区二区三区| 九九精品在线播放| 日韩黄色一级大片| 日韩av电影一区| 99porn视频在线| 牛牛热在线视频| 亚洲丝袜自拍清纯另类| aa在线观看视频| 欧美高清影院| 日韩国产欧美精品在线 | 亚洲制服中文| 亚洲国产精品18久久久久久| 99re这里只有精品首页| 亚洲图片都市激情| 俺来也官网欧美久久精品| 色天天综合色天天久久| 色欲无码人妻久久精品| 曰本一区二区三区视频| 久久五月天色综合| 欧美亚洲精品天堂| 国产精品综合二区| 日韩欧美视频一区二区三区四区| 啪啪免费视频一区| 欧美伊人久久久久久久久影院 | 色999韩欧美国产综合俺来也| 日韩一区二区三区四区| 亚洲av成人无码久久精品| 欧美伊人久久| 国产精品高潮呻吟久久av野狼| 午夜精品一二三区| 日韩一区欧美小说| 黄色a级片免费| 国产精品对白久久久久粗| www亚洲精品| 免费黄色小视频在线观看| 成人综合婷婷国产精品久久| 在线观看成人一级片| 欧美日韩123区| 亚洲精品mp4| 久久久久黄色片| 精油按摩中文字幕久久| 日本不卡一区二区三区在线观看 | 懂色av一区二区三区| 久久久九九九热| 国产精品自在自线| 中文字幕资源网在线观看免费| 91精品国产综合久久香蕉麻豆| 欧美偷拍一区二区三区| 国产一区二区三区久久久久久久久| 99porn视频在线| 超碰porn在线| 欧美一区二区三区小说| 国产又粗又猛又爽又黄的视频四季| 亚洲一区图片| 免费观看成人高| 欧美成人h版| 亚洲欧美制服中文字幕| 无码人妻丰满熟妇精品区| 久久无码av三级| 蜜臀久久99精品久久久酒店新书| 色婷婷av一区二区三区丝袜美腿| 91精品成人久久| 香蕉视频免费看| 欧美午夜激情小视频| 少妇饥渴放荡91麻豆| 麻豆成人精品| 日本黑人久久| 日韩电影免费观看高清完整版在线观看| 国产一区二区三区视频在线观看| 日本视频网站在线观看| 国产亚洲欧美色| 波多野结衣xxxx| 外国成人免费视频| 91超碰在线免费观看| 毛片在线网址| 亚洲精品综合久久中文字幕| 日韩手机在线视频| 中日韩av电影| 日韩av加勒比| 激情另类综合| 久久精品一二三区| 成人免费毛片嘿嘿连载视频…| 中文日韩在线观看| 国产毛片在线视频| 亚洲国产裸拍裸体视频在线观看乱了 | 午夜av一区二区三区| 黄色免费视频网站| 麻豆九一精品爱看视频在线观看免费| 久久久精品动漫| 怡红院成人在线| 日韩亚洲欧美中文在线| 性欧美videos另类hd| 疯狂做受xxxx欧美肥白少妇| 超碰人人干人人| 国产乱色国产精品免费视频| 你真棒插曲来救救我在线观看| 亚洲欧洲美洲国产香蕉| 国产在线久久久| av电影院在线看| 亚洲午夜久久久影院| 97人妻精品一区二区三区视频 | 无码粉嫩虎白一线天在线观看 | 国产成人免费av在线| 欧美国产亚洲一区| 欧美成人激情| 黄色一区三区| 欧美亚洲人成在线| 久久免费在线观看| 超碰国产在线| 欧美精品一区二区三区蜜桃视频| 中文字幕在线播| 一区二区久久久久| 成熟人妻av无码专区| 成人综合婷婷国产精品久久免费| 美女一区二区三区视频| 亚洲午夜极品| 影音先锋亚洲视频| 久久av免费| 波多野结衣精品久久| 日本h片久久| 欧美伊久线香蕉线新在线| www免费在线观看| 在线观看国产精品日韩av| 亚洲精品成av人片天堂无码 | xx欧美撒尿嘘撒尿xx| 日韩一区二区久久| 亚洲五码在线观看视频| 欧美亚洲精品在线| 国产精品嫩草在线观看| 欧洲亚洲精品久久久久| 日韩男女性生活视频| av资源新版天堂在线| 欧美老女人性生活| 色三级在线观看| 亚洲天堂av在线播放| 视频在线观看你懂的| 精品三级在线观看| 精品国产乱码久久久久久蜜臀网站| 在线视频你懂得一区| 日本中文在线播放| 亚洲二区视频在线| 麻豆一区产品精品蜜桃的特点 | 国产精品一区一区三区| 日本人69视频| 日本美女视频一区二区| 成人在线观看a| 视频一区在线视频| 国产男女无遮挡| 夜久久久久久| 国产在线精品91| 夜夜嗨av一区二区三区网站四季av| 成年女人18级毛片毛片免费 | 欧美精品激情在线| 伊人222成人综合网| 欧美精品免费播放| 91网在线看| 久久久久久久999精品视频| 肉肉视频在线观看| 久久久久国产视频| 国产91足控脚交在线观看| 欧美激情综合亚洲一二区| 色呦呦久久久| 欧美精品videosex牲欧美| 先锋影音在线资源站91| 久久久久久久久亚洲| 成人免费图片免费观看| 97超级碰在线看视频免费在线看| 岛国av在线播放| 欧美性受xxxx白人性爽| 欧美性xxx| 国产伦精品免费视频| 亚洲视频自拍| av在线不卡一区| 伦理一区二区| 日本一区二区精品| 欧美第十八页| 久久观看最新视频| 夜夜爽av福利精品导航| 妞干网在线免费视频| 免费观看在线综合| 久久精品一卡二卡| 波多野结衣一区二区三区| 亚洲乱码国产乱码精品精大量| 国产清纯白嫩初高生在线观看91 | 你懂得网站在线| 伊人精品在线观看| h片在线免费观看| 91黑丝在线观看| 成人毛片免费| 日韩精品视频免费| www.99热这里只有精品| 91九色精品| www.在线观看av| 久久亚洲欧美| 色18美女社区| 99精品欧美一区二区蜜桃免费| 女女互磨互喷水高潮les呻吟| 最近日韩中文字幕| 国产一级av毛片| 在线观看日韩精品| 性欧美18一19性猛交| 亚洲视频在线看| 亚洲无线看天堂av| 日本欧美国产在线| 成人综合日日夜夜| 另类视频在线观看+1080p| 国产精品99一区二区三区| 日韩国产一级片| 麻豆国产一区二区| 日韩Av无码精品| 国产精品久久久久影视| 日韩污视频在线观看| 欧美另类一区二区三区| 污视频在线免费| 久久在线免费观看视频| 欧美性xxx| 国产美女在线精品免费观看| 不卡中文字幕| 少妇无码av无码专区在线观看| 麻豆精品一二三| 乐播av一区二区三区| 亚洲一二三四在线| 中文字幕在线观看1| 亚洲精品大尺度| 91福利国产在线观看菠萝蜜| 国产97在线视频| 久久97精品| 中文字幕精品在线播放| 日韩和的一区二区| 污污污www精品国产网站| 亚洲欧美日韩国产另类专区| 日本免费精品视频| 亚洲精品美女免费| 色呦呦在线播放| 91免费国产视频| 日韩精品四区| 亚洲综合在线网站| 久久综合资源网| 日本三级一区二区| 欧美xxxx老人做受| 3d玉蒲团在线观看| 91香蕉电影院| 天堂美国久久| 黄色小视频免费网站| 国产精品少妇自拍| 天堂网一区二区| 亚洲欧美日韩中文在线| 亚洲电影观看| 久久久av水蜜桃| 亚洲美女毛片| 国产不卡一二三| 性欧美疯狂xxxxbbbb| 东京干手机福利视频| 欧美乱大交xxxxx| 日韩精品视频中文字幕| 无码人妻aⅴ一区二区三区日本| 久久成人麻豆午夜电影| 特级西西人体高清大胆| 欧美视频中文字幕| 色网站在线看| 亚洲一区二区三区香蕉| 亚洲人体av| 四虎国产精品免费| 亚洲在线免费播放| 五月激情婷婷综合| 日产精品99久久久久久| 精品国产一区二区三区| 中文字幕第100页| 日韩美女精品在线| 午夜免费福利视频| 4438全国成人免费| 欧美三级情趣内衣| 日本国产一级片| 亚洲欧美激情插| 人妻一区二区三区| 2018国产精品视频| jvid福利在线一区二区| 天堂在线中文在线| 一区二区三区成人| 深夜福利视频在线观看| 国产精品91久久| 99久精品视频在线观看视频| 黑人巨大猛交丰满少妇| 亚洲成av人片一区二区三区| 裸体xxxx视频在线| 国产精品亚洲网站| 欧美精品国产| 中文字幕一区二区三区人妻不卡| 欧美在线视频不卡| 中文字幕中文字幕在线中高清免费版| 成人欧美视频在线| 久久蜜桃资源一区二区老牛| 一本一本久久a久久| 精品美女一区二区| 欧美18av| 久久久久久久久网| 91丨九色丨蝌蚪富婆spa| 中文字幕久久网| 久久久免费观看视频| 国内精品久久久久久99蜜桃| 天美一区二区三区| 欧美日韩国产区| 欧美a免费在线| 国语精品免费视频| 狠狠色狠狠色综合日日91app| 日韩 国产 在线| 日韩中文字幕网站| 日韩深夜福利| 五月天中文字幕在线| 亚洲成人在线免费| 午夜视频在线免费观看| 精品久久精品久久| 韩国精品免费视频| 波多野结衣人妻|