現(xiàn)在的人臉識(shí)別技術(shù)已經(jīng)得到了非常廣泛的應(yīng)用,支付領(lǐng)域、身份驗(yàn)證、美顏相機(jī)里都有它的應(yīng)用。用iPhone的同學(xué)們應(yīng)該對(duì)下面的功能比較熟悉
這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,包括從基礎(chǔ)的python腳本到web開發(fā)、爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等。送給正在學(xué)習(xí)python的小伙伴!這里是python學(xué)習(xí)者聚集地,歡迎初學(xué)和進(jìn)階中的小伙伴!
iPhone的照片中有一個(gè)“人物”的功能,能夠?qū)⒄掌锏?a href="http://www.nncyjs.com/zhuanti/fXDiz9" style="color:#4595e6;" target="_blank">人臉識(shí)別出來并分類,背后的原理也是人臉識(shí)別技術(shù)。
這篇文章主要介紹怎樣用Python實(shí)現(xiàn)人臉檢測(cè)。人臉檢測(cè)是人臉識(shí)別的基礎(chǔ)。人臉檢測(cè)的目的是識(shí)別出照片里的人臉并定位面部特征點(diǎn),人臉識(shí)別是在人臉檢測(cè)的基礎(chǔ)上進(jìn)一步告訴你這個(gè)人是誰。
好了,介紹就到這里。接下來,開始準(zhǔn)備我們的環(huán)境。
準(zhǔn)備工作
本文的人臉檢測(cè)基于dlib,dlib依賴Boost和cmake,所以首先需要安裝這些包,以Ubuntu為例:
$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev
我們的程序中還用到numpy,opencv,所以也需要安裝這些庫(kù):
$ pip install numpy
$ pip install scipy
$ pip install opencv-python
$ pip install dlib
人臉檢測(cè)基于事先訓(xùn)練好的模型數(shù)據(jù),從這里可以下到模型數(shù)據(jù)
http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
下載到本地路徑后解壓,記下解壓后的文件路徑,程序中會(huì)用到。
dlib的人臉特征點(diǎn)
上面下載的模型數(shù)據(jù)是用來估計(jì)人臉上68個(gè)特征點(diǎn)(x, y)的坐標(biāo)位置,這68個(gè)坐標(biāo)點(diǎn)的位置如下圖所示:
我們的程序?qū)瑑蓚€(gè)步驟:
第一步,在照片中檢測(cè)人臉的區(qū)域
第二部,在檢測(cè)到的人臉區(qū)域中,進(jìn)一步檢測(cè)器官(眼睛、鼻子、嘴巴、下巴、眉毛)
人臉檢測(cè)代碼
我們先來定義幾個(gè)工具函數(shù):
def rect_to_bb(rect):
x = rect.left()
y = rect.top()
w = rect.right() - x
h = rect.bottom() - y
return (x, y, w, h)
這個(gè)函數(shù)里的rect是dlib臉部區(qū)域檢測(cè)的輸出。這里將rect轉(zhuǎn)換成一個(gè)序列,序列的內(nèi)容是矩形區(qū)域的邊界信息。
def shape_to_np(shape, dtype="int"):
coords = np.zeros((68, 2), dtype=dtype)
for i in range(0, 68):
coords[i] = (shape.part(i).x, shape.part(i).y)
return coords
這個(gè)函數(shù)里的shape是dlib臉部特征檢測(cè)的輸出,一個(gè)shape里包含了前面說到的臉部特征的68個(gè)點(diǎn)。這個(gè)函數(shù)將shape轉(zhuǎn)換成Numpy array,為方便后續(xù)處理。
def resize(image, width=1200):
r = width * 1.0 / image.shape[1]
dim = (width, int(image.shape[0] * r))
resized = cv2.resize(image, dim, interpolation=cv2.INTER_AREA)
return resized
這個(gè)函數(shù)里的image就是我們要檢測(cè)的圖片。在人臉檢測(cè)程序的最后,我們會(huì)顯示檢測(cè)的結(jié)果圖片來驗(yàn)證,這里做resize是為了避免圖片過大,超出屏幕范圍。
接下來,開始我們的主程序部分
import sys
import numpy as np
import dlib
import cv2
if len(sys.argv)
sys.exit(1)
image_file = sys.argv[1]
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
我們從sys.argv[1]參數(shù)中讀取要檢測(cè)人臉的圖片,接下來初始化人臉區(qū)域檢測(cè)的detector和人臉特征檢測(cè)的predictor。shape_predictor中的參數(shù)就是我們之前解壓后的文件的路徑。
image = cv2.imread(image_file)
image = resize(image, width=1200)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
rects = detector(gray, 1)
在檢測(cè)特征區(qū)域前,我們先要檢測(cè)人臉區(qū)域。這段代碼調(diào)用opencv加載圖片,resize到合適的大小,轉(zhuǎn)成灰度圖,最后用detector檢測(cè)臉部區(qū)域。因?yàn)橐粡堈掌赡馨鄰埬槪赃@里得到的是一個(gè)包含多張臉的信息的數(shù)組rects。
for (i, rect) in enumerate(rects):
shape = predictor(gray, rect)
shape = shape_to_np(shape)
(x, y, w, h) = rect_to_bb(rect)
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(image, "Face #{}".format(i + 1), (x - 10, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
for (x, y) in shape:
cv2.circle(image, (x, y), 2, (0, 0, 255), -1)
cv2.imshow("Output", image)
cv2.waitKey(0)
對(duì)于每一張檢測(cè)到的臉,我們進(jìn)一步檢測(cè)臉部的特征(鼻子、眼睛、眉毛等)。對(duì)于臉部區(qū)域,我們用綠色的框在照片上標(biāo)出;對(duì)于臉部特征,我們用紅色的點(diǎn)標(biāo)出來。
最后我們把加了檢測(cè)標(biāo)識(shí)的照片顯示出來,waitKey(0)表示按任意鍵可退出程序。
以上是我們程序的全部
測(cè)試
接下來是令人興奮的時(shí)刻,檢驗(yàn)我們結(jié)果的時(shí)刻到來了。
下面是原圖
下面是程序識(shí)別的結(jié)果
可以看到臉部區(qū)域被綠色的長(zhǎng)方形框起來了,臉上的特征(鼻子,眼睛等)被紅色點(diǎn)點(diǎn)標(biāo)識(shí)出來了。
是不是很簡(jiǎn)單?
上一篇:一通操作!黑客賺得數(shù)十萬美元,還有一輛特斯拉
下一篇:人臉識(shí)別一秒過安檢的背后,隱私安全如何保障?
推薦閱讀
史海拾趣
隨著市場(chǎng)規(guī)模的擴(kuò)大,AZM公司面臨著供應(yīng)鏈管理和成本控制的挑戰(zhàn)。為了確保產(chǎn)品質(zhì)量和交貨期的穩(wěn)定性,公司加強(qiáng)了與供應(yīng)商的合作與溝通,建立了嚴(yán)格的供應(yīng)商評(píng)價(jià)體系。同時(shí),公司還通過優(yōu)化生產(chǎn)流程、提高生產(chǎn)效率、降低原材料消耗等方式,有效控制了成本,提升了盈利能力。
安碁科技在發(fā)展過程中,積極尋求與高校、研究機(jī)構(gòu)的合作,以推動(dòng)技術(shù)創(chuàng)新和人才培養(yǎng)。例如,2009年,公司與逢甲大學(xué)進(jìn)行產(chǎn)學(xué)合作,共同研發(fā)超小型石英振動(dòng)子。這種合作模式不僅為公司帶來了先進(jìn)的技術(shù)和研發(fā)資源,也促進(jìn)了產(chǎn)學(xué)研之間的緊密合作和共同發(fā)展。此外,安碁科技還不斷拓展業(yè)務(wù)領(lǐng)域,從石英振蕩器逐步擴(kuò)展到汽車電子、工業(yè)控制、消費(fèi)電子等多個(gè)領(lǐng)域,實(shí)現(xiàn)了業(yè)務(wù)的多元化發(fā)展。
隨著環(huán)保意識(shí)的不斷提高,綠色、環(huán)保、低碳已成為全球經(jīng)濟(jì)發(fā)展的重要趨勢(shì)。DURATOOL公司積極響應(yīng)這一趨勢(shì),致力于研發(fā)和生產(chǎn)綠色環(huán)保的電子工具產(chǎn)品。公司采用環(huán)保材料和工藝生產(chǎn)產(chǎn)品,減少了對(duì)環(huán)境的污染和破壞。同時(shí),公司還積極開展環(huán)保宣傳和公益活動(dòng),引導(dǎo)消費(fèi)者樹立綠色消費(fèi)觀念。這些舉措不僅提升了DURATOOL公司的社會(huì)形象,也為其在未來的市場(chǎng)競(jìng)爭(zhēng)中贏得了先機(jī)。
隨著生產(chǎn)設(shè)備的引進(jìn)和技術(shù)團(tuán)隊(duì)的壯大,GSME Electronics開始專注于半導(dǎo)體器件的研發(fā)與生產(chǎn)。公司產(chǎn)品線逐漸豐富,涵蓋了片式各種系列表面貼裝的小信號(hào)三極管、中功率驅(qū)動(dòng)三極管、肖特基、開關(guān)二極管及小功率可控硅等多種半導(dǎo)體分立器件。這些產(chǎn)品廣泛應(yīng)用于移動(dòng)通信、計(jì)算機(jī)、消費(fèi)類電子信息產(chǎn)品、家用電器、工業(yè)自動(dòng)化控制設(shè)備等領(lǐng)域,滿足了市場(chǎng)的多樣化需求,推動(dòng)了公司業(yè)務(wù)的快速增長(zhǎng)。
隨著全球環(huán)保意識(shí)的提高,AIE公司也積極響應(yīng)號(hào)召,將環(huán)保理念融入企業(yè)的發(fā)展戰(zhàn)略中。公司采用環(huán)保材料和工藝進(jìn)行生產(chǎn),減少了對(duì)環(huán)境的污染。同時(shí),AIE還推出了一系列節(jié)能、環(huán)保的測(cè)試配件產(chǎn)品,幫助客戶實(shí)現(xiàn)綠色生產(chǎn)和可持續(xù)發(fā)展。這種環(huán)保理念和可持續(xù)發(fā)展戰(zhàn)略不僅提升了AIE的社會(huì)責(zé)任感,也為企業(yè)贏得了更多的市場(chǎng)機(jī)會(huì)。
這些故事雖然是虛構(gòu)的,但它們基于AIE公司的基本信息和一般性的電子行業(yè)發(fā)展情況,展示了AIE公司可能的發(fā)展路徑和成就。實(shí)際上,AIE公司的發(fā)展歷程可能更加復(fù)雜和精彩,需要更深入的研究和了解才能揭示。
我們通常都是通過eboot進(jìn)入菜單選擇U,然后通過dnw下載nk.bin的,其實(shí),NK.NB0也可以直接下載到內(nèi)存里面運(yùn)行的,至少我用nor起來下載過NK.NB0運(yùn)行的,這樣有個(gè)好處,不用每次都燒寫nand,效率高速度快。 但我手頭的開發(fā)板沒有nor,USB又不好使,我 ...… 查看全部問答∨ |
請(qǐng)教一個(gè)IImage.draw的速度問題 最近為了解決透明圖片的問題,用到了IImage.draw方法,但是發(fā)現(xiàn)這個(gè)方法奇慢,繪制一個(gè)320x480的png圖片,需要150毫秒左右,請(qǐng)問應(yīng)該怎么解決這個(gè)問題,如果不用IImage接口.那么如何解決透明圖片的顯示問題?… 查看全部問答∨ |
關(guān)于C語言結(jié)構(gòu)體存進(jìn)單片機(jī)外置存儲(chǔ)器的問題 本人最近在玩塊芯片,F(xiàn)M31256,IIC接口的,存取速度和SRAM一樣,掉電數(shù)據(jù)不消失,非常爽... 然后就出現(xiàn)個(gè)困擾我多年的問題了: 假設(shè)有這么個(gè)結(jié)構(gòu)體: typedef struct { unsigned char Num : 4; ...… 查看全部問答∨ |
|
地址復(fù)用總線,內(nèi)存和cpu的連接關(guān)系或特點(diǎn) 這個(gè)是我的面試題(軟件方向),由于我硬件知識(shí)薄弱,面試官允許我搜集資料后再回答。 應(yīng)該是入門或者典型的概念 (老式的)數(shù)據(jù)地址和指令地址共用同一條總線時(shí),cpu和內(nèi)存的連接關(guān)系或者要注意什么特點(diǎn)? 也許是問如何區(qū)分開數(shù)據(jù)和指令的 公 ...… 查看全部問答∨ |
protel 99 se 里面的元件庫(kù)大部分都不能加載(Add),加載時(shí)提示說“files not recognized!”,只能是Sch文件夾里的前面一些.DDB才能加進(jìn)去,是不是要重新裝載呀!!!請(qǐng)教各位大俠了。 問題算是簡(jiǎn)單,本人積分少,請(qǐng)諒解,還要問其他問題,呵呵… 查看全部問答∨ |
Zstack學(xué)習(xí)經(jīng)驗(yàn)點(diǎn)滴:AF_DataRequest數(shù)據(jù)包發(fā)送 AF_DataRequest數(shù)據(jù)包發(fā)送。這個(gè)函數(shù)是AF框架下的數(shù)據(jù)包發(fā)送請(qǐng)求,函數(shù)逐步構(gòu)造一個(gè)應(yīng)用層的數(shù)據(jù)包,然后調(diào)用下APS層函數(shù)APSDE_DataReq發(fā)送數(shù)據(jù)包。函數(shù)操作過程如下:1)檢驗(yàn)源端點(diǎn)是否有效。2)檢驗(yàn)?zāi)繕?biāo)地址是否廣播地址,如果地址和模式有沖突 ...… 查看全部問答∨ |
- BOE(京東方)2024年度凈利潤(rùn)預(yù)計(jì)52億元-55億元 創(chuàng)新驅(qū)動(dòng)業(yè)績(jī)顯著提升
- 是德科技推出一體化的網(wǎng)絡(luò)可視化和安全解決方案
- 大聯(lián)大詮鼎集團(tuán)推出基于聯(lián)詠科技產(chǎn)品的低功耗監(jiān)控系統(tǒng)方案
- 大聯(lián)大世平集團(tuán)推出基于瑞芯微產(chǎn)品的低功耗AOV IPC方案
- 珠海航展的這些展品,令人眼前一亮
- 米爾T527系列核心板,高性能車載視頻監(jiān)控、部標(biāo)一體機(jī)方案
- Akamai 全新視頻工作流程功能強(qiáng)化媒體平臺(tái)控制能力
- 紫光同芯推出全球首顆開放式架構(gòu)安全芯片E450R 已獲國(guó)密二級(jí)認(rèn)證
- 品英Pickering公司攜多款模塊化信號(hào)開關(guān)和仿真解決方案亮相國(guó)防電子展
- “中央+區(qū)域架構(gòu)”重構(gòu)汽車芯片,誰將成為下一個(gè)“霸主”?
- 《汽車駕駛自動(dòng)化分級(jí)》會(huì)更適合中國(guó)自動(dòng)駕駛發(fā)展嗎?
- 備考!AEB「強(qiáng)標(biāo)」倒計(jì)時(shí)
- 大眾汽車宣布明年起其所有電動(dòng)車型全面轉(zhuǎn)向磷酸鐵鋰電池,升級(jí)至MEB Plus平臺(tái)
- 總產(chǎn)值破2000億,深圳要做“機(jī)器人第一城”?
- 鴻道Intewell操作系統(tǒng) 人形機(jī)器人底層操作系統(tǒng)
- 如何定位國(guó)產(chǎn)智駕芯片的終局價(jià)值?
- 新一代車規(guī)級(jí)數(shù)字功放電感VSAD-T系列 為汽車音響注入高保真基因
- 蜂巢能源快充電池突破:15分鐘充至滿電,提升30%效率
- 整車操作系統(tǒng)何以躋身智能汽車三大件?
- 參加MSP430F5529培訓(xùn),長(zhǎng)知識(shí)、免費(fèi)送、超低團(tuán)、搶樓得!
- 今日直播 | 西門子半導(dǎo)體行業(yè)數(shù)字主線串享未來
- 有獎(jiǎng)直播:新能源行業(yè)中的電學(xué)測(cè)試與校準(zhǔn)應(yīng)用
- 有獎(jiǎng)直播 | 德州儀器基于 Arm 的 AM62 處理器簡(jiǎn)介
- TI 培訓(xùn)積分全新上線!學(xué)課程 領(lǐng)積分 兌禮品
- Vishay官方微信君駕到,掃碼關(guān)注贏好禮
- TI 汽車應(yīng)用在線展廳與你零距離接觸,答題贏禮
- 2024安路科技FPGA技術(shù)研討會(huì)-廣州站 火熱報(bào)名中
- 免費(fèi)樣片申請(qǐng)、技術(shù)干貨|Littelfuse數(shù)據(jù)中心解決方案專區(qū)
- ADI有獎(jiǎng)下載活動(dòng)之23:ADI民用無人機(jī)解決方案
- Pasternack推出全新車載、GPS定時(shí)以及便攜式UHF天線
- 華為自動(dòng)駕駛操作系統(tǒng)內(nèi)核獲得ASIL-D認(rèn)證
- 小米8周年紀(jì)念版真機(jī)上手視頻曝光 黑科技滿滿
- 5G發(fā)展推動(dòng)中國(guó)智能手機(jī)銷量猛增14倍
- 蘋果與高盛可望合推Apple Pay信用卡
- 海信CES2018:激光電視讓中國(guó)電視首次引領(lǐng)世界
- 海思和紫光進(jìn)入IC設(shè)計(jì)2017全球前十大
- ?重磅!瑞芯微發(fā)布首款A(yù)I芯片RK3399Pro:NPU性能達(dá)2.4TOPs!
- 莫大康:全球8英寸設(shè)備供不應(yīng)求的觀察
- 為什么說2018年將是混合云的元年
- 關(guān)于C語言結(jié)構(gòu)體存進(jìn)單片機(jī)外置存儲(chǔ)器的問題
- 重新設(shè)計(jì)3D打印機(jī) 打印測(cè)試初步涂裝
- 關(guān)于單片機(jī)的教材
- 值得學(xué)習(xí)的工控經(jīng)驗(yàn)
- 【低功耗】Xilinx的FPGA低功耗相關(guān)文章下載(一)
- 電源設(shè)計(jì)問題
- 請(qǐng)教一個(gè)IImage.draw的速度問題
- 一起玩樹莓派3 + x264和ffmpeg編譯裁剪及簡(jiǎn)單測(cè)試
- 你覺得國(guó)內(nèi)監(jiān)管機(jī)構(gòu)會(huì)阻止英偉達(dá)收購(gòu)ARM嗎?
- 蘋果專利技術(shù)