사람을 식별하기 위해 서명, 지문, 음성, 손 기하학, 얼굴 인식 등을 사용하는 많은 사람 식별 시스템이 있지만 그중 어느 것도 공항, 소매점 및 기차역과 같은 공공 장소에서 사람을 감지하고 인식 할 수 없습니다. 얼굴 인식 시스템.
얼굴 인식 시스템은 공공 장소에있는 사람을 인식하기위한 보안 목적으로 사용될 수있을뿐만 아니라 사무실과 학교에서 출석 목적으로도 사용될 수 있습니다.
이번 프로젝트에서는 ESP32-CAM 을 이용한 얼굴 인식 시스템 을 구축 할 예정입니다.이 시스템 은 권한이없는 사람의 얼굴을 인식하여 ESP32-CAM 보안 시스템 으로 도 작동 합니다. ESP32-CAM은 ESP32-S 칩이있는 매우 작은 카메라 모듈입니다. ESP32-CAM 모듈을 사용하면 복잡한 프로그래밍 및 추가 구성 요소를 사용하지 않고도 얼굴 인식 시스템을 구축 할 수 있습니다. 얼굴 인식은 OpenCV를 사용하는 Raspberry Pi 및 Pi 카메라를 사용하여 수행 할 수도 있습니다.
ESP32-CAM 소개
AI-Thinker ESP32-CAM 모듈에는 ESP32-S 칩, 초소형 OV2640 카메라 및 마이크로 SD 카드 슬롯이 함께 제공됩니다. Micro SD 카드 슬롯은 카메라에서 촬영 한 이미지를 저장하거나 파일을 저장하는 데 사용할 수 있습니다. 이 ESP32-CAM 모듈은 다양한 IoT 애플리케이션에서 널리 사용될 수 있습니다. 사무실, 학교 및 기타 개인 영역에서 얼굴 감지 시스템으로 사용할 수 있으며 무선 모니터링, QR 무선 식별 및 기타 여러 IoT 애플리케이션으로도 사용할 수 있습니다.
ESP32-CAM의 모듈은 ESP-IDF 또는 프로그래밍 할 수 있습니다 아두 이노 IDE. ESP32-CAM 모듈에는 외부 하드웨어를 연결하는 여러 GPIO 핀도 있습니다. ESP32-CAM에는 USB 커넥터가 없으므로 모듈을 프로그래밍하려면 FTDI 보드가 필요합니다.
풍모:
- 가장 작은 802.11b / g / n Wi-Fi BT SoC 모듈
- 저전력 32 비트 CPU, 애플리케이션 프로세서 역할도 가능
- 최대 160MHz 클록 속도, 최대 600DMIPS의 요약 컴퓨팅 성능
- 내장 520KB SRAM, 외부 4MPSRAM
- UART / SPI / I2C / PWM / ADC / DAC 지원
- OV2640 및 OV7670 카메라, 내장 플래시 램프 지원
- 이미지 Wi-Fi 업로드 지원
- 지원 TF 카드
- 여러 절전 모드 지원
- 임베디드 Lwip 및 FreeRTOS
- STA / AP / STA + AP 작동 모드 지원
- Smart Config / AirKiss 기술 지원
- 직렬 포트 로컬 및 원격 펌웨어 업그레이드 (FOTA) 지원
명세서:
- SPI 플래시: 기본 32Mbit
- RAM: 520KB SRAM + 4M PSRAM
- 지원 TF 카드: 최대. 4G
- 지원 인터페이스: UART, SPI, I2C, PWM
- 이미지 출력 형식: JPEG, BMP, GRAYSCALE
- IO 포트: 9
- 전원 공급 범위: 5V
필요한 구성 요소
- ESP32-CAM
- FTDI 프로그래머
회로도
ESP32 CAM 보안 카메라 를 구축하려면 ESP32 카메라 모듈과 FTDI 프로그래머 만 있으면됩니다.
ESP32-CAM에는 USB 커넥터가 없으므로 위 그림과 같이 코드를 ESP32-CAM에 업로드하려면 FTDI 프로그래머가 필요합니다. ESP32의 Vcc 및 GND 핀은 FTDI 보드의 Vcc 및 GND 핀과 연결됩니다. ESP32의 Tx와 Rx는 FTDI 보드의 Rx 및 Tx와 연결됩니다.
참고: 코드를 업로드하기 전에 IO0을 접지에 연결하십시오. IO0은 ESP32가 깜박임 모드인지 여부를 결정합니다. GPIO 0이 GND에 연결되면 ESP32는 깜박임 모드입니다.
ESP32-CAM |
FTDI 보드 |
3.3V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32를 프로그래밍 한 후 FTDI 보드를 제거하고 7805 전압 조정기를 사용하여 모듈을 3.3V 전원 공급 장치에 연결했습니다. ESP32 캠 비디오 스트리밍 설정은 다음과 같습니다.
Arduino IDE에 ESP32 보드 설치
여기서 ESP32-CAM은 Arduino IDE를 사용하여 프로그래밍됩니다. 이를 위해 Arduino IDE에 ESP32 애드온을 설치해야합니다.
Arduino IDE에 ESP32 보드를 설치하려면 파일> 환경 설정으로 이동하십시오.
이제 아래 링크를 복사하여 아래 그림과 같이 “ 추가 보드 관리자 URL ”필드에 붙여 넣으 십시오. 그런 다음 "확인"버튼을 클릭합니다.
https://dl.espressif.com/dl/package_esp32_index.json
이제 도구> 보드> 보드 관리자 로 이동합니다.
Board Manager에서 ESP32를 검색하고 "ESP32 by Espressif Systems"를 설치합니다.
ESP32 카메라 웹 서버 코드
우리는 이미 ESP32 캠 비디오 스트리밍 및 얼굴 인식 의 예제 코드를 가지고 있습니다. 사용하여 ESP32 예를 열고 파일> 예> ESP32> 카메라 와 CameraWebServer 예를 엽니 다.
코드를 업로드하기 전에 Wi-Fi 이름과 비밀번호를 입력해야합니다.
const char * ssid = "WiFi 이름"; const char * password = "비밀번호";
그 후 ESP 카메라 모듈 을 정의합니다. 코드에서 그들은 5 개의 카메라 모듈을 정의 했으므로“CAMERA_MODEL_AI_THINKER”의 주석 처리를 제거하고 나머지 모듈의 주석을 제거합니다.
코드를 업로드하려면 FDTI 보드를 노트북에 연결하고 ' ESP32 Wrover Module '을 보드로 선택하십시오. 또한이 그림에 따라 다른 설정을 변경하십시오.
코드를 업로드하기 전에 ESP32 재설정 버튼을 누른 다음 업로드 버튼을 클릭하십시오.
참고: 코드를 업로드하는 동안 오류가 발생하면 IO0이 GND에 연결되어 있고 도구 메뉴에서 올바른 설정을 선택했는지 확인하십시오.
코드를 업로드 한 후 IO0 및 GND 핀을 분리합니다. 그런 다음 직렬 모니터를 열고 전송 속도를 115200으로 변경합니다. 그 후 ESP32 재설정 버튼을 누르면 아래와 같이 직렬 모니터에 ESP IP 주소와 포트 번호가 인쇄됩니다.
이제 카메라 스트리밍에 액세스하려면 브라우저로 이동하여 ESP IP 주소를 입력하십시오. 스트리밍 페이지로 이동합니다. ESP32 캠 비디오 스트리밍을 시작하려면 페이지 하단의 '스트림 시작'버튼을 클릭하십시오.
스트리밍 페이지 에서 ' 해상도 '를 변경하여 스트리밍 품질을 변경할 수 있습니다. ' 스틸 가져 오기' 버튼을 클릭하여 사진을 클릭 할 수도 있지만이 코드에는 사진을 저장할 수있는 옵션이 없습니다.
이제 비디오 스트리밍을 테스트 한 후 ESP32 캠 얼굴 감지 및 인식 기능을 테스트합니다. 이를 위해 설정에서 얼굴 인식 및 감지 기능을 켜십시오.
얼굴 인식을 위해서는 먼저 얼굴을 등록해야합니다. ' 얼굴 등록' 옵션 을 클릭하여 새 얼굴을 등록 할 수 있습니다. 얼굴을 구하려면 여러 번 시도해야합니다. 얼굴을 저장 한 후 얼굴을 피사체 0으로 인식하여 이제 얼굴을 인식하여 보안 시스템으로 사용할 수 있습니다.
이것이 바로 비디오 스트리밍 및 얼굴 인식을 위해 ESP 카메라 모듈을 쉽게 구성 할 수있는 방법 입니다. ESP32 카메라로 촬영 한 아래의 작은 영상을 확인하십시오.
전체 코드는 아래에 제공되며 여기에서도 다운로드 할 수 있습니다.