13.6. Edge Impulse¶
Edge Impulse 는 마이크로컨트롤러에서 실행되는 머신 비전 모델을 구축하기 위한 엔드투엔드 플랫폼입니다. 데이터를 수집하고 레이블을 지정하며, 브라우저에서 모델을 설계하고 학습시키고, 킬로바이트 단위로 측정되는 장치에 맞게 최적화할 수 있습니다. OpenMV에 곧바로 배포할 수 있으며, 몇 번의 클릭만으로 학습된 모델이 카메라에서 실행할 준비가 된 파일로 변환됩니다. Edge Impulse의 자체 문서 에서 각 단계를 더 자세히 다룹니다.
13.6.1. 데이터 가져오기¶
모델은 학습에 사용된 종류의 이미지에서 가장 좋은 성능을 내므로, 모델을 실행할 카메라로 데이터셋을 캡처하세요. IDE의 데이터셋 편집기 는 바로 이 작업을 위해 만들어졌습니다. 클래스 폴더를 만들고, 라이브 프레임 버퍼에서 레이블이 지정된 이미지를 캡처한 다음, Export 하위 메뉴에서 데이터셋을 Edge Impulse 프로젝트로 직접 업로드할 수 있습니다(먼저 해당 계정에 로그인하세요). 그 시점부터는 Edge Impulse Studio에서 작업하게 됩니다.
더 보기
도구 설치 및 카메라 연결에 관한 Edge Impulse의 자체 OpenMV Cam 설정 가이드.
13.6.2. 학습¶
학습은 전적으로 브라우저에서 이루어집니다. impulse(입력, 처리, 학습 블록)를 설계하고, 학습시킨 다음, 따로 보관된 테스트 데이터로 정확도를 확인하면 됩니다.
두 가지 모델 유형이 카메라에 적합합니다. 이미지 분류기는 클래스 점수 목록을 출력하며, 이를 모델 출력에서 그대로 읽으면 됩니다. 후처리기가 필요하지 않습니다. 마이크로컨트롤러용으로 설계된 빠른 객체 검출기인 FOMO는 디코딩 단계가 하나 필요하며, 카메라에는 이를 위한 후처리기(ml.postprocessing.edgeimpulse)가 함께 제공되므로 이러한 모델도 추가 코드 없이 실행됩니다.
13.6.3. 카메라에 배포하기¶
학습이 끝나면 프로젝트의 Deployment 페이지를 열고 OpenMV Library 타겟을 선택한 다음 Build 를 클릭하세요. 다운로드되는 파일은 학습된 모델(trained.tflite), 그 레이블(labels.txt), 그리고 예제 스크립트를 담은 zip 파일입니다. 모델은 정수로 양자화되어 있습니다. Edge Impulse는 이 내용과 사용자 지정 펌웨어 대안을 run on OpenMV 가이드 에서 다룹니다.
IDE의 ROMFS 편집기 로 .tflite 파일을 카메라에 추가하세요. NPU가 있는 보드의 경우 이 편집기가 파일을 NPU용으로 변환하며, 스크립트에서 ml.Model 로 로드합니다. 모델은 카메라의 플래시 드라이브에서도 실행됩니다. 파일을 복사하고 ml.Model 에 경로를 지정하면 됩니다. 하지만 ROMFS가 더 나은 보금자리입니다. ROMFS에 있는 모델은 RAM 복사 없이 플래시에서 곧바로 실행됩니다.