에지 장치에서 tinyML을 활용하는 3가지 사용 사례

머신 러닝(ML)은 클라우드의 많은 영역에 적용되었으며, Linux를 실행하는 상대적으로 강력한 프로세서에서 에지에 이를 적용함으로 그 영역을 더욱 확대하고 있습니다. 클라우드와 최종 유저 단계 시스템에서 실행되는 기존 ML의 문제점은 필요한 전원 용량이 너무 크기 때문에 클라우드 시스템에서 '외부 전원을 끊고' 배터리로 작동되는 에지 장치로 기능할 수가 없다는 것입니다. 에지 장치에서의 ML의 추세와 전망은 tinyML을 사용하는 것입니다. TinyML은 Arm Cortex-M 프로세서를 기반으로 하는 마이크로 컨트롤러와 같이 리소스가 제한된 장치에 ML 알고리즘을 제공하는 것을 목표로 합니다.

이 블로그에서는 마이크로 컨트롤러를 기반으로 하는 장치에서 에지 장치에서의 사용을 위해 tinyML을 활용하는 가장 알려진 사용 사례를 살펴봅니다.

사용 사례 1: 키워드 탐지

tinyML이 점점 더 많이 활용되는 첫 번째 사용 사례는 키워드 탐지입니다. 키워드 탐지란 장치가 'Hey Siri', 'Alexa', 'Hello' 등과 같은 키워드를 인식하는 기능입니다. 키워드 탐지는 에지 장치에서 다양하게 사용됩니다. 예를 들면, 저전력 프로세서를 먼저 사용하여 특정 키워드를 감지한 후에 고성능 프로세서를 깨우게 할 수도 있습니다. 또 다른 사용 사례는 내장형 시스템이나 로봇을 제어하는 것일 수 있습니다. 마이크로 컨트롤러를 사용하여 로봇의 움직임을 제어하기 위해 'forward', 'backward', 'stop', 'right' 및 'left'와 같은 키워드를 디코딩하는 예가 관찰되었습니다.

일반적으로 tinyML을 사용한 키워드 탐지는 입력된 음성 신호를 캡처하기 위한 마이크를 사용하여 수행됩니다. 음성 신호는 시간이 경과함에 따라 전압으로 기록되고, 그런 다음 디지털 신호 처리 공정을 통하여 분광 그래프로 변환됩니다. 분광 그래프는 입력된 신호의 주파수에 대해 표시되는 시계열 그래프입니다. 분광 그래프는 NN(신경망)에 투입되어 특정 단어를 인식하도록 tinyML 알고리즘을 훈련할 수 있습니다. 이 공정은 그림 1에서 확인할 수 있습니다.

그림 1: 입력된 음성 신호는 디지털로 공정 처리되어 분광 그래프를 생성하고, 이 분광 그래프는 키워드를 감지하도록 NN을 훈련하는 데 사용됩니다. (이미지 출처: Arm)

일반적인 구현은 음성을 NN으로 바꾸는 고정된 윈도우를 제공하는 것이라 할 수 있습니다. 그러면 네트워크에서 원하는 키워드 중 하나가 사용되었을 확률을 계산합니다. 예를 들어 누군가가 'Yes'라고 말하면 NN은 이를 'Yes'라고 91% 확신했으며, 'No'일 확률이 2%, 'On'일 확률은 1%라고 전달할 수 있습니다.

음성을 사용한 기계 제어 ​​기능은 많은 장치 제조업체가 신중히 검토하는 중이며, 향후 몇 년 내에 해당 회사의 장치를 음성을 사용한 기계 제어 ​​기능으로 개선할 수 있기를 희망하고 있는 사용 사례입니다.

사용 사례 2: 이미지 인식

tinyML이 그 영역을 확대 중인 두 번째 사용 사례는 이미지 인식입니다. 이미지 인식 기능을 수행할 수 있는 에지 장치의 사용 사례가 꽤 많이 있습니다. 이미 잘 알려진 한 가지 사용 사례는 문 앞에 사람 혹은 소포가 있는지, 아니면 아무것도 없는지를 감지하는 기능입니다. 오래된 아날로그 계량기 모니터링과 잔디 상태 감지, 심지어 새가 몇 마리 있는지 세어보기 등 상당히 다양한 응용 분야가 있습니다.

