娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月26日(星期三)

正在發(fā)生

2019年03月26日 | 人臉檢測(cè)真的不難,50行Python代碼就能實(shí)現(xiàn)人臉檢測(cè)

發(fā)布者:數(shù)字小巨人 來源: 威客安全關(guān)鍵字:PYTHON  人臉識(shí)別技術(shù)  代碼 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

現(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)單?


關(guān)鍵字:PYTHON  人臉識(shí)別技術(shù)  代碼 引用地址:人臉檢測(cè)真的不難,50行Python代碼就能實(shí)現(xiàn)人臉檢測(cè)

上一篇:一通操作!黑客賺得數(shù)十萬美元,還有一輛特斯拉
下一篇:人臉識(shí)別一秒過安檢的背后,隱私安全如何保障?

推薦閱讀

在2017年底,各大面板廠在OLED的布局成為業(yè)界關(guān)注焦點(diǎn),然而由于其生產(chǎn)線建置成本高,再加上LCD再技術(shù)提升上的努力,目前看來短時(shí)間內(nèi)LCD將持續(xù)占領(lǐng)市場(chǎng)主流位置。有機(jī)發(fā)光二極管(Organic Light Emitting Diode, OLED)憑借著高對(duì)比度、高顯色的顯示特性,聲勢(shì)逐漸升高,并且隨著蘋果(Apple) iPhone X使用OLED面板后,無論是在大尺寸或小尺寸市場(chǎng), ...
集微網(wǎng)消息(文/數(shù)碼控),想知道去年被加拿大警方逮捕的華為前CFO孟晚舟她愛用什么電子設(shè)備嗎?庭審文件顯示她是果粉;小米CEO雷軍因?yàn)槭畠|賭約的事情,輸給了格力的董明珠,結(jié)果出爐也迫使該事件的另一當(dāng)事人黎萬強(qiáng)兌現(xiàn)100臺(tái)手機(jī)的承諾,以下是具體內(nèi)容:1. 高管回應(yīng)小米未上研發(fā)投入榜單:@電商老張的一條各大中國(guó)公司研發(fā)投入榜單,因?yàn)闆]有小米,引來...
經(jīng)歷了資本的熱捧、明星婚禮的噱頭以及某些城市夜空燈光秀營(yíng)銷之后,無人機(jī)似乎已經(jīng)淡出媒體和普通人的視線很久了。 無人機(jī)市場(chǎng)本身一超多強(qiáng)的格局也已經(jīng)多年未變。不謀求上市,不缺資金,更不主動(dòng)融資的大疆穩(wěn)坐全球無人機(jī)消費(fèi)級(jí)市場(chǎng)頭把交椅多年,成績(jī)穩(wěn)定到就連媒體話題都不好找。 如果說無人機(jī)還有下一場(chǎng)“全民追捧”的盛宴,那一定就是無人機(jī)快遞、...
  使用兩條線測(cè)量電阻非常方便,但會(huì)產(chǎn)生測(cè)量誤差。通過使用 4 條線及源端子和測(cè)量端子分開的萬用表,幾乎可以消除這種誤差。遺憾的是,增加額外的引線和連接提高了測(cè)量的復(fù)雜程度。您需要連接增加的引線,在從電壓變成電阻時(shí),可能不得不更換夾子和探頭。現(xiàn)在,有一種新概念,使您能夠只用兩條引線,進(jìn)行 4 線電阻測(cè)量。  為什么使用 4 條線測(cè)...

史海拾趣

問答坊 | AI 解惑

蘋果專利技術(shù)

蘋果專利技術(shù)…

查看全部問答∨

關(guān)于單片機(jī)的教材

我剛接觸到單片機(jī),有誰能推薦比較好的教材啊 ,最好是電子版能下到…

查看全部問答∨

關(guān)于NK.NB0下載的問題

我們通常都是通過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接口.那么如何解決透明圖片的顯示問題?…

查看全部問答∨

想做智能小車 誰有好點(diǎn)的車模啊?~~

想做智能小車  誰有好點(diǎn)的車模啊?~~…

查看全部問答∨

關(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元件加載問題!!!

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)地址是否廣播地址,如果地址和模式有沖突 ...…

查看全部問答∨

置換開發(fā)板

本人手上有閑置 原裝TI公司的 LM3S8962 Evaluation Kit 開發(fā)板(9.9成新),和2.4寸的TFT(帶觸摸屏)LCD ,等一些電子元件希望和大家置換或轉(zhuǎn)讓。 TI的 LM3S1138(一片) LM3S608(一片)STM8S105K(兩片)  ISO124-DIP(兩片)  LM124 ...…

查看全部問答∨
小廣播
最新安防電子文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

About Us 關(guān)于我們 客戶服務(wù) 聯(lián)系方式 器件索引 網(wǎng)站地圖 最新更新 手機(jī)版

站點(diǎn)相關(guān): 視頻監(jiān)控 智能卡 防盜報(bào)警 智能管理 處理器 傳感器 其他技術(shù) 綜合資訊 安防論壇

詞云: 1 2 3 4 5 6 7 8 9 10

北京市海淀區(qū)中關(guān)村大街18號(hào)B座15層1530室 電話:(010)82350740 郵編:100190

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 白水县| 潢川县| 南投市| 台中市| 蒙阴县| 广灵县| 洛宁县| 苍梧县| 淮阳县| 定远县| 新乡县| 太白县| 安顺市| 东莞市| 石景山区| 江津市| 楚雄市| 新疆| 青冈县| 寿阳县| 千阳县| 格尔木市| 闽侯县| 彭山县| 英德市| 苍梧县| 新丰县| 临城县| 丹寨县| 都江堰市| 乐都县| 平谷区| 锡林浩特市| 石渠县| 思茅市| 博白县| 永济市| 蕲春县| 灌云县| 香格里拉县| 崇礼县|