코로나19 팬데믹이 계속되는 가운데에, 대중교통, 주택 지구, 대규모 제조업체 및 기타 기업들에서 안전을 위해 마스크 인식 시스템을 필요로 하는 수요가 높았지만, 효율적인 마스크 인식 시스템을 찾아보긴 어려웠습니다. '마스크를 착용하고 있는' 대규모의 데이터가 없어서 이 작업에 어려움이 있었습니다.
관심이 있으시다면 chandrikadeb7@gmail.com으로 연락 주세요!
🎥 유튜브 링크
💻 개발자 링크
우리 마스크 인식 시스템은 어떠한 형태로든 모프된 마스크 이미지 데이터셋을 사용하지 않았으며, 모델은 정확합니다. MobileNetV2 아키텍처의 사용으로, 계산상 효율을 챙겼으며, 이 모델을 라즈베리 파이, 구글 코랄과 같은 임베디드 시스템에 적용시키는 것이 쉬워졌습니다.
따라서 이 시스템은 코로나19로부터의 안전을 위해 실시간으로 마스크 감지를 할수 있는 어플리케이션 필요한 곳에서 사용할 수 있습니다. 이 프로젝트는 공항, 역, 사무실, 학교와 같은 임베디드 시스템과 통합하여 공공 안전 지침을 준수하는 데에 도움을 줄 수 있습니다.
사용된 데이터셋은 여기서 다운로드 받을 수 있습니다.
데이터셋은 두 클래스로 나뉘어지는 4095개의 이미지로 구성되어있습니다:
- 마스크를 착용한 2165개의 사진
- 마스크를 착용하지 않은 1930개의 사진
이미지는 실제로 마스크를 착용하고 있는 사진을 사용했습니다. 이미지는 다음과 같은 소스에서 수집하였습니다:
- Bing 검색 API (See Python script)
- Kaggle 데이터셋
- RMFD 데이터셋 (See here)
필요한 모든 라이브러리는 requirements.txt
에 포함되어 있습니다 바로가기
- repository를 클론하세요.
$ git clone https://github.com/chandrikadeb7/Face-Mask-Detection.git
- 경로를 클론한 repository의 위치로 변경하세요.
$ cd Face-Mask-Detection
- 'test'라는 Python 가상환경을 만들고 작동하세요.
$ virtualenv test
$ source test/bin/activate
- 그리고 필요한 라이브러리를 설치하기 위해 아래 명령어를 당신의 터미널/커맨드 프롬프트에 실행하세요.
$ pip3 install -r requirements.txt
- 터미널을 열고 클론한 프로젝트가 있는 경로로 이동하세요. 그 후 아래 명령어를 입력하세요:
$ python3 train_mask_detector.py --dataset dataset
- 사진에서의 마스크 착용여부를 확인하기 위해선 아래 명령어를 입력하세요:
$ python3 detect_mask_image.py --image images/pic1.jpeg
- 실시간 영상에서의 마스크 착용여부를 확인하기 위해선 아래 명령어를 입력하세요:
$ python3 detect_mask_video.py
Tensorflow & Streamlit를 사용해서 마스크 감지 시스템 웹 어플리케이션을 사용하세요!
명령어
$ streamlit run app.py
이미지 업로드
결과
문의사항이나 의문이 있다면 자유롭게 이메일을 남겨주세요! :email: chandrikadeb7@gmail.com
- Raspberry Pi 케이스를 설치하고
documentation/CanaKit-Raspberry-Pi-Quick-Start-Guide-4.0.pdf
의 3페이지 Getting Started section 또는 https://www.canakit.com/Media/CanaKit-Raspberry-Pi-Quick-Start-Guide-4.0.pdf 에서 오퍼레이팅 시스템을 설정하세요.- 초보자라면 추천 오퍼레이팅 시스템을 사용하세요.
- PiCamera를 설정하세요.
documentation/Arducam-Case-Setup.pdf
또는 https://www.arducam.com/docs/cameras-for-raspberry-pi/native-raspberry-pi-cameras/5mp-ov5647-cameras/ 을 사용해서 Arducam에서 PiCamera를 설정하세요.- PiCamera 모듈과 Raspberry Pi를 연결하고 카메라를 사용가능하게 설정하세요.
프로젝트를 클론한 후 아래 명령어를 실행하세요.
명령어 | 소요시간 |
---|---|
sudo apt install -y libatlas-base-dev liblapacke-dev gfortran | 1분 |
sudo apt install -y libhdf5-dev libhdf5-103 | 1분 |
pip3 install -r requirements.txt | 1-3분 |
wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/master/tensorflow-2.4.0-cp37-none-linux_armv7l_download.sh" | 10초 이내 |
./tensorflow-2.4.0-cp37-none-linux_armv7l_download.sh | 10초 이내 |
pip3 install tensorflow-2.4.0-cp37-none-linux_armv7l.whl | 1-3분 |
Amdocs Innovation India ICE Project Fair에서 Runners Up 수상
- https://osf.io/preprints/3gph4/
- https://link.springer.com/chapter/10.1007/978-981-33-4673-4_49
- https://ieeexplore.ieee.org/abstract/document/9312083/
- https://link.springer.com/chapter/10.1007/978-981-33-4673-4_48
- https://www.researchgate.net/profile/Akhyar_Ahmed/publication/344173985_Face_Mask_Detector/links/5f58c00ea6fdcc9879d8e6f7/Face-Mask-Detector.pdf
Student Code-in 에 선정
여기서 컨트리뷰션 가이드 라인을 꼭 읽어주세요!
적절한 제목과 설명과 함께 마스크 감지 시스템의 새로운 issue를 자유롭게 제보 해주세요!. 만약 이미 해결법을 이미 찾아셨다면, Pull Request는 항상 환영합니다!
우리의 행동규범은 여기서 찾아 보실수 있습니다..
우리의 코드나 데이터셋 어디서든지 인용할 수 있습니다. 조사 연구나 프로젝트에도 사용할 수 있습니다. 이 repository에 링크를 멘션하거나 Chandrika Deb의 GitHub 프로필에 꼭 크레딧을 남겨주세요.
포멧:
- 작성자 이름 - Chandrika Deb
- 삽입구의 게시일 또는 업데이트 날짜
- 문서의 제목 또는 설명.
- URL.
Chandrika Deb이 사랑을 ❤️ 을 담아서 만들었습니다!
MIT 라이센스 © Chandrika Deb