메뉴 전체보기

회원메뉴

ESP32-P4로 AI 수도미터 판독기를 학습시키고 배포하기 > 게시판

본문 바로가기

쇼핑몰 검색

NO. 3286
제목 : ESP32-P4로 AI 수도미터 판독기를 학습시키고 배포하기
2026-09-19 10:35

소개: ESP32-P4로 AI 수도미터 판독기를 학습시키고 배포하기


이 프로젝트는 ESP32-P4 와(과) 2M 오토포커스 카메라 를 함께 사용하여 고속 USB 이미지 입력을 캡처하고, 실제 수도미터를 판독하는 엔드투엔드 Edge AI 비전 시스템을 구축합니다.

수도미터는 특히 정확한 바늘 위치와 디지털 값을 판독할 때 고유한 문제를 제시합니다. 이 가이드에서는 실제 미터 이미지를 캡처하고, 맞춤형 데이터 세트에 주석을 추가하고, 전용 경량 AI 모델을 학습한 다음, ESP32-P4에 직접 배포하여 디바이스에서 추론을 수행합니다.

이 튜토리얼을 마치면 완전히 작동하는 자동 수도미터 판독 시스템을 갖추게 됩니다.




STEP 1. 준비물


준비물


준비물


하드웨어 및 도구

이 하드웨어 구성을 사용하는 이유는 무엇인가요? 표준 고정 초점 카메라는 수도미터 다이얼과 작은 숫자를 흐릿하게 촬영하는 경우가 많아 AI 인식 정확도를 크게 떨어뜨립니다. 따라서 외부 USB 2M 자동 초점 AI 카메라 와(과) 페어링하여 ESP32-P4 와 결합해 다양한 거리에서 선명하고 또렷한 이미지 입력을 확보하고 안정적인 로컬 AI 추론을 지원합니다.


하드웨어 목록:

  1. MaTouch ESP32-P4 10.1" MIPI 터치 디스플레이(4G LTE SIM7670G 포함): 로컬 AI 비전 모델을 기기에서 실행하는 ESP32-P4 HMI 보드입니다. 내장 USB 호스트 포트를 외부 카메라에 직접 연결하여 이미지를 수집하고 실시간으로 처리합니다.
  2. AI용 2M 자동 초점 카메라: 다양한 거리에서 계량기의 다이얼, 포인터 및 숫자를 선명하게 촬영할 수 있도록 자동 초점을 지원하는 2MP USB 카메라 모듈입니다.


소프트웨어 도구:

Makerfabs 수도 미터 모델 도구: 이미지 수집, 데이터셋 준비, 모델 학습, 평가, 내보내기, 신속한 배포를 위한 ROI(관심 영역) 설정까지 전체 작업 흐름을 지원하는 올인원 PC 유틸리티입니다.


환경 구축:

1. ESP-IDF V5.5.3 및 Visual Studio Code를 설치합니다. “Get started with ESP-IDF” 가이드를 단계별로 따르세요: https://wiki.makerfabs.com/Get_Start_with_ESP_IDF.html

2. 예제 코드 AI_Camera_P4를 다운로드합니다:

https://github.com/Makerfabs/MaTouch_ESP32-P4_TFT_with_4G_LTE_Touch_10_1_MIPI/tree/main/examples/AI_Camera_P4

3. VS Code로 해당 폴더를 열고 ESP-IDF 플러그인 로딩이 완료될 때까지 기다립니다. VS Code 하단 상태 표시줄에 ESP-IDF v5.5.3이 표시되면 환경이 준비된 것입니다.




STEP 2. 데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


데이터 수집


  1. USB Device 인터페이스를 통해 카메라를 보드에 연결합니다.
  2. USB Type-C 데이터 케이블을 사용하여 USB-TTL 인터페이스를 통해 보드를 PC에 연결합니다.
  3. 다음에서 Capture Mode 를 main/CMakeLists.txt에서 설정합니다: 0 = Capture Mode, 1 = Recognition Mode.
  4. 플래싱을 구성합니다. UART를 선택하고 올바른 COM 포트를 지정한 다음 ESP32-P4를 선택합니다.
  5. VS Code에서 Build and Flash 를 클릭하고 VS Code 프로세스가 완료될 때까지 기다립니다.
  6. Ctrl + ]를 눌러 모니터를 종료하고 직렬 포트를 해제합니다.
  7. 다음 파일을 엽니다: MakerfabsWaterMeterModelTool.exe.
  8. Collect Data 섹션에서 직렬 포트를 선택하고 이미지 저장 위치를 지정한 다음 Open Collector를 클릭합니다.
  9. 카메라를 수도 미터 방향으로 향합니다.
  10. 다음의 노란색 상자 를 조정하여 상단 가장자리가 디지털 표시 영역의 하단과 맞닿도록 합니다.
  11. Capture 를 클릭하여 사진을 촬영합니다.
  12. 촬영한 이미지에서 정수 부분 숫자 을 선택합니다.
  13. 다음의 포인터 영역을 선택합니다. 범위는 0.1부터 0.0001까지입니다.
  14. 해당하는 미터 수치를 입력하고 Save를 클릭합니다.
  15. 도구가 이미지 폴더와 labels.csv 파일을 자동으로 생성합니다.
  16. 서로 다른 수치, 위치 및 조명 조건에서 충분한 샘플을 수집할 때까지 이 과정을 반복합니다.





