산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

reTerminal 기계 학습 데모(Edge Impulse 및 Arm NN)

8GB RAM 32GB eMMC Raspberry Pi CM 개발 보드(터치스크린 및 다양한 인터페이스 포함)

스토리

내가 게시한 마지막 몇 기사는 Wio 터미널이 있는 TinyML에 관한 것입니다. Cortex M4F 기반 개발 보드에는 견고한 플라스틱 케이스에 LCD 화면이 들어 있습니다. Seeed studio, 회사는 Wio Terminal이 이 아이디어를 한 단계 더 발전시키기로 결정했으며 최근에 견고한 플라스틱 케이스에 LCD 화면이 있는 Raspberry Pi 4 Compute Module 기반 개발 보드인 reTerminal을 발표했습니다.

나는 reTerminals 중 하나를 손에 넣고 몇 가지 데모와 장치의 가능한 사용 사례에 대한 설명이 포함된 간단한 언박싱 비디오를 만들었습니다. 이 기사는 환경을 설정하고 머신 러닝 데모를 실행하는 방법을 확장하는 동영상의 보충 자료입니다.

사양

reTerminal은 1.5GHz에서 실행되는 쿼드 코어 Cortex-A72 CPU가 있는 Raspberry Pi Compute Module 4(CM4)로 구동됩니다. reTerminal에 사용된 CM4 모듈 버전은 4Gb의 RAM과 32Gb의 eMMC 스토리지를 갖추고 있어 부팅 시간이 단축되고 전반적인 사용자 경험이 더 원활해집니다. 주변 장치에는 1280 x 720 해상도의 5인치 IPS 정전식 멀티 터치 스크린, 가속도계, RTC 모듈, 부저, 버튼 4개, LED 4개 및 광 센서가 있습니다. 연결을 위해 새로운 보드에는 듀얼 밴드 2.4GHz/5GHz Wi-Fi 및 Bluetooth 5.0 BLE가 있으며 측면에 기가비트 이더넷 포트가 있습니다.

reTerminal은 Raspberry Pi 4, 5V2A에 사용된 것과 동일한 전원 공급 장치로 전원을 공급할 수 있지만 공식 설명에서는 특히 더 많은 주변 장치를 연결할 때 4A 전원 공급 장치를 권장합니다. 데모를 위해 알 수 없는 회사의 5V2A 벽면 플러그 전원 공급 장치를 실행했는데 저전압 경고가 표시되지 않았습니다. 그래도 의심스러운 경우 5V4A를 사용하세요.

기본적으로 reTerminals는 장치 드라이버가 설치된 사전 설치된 32비트 Raspbian OS와 함께 제공됩니다. 그러나 기계 학습 응용 프로그램의 경우 64비트 OS가 상당한 향상을 제공할 수 있으므로 Seeed studio는 reTerminal별 드라이버가 사전 설치된 64비트 버전의 Raspbian OS 이미지도 제공합니다.

온보드 화면 키보드와 간단한 QT5 데모도 포함되어 있습니다. 터치스크린은 반응형이지만, Raspbian OS는 모바일 운영 체제가 아니며 터치스크린에 최적화되어 있지 않기 때문에 작은 UI 요소를 누르는 것이 가끔 번거로울 수 있습니다. 스타일러스가 있으면 많은 도움이 됩니다.

온보드 화면 키보드는 텍스트를 입력해야 할 때 팝업되고 그 후에 사라집니다. 설정에서 해당 동작을 수정할 수 있습니다. 따라서 reTerminal을 휴대용 Raspberry Pi로 사용할 수 있습니다. 하지만 이를 위해 다른 OS(예:Raspberry Pi 4와 작동하지만 현재 베타 개발 단계에 있으며 매우 실험적인 Ubuntu touch)를 살펴보고 싶을 수도 있습니다. reTerminal의 주요 사용 사례는 QT, LVGL 또는 Flutter로 만든 사용자 인터페이스를 표시하는 것입니다. 장치 사양 및 매개변수, 센서의 데이터 및 가상 공장에 대한 예제 제어 보드를 보여주는 샘플 QT 애플리케이션을 시작하겠습니다. 인터페이스 요소가 크면 터치스크린이 사용하기 훨씬 편합니다.

에지 임펄스 개체 감지

Edge Impulse 개발 플랫폼의 최신 기능인 Linux 배포 지원을 활용할 예정입니다. reTerminal에 연결된 카메라로 샘플을 수집하여 객체 감지 모델을 쉽게 학습시킨 후 클라우드에서 학습하고 edge-impulse-linux-runner로 학습된 모델을 자동으로 다운로드하여 실행할 수 있습니다.

Edge Impulse CLI의 설치 절차는 설명서에 설명되어 있습니다. 이 모든 것은 몇 가지 간단한 단계로 이루어집니다.

컬 -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y gcc g++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm 구성 설정 사용자 루트 &&sudo npm install edge-impulse-linux -g --unsafe-perm

