999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Linux下OpenCV的人臉識別模塊設計

2018-09-17 05:20:34金笑雪張琳琳高丹張黎
計算機時代 2018年7期

金笑雪 張琳琳 高丹 張黎

摘 要: 近年來,圖像識別技術正在向更加直觀、可靠的方向發展,其中人臉識別技術具有極高的研究價值,應用得也最為廣泛。通過對Linux系統下OpenCV的研究,利用OpenCv Python3.4設計出一個圖像識別系統,實現了圖像處理,人臉檢測的功能。該系統可以作為后續對人像分析、人像理解和人臉特征識別研究的基礎。

關鍵詞: 計算機視覺; Linux; 圖像識別; OpenCV; 人臉識別算法; 研究價值

中圖分類號:TP391.4 文獻標志碼:A 文章編號:1006-8228(2018)07-64-03

Abstract: In recent years, image recognition technologies are developing to a more intuitive and reliable direction, among them the face recognition technology has a high research value and is used most widely. Through the research on Linux OpenCV, an image recognition system is designed by using OpenCv Python3.4, and the functions of image processing and face detection are realized. The system can be used as the basis for subsequent research on portrait analysis, portrait understanding and face feature recognition.

Key words: computer vision; Linux; image recognition; OpenCV; face recognition algorithm; research value

0 引言

計算機視覺技術日臻成熟,現已成為教育、醫療、軍事等人工智能領域中不可或缺的一部分,其與圖像處理、模式識別等多種學科的研究有十分緊密的聯系。計算機視覺技術是一種可實現人機交互的智能化工具,包括了圖像采集技術、識別技術、處理技術、恢復技術等[2]。通過這些技術實現對目標進行提取、分類、識別、追蹤、統計決策的功能[3]。它還能夠描述多種空間形式、建立幾何模型、實現圖像理解[4]。圖像是一種可視化的信息,圖像信號是圖像信息的理論描述方法[5],在這個信息需求日益增長的時代,通過識別圖像的方式可以更加直觀、高效的解決問題。本文提到的人臉識別過程是利用代碼調用攝像頭進行拍照,即人臉圖像采集,而后進行圖像預處理、圖像特征提取以及匹配與識別,從而達到人臉識別的目的,在圖像識別方面具有重要的實用價值與研究意義。

1 認識Linux系統

Linux操作系統誕生于1991年,是一種由類UNIX操作系統逐步發展而來的一種克隆系統,Linux提供了一個完整的操作系統當中最底層的硬件控制與資源管理的完整架構[6],這種架構使它的性能更穩定。它能運行主要的UNIX工具軟件、應用程序和網絡協議。Linux是Open Source的操作系統,所以它的程序代碼可以被修改后移植到各種機器上運行,因此,Linux以它的高效性和靈活性而被廣大用戶所喜愛,可滿足多位用戶完成多種任務的需求。

2 走進OpenCV

2.1 OpenCV簡介

OpenCV是一個基于開源發行的跨平臺計算機視覺庫,可以在多種常見的操作系統上運行[7],該庫包含大量的C/C++、Python、Ruby、Java和MATLAB/OCTAVE接口[8],靈活且高效。OpenCV的結構包含以下幾個模塊:

它的應用領域也十分廣泛,包括產品檢測,醫學成像,圖像分區,軌跡跟蹤,機器人等等,而本文所應用的就是它的圖像識別功能,OpenCv擁有大量的函數可以應用在圖像識別功能方面。

2.2 基于OpenCV人臉識別的三種算法

2.2.1 Eigenfaces createEigenFaceRecognizer()

特征臉(Eigenfaces)算法指視覺中進行人臉識別時使用的特征向量,它是基于PCA用于一般性剛體識別以及人臉識別的描述技術[9],其識別的過程就是將人臉圖像進行編碼,把人臉從像素空間映射到低維子空間上,在另一個空間中計算兩幅人臉圖像之間的距離,從而成功實現人臉識別。

2.2.2 Fisherfaces createFisherFaceRecognizer()

