基于樹莓派opencv的人臉識(shí)別
目錄
- 一、 實(shí)驗(yàn)?zāi)康?/li>
- 二、 攝像頭配置
- 1. 硬件安裝步驟
- 2. 軟件安裝步驟
- 三、 OpenCV安裝
- 1. OpenCV介紹
- 2. Python3上OpenCV安裝步驟
- 四、運(yùn)行人臉識(shí)別項(xiàng)目
- 1. 硬件準(zhǔn)備
- 2. 環(huán)境準(zhǔn)備
- 3. 程序代碼
- (1)人臉數(shù)據(jù)收集
- (2)訓(xùn)練識(shí)別器
- (3)人臉識(shí)別
- 五、總結(jié)
一、 實(shí)驗(yàn)?zāi)康?/h3>
要實(shí)現(xiàn)圖像識(shí)別,首先就是要獲取圖像,所以懂得如何安裝及使用樹莓派CSI攝像頭就非常重要。
- 了解攝像頭基本工作原理,安裝及使用
- 了解opencv,配置人臉識(shí)別相關(guān)環(huán)境
- 收集人臉信息
- 訓(xùn)練收集到的人臉信息
- 將要分析的面部的捕獲部分作為參數(shù),并返回其可能的所有者,指示其ID以及識(shí)別器對(duì)此匹配的信任程度實(shí)現(xiàn)人臉的識(shí)別。
二、 攝像頭配置
圖.樹莓派CSI攝像頭
1. 硬件安裝步驟
- 找到 CSI 接口(CSI接口在以太網(wǎng)接口旁邊),掀起深色膠帶。
- 拉起 CSI 接口擋板。
- 拿起攝像頭模塊,將貼在鏡頭上的塑料保護(hù)膜撕掉。確保黃色部分的PCB(有字的一面)是安裝完美的(可以輕輕按一下黃色的部分來保證安裝完美)。
- 將排線插入CSI接口。記住,有藍(lán)色膠帶的一面應(yīng)該面向以太網(wǎng)接口方向。同樣,這時(shí)也確認(rèn)一下排線安裝好了之后,將擋板拉下。
2. 軟件安裝步驟
(1) 進(jìn)入樹莓派終端系統(tǒng),輸入以下指令進(jìn)行下載并安裝最新的內(nèi)核,GPU 固件及應(yīng)用程序
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>
(2) 運(yùn)行以下命令樹莓派配置工具來激活攝像頭模塊
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo raspi-config
</code></span></span>
?
依次選擇Interfacing Options——>Camera——>Enable——>tab——>Finish
(3)重啟樹莓派
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo reboot
</code></span></span>
(4)測(cè)試攝像頭
輸入命令行,如果得到下面的結(jié)果,則證明攝像頭連接成功
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>vcgencmd get_camera
</code></span></span>
?
輸入命令,在桌面會(huì)顯示一張命名為image1.jpg的圖片
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>raspistill -o Desktop/image1.jpg
</code></span></span>
?
(5)至此,樹莓派攝像頭軟硬件配置到此完成
三、 OpenCV安裝
1. OpenCV介紹
OpenCV是開源計(jì)算機(jī)視覺庫,擁有強(qiáng)大的內(nèi)置函數(shù)和開源社群。OpenCV配合便攜開源廉價(jià)的樹莓派,可以直接讀取來自樹莓派攝像頭PiCamera的視頻,進(jìn)行人臉識(shí)別、邊緣檢測(cè)、語義分割、自動(dòng)駕駛、圖像識(shí)別等各種計(jì)算機(jī)視覺開發(fā)。
2. Python3上OpenCV安裝步驟
(1)更新樹莓派
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>
(2)安裝依賴
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
</code></span></span>
(3)安裝python3
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install python3 python3-setuptools python3-dev
</code></span></span>
(4)設(shè)置pip工具
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
</code></span></span>
?
(5)增大swap空間
找到CONF_SWAPSIZE這個(gè)變量,將100改成1024,表示swap大小從100MB增加到1024MB,可以方便OpenCV使用4核編譯ctrl+o保存,ctrl+d退出
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>
?
(6)重啟swapfile文件
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>
(7)下載OpenCV3.4.1和OpenCV-contrib
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
</code></span></span>
(8)解壓OpenCV安裝包
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>unzip opencv.zip
unzip opencv_contrib.zip
</code></span></span>
(9)安裝numpy
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo pip3 install numpy
</code></span></span>
(10)設(shè)置Cmake編譯參數(shù),注意參數(shù)名、等號(hào)和參數(shù)值之間不能有空格,但每行末尾“\”之前有空格,參數(shù)值最后是兩個(gè)英文的點(diǎn)
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi
cd ~/opencv-3.4.1/
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/opencv_contrib-3.4.1/modules \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_EXAMPLES=ON ..
</code></span></span>
(11)編譯并安裝OpenCV
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo make install
</code></span></span>
(12)更新動(dòng)態(tài)鏈接庫
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo ldconfig
</code></span></span>
(13)安裝完畢,測(cè)試OpenCV版本
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>python3
import cv2
cv2.__version__
</code></span></span>
?
出現(xiàn)opencv版本3.4.1代表安裝完畢!
(14)恢復(fù)swap空間
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>
將CONF_SWAPSIZE這個(gè)變量由1024改成100
(15)重啟swapfile文件
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>
四、運(yùn)行人臉識(shí)別項(xiàng)目
介紹如何在樹莓派上,使用 OpenCV 和 Python 完成人臉檢測(cè)項(xiàng)目
1. 硬件準(zhǔn)備
- 樹莓派4B
- 樹莓派piCam
?
請(qǐng)確保攝像頭如上安裝步驟進(jìn)行安裝,以免后期攝像頭無法運(yùn)行檢測(cè)
2. 環(huán)境準(zhǔn)備
1. OpenCV庫準(zhǔn)備
2. Python3語言準(zhǔn)備
3. 人臉識(shí)別代碼下載
(1) 進(jìn)入網(wǎng)址?https://github.com/Mjrovai/OpenCV-Face-Recognition
?
(2) 下載zip代碼壓縮包,將文件存放至樹莓派/home/pi目錄下解壓縮
3. 程序代碼
OpenCV 具備很強(qiáng)的計(jì)算效率,且專門用于實(shí)時(shí)應(yīng)用,它非常適合使用攝像頭的實(shí)時(shí)人臉識(shí)別,要?jiǎng)?chuàng)建完整的人臉識(shí)別項(xiàng)目,我們必須完成3個(gè)階段:
?
(1)人臉數(shù)據(jù)收集
人臉識(shí)別的最基礎(chǔ)任務(wù)是人臉檢測(cè)。你必須首先搜集人臉信息(第 1 階段)才能在未來與捕捉到的新人臉對(duì)比時(shí)(第 3 階段)識(shí)別它,具體步驟如下:
a)打開終端,進(jìn)入目錄/home/pi/OpenCV-Face-Recognition-master/FacialRecognition
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi/OpenCV-Face-Recognition-master/FacialRecognition
</code></span></span>
b)創(chuàng)建dataset文件夾儲(chǔ)存人臉樣本,和trainer文件夾儲(chǔ)存訓(xùn)練數(shù)據(jù)
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>mkdir dataset
mkdir trainer
</code></span></span>
c)打開01_face_dataset.py
?
d) 運(yùn)行代碼Run,輸入用戶ID(可以是1、2、3、4等整數(shù))隨后看到彈出image視頻框,此時(shí)在收集人臉信息,對(duì)準(zhǔn)人臉耐心等待
e) 打開dataset文件夾,可以看到搜集到的人臉圖像,搜集到的圖片閱讀,人臉檢測(cè)越準(zhǔn)確
Tips:
如果人臉顛倒了,可以加#注釋掉如下代碼
(2)訓(xùn)練識(shí)別器
在第 2 階段中,我們需要從數(shù)據(jù)集中抽取所有的用戶數(shù)據(jù),并訓(xùn)練 OpenCV 識(shí)別器,這一過程可由特定的 OpenCV 函數(shù)直接完成。這一步將在「trainer/」目錄中保存為.yml 文件。
a)確定在 Rpi 中已經(jīng)安裝了 PIL 庫,如果沒有的話,在終端運(yùn)行以下命令:
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>pip install pillow
</code></span></span>
b) 打開02_face_training.py?,運(yùn)行
c) 等待運(yùn)行完成
?
(3)人臉識(shí)別
b) 打開03_face_recognition.py?,運(yùn)行,可以看到如下結(jié)果,人臉識(shí)別成功,其他具體功能自行探索。
?
五、總結(jié)
此次在完成人臉識(shí)別項(xiàng)目的過程中,遇到了許多的小困難,具體錯(cuò)誤及收獲如下:
- 一開始對(duì)攝像頭進(jìn)行安裝時(shí)候,測(cè)試攝像頭的時(shí)候一直彈出timeout的錯(cuò)誤信息,后邊經(jīng)過排查確認(rèn)了是攝像頭不穩(wěn)定造成的,拆下攝像頭的排線,重新安裝后即可正常工作。
- 安裝OpenCV時(shí),編譯過程比較久,我安裝的時(shí)候單編譯就花費(fèi)了四五個(gè)小時(shí),后邊通過網(wǎng)上查找資料,發(fā)現(xiàn)可以四核編譯,才擴(kuò)展了樹莓派的swap空間,加快了編譯速度,此外編譯的過程中也有一些錯(cuò)誤:
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤信息1:
fatal error: boostdesc_bgm.i: 沒有那個(gè)文件或目錄
#include "boostdesc_bgm.i"
</code></span></span>
解決方法:
樹莓派安裝opencv時(shí)丟失的文件:
鏈接:百度網(wǎng)盤 請(qǐng)輸入提取碼
提取碼:mbsj
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>將這些文件復(fù)制到/home/pi/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目錄即可繼續(xù)編譯。建議大家直接用xftp的方式將文件復(fù)制到該目錄下即可。
</code></span></span>
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤信息2:
/home/pi/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail
/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 沒有那個(gè)文件或目錄
</code></span></span>
解決方法:文章來源:http://www.zghlxwxcb.cn/news/detail-769740.html
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤的原因是缺少cuda.hpp文件,這些文件在opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2目錄下,所以直接將這個(gè)目錄下的文件拷貝到opencv-3.4.1/modules/stitching/include/opencv2/即可
</code></span></span>
通過此次的實(shí)驗(yàn)學(xué)習(xí),初步掌握了識(shí)別人臉?biāo)枰木唧w步驟,還知道了很多拓展知識(shí),運(yùn)行的代碼主要是開源的python代碼,python是一門高集成度的語言,我們?cè)趯W(xué)習(xí)的時(shí)候看不到它的底層,用的時(shí)候就是直接調(diào)函數(shù)即可,這或許是python流行的一大原因。通過此次實(shí)驗(yàn)也使我們小組對(duì)樹莓派有了一定的了解。文章來源地址http://www.zghlxwxcb.cn/news/detail-769740.html
基于樹莓派opencv的人臉識(shí)別
目錄
- 一、 實(shí)驗(yàn)?zāi)康?/li>
- 二、 攝像頭配置
- 1. 硬件安裝步驟
- 2. 軟件安裝步驟
- 三、 OpenCV安裝
- 1. OpenCV介紹
- 2. Python3上OpenCV安裝步驟
- 四、運(yùn)行人臉識(shí)別項(xiàng)目
- 1. 硬件準(zhǔn)備
- 2. 環(huán)境準(zhǔn)備
- 3. 程序代碼
- (1)人臉數(shù)據(jù)收集
- (2)訓(xùn)練識(shí)別器
- (3)人臉識(shí)別
- 五、總結(jié)
一、 實(shí)驗(yàn)?zāi)康?/h3>
要實(shí)現(xiàn)圖像識(shí)別,首先就是要獲取圖像,所以懂得如何安裝及使用樹莓派CSI攝像頭就非常重要。
- 了解攝像頭基本工作原理,安裝及使用
- 了解opencv,配置人臉識(shí)別相關(guān)環(huán)境
- 收集人臉信息
- 訓(xùn)練收集到的人臉信息
- 將要分析的面部的捕獲部分作為參數(shù),并返回其可能的所有者,指示其ID以及識(shí)別器對(duì)此匹配的信任程度實(shí)現(xiàn)人臉的識(shí)別。
二、 攝像頭配置
圖.樹莓派CSI攝像頭
1. 硬件安裝步驟
- 找到 CSI 接口(CSI接口在以太網(wǎng)接口旁邊),掀起深色膠帶。
- 拉起 CSI 接口擋板。
- 拿起攝像頭模塊,將貼在鏡頭上的塑料保護(hù)膜撕掉。確保黃色部分的PCB(有字的一面)是安裝完美的(可以輕輕按一下黃色的部分來保證安裝完美)。
- 將排線插入CSI接口。記住,有藍(lán)色膠帶的一面應(yīng)該面向以太網(wǎng)接口方向。同樣,這時(shí)也確認(rèn)一下排線安裝好了之后,將擋板拉下。
2. 軟件安裝步驟
(1) 進(jìn)入樹莓派終端系統(tǒng),輸入以下指令進(jìn)行下載并安裝最新的內(nèi)核,GPU 固件及應(yīng)用程序
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>
(2) 運(yùn)行以下命令樹莓派配置工具來激活攝像頭模塊
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo raspi-config
</code></span></span>
?
依次選擇Interfacing Options——>Camera——>Enable——>tab——>Finish
(3)重啟樹莓派
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo reboot
</code></span></span>
(4)測(cè)試攝像頭
輸入命令行,如果得到下面的結(jié)果,則證明攝像頭連接成功
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>vcgencmd get_camera
</code></span></span>
?
輸入命令,在桌面會(huì)顯示一張命名為image1.jpg的圖片
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>raspistill -o Desktop/image1.jpg
</code></span></span>
?
(5)至此,樹莓派攝像頭軟硬件配置到此完成
三、 OpenCV安裝
1. OpenCV介紹
OpenCV是開源計(jì)算機(jī)視覺庫,擁有強(qiáng)大的內(nèi)置函數(shù)和開源社群。OpenCV配合便攜開源廉價(jià)的樹莓派,可以直接讀取來自樹莓派攝像頭PiCamera的視頻,進(jìn)行人臉識(shí)別、邊緣檢測(cè)、語義分割、自動(dòng)駕駛、圖像識(shí)別等各種計(jì)算機(jī)視覺開發(fā)。
2. Python3上OpenCV安裝步驟
(1)更新樹莓派
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>
(2)安裝依賴
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
</code></span></span>
(3)安裝python3
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install python3 python3-setuptools python3-dev
</code></span></span>
(4)設(shè)置pip工具
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
</code></span></span>
?
(5)增大swap空間
找到CONF_SWAPSIZE這個(gè)變量,將100改成1024,表示swap大小從100MB增加到1024MB,可以方便OpenCV使用4核編譯ctrl+o保存,ctrl+d退出
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>
?
(6)重啟swapfile文件
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>
(7)下載OpenCV3.4.1和OpenCV-contrib
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
</code></span></span>
(8)解壓OpenCV安裝包
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>unzip opencv.zip
unzip opencv_contrib.zip
</code></span></span>
(9)安裝numpy
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo pip3 install numpy
</code></span></span>
(10)設(shè)置Cmake編譯參數(shù),注意參數(shù)名、等號(hào)和參數(shù)值之間不能有空格,但每行末尾“\”之前有空格,參數(shù)值最后是兩個(gè)英文的點(diǎn)
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi
cd ~/opencv-3.4.1/
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/opencv_contrib-3.4.1/modules \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_EXAMPLES=ON ..
</code></span></span>
(11)編譯并安裝OpenCV
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo make install
</code></span></span>
(12)更新動(dòng)態(tài)鏈接庫
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo ldconfig
</code></span></span>
(13)安裝完畢,測(cè)試OpenCV版本
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>python3
import cv2
cv2.__version__
</code></span></span>
?
出現(xiàn)opencv版本3.4.1代表安裝完畢!
(14)恢復(fù)swap空間
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>
將CONF_SWAPSIZE這個(gè)變量由1024改成100
(15)重啟swapfile文件
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>
四、運(yùn)行人臉識(shí)別項(xiàng)目
介紹如何在樹莓派上,使用 OpenCV 和 Python 完成人臉檢測(cè)項(xiàng)目
1. 硬件準(zhǔn)備
- 樹莓派4B
- 樹莓派piCam
?
請(qǐng)確保攝像頭如上安裝步驟進(jìn)行安裝,以免后期攝像頭無法運(yùn)行檢測(cè)
2. 環(huán)境準(zhǔn)備
1. OpenCV庫準(zhǔn)備
2. Python3語言準(zhǔn)備
3. 人臉識(shí)別代碼下載
(1) 進(jìn)入網(wǎng)址?https://github.com/Mjrovai/OpenCV-Face-Recognition
?
(2) 下載zip代碼壓縮包,將文件存放至樹莓派/home/pi目錄下解壓縮
3. 程序代碼
OpenCV 具備很強(qiáng)的計(jì)算效率,且專門用于實(shí)時(shí)應(yīng)用,它非常適合使用攝像頭的實(shí)時(shí)人臉識(shí)別,要?jiǎng)?chuàng)建完整的人臉識(shí)別項(xiàng)目,我們必須完成3個(gè)階段:
?
(1)人臉數(shù)據(jù)收集
人臉識(shí)別的最基礎(chǔ)任務(wù)是人臉檢測(cè)。你必須首先搜集人臉信息(第 1 階段)才能在未來與捕捉到的新人臉對(duì)比時(shí)(第 3 階段)識(shí)別它,具體步驟如下:
a)打開終端,進(jìn)入目錄/home/pi/OpenCV-Face-Recognition-master/FacialRecognition
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi/OpenCV-Face-Recognition-master/FacialRecognition
</code></span></span>
b)創(chuàng)建dataset文件夾儲(chǔ)存人臉樣本,和trainer文件夾儲(chǔ)存訓(xùn)練數(shù)據(jù)
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>mkdir dataset
mkdir trainer
</code></span></span>
c)打開01_face_dataset.py
?
d) 運(yùn)行代碼Run,輸入用戶ID(可以是1、2、3、4等整數(shù))隨后看到彈出image視頻框,此時(shí)在收集人臉信息,對(duì)準(zhǔn)人臉耐心等待
e) 打開dataset文件夾,可以看到搜集到的人臉圖像,搜集到的圖片閱讀,人臉檢測(cè)越準(zhǔn)確
Tips:
如果人臉顛倒了,可以加#注釋掉如下代碼
(2)訓(xùn)練識(shí)別器
在第 2 階段中,我們需要從數(shù)據(jù)集中抽取所有的用戶數(shù)據(jù),并訓(xùn)練 OpenCV 識(shí)別器,這一過程可由特定的 OpenCV 函數(shù)直接完成。這一步將在「trainer/」目錄中保存為.yml 文件。
a)確定在 Rpi 中已經(jīng)安裝了 PIL 庫,如果沒有的話,在終端運(yùn)行以下命令:
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>pip install pillow
</code></span></span>
b) 打開02_face_training.py?,運(yùn)行
c) 等待運(yùn)行完成
?
(3)人臉識(shí)別
b) 打開03_face_recognition.py?,運(yùn)行,可以看到如下結(jié)果,人臉識(shí)別成功,其他具體功能自行探索。
?
五、總結(jié)
此次在完成人臉識(shí)別項(xiàng)目的過程中,遇到了許多的小困難,具體錯(cuò)誤及收獲如下:
- 一開始對(duì)攝像頭進(jìn)行安裝時(shí)候,測(cè)試攝像頭的時(shí)候一直彈出timeout的錯(cuò)誤信息,后邊經(jīng)過排查確認(rèn)了是攝像頭不穩(wěn)定造成的,拆下攝像頭的排線,重新安裝后即可正常工作。
- 安裝OpenCV時(shí),編譯過程比較久,我安裝的時(shí)候單編譯就花費(fèi)了四五個(gè)小時(shí),后邊通過網(wǎng)上查找資料,發(fā)現(xiàn)可以四核編譯,才擴(kuò)展了樹莓派的swap空間,加快了編譯速度,此外編譯的過程中也有一些錯(cuò)誤:
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤信息1:
fatal error: boostdesc_bgm.i: 沒有那個(gè)文件或目錄
#include "boostdesc_bgm.i"
</code></span></span>
解決方法:
樹莓派安裝opencv時(shí)丟失的文件:
鏈接:百度網(wǎng)盤 請(qǐng)輸入提取碼
提取碼:mbsj
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>將這些文件復(fù)制到/home/pi/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目錄即可繼續(xù)編譯。建議大家直接用xftp的方式將文件復(fù)制到該目錄下即可。
</code></span></span>
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤信息2:
/home/pi/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail
/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 沒有那個(gè)文件或目錄
</code></span></span>
解決方法:
<span style="background-color:#f5f5f5"><span style="color:#333333"><code>錯(cuò)誤的原因是缺少cuda.hpp文件,這些文件在opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2目錄下,所以直接將這個(gè)目錄下的文件拷貝到opencv-3.4.1/modules/stitching/include/opencv2/即可
</code></span></span>
通過此次的實(shí)驗(yàn)學(xué)習(xí),初步掌握了識(shí)別人臉?biāo)枰木唧w步驟,還知道了很多拓展知識(shí),運(yùn)行的代碼主要是開源的python代碼,python是一門高集成度的語言,我們?cè)趯W(xué)習(xí)的時(shí)候看不到它的底層,用的時(shí)候就是直接調(diào)函數(shù)即可,這或許是python流行的一大原因。通過此次實(shí)驗(yàn)也使我們小組對(duì)樹莓派有了一定的了解。
到了這里,關(guān)于基于樹莓派opencv的人臉識(shí)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!