資料介紹
描述
隨著全球各國重新開放,與新型冠狀病毒一起生活正在成為新的生活方式。但是為了阻止病毒的傳播,我們需要將感染冠狀病毒的人與其他人分開。
根據疾病預防控制中心的數據,發燒是冠狀病毒的主要癥狀,高達83%的有癥狀患者表現出一些發燒跡象。許多國家都要求學校、學院、辦公室和其他工作場所必須進行體溫檢查和佩戴口罩。
目前,溫度檢查是使用非接觸式溫度計手動完成的。手動檢查可能效率低下、不切實際(在人流量大的地方)和風險。
為了解決這些問題,我設計了一個自助服務終端,它通過使用面部標記和非接觸式紅外溫度傳感器以及使用深度學習神經網絡的面罩檢測來自動執行溫度檢查過程。
此信息亭的使用不僅限于學校、學院、辦公室、其他工作場所,還可以用于醫院等高風險區域。該設備也可用于火車站、巴士站、機場等。
我對這個項目的方法是建立一個簡化的設置過程,這樣任何沒有任何計算機視覺或深度學習經驗的人都可以使用它。這是一個功能齊全且可以立即使用的項目。我通過為每個獨立部分和完整版本添加代碼文件,使這個項目高度可定制。因此,您可以單獨使用項目的任何部分。
感謝 Amazon AWS Credit,我能夠使用 AWS EC2 實例以良好的計算能力訓練我的深度學習模型進行掩碼檢測。
解釋
首先,基于 Tensorflow 的深度學習神經網絡試圖檢測這個人是否戴著面具。通過使用許多不同的示例對其進行訓練以防止誤報,該系統已變得健壯。
有一次,系統檢測到面罩,它會要求用戶移除面罩,以便執行面部標記。該系統正在使用 DLIB 模塊進行面部標記,以在人的額頭上找到最佳位置以獲取溫度。
然后通過使用帶有伺服電機的 PID 控制系統,系統嘗試將前額上的選定點與傳感器對齊。校準后,系統使用非接觸式紅外溫度傳感器讀取溫度。
如果溫度在正常的人體溫度范圍內,則允許此人繼續并向管理員發送帶有圖片和其他詳細信息(例如體溫等)的電子郵件。
?
軟件設置
1. 從 Raspberry Pi下載頁面為您的操作系統下載 Raspberry Pi Imager 。
2. 將 SD 卡連接到您的計算機,選擇最新版本的 Raspberry Pi OS,然后單擊寫入將操作系統刷入您的卡。
3. 將 SD 卡連接到 Raspberry Pi,將其連接到顯示器,然后為其供電。等待幾分鐘,直到 Raspberry Pi 啟動。
4. 通過單擊屏幕右上角的 Wifi 圖標并輸入您的 WiFi 與您的本地 WiFi 路由器連接
樹莓派觸摸屏設置
注意-我使用的是通用的 3.5 英寸觸摸屏。除了強烈推薦官方 Raspberry Pi 觸摸屏外,您可以使用任何其他觸摸屏。如果您選擇使用 3.5 英寸觸摸屏,則必須焊接幾個引腳。
按照此設置您的官方 Raspberry Pi 觸摸屏。
按照此設置通用 3.5 英寸觸摸屏。
樹莓派相機設置
按照這個設置官方樹莓派相機v1/v2。
在終端中一一輸入以下命令,安裝各種Packages和Libraries。
為安裝做好 Pi 準備
更新樹莓派操作系統
$ sudo apt-get update
$ sudo apt-get upgrade
更新 pip3
$ pip3 install --upgrade pip3
擴大交換大小和改變內存
注意 -這些需要在所有安裝完成后更改回來。
$ sudo nano /etc/dphys-swapfile
將打開一個新文件。導航到CONF_SWAPSIZE=100并將其更改為CONF_SWAPSIZE=1024。然后單擊 Ctr + O,然后單擊 Enter,然后單擊 Ctr + X 以保存更改。
然后運行以下命令以使更改生效。
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
然后,
$ sudo raspi-config
并導航到 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 安裝重要的依賴項
$ 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 上訓練的,如果您使用任何其他版本的 Tensorflow,它可能會導致一些問題。
$ 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()
如果這一步沒有報錯,說明你已經成功安裝了Tensorflow。
安裝 DLIB
$ pip3 install dlib
檢查安裝
$ python3
>>> import dlib
>>> exit()
如果這一步沒有報錯,說明你已經成功安裝了DLIB。
更改交換大小和更改內存
$ sudo nano /etc/dphys-swapfile
將打開一個新文件。導航到CONF_SWAPSIZE=1024并將其更改為CONF_SWAPSIZE=100。然后單擊 Ctr + O,然后單擊 Enter,然后單擊 Ctr + X 以保存更改。
然后運行以下命令以使更改生效。
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
然后,
$ sudo raspi-config
并導航到 Advanced Options => Memory Split 并從 16 => 128 更改。
然后重啟樹莓派。
下載代碼
$ mkdir covid
$ cd covid
$ git clone https://github.com/saksham2001/Covid-Project
環境變量設置
$ sudo nano /etc/profile
這將打開一個文件,如果您想獲得電子郵件警報,請在文件末尾添加以下行
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
電子郵件設置
要使用電子郵件警報服務,您需要一個 Gmail 帳戶,并且您需要允許不太安全的應用程序。或者,如果您使用 2 Factor Authentication,那么您可能需要創建一個App Password 。
?
硬件設置
按照電路圖中給定的方式連接伺服 X 和傳感器 Y。所有的連接都可以按照圖表進行。相機必須連接到相機連接器,樹莓派顯示器可以連接到顯示連接器。如果您使用的是通用 3.5 英寸觸摸屏,您可以將屏幕連接到所需的 GPIO。連接到 Servos 的 GPIO 仍然是免費的,但您需要焊接以獲得傳感器的 5v 和 SDA、SCL 引腳。
注意 -伺服 X 是左右移動的伺服。伺服 Y 是上下移動的伺服。
傳感器設置
連接 Sensor 后,運行以下命令
$ 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: -- -- -- -- -- -- -- --
復制端口名稱(本例中為 5a)
$ cd ~/covid
$ nano app.py
然后在給定行中更改 5A
sensor = MLX90614(bus, address=0x5A)
$ cd ~/covid
$ nano temp_checker.py
再次在給定行中更改 5A
sensor = MLX90614(bus, address=0x5A)
?
測試
$ cd ~
$ cd covid
運行完整的應用程序
$ python3 app.py
在沒有平移和傾斜模塊的情況下運行應用程序
$ python3 no_pan.py
僅運行溫度檢查代碼
$ python3 temp_check.py
僅運行面罩檢測代碼
$ python3 mask_detection.py
僅運行電子郵件發送代碼
$ python3 email_sender.py
?
外殼和相機傳感器外殼
您可以使用下面給出的文件 3D 打印外殼,或者您可以使用紙板、木材等制作自己的臨時外殼。
我為我的 3.5 英寸觸摸屏顯示器3D 打印了Stephen Wilson制作的外殼。
如果您使用的是官方 Raspberry Pi 顯示器,請嘗試在Thingiverse上查找 Enclosures 。我非常喜歡這個,但還沒有測試過。
對于相機傳感器外殼,我定制了它們,以便相機和傳感器可以對齊。如果要更改外殼,可能需要更改代碼中的對齊點。
注意 -這些案例適用于 Raspberry Pi 2/3,不適用于 Pi 4。對于 Pi 4,您需要找到不同的案例。下面附加的相機傳感器外殼文件沒有用于傳感器的任何螺絲孔(因為傳感器有多種形狀和尺寸)。如果您想擁有螺絲孔,請隨時編輯這些文件。
?
調試
口罩檢測不正常怎么辦?
面具檢測模型已經在非常有限的照明條件和有限的面罩顏色下使用合成數據進行了訓練。如果模型不能很好地適應您的條件,您可能需要根據下面給出的說明重新訓練模型。
注意-如果您在任何步驟中遇到困難,這可能會很棘手,請隨時與我聯系!
1.使用以下命令在帶面具和不帶面具的 Raspberry Pi 上拍攝一些照片-
$ raspistill -o image-name.jpg
每次單擊圖像時更改圖像名稱。
2. 轉到此處的 Google Collab Notebook并復制它。在運行時更改運行時類型 => 將運行時類型更改為 GPU。
3. 然后在您的筆記本中運行前 4 個單元格。這將在帶有 mask和不帶 mask的文件中創建兩個文件夾。將您拍攝的圖像添加到這些文件夾并運行所有其他單元。
4. 然后將創建一個新模型作為mask_detector.h5 。下載此模型并用它替換您樹莓派上 covid => 模型中的舊模型。
如果溫度檢查不起作用,我該怎么辦?
溫度檢查需要適當的照明。確保您有適當的照明并且您的伺服系統運行良好。
向Adrian Rosebrock 致敬,感謝他的驚人計算機視覺博客。
- 使用Edge Impulse和Nvidia Jetson的面罩檢測器
- HealthyWorker:面罩插件
- 開源面罩案例
- TouchFree v2:非接觸式溫度和面罩檢查
- 自動溫度檢測系統
- 自動袋閥面罩泵開源分享
- 基于LaBVIEW的供氧面罩防窒息活門檢測 20次下載
- Linux平臺下面向的fastbin攻擊自動檢測方法 6次下載
- 溫度的檢測方法及其特點及如何實現溫度的測量 38次下載
- 自動語法的檢查方法詳細研究資料概述 2次下載
- 電阻式溫度檢測器(RTD)基礎知識及參考設計
- AN679溫度檢測技術 3次下載
- 船舶主機主軸承溫度數字化檢測系統設計與實現 0次下載
- 便攜式低功耗溫度檢測儀設計 31次下載
- 自動光學檢查技術
- 如何檢查冷熱沖擊試驗設備的溫度恢復時間 239次閱讀
- 如何使用數據包錯誤檢查來保護您的溫度讀數 1570次閱讀
- 如何設計和認證功能安全的電阻溫度檢測器系統 918次閱讀
- 如何設計和認證功能安全的電阻溫度檢測器系統 960次閱讀
- 溫度變送器怎么測量好壞 1.6w次閱讀
- 自動X射線檢查的應用原理及設備使用的類型 3822次閱讀
- 單片機控制的溫度檢測電路設計 3099次閱讀
- 單片機實現溫度檢測電路的設計 6313次閱讀
- 自動光學檢測的工作原理及特點 1.3w次閱讀
- 電磁爐溫度檢測電路圖大全(高頻/IGBT/傳感器溫度檢測電路詳解) 3.7w次閱讀
- 基于AD590的溫度檢測電路 1.2w次閱讀
- 介質溫度檢測電路 1368次閱讀
- 溫度自動控制電路 2952次閱讀
- 溫度檢測電路 2616次閱讀
- 溫度檢測報警電路 3217次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多