자료실

제목핸즈 ESP32 YOLO 사물인식하기2026-01-07 13:30
작성자 Level 10
첨부파일ESP32 Yolo 사물인식2026.pdf (157.3KB)

핸즈 ESP32 YOLO 사물인식하기

(http://handz.or.kr 자료실 참고, 준비물 : ESP32cam모듈, 노트북)

 

0. 목표

- 1) ESP32-cam모듈을 OpenCV로 사물을 인식할 수 있다.

- 2) WiFi를 이용해 영상을 가져오고, 파이썬을 통해 컴퓨터에서 사물인식을 한다.

* ESP32cam모듈과 접속기기는 같은 인터넷망을 사용해야 한다.

 

1. YOLO v3 : YOLOv3 (You Only Look Once version 3)

- 객체 탐지 알고리즘 중 하나로, 이미지나 비디오에서 실시간으로 객체를 인식하는 데 사용

- YOLO는 주로 빠르고 정확한 성능을 자랑, Darknet-53이라는 CNN(Convolutional Neural Network) 구조를 사용, 더 깊고 강력한 특징 추출 기능을 제공하여 입력된 이미지에서 여러 개의 객체를 동시에 탐지할 수 있음, 객체의 경계박스를 예측하고, 클래스와 확률을 보여줌, 자율주행차, 감시시스템, 로봇비전 등에 사용

 

2. 어떻게 구현하나?

1) ESP32 카메라모듈 : 카메라와 와이파이가 내장된 범용형 마이크로컨트롤러

2) 파이썬 : 머신러닝과 컴퓨터비전을 위한 가장 유용한 프로그래밍 언어

3) YOLO3 : 성능 좋은 사물인식 알고리즘 / 머신러닝은 계산량이 많아 파이썬을 통해 컴퓨터를 활용

 

3. 프로그램 설치

1) 파이썬 설치

https://www.python.org/downloads/release/python-3137/

설치후 버전 확인하기

image11.png
 

2) OpenCV 설치하기
- 윈도우 <실행>-<cmd>

- command 프롬프트에서 pip install opencv-python 실행해서 설치하고, 파이썬에서 버전확인

image021.png


image031.png
 

3) YOLO3 weightcfg파일 다운로드 (https://pjreddie.com/darknet/yolo)
- cfg파일 : 모델구조 정의, weights : 모델이 학습한 가중치 데이터
- coco.names : 클래스 이름이 나열된 파일
- 위 링크나 패들렛에서 파일 다운로드 / 압축을 풀어서 모두 같은 디렉토리 안에 모아둔다.


4. 아두이노 업로드하기

1) esp32cam library을 다운받아 라이브러리(/Arduino/libraries)에 설치한다.
- 라이브러리의 Add.Zip Library 활용 (Sketch-Include Library-Add.Zip Library)

- 직접 다운로드는 여기에서 가능하다. https://github.com/yoursunny/esp32cam

2) 보드(board)AI Thinker ESP32-CAM을 선택

3) 다운로드한 파일중 ESP32camStream.ino 파일을 연다.

4) 스케치 안에 아래 빨간색 부분을 자기가 연결할 와이파이 정보로 수정한다.(반드시 2.4GHz)

 const char* WIFI_SSID = "Handz1";

 const char* WIFI_PASS = "12341234";  
수정후 저장하고, 아두이노에서 ESP32cam보드에 업로드한다.

5) 업로드후 리셋버튼을 눌러주고, 시리얼모니터를 확인하면 연결된 IP Address를 확인할 수 있다.

(New Line / 115200baud rate 설정) 

image041.png

 

5. 파이썬을 통해서 사물인식하기

1) 파이썬 IDLE(Python)을 실행하고 PyOpenCV 파이썬 파일을 불러온다.

2) url에 위에서 연결된 http주소를 그대로 입력한다.

image051.png

3) Run(F5)를 실행하면 화면이 보이고 사물인식이 시작된다.

4) 자기 얼굴이나 사물을 인식하고 결과를 공유한다.

image061.png
 



핸즈에 질문하세요!