이후 Edge Impulse CLI가 설치되었습니다. 카메라가 연결되어 있는지 확인하십시오. 저는 간단한 USB 웹 카메라를 사용했습니다. Raspberry Pi 카메라를 사용하는 경우 raspi-config에서 활성화하는 것을 잊지 마십시오.

개체 감지를 위한 데이터 수집을 시작하기 전에 대시보드에서 '프로젝트 정보> 라벨링 방법'에서 '경계 상자(객체 감지)'가 선택되었습니다.

인식하려는 각 클래스에 대해 최소 100개의 이미지를 가져옵니다. 현재 옵션 표시 – 데이터 수집 탭에서 데이터 업로드를 눌러 자신의 이미지를 업로드할 수 있습니다. 그러나 아직 경계 상자 주석을 업로드할 수 없으므로 업로드하는 이미지에 수동으로 레이블을 지정해야 합니다. 주석이 달린 이미지가 충분하면 Create Impulse로 이동하여 처리 블록에 대해 이미지를 선택하고 학습 블록에 대해 객체 감지(이미지)를 선택합니다.

한 사용자가 수집하고 주석을 추가할 수 있는 이미지의 양은 대규모 네트워크를 처음부터 훈련시키기에 거의 충분하지 않습니다. 따라서 사전 훈련된 모델을 미세 조정하여 새로운 클래스의 객체를 감지할 수 있습니다. 대부분의 경우 Epoch 수, 학습률 및 신뢰도에 대한 기본값을 그대로 둘 수 있습니다. 개체 감지를 위해 사용자 정의 코드가 사용되므로 전문가 모드에서는 더 간단한 모델에서 가능하므로 조정할 수 없습니다.

훈련은 CPU에서 수행되므로 데이터 세트의 이미지 수에 따라 약간의 시간이 걸립니다. 좋아하는 음료를 마시며 음료를 즐기십시오.

Edge Impulse에 대해 새로 추가된 Linux 지원의 가장 좋은 점 중 하나는 edge-impulse-linux-runner입니다. 모델 훈련이 완료되고 검증 데이터 세트(훈련 데이터에서 자동으로 분할됨)의 정확도에 만족하면 라이브 분류에서 모델을 테스트한 다음 장치에 배포할 수 있습니다. 이 경우 실행하는 것처럼 간단합니다.

에지 임펄스-리눅스-러너

터미널에서. 모델이 자동으로 다운로드되어 준비되면 추론 결과가 브라우저에 표시되고 터미널에 다음과 유사한 줄이 표시됩니다.

브라우저에서 카메라 피드 및 실시간 분류를 보고 싶으십니까? 이동 http://192.168.1.19:4912

카메라 라이브 뷰를 보려면 터미널의 링크를 클릭하십시오.

전이 학습에 사용되는 백본 모델은 MobileNetv2 SSD이며 상당히 크기 때문에 모든 최적화에도 약 2FPS 또는 ~400ms를 얻습니다. 프레임의 경우 – 비디오 스트림은 매우 반응이 좋아 보이지만 모든 프레임에서 추론이 수행되지 않기 때문에 개체를 감지한 다음 이미지에서 사라지면 개체에 대한 경계 상자가 한동안 켜져 있음을 분명히 알 수 있습니다. . Linux 지원은 Edge Impulse의 매우 새로운 기능이기 때문에 가까운 장래에 많은 개선이 이루어지므로 사용자 주석이 달린 데이터를 더 빠르게 추론하고 업로드할 수 있을 것이라고 확신합니다.

ARM NN 가속 추론

Raspberry Pi 4가 기계 학습 추론을 위한 최고의 보드가 아니라는 것을 알고 있지만 이를 위한 하드웨어 가속기가 없기 때문에 우리는 여전히 실시간 추론 속도보다 더 높은 속도를 달성할 수 있습니다.

a) 더 작은 모드 사용

b) 파이프라인의 여러 처리 요소가 여러 데이터 포인트에서 동시에 작업을 수행하는 4개의 코어와 SIMD(Single Instruction Multiple Data) 명령을 모두 활용하도록 하며 Arm 프로세서용 Neon 최적화 아키텍처 확장과 함께 사용할 수 있습니다.

출처: reTerminal 기계 학습 데모(Edge Impulse 및 Arm NN)


제조공정

  1. 공급망 및 기계 학습
  2. ADLINK:기둥 장착 다중 액세스 에지 AI 및 기계 학습 솔루션
  3. NodeMCU와 Raspberry Pi 3 B+ 간의 MQTT 통신
  4. Python 및 Raspberry Pi 온도 센서
  5. Raspberry Pi 온도 및 광 센서
  6. Raspberry Pi 센서 및 액추에이터 제어
  7. 머신 러닝으로 안정성 향상 및 유지 관리 결과 개선
  8. NXP는 Edge에서 머신 러닝을 두 배로 늘립니다.
  9. 조달은 AI 및 기계 학습 기술을 두려워해야 합니까 아니면 환영해야 합니까?
  10. AWS, AI 및 기계 학습 오퍼링 강화