이미지 인식은 진입이 어려운 분야처럼 보일 수 있습니다. 그렇지만 개발자가 시작하고 실행하는 데 도움이 될 수 있는 몇 가지 저비용 플랫폼이 있습니다. 제가 가장 좋아하며, 빠르게 작업을 완료하는 데 사용하는 것은 OpenMV입니다.

OpenMV는 개방형 머신 비전 플랫폼으로, 이는 통합 개발 환경(IDE)과 Python으로 작성된 라이브러리 프레임워크 및 개발자가 머신 비전 응용 제품(그림 2)을 만드는 데 도움을 주는 Seeed Technology카메라 모듈을 포함하고 있습니다.

그림 2: OpenMV 카메라 모듈은 이미지 인식에 사용할 수 있으며, Python을 사용한 간단한 IDE로 개발이 가능합니다. (이미지 출처: Beningo Embedded Group)

카메라 모듈은 STMicroelectronics STM32H7 Cortex-M7 프로세서를 기반으로 합니다. 하드웨어는 온보드 확장 헤더를 통해 확장할 수 있습니다. 배터리를 사용하여 작동할 수 있으며, 카메라 모듈을 교체할 수도 있습니다. 이미지 인식을 위해 Arm CMSIS-NN 라이브러리와 함께 CIFAR-10 데이터 세트를 사용하는 방법은 여러분이 흥미를 갖고 시작하기에 좋은 예라 할 수 있습니다. 이 예는 YouTube의 https://www.youtube.com/watch?v=PdWi_fvY9Og에서 확인할 수 있습니다.

사용 사례 3: 사전 유지보수

tinyML과 관련하여 이야기할 마지막 사용 사례는 사전 유지보수입니다. 사전 유지보수는 통계적 분석과 ML과 같은 도구를 사용하여 다음을 기반으로 장비 상태를 예측합니다.

  • 비정상성 감지
  • 분류 알고리즘
  • 사전 예측 모델

예를 들어 공장에는 제품을 생산하는 데 사용되는 일련의 모터, 팬 및 로봇 장비가 있을 수 있습니다. 기업은 가동 중지 시간을 최소화하여 생산 가능한 제품 수를 최대화하고자 합니다. 장비에 ML 및 위에 언급된 다른 기술을 사용하여 해석될 수 있는 센서가 있는 경우, 장비의 고장 발생이 예상될 때 미리 감지할 수 있습니다. 이러한 설정은 그림 3에 표시된 것과 유사할 것입니다.

그림 3: 잘 알려진 tinyML 사용 사례 중 세 번째는 사전 유지보수에 사용되는 스마트 센서입니다. (이미지 출처: STMicroelectronics)

tinyML을 활용하여 스마트 센서를 저전력 마이크로 컨트롤러에 연결하면 유용한 응용 제품을 다양하게 제작할 수 있습니다. 예를 들어 HVAC 장치를 모니터링하고 공기 필터를 점검하며 불규칙한 모터 진동을 감지할 수 있는 등 매우 다양합니다. 보다 조직화된 사전 유지보수는 비용이 많이 드는 사후 대응 조치를 예방하여, 더 최적화된 유지 관리 일정을 보장할 수 있습니다.

결론

TinyML은 에지 장치에서 매우 다양한 잠재적인 응용 제품 및 사용 사례를 제공합니다. 이 블로그에서는 현재 잘 알려진 사항들에 대해 살펴보았지만, 실제 사용 사례는 무궁무진합니다. TinyML은 동작 감지, 안내 및 제어 등 매우 다양한 분야에서 사용할 수 있습니다. 에지 장치에서 tinyML의 기능을 활용하기 시작하면, 사용자가 에지에서 tinyML를 사용하는 목적이 무엇인지가 더 중요해집니다.

작성자 정보

Image of Jacob Beningo

Jacob Beningo는 임베디드 소프트웨어 컨설턴트로서 현재 십여 개국 이상의 국가에 있는 고객들과 협력하여 제품 품질, 비용, 출시 기간을 향상시켜 고객의 비즈니스를 극적으로 변화시키고 있습니다. 그는 인기 있는 강연자이자 기술 교육자이며 임베디드 소프트웨어 개발 기술에 대해 200개 이상의 기사를 발표했습니다. 그는 미시간 대학교 공학 석사 학위를 비롯하여 세 개의 학위를 소지하고 있습니다. 월간 Embedded Bytes 뉴스레터를 수신하려면 jacob@beningo.com 및 Jacob Beningo의 웹 사이트인 www.beningo.com으로 언제든지 문의해 주세요.

More posts by Jacob Beningo
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum