python利用tensorflow识别圆_RaspberryPi上实现佩戴口罩识别——2020电赛F题小记
今年的電賽題目非常反常,傳統(tǒng)控制題目基本沒(méi)有,新增加了測(cè)距題目,甚至物聯(lián)網(wǎng)題目,Ai題目都出來(lái)了。直接電賽變算法+鈔能力大賽。看到F題:測(cè)溫+人臉識(shí)別,碰巧我們手頭有調(diào)好的紅外測(cè)溫模塊+樹莓派+openmv,還有一個(gè)現(xiàn)成的口罩識(shí)別算法,而openmv可以實(shí)現(xiàn)人臉識(shí)別,所以就選擇了這道題。作為一個(gè)本組唯一一個(gè)非電類專業(yè)的,本人負(fù)責(zé)Ai口罩識(shí)別算法的移植以及編寫一個(gè)opencv實(shí)現(xiàn)的人臉識(shí)別算法作為預(yù)備方案。
由于算法都是寫好的,并且在ubuntu中全部測(cè)試成功。下面主要任務(wù)就是把他移植進(jìn)樹莓派了。萬(wàn)事環(huán)境難,在這幾天里我給樹莓派刷機(jī)了不下十次,下面記錄一下艱辛例程。
配環(huán)境主要分下面幾步:
安裝系統(tǒng)并且連接顯示器
第一步比較簡(jiǎn)單,從官網(wǎng)下載鏡像,然后用win32diskManager燒錄進(jìn)去就可以用,燒錄好之后,如果要利用ssh功能的話,要在boot目錄下新建一個(gè)空白文件命名為ssh(不帶任何拓展名),如果需要利用HDMI顯示器,則需修改boot目錄下的config.txt
hdmi_force_hotplug=1 config_hdmi_boost=4在文件末尾加入以上內(nèi)容,或者將以上內(nèi)容對(duì)應(yīng)的注釋都替換掉。
hdmi_force_hotplug:強(qiáng)制使用HDMI輸出并且支持熱插拔(強(qiáng)行認(rèn)為HDMI口已經(jīng)插入了設(shè)備)
config_hdmi_boost:HDMI信號(hào)增強(qiáng)。
按照以上步驟操作之后,應(yīng)該就能看到樹莓派的桌面了。
配置opencv環(huán)境
由于口罩識(shí)別的數(shù)據(jù)處理以及顯示過(guò)程均需要用到opencv庫(kù),因此需要在raspbian中安裝opencv-python-4.4.0(和ubuntu上版本統(tǒng)一,減少兼容性問(wèn)題)。
我在安裝過(guò)程中莫名出現(xiàn)了玄學(xué)hash值問(wèn)題,經(jīng)過(guò)多次google發(fā)現(xiàn),原因是網(wǎng)絡(luò)不穩(wěn)定,需要用下面的方式安裝,或者直接wget下載whl文件吧
pip3安裝好之后,打開測(cè)試文件,測(cè)試攝像頭,發(fā)現(xiàn)可能會(huì)出現(xiàn)報(bào)錯(cuò),原因是raspbian中沒(méi)有依賴環(huán)境,需要安裝
sudo apt-get install libatlas-base-dev sudo apt-get install libjasper-dev sudo apt-get install libqtgui4 sudo apt-get install python3-pyqt5 sudo apt install libqt4-test安裝好之后可以用以下代碼測(cè)試攝像頭是否正常
import cv2 as cvVideo = cv.VideoCapture(0)while True:ret,frame = Video.read()cv.imshow("capture",frame)cv.waitKey(33)Video.release() cv.destroyAllWindows()如果不能顯示可能需要打開外設(shè)開關(guān),具體方法為命令行中輸入sudo raspi-config,選擇interfaceing-options,將camera選擇為enable。
配置Tensorflow
由于tensorflow較大,推薦先從電腦上通過(guò)wget下載好后上傳樹莓派,否則由于樹莓派網(wǎng)速慢且不穩(wěn)定會(huì)出現(xiàn)一些麻煩的問(wèn)題,下載方法如下。
wget http://piwheels.org/simple/tensorflow/tensorflow-1.13.1-cp37-none-linux_armv7l.whl下載后可通過(guò)sftp上傳至樹莓派,上傳好之后找到whl對(duì)應(yīng)的目錄,使用以下命令安裝即可
pip3 install tensorflow-1.13.1-cp37-none-linux_armv7l.whl安裝好后可用以下代碼測(cè)試
python3 #命令行中進(jìn)入python3環(huán)境 import tensorflow as tf hello = tf.constant('Hello!') sess = tf.Session() print(sess.run(hello))若出現(xiàn)和opencv類似的hash問(wèn)題則繼續(xù)從電腦上wget下載鏡像上傳到樹莓派即可。
Keras的安裝也需要wget后手動(dòng)安裝whl,同時(shí)如果需要保存模型為h5文件則還需安裝以下依賴:
sudo apt-get install libhdf5-dev源碼請(qǐng)參考這里。
https://github.com/Anakin0607/Mask-recogniser-on-RaspberryPi/?github.com總結(jié)
以上是生活随笔為你收集整理的python利用tensorflow识别圆_RaspberryPi上实现佩戴口罩识别——2020电赛F题小记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【LeetCode笔记】剑指 Offer
- 下一篇: caffe不支持relu6_国产AI框架