AI領域非常廣泛,從信息的載體可分為文字、圖片、聲音、視頻等,當我真的想要學習AI的時候,有點無從下手。從什么方向入門,學習什么庫?
前幾天逛github,發現了一個識別人臉的教程:
https://github.com/vipstone/faceai
看了一個入門還是非常簡單的。
安裝:
安裝包都比較大,可以使用豆瓣源:
-i https://pypi.douban.com/simple
> pip install numpy > pip install opencv-python
備注:dlib 庫非難安裝
首先,使用 opencv 打開一張圖
import cv2
img = cv2.imread("d:/tc/faceai/meinv.jpg")
cv2.namedWindow('Image')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
人臉識別
要想識別一張圖片上的人臉分三步:
將彩色圖片轉換為灰色,轉為一維的灰度,降低計算強度。
import cv2
img = cv2.imread('d:/tc/faceai/meinv.jpg')
# 轉換灰色
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Image", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
通過矩形畫出人臉位置。
import cv2
img = cv2.imread('d:/tc/faceai/meinv.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 繪制矩形
x = y = 10 # 坐標
w = 100 # 矩形大?。▽挕⒏撸?/p>
color = (0, 0, 255) # 定義繪制顏色
cv2.rectangle(img, (x, y), (x + w, y + w), color, 1) # 繪制矩形
cv2.imshow("Image", img) # 顯示圖像
cv2.waitKey(0)
cv2.destroyAllWindows() # 釋放所有的窗體資源
使用訓練分類器查找人臉。
這一步的核心是使用 opencv 的人臉訓練模型,下載地址:
https://github.com/opencv/opencv/tree/master/data/haarcascades
這里選擇haarcascade_frontalface_default.xml文件,你可以下載到本地。
import cv2
img = cv2.imread('d:/tc/faceai/meinv.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# OpenCV人臉識別分類器
classifier = cv2.CascadeClassifier("d:/tc/faceai/haarcascade_frontalface_default.xml")
color = (0, 255, 0) # 定義繪制顏色
# 調用識別人臉
faceRect = classifier.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(faceRect): # 大于0則檢測到人臉
for faceRect in faceRect: # 單獨框出每一張人臉
x, y, w, h = faceRect
# 框出人臉
cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
# 左眼
cv2.circle(img, (x + w // 4, y + h // 4 + 30), min(w // 8, h // 8),
color)
# 右眼
cv2.circle(img, (x + 3 * w // 4, y + h // 4 + 30), min(w // 8, h // 8),
color)
# 嘴巴
cv2.rectangle(img, (x + 3 * w // 8, y + 3 * h // 4),
(x + 5 * w // 8, y + 7 * h // 8), color)
cv2.imshow("image", img) # 顯示圖像
c = cv2.waitKey(10)
cv2.waitKey(0)
cv2.destroyAllWindows()
那么,我們已經識別出美女的五官了。
我們可以使用opencv訓練自己的分類器,比如識別頁面上的按鈕、輸入框等,那么是不是就可以通過AI來定位元素了。
責任編輯:lq
-
AI
+關注
關注
87文章
30993瀏覽量
269278 -
人臉識別
+關注
關注
76文章
4012瀏覽量
81957 -
OpenCV
+關注
關注
31文章
635瀏覽量
41373
原文標題:AI入門:實現圖片人臉識別
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論