STEP 3. 데이터셋 준비


데이터셋 준비


데이터셋 준비


데이터셋 준비


데이터셋 준비


데이터셋 준비


데이터셋 준비


데이터셋 준비


  1. 다음의 Prepare Dataset 섹션을 엽니다. 다음을 선택합니다: 원시 데이터 폴더, labels.csv, 그리고 준비된 출력 폴더를 선택한 다음 Prepare Integer + Dial Datasets를 클릭합니다.
  2. 도구가 자동으로 두 개의 폴더를 생성합니다: integer & dial
  3. 다음 integer 폴더에는 잘라낸 정수 이미지와 해당 labels.csv가 포함됩니다.
  4. 다음 dial 폴더에는 포인터 이미지와 해당 labels.csv가 포함됩니다.





STEP 4. 모델 학습


모델 학습


모델 학습


모델 학습


모델 학습


모델 학습


  1. Train Models 섹션을 열고 Prepared Folder, Integer Output, Dial Output을 선택합니다.
  2. 다음 integer recognition 모델을 학습합니다.
  3. 다음 항목을 확인합니다: Training Digit Accuracy 및 Training Five-Digit Accuracy를 확인합니다. 두 값이 모두 0.95를 초과할 때만 모델을 사용합니다. 값이 낮으면 모델을 추가로 학습해야 합니다.
  4. 다음 dial recognition 모델을 학습합니다.
  5. 다음 Training Dial Accuracy 를 빨간색 상자에서 확인합니다. 값이 0.95를 초과할 때만 모델을 사용합니다. 값이 낮으면 모델을 추가로 학습해야 합니다.





STEP 5. 모델 내보내기


모델 내보내기


모델 내보내기


모델 내보내기


  1. 다음 Export Models 섹션을 열고 ESP-IDF Project, Integer Keras Model, Dial Keras Model을 선택합니다.
  2. 양자화된 모델을 생성하려면 Export Both INT8 Models를 클릭합니다.
  3. 내보내기가 완료되면 ESP-IDF project 를 VS Code에서 열어 내보낸 모델을 확인합니다.





STEP 6. 모델 평가


모델 평가


모델 평가


모델 평가


모델 평가


모델 평가


모델 평가


모델 평가


  1. 다음 Evaluate section 을 열고 Integer TFLite Model, Prepared Integer Dataset, Dial TFLite Model, Prepared Dial Dataset을 선택합니다.
  2. Evaluation Output 폴더를 선택하고 Evaluate Integer Model을 클릭하여 integer recognition 모델을 평가합니다.
  3. Evaluation Output 폴더를 선택하고 Evaluate Dial Model을 클릭하여 pointer recognition 모델을 평가합니다.





STEP 7. 모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


모델 배포 및 테스트


6단계: 모델 배포

  1. 다음으로 전환합니다: Digital Recognition 모드.
  2. 다음 항목을 클릭합니다: Full Clean 을 VS Code에서 클릭하여 이전 빌드 캐시를 삭제합니다.
  3. 다음 항목을 클릭합니다: Build and Flash 를 클릭하고 프로세스가 완료될 때까지 기다립니다.
  4. Ctrl + ] 를 눌러 모니터를 종료하고 직렬 포트를 해제합니다.
  5. Calibrate ROI에서 직렬 포트를 선택하고 Open ROI Calibration
  6. 을 클릭합니다. 프레임 가져오기 을 클릭하여 ROI를 보정한 다음, 보정 저장을 클릭해 플래시에 저장합니다.
  7. VS Code에서 장치 모니터링을 클릭하고 장치가 다시 시작되어 로그를 출력할 때까지 기다립니다.
  8. 보정된 ROI가 대상 영역을 정확히 프레임 안에 담는지 확인합니다.
  9. 인식 결과 확인





STEP 8. 테스트 결과


테스트 결과


ESP32-P4는 실제 수도 계량기 이미지에서 숫자와 바늘을 성공적으로 인식했습니다. 시스템은 수도 계량기의 전체 검침값을 장치에서 직접 정확하게 출력합니다.

소스 코드는 저희 GitHub 페이지에서 확인할 수 있습니다.


원문: https://www.instructables.com/Train-and-Deploy-an-AI-Water-Meter-Reader-With-ESP/

좋아요 0
게시판

회사명 공방유니언 주소 각 공방 주소 참조
사업자 등록번호 0000 대표 공방유니언 전화 019-60105846 팩스 0000 이메일 gongbangunion@gmail.com
통신판매업신고번호 0000 개인정보관리책임자 공방유니언
Copyright © 2017 공방유니언. All Rights Reserved.