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

主站蜘蛛池模板: 中文字幕亚洲另类天堂| 中文字幕在线免费看| 久久久久无码国产精品不卡| 免费观看精品视频999| 亚洲欧美国产视频| 婷婷亚洲最大| 亚洲国产精品无码久久一线| 亚洲欧美成人影院| 91外围女在线观看| 亚洲国产高清精品线久久| 日韩一区二区三免费高清| 国产三级精品三级在线观看| 在线观看国产精美视频| 久久黄色小视频| 九九香蕉视频| 色综合激情网| 国产高清色视频免费看的网址| 免费啪啪网址| 国产欧美专区在线观看| 国外欧美一区另类中文字幕| 国产高清在线观看| 人妻丰满熟妇AV无码区| 老色鬼欧美精品| 色窝窝免费一区二区三区 | 国产激情无码一区二区免费| 成人91在线| 亚洲精品黄| 亚洲热线99精品视频| 久青草网站| 一级片一区| 色噜噜综合网| 亚洲成年人片| a亚洲视频| 在线视频精品一区| 内射人妻无码色AV天堂| 114级毛片免费观看| 午夜国产在线观看| 久久综合亚洲色一区二区三区| aaa国产一级毛片| 亚洲无线视频| 成人在线欧美| 免费人成视网站在线不卡| 97在线碰| 黄色网在线| 波多野结衣一区二区三区四区视频 | 日韩无码真实干出血视频| 自偷自拍三级全三级视频| 日本免费新一区视频| 久久国产精品麻豆系列| 欧美日本视频在线观看| 欧美va亚洲va香蕉在线| 福利一区在线| 国产情侣一区二区三区| 亚洲国产系列| 欧美日韩在线亚洲国产人| 欧美成一级| 色一情一乱一伦一区二区三区小说| 久久精品亚洲中文字幕乱码| 日本一区二区三区精品国产| 成人福利免费在线观看| 亚洲中文无码av永久伊人| 一级毛片免费不卡在线| 中文成人在线| 亚洲另类色| 亚洲日韩精品无码专区97| 午夜a级毛片| 国产亚洲欧美在线中文bt天堂| 亚洲精品视频在线观看视频| 无码精油按摩潮喷在线播放 | 狠狠色香婷婷久久亚洲精品| 欧美黑人欧美精品刺激| 国产人成在线视频| 色婷婷成人网| 日韩美一区二区| 91综合色区亚洲熟妇p| 欧美不卡二区| 91年精品国产福利线观看久久| 国产精品无码AV片在线观看播放| AV无码一区二区三区四区| 怡红院美国分院一区二区| 91国内在线视频| 久久精品嫩草研究院|