Fisherface基于線性判別分析[10],它與上文所說的PCA類似,這兩種方法都是將數據降至低維度空間處理的方法,具體操作是在Fisher判別準則函數取得極值的條件下,求得一個最佳判別方向,然后再將模式高維特征向量投影到該最佳判別方向上,構成一個一維的判別特征空間,人臉識別就可以在這個一維的空間中進行。

2.2.3 Local Binary Patterns Histograms createLBPHFaceRecognizer()

LBP(local binary pattern)是局部二值模式,它是一種具有灰度不變性和旋轉不變性并且用來描述圖像局部特征的算子。該算子將人臉分成幾個子圖像然后進行LBP變換,求出每個區域的LBP直方圖,并將這N個直方圖拼接成一個新的直方圖來表示人臉的特征[11]。但是,這種方法易受到噪聲的影響,如果用局部3×3的矩形進行變換,點噪聲的問題就變得不明顯,不會影響檢測的性能。最后求取每個矩形內的圖像像素和作為矩形的特征值,將每個矩形的特征值與中心矩形的特征值進行比較,重新進行LBP編碼,并將LBP編碼作為該局部區域的特征值,再利用分類器便可以進行人臉檢測。

3 Linux下OpenCV的識別應用

3.1 在Linux系統下搭建OpenCv環境

⑴ 使用apt-get更新樹莓派系統及軟件包

sudo apt-get update

sudo apt-get upgrade

⑵ 利用apt-get獲取安裝OpenCv的工具——CMake

sudo apt-get install build-essential cmake pkg-config

使用apt-get獲取OpenCv需要的庫文件和依賴關系。

sudo apt-get install libjpeg-dev libtiff5-dev

libjasper-dev libpng12-dev

sudo apt-get install libavcodec-dev libavformat-dev

libswcale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install libgtk2.0-dev

sudo apt-get install libatlas-base-dev gfortran

下載OpenCv源代碼并且使用CMake編譯,使用wget在opencv官網下載源碼。創建Python虛擬環境,命名為cv,在cv下使用cmake編譯opencv并安裝,然后將安裝好的opencv庫聯接到cv虛擬環境中。具體流程如下:

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D INSTALL_C_EXAMPLES=ON \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_

contrib/modules \

-D BUILD_EXAMPLES=ON ..

make j4

sudo make install

sudo ldconfig

3.2 通過Python利用OpenCv實現人臉識別

人臉識別首先通過攝像頭拍攝捕獲圖片,并存儲圖片、定義路徑,然后對圖像進行灰度處理從而提高運算速率,程序框圖如圖2所示。

參考代碼:

from picamera import PiCamera

import cv2

from time import sleep

# 在python庫中導入所需的模塊

camera=PiCamera()

# 獲取PiCamera對象camera

while(1):

sleep(1)

# 程序暫停1秒,即每隔一秒獲取一次人數

camera.capture('cam.jpg')

# 攝像頭捕獲當前圖像,存為cam.jpg

imagepath='/home/pi/cam.jpg'

# 定義圖片路徑為imagepath

face_cascade=cv2.CascadeClassifier(r'/home/pi/Downloads/opencv-master/data/haarcascades/haarcascade_frontalface_default.xml')

# 定義人臉識別Haar特征分類器所在路徑

image=cv2.imread(imagepath,)

# 根據路徑讀取該圖片為image

gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# 將圖片進行灰度轉換

faces=face_cascade.detectMultiScale(gray,1.15,5)

# 檢測識別圖中人臉

for(x,y,w,h) in faces:

cv2.circle(image,(x,y),(x+w,y+h),(255,0,0),2)

cv2.imshow('Find Faces!',image)

cv2.waitKey(0)

# 上述注釋為實現人臉的代碼

4 結束語

本文基于Linux下OpenCV的人臉識別模塊,運用了許多加載顯示及處理識別等多種函數,實現了圖像處理和人臉檢測的功能。OpenCV注重速度和商業化,代碼優化,精度高,具有實時性等諸多優點,可以解決多種領域問題。

用計算機模擬人的視覺功能,從圖像中提取信息,對圖像的處理更加直觀化。它的發展前景十分廣闊,可以作為后續對人像分析、人像理解和人臉特征識別研究的基礎。這項技術不僅促進了視覺研究的發展,更使計算機視覺技術開創了全新的紀元。

參考文獻(References):

