資料介紹
描述
全球各國都在重新開放,與新型冠狀病毒一起生活正在成為新的生活方式。但是為了阻止病毒的傳播,我們需要將感染冠狀病毒的人與其他人分開。
根據疾病預防控制中心的數據,發燒是冠狀病毒的主要癥狀,高達83%的有癥狀患者表現出一些發燒跡象。許多國家都要求學校、學院、辦公室和其他工作場所必須進行體溫檢查和佩戴口罩。
目前,溫度檢查是使用非接觸式溫度計手動完成的。手動檢查可能效率低下、不切實際(在人流量大的地方)和風險。
為了解決這些問題,我設計了一個自助服務終端,它使用面部標記和非接觸式紅外溫度傳感器以及使用深度學習神經網絡的面罩檢測來自動化溫度檢查過程,價格不到100 美元。
此信息亭的使用不僅限于學校、學院、辦公室、其他工作場所,還可以用于醫院等高風險區域。該設備也可用于火車站、巴士站、機場等。
我對這個項目的方法是構建一個簡化的設置過程,這樣任何沒有任何計算機視覺或深度學習經驗的人都可以使用它。這是一個功能齊全且可以立即使用的項目。我通過為每個獨立部分和完整版本添加代碼文件,使這個項目高度可定制。因此,您可以單獨使用項目的任何部分。
感謝 Amazon AWS Credit,我能夠使用 AWS EC2 實例以良好的計算能力訓練我的深度學習模型進行掩碼檢測。
v2 有什么新功能?
- 全新的基于 Web 的儀表板設計,兼容幾乎所有瀏覽器
- 自對準功能
- 以低于 100 美元的價格降低成本(帶顯示屏的 150 美元)
- BalenaFin 支持大規模部署,使用蜂窩服務等等。
- PC 支持 (Mac/Linux/Windows)
- 遠程訪問
解釋
首先,基于 Tensorflow 的深度學習神經網絡試圖檢測這個人是否戴著面具。通過使用許多不同的示例對其進行訓練以防止誤報,該系統已變得健壯。
有一次,系統檢測到它執行面部標記的面具。該系統正在使用 DLIB 模塊進行面部標記,以在人的額頭上找到最佳位置以獲取溫度。
然后通過使用帶有伺服電機的 PID 控制系統,系統嘗試將額頭上的選定點與傳感器對齊,或者如果在自對齊模式下,用戶可以根據視覺線索對齊自己。校準后,系統使用非接觸式紅外溫度傳感器讀取溫度。
如果溫度在正常的人體溫度范圍內,則允許此人繼續并向管理員發送帶有圖片和其他詳細信息(例如體溫等)的電子郵件。
軟件設置
- PC 安裝只需幾行遵循 Github 上的指南https://github.com/saksham2001/TouchFree-v2/blob/master/README.md#setup-for-pc-windowsmaclinux
- 對于 Raspberry Pi,只需跳過 BalenaFin 設置,其他一切都保持不變。
- 對于 BalenaFin 跳過 Raspberry Pi 設置,其他一切都保持不變。
1. 從 Balena Etchers下載頁面為您的操作系統下載 Balena Etcher 。
2. 在此處下載 Balena 的 Raspbian 映像。
3. 將 SD 卡連接到您的計算機,選擇最新版本的 Raspberry Pi OS,然后單擊Flash以將操作系統刷入您的卡。
4. 將 SD 卡連接到 Raspberry Pi,將其連接到顯示器,然后為其供電。等待幾分鐘,直到 Raspberry Pi 啟動。
5. 通過單擊屏幕右上角的 Wifi 圖標并輸入您的 WiFi 與您的本地 WiFi 路由器連接
1. 從 Balena Etchers下載頁面為您的操作系統下載 Balena Etcher 。
2. 將 SD 卡連接到您的計算機,選擇最新版本的 Raspberry Pi OS,然后單擊Flash以將操作系統刷入您的卡。
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 安裝重要的依賴項
安裝 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/TouchFree-v2
環境變量設置
$ 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 因素身份驗證,那么您可能需要創建應用程序密碼。
硬件設置
按照電路圖中給定的方式連接伺服 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
傳感器 = MLX90614(總線,地址 = 0x5A)
測試
$ cd ~
$ cd covid
使用 PID 校準運行完整的應用程序
$ python3 pi_app.py
使用自對準運行完整的應用程序
$ python3 pi_self_app.py
遠程訪問(可選)
$ sudo apt update
$ sudo apt install snapd
$ sudo reboot
重啟后
sudo snap install ngrok
啟動遠程訪問
ngrok HTTP 8050
現在將給出一個網站地址,您可以在啟動之前給出的 python 代碼后查看儀表板。
外殼和相機傳感器外殼
您可以使用下面給出的文件 3D 打印外殼,或者您可以使用紙板、木材等制作自己的臨時外殼。
我為我的 3.5 英寸觸摸屏顯示器3D 打印了Stephen Wilson制作的外殼。
如果您使用的是官方 Raspberry Pi 顯示器,請嘗試在Thingiverse 上查找外殼。我非常喜歡這個,但還沒有測試過。
對于相機傳感器外殼,我定制了它們,以便相機和傳感器可以對齊。如果要更改外殼,可能需要更改代碼中的對齊點。
注意 -這些案例適用于 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 => 模型中的舊模型。
如果溫度檢查不起作用,我該怎么辦?
溫度檢查需要適當的照明。確保您有適當的照明并且您的伺服系統運行良好。
進一步改進的范圍
目前,我正在使用 BalenaOS 開發該項目的 BalenaFin 特定版本,它允許為各種規模的企業輕松進行大規模部署。不幸的是,我沒有足夠的時間在截止日期之前完成它,但我很快就會發布它。在那個版本中,我在 BalenaOS 上使用了 2 個 docker 容器,一個使用 Balena Dash 用于基于 Web 的圖形用戶界面,另一個用于所有計算。
- Matrix IR非接觸式溫度計開源設計
- 非接觸式溫度監控器解決方案 0次下載
- 非接觸式溫度監測器
- 非接觸式溫度計開源設計
- TouchFree:自動溫度檢查和面罩檢測
- 【數據手冊】HD-GU2L-EVM評估板V2
- COVID 19非接觸式溫度計
- 使用mlx90614 ir進行非接觸式溫度測量
- 使用Arduino的非接觸式紅外溫度傳感器
- ST-Link V2仿真器的原理圖 486次下載
- Kinect v2(Microsoft Kinect for Windows v2 )配置移動電源解決方案
- 基于游標模型的非接觸式手勢交互方法 8次下載
- MLX90614數字非接觸式紅外溫度計的驅動程序免費下載 122次下載
- 非接觸式IC卡技術
- 使用安全非接觸式技術與 RFID 的建議
- 大模型系列:Flash Attention V2整體運作流程 1296次閱讀
- 非接觸式溫度感應背后的原理與智能方案 862次閱讀
- 交流接觸器的檢查與維護 1294次閱讀
- PINE64便攜烙鐵Pinecil V2版本 3398次閱讀
- 如何才能使用低成本實現非接觸式的數據交互 4824次閱讀
- dfrobot非接觸式紅外溫度傳感器MLX90614-DCI簡介 1w次閱讀
- dfrobotTS01非接觸式紅外溫度傳感器(4-20mA)簡介 3948次閱讀
- dfrobotTS01非接觸式紅外溫度傳感器(0-3V)簡介 2232次閱讀
- dfrobot非接觸式液位傳感器簡介 1923次閱讀
- 微雪電子ST-LINK/V2 STM32仿真器簡介 4285次閱讀
- 微雪電子迷你ST-LINK/V2 STM32仿真器 2985次閱讀
- 微雪電子ST-LINK/V2 STM32仿真器簡介 5772次閱讀
- 微雪電子樹莓派原裝攝像頭V2簡介 2540次閱讀
- 非接觸式溫度傳感器原理及優點 7994次閱讀
- 近年來悄悄走紅的非接觸紅外溫度測量是怎么一回事? 3610次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多