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

當(dāng)人臉識(shí)別技術(shù)遇上了口罩……

人工智能 人臉識(shí)別
萬(wàn)萬(wàn)沒(méi)想到,今年出門(mén)必備單品竟然是口罩,除了呼吸困難、戴眼鏡起霧之外,手機(jī)人臉識(shí)別功能完全失靈,以往看一眼就能解鎖、支付的人工智能,現(xiàn)在宛如“廢柴”。

功能完全失靈,以往看一眼就能解鎖、支付的人工智能,現(xiàn)在宛如“廢柴”。

這不,網(wǎng)友們紛紛吐槽:

更有網(wǎng)友建議各大手機(jī)廠(chǎng)商開(kāi)發(fā)新功能:

最初我們知道AI人臉識(shí)別技術(shù),是作為一種重要的個(gè)人身份鑒別方法,用于罪犯照片管理和刑偵破案,現(xiàn)在這種技術(shù)在安全系統(tǒng)和商貿(mào)系統(tǒng)中都有很多的應(yīng)用。

如今,我們每時(shí)每刻依賴(lài)著這項(xiàng)功能。

早上起床對(duì)準(zhǔn)手機(jī)看一下便自動(dòng)解鎖;

網(wǎng)上購(gòu)物“刷臉”支付;

外出購(gòu)物不需要帶現(xiàn)金、在機(jī)器面前“刷臉”支付即可,上班“刷臉”打卡;

搭乘高鐵、飛機(jī)實(shí)行無(wú)紙質(zhì)的“刷臉”安檢通道......

這項(xiàng)逐漸融入日常生活各個(gè)領(lǐng)域的技術(shù),給我們的生活帶來(lái)了天翻地覆的便利。接下來(lái)讓我?guī)е蠹液?jiǎn)單學(xué)習(xí)這項(xiàng)技術(shù)~

01.AI人臉識(shí)別

人臉識(shí)別是計(jì)算機(jī)視覺(jué)和模式識(shí)別的交叉領(lǐng)域,又將兩者結(jié)合在一起。

20 世紀(jì) 80 年代后期在人臉識(shí)別中引入了神經(jīng)生理學(xué)、腦神經(jīng)學(xué)、視覺(jué)知識(shí)等,結(jié)合計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及計(jì)算成本的迅速下降使得以前比較費(fèi)時(shí)費(fèi)空間的一些模式匹配算法,如大樣本的引入、多維特征參 數(shù)的提取、建模等。

人臉識(shí)別這一領(lǐng)域的研究除了具有重大理論價(jià)值外,也極具實(shí)用價(jià)值,是基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)。

02.識(shí)別領(lǐng)域

人臉檢測(cè)

是指檢測(cè)并定位圖片中的人臉,返回高精度的人臉框坐標(biāo),是對(duì)人臉進(jìn)行分析和處理的第一步。

早期的檢測(cè)過(guò)程稱(chēng)為“滑動(dòng)窗口”,也就是選擇圖像中的某個(gè)矩形區(qū)域作為滑動(dòng)窗口,在這個(gè)窗口中提取一些特征對(duì)這個(gè)圖像區(qū)域進(jìn)行描述,最后根據(jù)這些特征描述來(lái)判斷這個(gè)窗口是不是人臉(如下圖所示)。

人臉檢測(cè)的過(guò)程就是不斷遍歷需要觀(guān)察的窗口

 

人臉關(guān)鍵點(diǎn)檢測(cè)

是指定位并返回人臉五官與輪廓的關(guān)鍵點(diǎn)坐標(biāo)位置(如下圖所示)。

關(guān)鍵點(diǎn)包括人臉、輪廓、眼睛、眉毛、嘴唇以及鼻子輪廓。

現(xiàn)在某些人臉識(shí)別公司,如 Face++能提供高精度的關(guān)鍵點(diǎn),最多可達(dá) 106 點(diǎn)。

無(wú)論是靜態(tài)圖片還是動(dòng)態(tài)視頻流,均能完美貼合人臉。 

人臉關(guān)鍵點(diǎn)定位技術(shù)

關(guān)鍵點(diǎn)定位技術(shù)主要有級(jí)聯(lián)形回歸(cascaded shape regression,CSR),目前人臉識(shí)別一般是基于 DeepID 網(wǎng)絡(luò)結(jié)構(gòu)。

