訂閱
糾錯
加入自媒體

使用Python+OpenCV實現(xiàn)神經(jīng)網(wǎng)絡預處理人臉圖像的快速指南

目前我正在研究一個涉及人臉分類的計算機視覺問題。這通常意味著需要應用深度學習,因此在將圖像注入到我們的神經(jīng)網(wǎng)絡之前需要一個特殊的預處理階段。為了提高我們的模型精度,這是一項非常重要的任務,通過以下幾個簡單的步驟可以很好地完成。對于本文,我們使用OpenCV:一個高度優(yōu)化的計算機視覺開源庫,在C++、java和Python中都可用。這是一篇簡短的文章,包含了一些基本的指導原則、示例和代碼,你可以根據(jù)需求將它們應用到人臉分類或識別問題上。注意:本文中使用的所有靜態(tài)圖像都來自 圖片載入我們將使用imread()函數(shù)加載圖像,指定文件的路徑和mode,第二個參數(shù)對于動態(tài)運行通道和像素轉換非常重要。mode:https://docs.opencv.org/4.1.0/d4/da8/group__imgcodecs.html#ga61d9b0126a3e57d9277ac48327799c80img = cv2.imread('path/image.jpg', cv2.IMREAD_COLOR)要查看圖像,我們有imshow()函數(shù):cv2.imshow(img)

如果你寫的是類型(img),你會看到尺寸是(height, weight, channels)。我們的彩色圖像有3個通道:藍色,綠色和紅色(在OpenCV中按這個順序)。

我們可以輕松查看單個通道:# Example for green channelimg[:, :, 0]; img[:, :, 2]; cv2.imshow(img)灰度版本為了避免在人臉圖像分類中的干擾項,使用黑白圖片是個好主意(也可能不是。┠憧梢詢烧叨荚囋嚕榱说玫交叶劝姹,我們只需要在圖像加載函數(shù)中指定,將適當?shù)闹底鳛榈诙䝼參數(shù)傳遞:img = cv2.imread('path/image.jpg', cv2.IMREAD_GRAYSCALE)

現(xiàn)在我們的圖像有了一個單獨的通道!人臉和眼睛檢測當處理人臉分類問題時,我們可能想要做人臉檢測,來做人臉驗證任務(是否有臉?)。我們可以使用OpenCV中包含的基于Haar特性的級聯(lián)分類器進行人臉檢測。(https://docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html)首先,我們選擇預先訓練的人臉和眼睛檢測分類器。有一個可用的XML文件列表,我們可以使用此列表:https://github.com/opencv/opencv/tree/master/data/haarcascades1)對于人臉檢測,OpenCV提供以下(從最寬松的先驗到最嚴格的先驗):haarcascade_frontalface_default.xmlhaarcascade_frontalface_alt.xmlhaarcascade_frontalface_alt2.xmlhaarcascade_frontalface_alt_tree.xml2) 對于眼睛檢測,我們可以選擇兩種方法:haarcascade_eye.xmlhaarcascade_eye_tree_eyegasses.xml我們以這種方式加載預先訓練的分類器:face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + ‘haarcascade_frontalface_default.xml’)eyes_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + ‘haarcascade_eye.xml’)你可以測試幾種組合。記住,在所有情況下,它們中沒有一個是最優(yōu)的(如果第一個分類器失敗,你可以嘗試第二個分類器,或者甚至嘗試所有分類器)。對于人臉檢測,我們使用以下代碼:faces_detected = face_cascade.detectMultiScale(img, scaleFactor=1.1, minNeighbors=5)結果是一個數(shù)組,包含所有檢測到的人臉。我們可以很容易地畫出矩形:(x, y, w, h) = faces_detected[0]cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 1);cv2.imshow(img)

1  2  3  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號