實現(xiàn)計算機視覺——人臉檢測
概述:計算視覺是人工智能的一部分,旨在設計能夠像人類視覺一樣進行觀察的智能算法。
在本文中,我們將介紹三個主要范圍。
· 人臉檢測
· 物體檢測
· 面部識別
· 對象跟蹤
在第一篇文章中,我們將重點介紹計算機視覺,以及基于 Python OpenCV 庫的人臉識別應用。
在以后的文章中,我們將演示對象識別、人臉識別和對象跟蹤在實時視頻中的應用。
目錄
1.介紹
2.人臉檢測算法
3.人臉檢測實現(xiàn)
4.OpenCV 的替代方案
5.結論
6.參考文獻
介紹
本文的讀者將能夠了解幾個視覺計算應用程序的功能、它們在后臺和架構中的操作,以及實現(xiàn)應用程序以供實際使用的必要步驟。
現(xiàn)在讓我們看看我們之前已經討論過的一些可以在該領域開發(fā)的其他應用程序。
人臉檢測在找到人臉時會放一個小方框,并為這些人命名。我們將做一個有點類似于這個的實現(xiàn)。
我們有這張來自微軟的 Kinect 圖像,它與運動檢測的 Xbox 視頻游戲集成在一起。
當有人移動方向盤時,你可以使用計算機視覺來檢測控制汽車的人。需要計算機視覺技術來進行圖像識別,也就是說,機器人需要看到它面前的東西來做出決定。
另一個例子是自動駕駛汽車。你可以注意到這輛車中有一系列傳感器,例如,它需要檢測行人以避免撞到人。
你需要檢測交通標志或是否有紅綠燈。
如果信號為紅色,則必須停止,如果信號為綠色,則必須繼續(xù)。為此,使用計算機視覺技術,包括所使用的技術。這種人臉檢測技術也用于物體檢測。
如果他識別出軌道上的物體,他就必須采取某種行動。增強現(xiàn)實、虛擬現(xiàn)實的想法使用計算機視覺技術。
這張SD光束的圖像顯示的是不存在的人。算法使用了一種叫做GAN的技術生成了這些人,即生成對抗網絡,這是深度學習人工神經網絡中的一個超級領域。
最后,我們還有另一個例子,稱為 deep Durin,它是由神經網絡生成的圖像。你可以看到這些迷幻的圖像,在這個圖像的某些部分有一些特征,有一些動物的痕跡,即算法已經有了關于動物的信息,關于這些動物的圖像非常類似于一種算法,這種算法將圖像的特征與風景圖像相結合。
一個應用示例是深度人臉,它是人工智能創(chuàng)建的人臉。
人臉檢測算法
級聯(lián)分類器是一種算法,你將學習對某個對象進行分類以開始訓練。
我們需要兩組圖像,第一組帶有你要檢測的正面圖像的人臉,第二組圖像稱為負圖像,它們不是簡單的圖像。
例如,如果你想檢測汽車,你會將汽車作為正圖像,將各種型號和類型的汽車作為負圖像。
任何其他類型的圖像,你都需要將這兩組圖像提交給算法進行訓練。
在機器學習領域有一種叫做 Ada boost 的算法訓練。我不會詳細介紹該算法的工作原理,但基本上,你把這個算法應用到正圖像和負圖像上,這個想法就是特征選擇。
我們有幾個特征或者是這些黑色和白色的小方塊,你可以用這些特征來分類一張臉。
這些小方塊用于圖像的每個子窗口。
這個窗口概念表明它從左到右,從上到下移動。
人臉檢測實現(xiàn)
我們將使用 Python OpenCV 庫,它是市場上用于開發(fā)可視化計算應用程序的主要工具之一。
下載訓練截圖,以及帶有人臉識別訓練的 Cascade Classifier.XLM 訓練。
現(xiàn)在讓我們用 Python 展示我們的代碼:
import cv2 # OpenCV Import
img = cv2.imread('/content/imagem-computer-vision.jpg', cv2.IMREAD_UNCHANGED) # Import Image with Peoples
cv2_imshow(img)
detector_face = cv2.CascadeClassifier('/content/haarcascade_frontalface_default.xml')
imagem_cinza = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2_imshow(imagem_cinza)
deteccoes = detector_face.detectMultiScale(imagem_cinza, scaleFactor=1.3, minSize=(30,30))
deteccoes
array([[1635, 156, 147, 147],
[ 284, 262, 114, 114],
[1149, 260, 129, 129],
[ 928, 491, 171, 171],
[ 222, 507, 151, 151]], dtype=int32)
for (x, y, l, a) in deteccoes:
#print(x, y, l, a)
cv2.rectangle(img, (x, y), (x + l, y + a), (0,255,0), 2)
cv2_imshow(img)
我們通過 Google Colab notebook 可視化了人臉識別的處理過程:
將返回數字 5 表示他檢測到5張臉,我們有這些點來指示每張臉,以便你更好地理解,讓我們使用最后一張臉。
len(deteccoes) # Fotal Faces= 5
5
OpenCV 的替代方案
在選擇 OpenCV 的替代方案時,我們采用了以下標準:
· 易于使用
· 可用性
· 可擴展性
· 穩(wěn)健性
· 靈活性
以下是我的替代方案列表,遵循上述標準:
1.Microsoft Computer Vision API
2.AWS Rekognition
3.Google Cloud Vision API
4.Scikit-Image
5.SimpleCV
6.Azure Face API
7.DeepDream
8.IBM Watson Visual Recognition
9.Clarifi
10.DeepPy
結論
在本文中,我們使用 Python OpenCV 庫作為一種工具,以敏捷高效的方式加快人臉識別速度。
參考
原文標題 : 實現(xiàn)計算機視覺——人臉檢測
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網產業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
-
精彩回顧立即查看>> 【限時免費下載】TE暖通空調系統(tǒng)高效可靠的組件解決方案
推薦專題
-
5 夾縫中的文遠知行
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市