DeepID 網(wǎng)絡(luò)結(jié)構(gòu)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類(lèi)似,主要區(qū)別在倒數(shù)第二層,DeepID 網(wǎng)絡(luò)結(jié) 構(gòu)有一個(gè) DeepID 層,它與卷積層4和最大池化層3相連,由于卷積神經(jīng)網(wǎng)絡(luò)層數(shù)越高視野域越大,這種連接方式可以既考慮局部的特征,又考慮全局的特征(下圖所示)。

人臉驗(yàn)證

是指分析兩張人臉屬于同一個(gè)人的可能性大小。

輸入兩張人臉,得到一個(gè)置信度分?jǐn)?shù)和相應(yīng)的閾值,以便評(píng)估相似度。

下圖是調(diào)用 Face++的人臉驗(yàn)證在線(xiàn)接口得到的結(jié)果。對(duì)比結(jié)果為:是同一個(gè)人的可能性很高。

 

人臉屬性檢測(cè)

分為人臉屬性辨識(shí)和人臉情緒分析。

例如,給出人的年齡、是否有胡子、情緒(高興、正常、生氣、憤怒)、性別、是否帶眼鏡、膚色等來(lái)進(jìn)行人臉屬性辨識(shí)和人臉情緒分析。

下圖給出的一張照片的測(cè)試結(jié)果因?yàn)榛瘖y和燈光的原因,結(jié)果并不是很準(zhǔn)確。

02.數(shù)據(jù)預(yù)處理

在圖像識(shí)別中,數(shù)據(jù)預(yù)處理是很重要的一步。

這里使用 facenet 源代碼下的 align 模塊去校準(zhǔn)。我們需要將檢測(cè)所使 用的數(shù)據(jù)集校準(zhǔn)為和預(yù)訓(xùn)練模型所使用的數(shù)據(jù)集大小一致。

為了能正確運(yùn)行校準(zhǔn)程序,需要設(shè)置一下環(huán)境變量:  

  1. export PYTHONPATH=$YOURHOME/facenet/src  

校準(zhǔn)命令如下: 

  1. for N in {1..4}; do python src/align/align_dataset_mtcnn.py $YOURHOME/facenet /datasets/lfw/raw $YOURHOME/facenet/datasets/lfw/lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25 done 

這里采用 GitHub 上提供的預(yù)訓(xùn)練模型 20170216-091149.zip,采用的訓(xùn)練集是 MS-Celeb-1M 數(shù)據(jù)集。

MS-Celeb-1M 是微軟的一個(gè)非常大的人臉識(shí)別數(shù)據(jù)庫(kù),它是從名人榜上選擇前 100 萬(wàn)的名人,然后通過(guò) 搜索引擎采集每個(gè)名人大約 100 張人臉圖片而形成的。這個(gè)預(yù)訓(xùn)練模型的準(zhǔn)確率已經(jīng)達(dá)到 0.993±0.004。

我們將下載后的模型解壓到:

  1. $YOURHOME/facenet/models/facenet/20170216-091149 

里面包含的文件如下: 

  1. model-20170216-091149.ckpt-250000.data-00000-of-00001  
  2. model-20170216-091149.ckpt-250000.index  
  3. model-20170216-091149.met 10.4.3  

03.進(jìn)行檢測(cè)

運(yùn)行

進(jìn)入 facenet 目錄,用如下命令運(yùn)行腳本: 

  1. python src/validate_on_lfw.py datasets/lfw/lfw_mtcnnpy_160 models 

得到的結(jié)果如下: 

  1. Model directory: /media/data/DeepLearning/models/facenet/20170216-091149/ Metagraph file: model-20170216-091149.meta  
  2. Checkpoint file: model-20170216-091149.ckpt-250000  
  3. Runnning forward pass on LFW images  
  4. Accuracy: 0.993+-0.004  
  5. Validation rate: 0.97533+-0.01352 @ FAR=0.00100  
  6. Area Under Curve (AUC): 0.999  
  7. Equal Error Rate (EER): 0.008 

比較

為了和基準(zhǔn)進(jìn)行比較,這里采用 facenet/data/pairs.txt 文件,它是官方隨機(jī)生成的數(shù)據(jù),里面包含匹配和不 匹配的人名和圖片編號(hào)。

匹配的人名和圖片編號(hào)示例如下: 

  1. Abel_Pacheco 1 4 

 表示 Abel_Pacheco 的第 1 張和第 4 張是一個(gè)人。

不匹配的人名和圖片編號(hào)示例如下: 

  1. Abdel_Madi_Shabneh 1 Dean_Barker 1 