[1] 趙榮剛,賀慶民.計算機人臉識別技術的應用[J].電子技術與軟件工程,2018.4:137

[2] 朱興統,習洋洋.基于C++和OpenCV的人臉識別系統的設計與實現[J].自動化與儀器儀表,2014.8:127-128,131

[3] 謝飛.基于計算機視覺的自動光學檢測關鍵技術與應用研究[D].南京大學碩士學位,2013.

[4] 王泉枝.基于計算機視覺技術的圖像識別與復原[D].天津大學碩士學位論文,2011.

[5] 賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應用與軟件,2008.4:276-278

[6] 高瑩,孫雋嬋,焦傳陽,任利峰.Linux操作系統的開發和應用探索[J].產業與科技論壇,2018.17(1):48-89

[7] 秋月.基于OpenCV的人臉識別系統的設計與實現[D].吉林大學碩士學位論文,2015.

[8] 王慧琴.基于OpenCV的人臉識別的研究[J].長治學院報,2016,33(05):42-44.

[9] 趙力莊,高文,陳熙霖.Eigenface的變維分類方法及其在表情識別中的應用[J].計算機學報,1999.6:627-632

[10] 陳高曙,曾慶寧.Eigenface和Fisherface用于人臉識別的性能比較[J].中國科技信息,2006.9:199-201

[11] 何云,吳懷宇,鐘銳.基于多種LBP特征集成學習的人臉識別[J].計算機應用研究,2018.35(1):292-295

主站蜘蛛池模板: 国产日本欧美亚洲精品视| 亚洲精品福利视频| 国产人碰人摸人爱免费视频| 激情综合五月网| 亚洲欧美成aⅴ人在线观看| 午夜不卡福利| 99免费视频观看| 91亚洲影院| 在线看国产精品| 91蜜芽尤物福利在线观看| 国产一线在线| 国产精品爆乳99久久| 欧美www在线观看| 亚洲AV无码一区二区三区牲色| 国产极品粉嫩小泬免费看| 国产成人精品三级| 沈阳少妇高潮在线| 欧美日韩精品综合在线一区| 91人人妻人人做人人爽男同| 美女免费黄网站| 亚洲中文字幕国产av| A级毛片无码久久精品免费| 91毛片网| 欧美影院久久| 欧美精品不卡| 国产va在线观看免费| 久久久久国产精品熟女影院| 国内精品久久久久久久久久影视| 久久久久国产精品熟女影院| 国产午夜在线观看视频| 666精品国产精品亚洲| 福利在线不卡| 亚洲中文字幕无码mv| 国产成人精品无码一区二| 国产精品网曝门免费视频| www.亚洲色图.com| 国产网友愉拍精品视频| 91精品国产麻豆国产自产在线| 国产精品久久久精品三级| 久久77777| 国产精鲁鲁网在线视频| 欧美精品啪啪| 久久a毛片| 三级欧美在线| 91精品国产综合久久不国产大片| a级毛片免费在线观看| 久久精品视频一| 精品伊人久久久香线蕉 | 福利在线不卡一区| 免费jjzz在在线播放国产| 精久久久久无码区中文字幕| 国内老司机精品视频在线播出| 国产精品尹人在线观看| 久久综合丝袜长腿丝袜| 欧美在线黄| 国产h视频免费观看| 国产欧美日本在线观看| 99久久免费精品特色大片| 99爱在线| 色综合激情网| 99久久99这里只有免费的精品| 久热re国产手机在线观看| 亚洲国产亚综合在线区| 国产精品福利在线观看无码卡| 91精品国产自产91精品资源| 亚洲天堂视频在线播放| 中国一级特黄大片在线观看| a色毛片免费视频| 高清欧美性猛交XXXX黑人猛交 | 呦女精品网站| 日韩最新中文字幕| 亚洲国产一区在线观看| 91精品视频在线播放| 亚洲国产一成久久精品国产成人综合| 一级成人欧美一区在线观看| 91成人免费观看在线观看| 亚洲中文字幕久久精品无码一区 | 无码AV动漫| 免费在线国产一区二区三区精品| 一区二区三区四区日韩| 中文字幕亚洲电影| 久久大香伊蕉在人线观看热2|