資料介紹
描述
隨著全球各國(guó)重新開放,與新型冠狀病毒一起生活正在成為新的生活方式。但是為了阻止病毒的傳播,我們需要將感染冠狀病毒的人與其他人分開。
根據(jù)疾病預(yù)防控制中心的數(shù)據(jù),發(fā)燒是冠狀病毒的主要癥狀,高達(dá)83%的有癥狀患者表現(xiàn)出一些發(fā)燒跡象。許多國(guó)家都要求學(xué)校、學(xué)院、辦公室和其他工作場(chǎng)所必須進(jìn)行體溫檢查和佩戴口罩。
目前,溫度檢查是使用非接觸式溫度計(jì)手動(dòng)完成的。手動(dòng)檢查可能效率低下、不切實(shí)際(在人流量大的地方)和風(fēng)險(xiǎn)。
為了解決這些問(wèn)題,我設(shè)計(jì)了一個(gè)自助服務(wù)終端,它通過(guò)使用面部標(biāo)記和非接觸式紅外溫度傳感器以及使用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的面罩檢測(cè)來(lái)自動(dòng)執(zhí)行溫度檢查過(guò)程。
此信息亭的使用不僅限于學(xué)校、學(xué)院、辦公室、其他工作場(chǎng)所,還可以用于醫(yī)院等高風(fēng)險(xiǎn)區(qū)域。該設(shè)備也可用于火車站、巴士站、機(jī)場(chǎng)等。
我對(duì)這個(gè)項(xiàng)目的方法是建立一個(gè)簡(jiǎn)化的設(shè)置過(guò)程,這樣任何沒有任何計(jì)算機(jī)視覺或深度學(xué)習(xí)經(jīng)驗(yàn)的人都可以使用它。這是一個(gè)功能齊全且可以立即使用的項(xiàng)目。我通過(guò)為每個(gè)獨(dú)立部分和完整版本添加代碼文件,使這個(gè)項(xiàng)目高度可定制。因此,您可以單獨(dú)使用項(xiàng)目的任何部分。
感謝 Amazon AWS Credit,我能夠使用 AWS EC2 實(shí)例以良好的計(jì)算能力訓(xùn)練我的深度學(xué)習(xí)模型進(jìn)行掩碼檢測(cè)。
解釋
首先,基于 Tensorflow 的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)試圖檢測(cè)這個(gè)人是否戴著面具。通過(guò)使用許多不同的示例對(duì)其進(jìn)行訓(xùn)練以防止誤報(bào),該系統(tǒng)已變得健壯。
有一次,系統(tǒng)檢測(cè)到面罩,它會(huì)要求用戶移除面罩,以便執(zhí)行面部標(biāo)記。該系統(tǒng)正在使用 DLIB 模塊進(jìn)行面部標(biāo)記,以在人的額頭上找到最佳位置以獲取溫度。
然后通過(guò)使用帶有伺服電機(jī)的 PID 控制系統(tǒng),系統(tǒng)嘗試將前額上的選定點(diǎn)與傳感器對(duì)齊。校準(zhǔn)后,系統(tǒng)使用非接觸式紅外溫度傳感器讀取溫度。
如果溫度在正常的人體溫度范圍內(nèi),則允許此人繼續(xù)并向管理員發(fā)送帶有圖片和其他詳細(xì)信息(例如體溫等)的電子郵件。
?
軟件設(shè)置
1. 從 Raspberry Pi下載頁(yè)面為您的操作系統(tǒng)下載 Raspberry Pi Imager 。
2. 將 SD 卡連接到您的計(jì)算機(jī),選擇最新版本的 Raspberry Pi OS,然后單擊寫入將操作系統(tǒng)刷入您的卡。
3. 將 SD 卡連接到 Raspberry Pi,將其連接到顯示器,然后為其供電。等待幾分鐘,直到 Raspberry Pi 啟動(dòng)。
4. 通過(guò)單擊屏幕右上角的 Wifi 圖標(biāo)并輸入您的 WiFi 與您的本地 WiFi 路由器連接
樹莓派觸摸屏設(shè)置
注意-我使用的是通用的 3.5 英寸觸摸屏。除了強(qiáng)烈推薦官方 Raspberry Pi 觸摸屏外,您可以使用任何其他觸摸屏。如果您選擇使用 3.5 英寸觸摸屏,則必須焊接幾個(gè)引腳。
按照此設(shè)置您的官方 Raspberry Pi 觸摸屏。
按照此設(shè)置通用 3.5 英寸觸摸屏。
樹莓派相機(jī)設(shè)置
按照這個(gè)設(shè)置官方樹莓派相機(jī)v1/v2。
在終端中一一輸入以下命令,安裝各種Packages和Libraries。
為安裝做好 Pi 準(zhǔn)備
更新樹莓派操作系統(tǒng)
$ sudo apt-get update
$ sudo apt-get upgrade
更新 pip3
$ pip3 install --upgrade pip3
擴(kuò)大交換大小和改變內(nèi)存
注意 -這些需要在所有安裝完成后更改回來(lái)。
$ sudo nano /etc/dphys-swapfile
將打開一個(gè)新文件。導(dǎo)航到CONF_SWAPSIZE=100并將其更改為CONF_SWAPSIZE=1024。然后單擊 Ctr + O,然后單擊 Enter,然后單擊 Ctr + X 以保存更改。
然后運(yùn)行以下命令以使更改生效。
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
然后,
$ sudo raspi-config
并導(dǎo)航到 Advanced Options => Memory Split 并從 128 => 16 更改。
然后重啟樹莓派。
安裝要求
$ sudo pip3 install numpy
$ sudo pip3 install scipy
$ sudo pip3 install scikit-image
$ sudo pip3 install RPi.GPIO
$ sudo pip3 install smbus2
$ sudo pip3 install PyMLX90614
安裝 OpenCV
為 OpenCV 安裝重要的依賴項(xiàng)
$ sudo apt-get install build-essential cmake unzip pkg-config
$ sudo apt-get install libjpeg-dev libpng-dev libtiff-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 libgtk-3-dev
$ sudo apt-get install libcanberra-gtk*
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python3-dev
安裝 OpenCV
$ sudo apt-get install python3-opencv
安裝 TensorFlow
注意 - 該模型是在Tensorflow -2.2 上訓(xùn)練的,如果您使用任何其他版本的 Tensorflow,它可能會(huì)導(dǎo)致一些問(wèn)題。
$ sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran python-dev libgfortran5 \ libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev \ liblapack-dev cython libatlas-base-dev openmpi-bin libopenmpi-dev python3-dev
$ sudo pip3 install keras_applications==1.0.8 --no-deps
$ sudo pip3 install keras_preprocessing==1.1.0 --no-deps
$ sudo pip3 install h5py==2.9.0
$ sudo pip3 install pybind11
$ pip3 install -U --user six wheel mock
$ wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/master/tensorflow-2.2.0-cp37-cp37m-linux_armv7l_download.sh"
$ chmod u+x tensorflow-2.2.0-cp37-cp37m-linux_armv7l_download.sh
$ ./tensorflow-2.2.0-cp37-cp37m-linux_armv7l_download.sh
$ sudo pip3 uninstall tensorflow
$ sudo -H pip3 install tensorflow-2.2.0-cp37-cp37m-linux_armv7l.whl
檢查安裝
$ python3
>>> import tensorflow
>>> tensorflow.__version__
2.2.0
>>> exit()
如果這一步?jīng)]有報(bào)錯(cuò),說(shuō)明你已經(jīng)成功安裝了Tensorflow。
安裝 DLIB
$ pip3 install dlib
檢查安裝
$ python3
>>> import dlib
>>> exit()
如果這一步?jīng)]有報(bào)錯(cuò),說(shuō)明你已經(jīng)成功安裝了DLIB。
更改交換大小和更改內(nèi)存
$ sudo nano /etc/dphys-swapfile
將打開一個(gè)新文件。導(dǎo)航到CONF_SWAPSIZE=1024并將其更改為CONF_SWAPSIZE=100。然后單擊 Ctr + O,然后單擊 Enter,然后單擊 Ctr + X 以保存更改。
然后運(yùn)行以下命令以使更改生效。
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
然后,
$ sudo raspi-config
并導(dǎo)航到 Advanced Options => Memory Split 并從 16 => 128 更改。
然后重啟樹莓派。
下載代碼
$ mkdir covid
$ cd covid
$ git clone https://github.com/saksham2001/Covid-Project
環(huán)境變量設(shè)置
$ sudo nano /etc/profile
這將打開一個(gè)文件,如果您想獲得電子郵件警報(bào),請(qǐng)?jiān)谖募┪蔡砑右韵滦?/font>
export SEND_EMAIL="TRUE"
export EMAIL_ID="your-email-id@something.com"
使用您的電子郵件 ID 而不是“your-email-id@something.com”
export EMAIL_PWD="your-email-password"
使用您的電子郵件密碼而不是“您的電子郵件密碼”
export COUNTER_ID=0
電子郵件設(shè)置
要使用電子郵件警報(bào)服務(wù),您需要一個(gè) Gmail 帳戶,并且您需要允許不太安全的應(yīng)用程序。或者,如果您使用 2 Factor Authentication,那么您可能需要?jiǎng)?chuàng)建一個(gè)App Password 。
?
硬件設(shè)置
按照電路圖中給定的方式連接伺服 X 和傳感器 Y。所有的連接都可以按照?qǐng)D表進(jìn)行。相機(jī)必須連接到相機(jī)連接器,樹莓派顯示器可以連接到顯示連接器。如果您使用的是通用 3.5 英寸觸摸屏,您可以將屏幕連接到所需的 GPIO。連接到 Servos 的 GPIO 仍然是免費(fèi)的,但您需要焊接以獲得傳感器的 5v 和 SDA、SCL 引腳。
注意 -伺服 X 是左右移動(dòng)的伺服。伺服 Y 是上下移動(dòng)的伺服。
傳感器設(shè)置
連接 Sensor 后,運(yùn)行以下命令
$ sudo su -c 'echo "Y" > /sys/module/i2c_bcm2708/parameters/combined'
$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- 5a -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
復(fù)制端口名稱(本例中為 5a)
$ cd ~/covid
$ nano app.py
然后在給定行中更改 5A
sensor = MLX90614(bus, address=0x5A)
$ cd ~/covid
$ nano temp_checker.py
再次在給定行中更改 5A
sensor = MLX90614(bus, address=0x5A)
?
測(cè)試
$ cd ~
$ cd covid
運(yùn)行完整的應(yīng)用程序
$ python3 app.py
在沒有平移和傾斜模塊的情況下運(yùn)行應(yīng)用程序
$ python3 no_pan.py
僅運(yùn)行溫度檢查代碼
$ python3 temp_check.py
僅運(yùn)行面罩檢測(cè)代碼
$ python3 mask_detection.py
僅運(yùn)行電子郵件發(fā)送代碼
$ python3 email_sender.py
?
外殼和相機(jī)傳感器外殼
您可以使用下面給出的文件 3D 打印外殼,或者您可以使用紙板、木材等制作自己的臨時(shí)外殼。
我為我的 3.5 英寸觸摸屏顯示器3D 打印了Stephen Wilson制作的外殼。
如果您使用的是官方 Raspberry Pi 顯示器,請(qǐng)嘗試在Thingiverse上查找 Enclosures 。我非常喜歡這個(gè),但還沒有測(cè)試過(guò)。
對(duì)于相機(jī)傳感器外殼,我定制了它們,以便相機(jī)和傳感器可以對(duì)齊。如果要更改外殼,可能需要更改代碼中的對(duì)齊點(diǎn)。
注意 -這些案例適用于 Raspberry Pi 2/3,不適用于 Pi 4。對(duì)于 Pi 4,您需要找到不同的案例。下面附加的相機(jī)傳感器外殼文件沒有用于傳感器的任何螺絲孔(因?yàn)閭鞲衅饔卸喾N形狀和尺寸)。如果您想擁有螺絲孔,請(qǐng)隨時(shí)編輯這些文件。
?
調(diào)試
口罩檢測(cè)不正常怎么辦?
面具檢測(cè)模型已經(jīng)在非常有限的照明條件和有限的面罩顏色下使用合成數(shù)據(jù)進(jìn)行了訓(xùn)練。如果模型不能很好地適應(yīng)您的條件,您可能需要根據(jù)下面給出的說(shuō)明重新訓(xùn)練模型。
注意-如果您在任何步驟中遇到困難,這可能會(huì)很棘手,請(qǐng)隨時(shí)與我聯(lián)系!
1.使用以下命令在帶面具和不帶面具的 Raspberry Pi 上拍攝一些照片-
$ raspistill -o image-name.jpg
每次單擊圖像時(shí)更改圖像名稱。
2. 轉(zhuǎn)到此處的 Google Collab Notebook并復(fù)制它。在運(yùn)行時(shí)更改運(yùn)行時(shí)類型 => 將運(yùn)行時(shí)類型更改為 GPU。
3. 然后在您的筆記本中運(yùn)行前 4 個(gè)單元格。這將在帶有 mask和不帶 mask的文件中創(chuàng)建兩個(gè)文件夾。將您拍攝的圖像添加到這些文件夾并運(yùn)行所有其他單元。
4. 然后將創(chuàng)建一個(gè)新模型作為mask_detector.h5 。下載此模型并用它替換您樹莓派上 covid => 模型中的舊模型。
如果溫度檢查不起作用,我該怎么辦?
溫度檢查需要適當(dāng)?shù)恼彰鳌?/font>確保您有適當(dāng)?shù)恼彰鞑⑶夷乃欧到y(tǒng)運(yùn)行良好。
向Adrian Rosebrock 致敬,感謝他的驚人計(jì)算機(jī)視覺博客。
- 使用Edge Impulse和Nvidia Jetson的面罩檢測(cè)器
- HealthyWorker:面罩插件
- 開源面罩案例
- TouchFree v2:非接觸式溫度和面罩檢查
- 自動(dòng)溫度檢測(cè)系統(tǒng)
- 自動(dòng)袋閥面罩泵開源分享
- 基于LaBVIEW的供氧面罩防窒息活門檢測(cè) 20次下載
- Linux平臺(tái)下面向的fastbin攻擊自動(dòng)檢測(cè)方法 6次下載
- 溫度的檢測(cè)方法及其特點(diǎn)及如何實(shí)現(xiàn)溫度的測(cè)量 38次下載
- 自動(dòng)語(yǔ)法的檢查方法詳細(xì)研究資料概述 2次下載
- 電阻式溫度檢測(cè)器(RTD)基礎(chǔ)知識(shí)及參考設(shè)計(jì)
- AN679溫度檢測(cè)技術(shù) 3次下載
- 船舶主機(jī)主軸承溫度數(shù)字化檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 0次下載
- 便攜式低功耗溫度檢測(cè)儀設(shè)計(jì) 31次下載
- 自動(dòng)光學(xué)檢查技術(shù)
- 如何檢查冷熱沖擊試驗(yàn)設(shè)備的溫度恢復(fù)時(shí)間 356次閱讀
- 如何使用數(shù)據(jù)包錯(cuò)誤檢查來(lái)保護(hù)您的溫度讀數(shù) 1863次閱讀
- 如何設(shè)計(jì)和認(rèn)證功能安全的電阻溫度檢測(cè)器系統(tǒng) 1068次閱讀
- 如何設(shè)計(jì)和認(rèn)證功能安全的電阻溫度檢測(cè)器系統(tǒng) 1134次閱讀
- 溫度變送器怎么測(cè)量好壞 1.7w次閱讀
- 自動(dòng)X射線檢查的應(yīng)用原理及設(shè)備使用的類型 4058次閱讀
- 單片機(jī)控制的溫度檢測(cè)電路設(shè)計(jì) 3334次閱讀
- 單片機(jī)實(shí)現(xiàn)溫度檢測(cè)電路的設(shè)計(jì) 6531次閱讀
- 自動(dòng)光學(xué)檢測(cè)的工作原理及特點(diǎn) 1.3w次閱讀
- 電磁爐溫度檢測(cè)電路圖大全(高頻/IGBT/傳感器溫度檢測(cè)電路詳解) 3.8w次閱讀
- 基于AD590的溫度檢測(cè)電路 1.2w次閱讀
- 介質(zhì)溫度檢測(cè)電路 1451次閱讀
- 溫度自動(dòng)控制電路 3133次閱讀
- 溫度檢測(cè)電路 2731次閱讀
- 溫度檢測(cè)報(bào)警電路 3338次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多