表示 Abdel_Madi_Shabneh 的第 1 張和 Dean_Barker 的第 1 張不是一個(gè)人。

檢測(cè)

下面我們看一下 validate_on_lfw.py 是如何檢測(cè)人臉的??梢苑譃?4 步,具體如下: 

  1. def main(args):  
  2. with tf.Graph().as_default():  
  3. with tf.Session() as sess: 

1. 讀入之前的 pairs.txt 文件

讀入后如 

  1. [['Abel_Pacheco', '1', '4']  
  2.  ['Akhmed_Zakayev', '1', '3'] ['Slobodan_Milosevic', '2', 'Sok_An', '1']] pairs = lfw.read_pairs(os.path.expanduser(args.lfw_pairs)) 

獲取文件路徑和是否匹配的關(guān)系對(duì) 

  1. paths, actual_issame = lfw.get_paths(os.path.expanduser(args.lfw_dir),  
  2. pairs, args.lfw_file_ext) 

2. 加載模型 

  1. print('Model directory: %s' % args.model_dir)  
  2. meta_file, ckpt_file = facenet.get_model_filenames(os.path.expanduser  
  3. (args.model_dir))  
  4. print('Metagraph file: %s' % meta_file)  
  5. print('Checkpoint file: %s' % ckpt_file)  
  6. facenet.load_model(args.model_dir, meta_file, ckpt_file) 

3. 獲取輸入、輸出的張量 

  1. images_placeholder = tf.get_default_graph().get_tensor_by_name("input:0")  
  2. embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")  
  3. phase_train_placeholder = tf.get_default_graph().get_tensor_by_name  
  4. ("phase_train:0")  
  5. image_size = images_placeholder.get_shape()  
  6. embedding_size = embeddings.get_shape() 

4. 使用前向傳播來(lái)驗(yàn)證 

  1. print('Runnning forward pass on LFW images')  
  2. batch_size = args.lfw_batch_size  
  3. nrof_images = len(paths)  
  4. nrof_batches = int(math.ceil(1.0*nrof_images / batch_size))   
  5. 總共的批次數(shù) emb_array = np.zeros((nrof_images, embedding_size))  
  6. for i in range(nrof_batches):  
  7. start_index = i*batch_size  
  8. end_index = min((i+1)*batch_size, nrof_images)  
  9. pathspaths_batch = paths[start_index:end_index]  
  10. images = facenet.load_data(paths_batch, False, False, image_size)  
  11. feed_dict = { images_placeholder:images, phase_train_placeholder:False }  
  12. emb_array[start_index:end_index,:] = sess.run(embeddings,  
  13. feed_ dict=feed_dict

5. 計(jì)算

這里計(jì)算準(zhǔn)確率和驗(yàn)證率,使用了十折交叉驗(yàn)證的方法 

  1. tpr, fpr, accuracy, val, val_std, far = lfw.evaluate(emb_array,  
  2. actual_issame, nrof_folds=args.lfw_nrof_folds)  
  3. print('Accuracy: %1.3f+-%1.3f' % (np.mean(accuracy), np.std(accuracy)))  
  4. print('Validation rate: %2.5f+-%2.5f @ FAR=%2.5f' % (val, val_std, far))  
  5. 得到 auc 值 auc = metrics.auc(fpr, tpr)  
  6. print('Area Under Curve (AUC): %1.3f' % auc)  
  7. 得到等錯(cuò)誤率(eer)  
  8. eer = brentq(lambda x: 1. - x - interpolate.interp1d(fpr, tpr)(x), 0., 1.)  
  9. print('Equal Error Rate (EER): %1.3f' % eer) 

這里采用十折交叉驗(yàn)證(10-fold cross validation)的方法來(lái)測(cè)試算法的準(zhǔn)確性。十折交叉驗(yàn)證是常用的 精度測(cè)試方法,具體策略是:將數(shù)據(jù)集分成 10 份,輪流將其中 9 份做訓(xùn)練集,1 份做測(cè)試集,10 次的結(jié) 果的均值作為對(duì)算法精度的估計(jì),一般還需要進(jìn)行多次 10 折交叉驗(yàn)證求均值,例如,10 次 10 折交叉驗(yàn) 證,再求其均值,作為對(duì)算法準(zhǔn)確性的估計(jì)。

04.AI人臉識(shí)別技術(shù)在進(jìn)步

當(dāng)下,正確佩戴口罩外出是必要的防護(hù)措施。

但由于口罩具備不透光性,使得攝像頭拍攝到的畫(huà)面無(wú)法捕捉到嘴巴、鼻子等臉部特征。

而人臉識(shí)別模型都要使用完整的面部特征,所以戴著口罩會(huì)造成AI人臉識(shí)別失敗,使用人工檢查的手段又效率太低。

幸好各大科創(chuàng)巨頭紛紛投身研究,如何讓AI人臉識(shí)別比以前更智能化。

口罩識(shí)別模型

是百度工程師開(kāi)發(fā)的AI口罩督查官。

可以在公共場(chǎng)所使用場(chǎng)景中,無(wú)接觸、快速精準(zhǔn)地識(shí)別出實(shí)時(shí)畫(huà)面中未戴口罩或者佩戴不正確的人。

[[317581]]

戴口罩人臉身份識(shí)別模型

商湯科技推出了AI智慧防疫解決方案。

宣稱(chēng)其區(qū)域通行模塊可以識(shí)別出戴口罩人臉的身份,在人員戴口罩的情況下,只要露出50%鼻梁,通過(guò)率可達(dá)85%。

動(dòng)態(tài)人臉識(shí)別

漢王科技最新推出了亮銀鉆石款動(dòng)態(tài)人臉識(shí)別機(jī)。

其在戴口罩人員的識(shí)別率也達(dá)到85%。

當(dāng)前該套系統(tǒng)在北京地區(qū)用戶(hù)已達(dá)20余家,應(yīng)用設(shè)備近200套。

[[317582]]

阿里、和華為識(shí)別率更高的模型也正在研發(fā)當(dāng)中......

之前,我們單純依賴(lài)全臉信息特征來(lái)識(shí)別身份,今后,我們可以做到半臉、甚至是眼部即可讓AI人臉識(shí)別系統(tǒng)準(zhǔn)確識(shí)別出我們每一個(gè)人,科技在我們的大力發(fā)展下幫助我們對(duì)抗各種生活中出現(xiàn)的難題。

還想了解更多AI人臉識(shí)別技術(shù)嗎?這本《TensorFlow技術(shù)解析與實(shí)戰(zhàn)》推薦給大家。

TensorFlow是谷歌公司開(kāi)發(fā)的深度學(xué)習(xí)框架,也是目前深度學(xué)習(xí)的主流框架之一。本書(shū)從深度學(xué)習(xí)的基礎(chǔ)講起,深入TensorFlow框架原理、安裝、模型、源代碼和統(tǒng)計(jì)分析等各個(gè)方面。全書(shū)分為基礎(chǔ)篇、實(shí)戰(zhàn)篇和提高篇三部分。最后附錄中列出一些可供參考的公開(kāi)數(shù)據(jù)集,并結(jié)合作者的項(xiàng)目經(jīng)驗(yàn)介紹項(xiàng)目管理的一些建議。 

 

責(zé)任編輯:龐桂玉 來(lái)源: 異步圖書(shū)
相關(guān)推薦

2012-02-03 14:06:34

Node.js

2019-03-14 11:00:40

GoLua語(yǔ)言

2021-05-31 20:48:45

人工智能AI無(wú)人機(jī)

2021-08-06 21:16:08

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

2018-06-06 15:00:27

開(kāi)源大數(shù)據(jù)大數(shù)據(jù)項(xiàng)目

2020-11-18 09:43:29

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

2017-11-01 14:09:30

大數(shù)據(jù)心理學(xué)新零售

2017-08-25 18:41:32

技術(shù)人瓶頸程序員

2013-05-22 09:33:09

交互設(shè)計(jì)設(shè)計(jì)時(shí)間

2016-10-21 15:57:39

Rust編輯語(yǔ)言Fedora

2022-02-24 16:15:16

OpenHarmon鴻蒙OpenEuler

2021-08-06 09:30:34

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

2021-01-16 23:25:34

人臉識(shí)別技術(shù)安全

2020-11-25 20:21:13

微信安全支付移動(dòng)應(yīng)用

2020-02-05 16:40:07

面部識(shí)別iPhone口罩

2019-09-04 00:20:10

JSON泛型擦除

2017-06-28 11:34:55

銳捷 醫(yī)療 物聯(lián)網(wǎng)

2021-02-03 14:43:40

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

2014-08-18 09:20:14

Android開(kāi)放系統(tǒng)

2015-01-07 15:49:21

大數(shù)據(jù)SSD
點(diǎn)贊
收藏

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