스마트 센서의 내장된 머신 러닝 코어를 사용하여 “상시 작동” 동작 추적 최적화
DigiKey 북미 편집자 제공
2019-06-11
과거에 피트니스 추적기와 기타 개인용 모바일 장치의 "상시 작동" 동작 추적 기능에 대한 소비자 수요 증가로 인해 설계자는 이러한 기능과 배터리 수명 중에 선택해야 했습니다. 전력 소비를 줄이려고 하면 추적 기능 또는 해상도가 저하되어 사용자 경험이 손상되는 것은 불가피했습니다.
동작 감지 기능이 내장된 저전력 센서의 등장으로 개발자가 설계에서 이러한 성능 저하를 피할 수 있게 되었습니다.
이 기사에서는 정교한 동작 처리 기능을 통합한 STMicroelectronics의 스마트 동작 센서에 대해 설명하고 이 센서를 사용하여 보다 효과적인 저전력 상시 작동 동작 추적 솔루션을 제공하는 방법을 보여줍니다.
일반 전력 관리 방법
일반 저전력 모바일 시스템 설계 일반 활성 모드 중에 호스트 마이크로 컨트롤러에서 소비되는 전력은 전체 시스템 전력 소비의 상당 부분을 차지합니다. 따라서 개발자는 마이크로 컨트롤러를 저전력 절전 모드로 작동하면서 센서 데이터 처리, 통신 등과 같은 작업을 처리하는 시간 동안만 프로세서를 깨울 모든 기회를 모색합니다.
수년 동안 개발자가 호스트 프로세서와 독립적으로 데이터를 수집할 수 있는 센서를 사용하여 이 목표를 실현할 수 있었습니다. 센서 출력 데이터 전송률에 대한 요구 사항이 크지 않은 응용 제품의 경우 센서의 온칩 버퍼가 일련의 측정으로 채워질 수 있습니다. 직접 메모리 액세스(DMA) 트랜잭션을 수행하여 인터럽트가 발생하기 전에 시스템 메모리에 데이터를 전송하면 프로세스를 깨워서 처리 작업을 완료할 수 있습니다. 센서의 통합 신호 체인은 신호 조정, 변환 및 필터링을 수행할 수 있으므로 프로세서에서 응용 제품에 중요한 이벤트를 검색하여 사전 처리된 데이터로 즉시 작업을 시작할 수 있습니다.
개발자는 이러한 센서에 임계값 감지 기능을 통합하여 프로세서가 저전력 모드로 유지되는 시간을 더 연장할 수 있습니다. 프로세서에 중요 이벤트를 식별하도록 요구하는 대신 개발자가 프로그래밍한 임계값을 초과하는 이벤트가 평가된 경우에만 센서에서 절전 해제 신호를 실행할 수 있습니다. 예를 들어, 설계자는 측정된 온도가 지정된 최대 임계값을 초과하거나 지정된 최소 임계값 아래로 떨어진 경우에만 절전 해제 신호를 실행하도록 이러한 유형의 고급 온도 센서를 프로그래밍할 수 있습니다.
요구 사항이 간단한 경우에는 효과적이지만, 전력 소비를 줄이기 위한 이 접근 방법은 복잡한 이벤트를 감지하는 데에는 유용하지 않을 수 있습니다. 상시 작동 감지와 이러한 복잡한 이벤트 감지 요구 사항이 결합되어 개인용 웨어러블 장치에 일반적으로 사용되는 상대적으로 저용량 충전용 배터리가 빠르게 방전되므로 프로세서에 더 높은 활성 듀티 사이클이 필요합니다. 상시 작동 감지와 더 긴 배터리 수명에 대한 사용자의 요구가 증가하면서 호스트 마이크로 컨트롤러를 사용하여 감지 기능을 수행하는 기존 방식은 더 이상 지속될 수 없습니다.
대신에 센서에서 더 복잡한 감지 알고리즘을 실행할 수 있다면 개발자는 계속해서 현재의 모범 사례에 따라 저전력 작동 모드와 프로세서 절전 상태를 통해 시스템 전력 소비를 줄일 수 있습니다. 이와 동시에 이 지능형 센서는 개발자에게 높은 수준의 유연성을 제공해야 합니다. 일부 특정 알고리즘을 센서에 고정화하는 것만으로는 새롭고 더 효율적인 제품 기능에 대한 요구를 충족할 수 없습니다. STMicroelectronics의 LSM6DSOX iNEMO(LSM6DSOXTR) 관성 센서는 장치에 내장된 신호 처리 기능과 유연한 계산 기능을 결합하여 이러한 유연성을 실현합니다.
센서 아키텍처
LSM6DSOX iNEMO는 2.5mm x 3.0mm x 0.83mm 크기의 작은 LGA(랜드 그리드 어레이) 패키지에서 마이크로 일렉트로닉스 시스템(MEMS) 센서, 전용 신호 체인, 필터 및 특수 계산 엔진을 결합하는 시스템 인 패키지(SiP)입니다. 이 장치는 내부 3축 가속도계 및 3축 디지털 자이로스코프 MEMS 센서와 함께, 전용 허브 레지스터를 통해 최대 외부 센서 작업 4개를 별도로 조율할 수 있는 센서 허브로서 구성할 수 있습니다.
이전 STMicroelectronics LSM6DSO와 동일한 아키텍처를 기반으로 하는 LSM6DSOX는 이전 장치의 모든 기능과 특징을 제공합니다(“IMU: 온보드 머신 러닝을 통해 호스트를 절전 모드로 유지” 참조). 하지만 STMicroelectronics LSM6DSOX는 최대 의사 결정 트리 8개를 통해 데이터 세트를 분류하는 머신 러닝(ML) 코어로 이전 장치에 제공된 유한 상태 신호 발생기(FSM)를 보완합니다. FSM 및 ML 코어 기능을 사용하지 않더라도 개발자는 MEMS 센서에서 데이터를 사전 처리하는 데 사용되는 고급 신호 체인 덕택에 고급 동작 감지 기능을 구현할 수 있습니다.
대부분의 고급 센서와 마찬가지로 LSM6DSOX 아키텍처는 아날로그 디지털 컨버터(ADC)를 여러 필터링 스테이지와 결합하는 다중 스테이지 신호 체인을 지원합니다. 자이로스코프 신호 체인은 장치의 고성능 모드에서만 작동하고 일반 모드 또는 저전력 모드에서는 바이패싱되는 2차 저역 통과 필터(LPF2), 저역 통과 필터(LPF1), 고역 통과 필터(HPF)를 비롯한 일련의 선택 가능한 디지털 필터로 ADC 스테이지를 보완합니다(그림 1).
그림 1: 이전 STMicroelectronics LSM6DSO와 마찬가지로 STMicroelectronics LSM6DSOX는 자이로스코프 센서에 대해 여기에 표시된 것처럼 여러 필터 스테이지가 있는 특수 전용 신호 체인으로 각 센서를 따릅니다. (이미지 출처: STMicroelectronics)
가속도계는 많은 통합 기능에 필요하므로 이 아키텍처에서는 가속도계 신호 체인이 크게 향상됩니다. 초기 스테이지는 대부분의 고급 센서에서 발견되는 기본 신호 조정 및 변환 기능을 제공합니다. 예를 들어, 아날로그 안티앨리어싱 저역 통과 필터는 기본 신호 조정을 제공하고, 16비트 ADC는 조정된 신호를 디지털화하고, 디지털화된 결과는 디지털 저역 통과 필터를 통해 전달됩니다. 장치 설정과 상관없이 정교한 복합 필터 블록이 이 초기 변환 스테이지의 뒤를 잇습니다(그림 2).
그림 2: 이전 STMicroelectronics LSM6DSO와 최신 STMicroelectronics LSM6DSOX 동작 센서에 모두 사용되는 광범위한 가속도계 신호 체인은 호스트에 구애되지 않고 자유 낙하, 다차원 방향, 단일/이중(S/D) 탭을 비롯한 여러 복잡한 움직임을 감지합니다. (이미지 출처: STMicroelectronics)
처리 블록과 필터의 결합을 사용하여, 가속도계의 복합 필터 섹션에서는 지금까지도 프로세서를 깨워서 특수 이벤트 감지 코드를 실행해야 하는 광범위하고 복잡한 이벤트를 자율적으로 감지할 수 있습니다. 이제 개발자는 단일 또는 이중 탭, 자유 낙하, 활성화/비활성화, 6D 자유도 방향, 장치의 움직임을 감지하는 데 일반적으로 사용되는 4D 방향을 비롯하여 광범위하고 복잡한 동작 이벤트를 자동으로 감지하여 인터럽트를 실행하도록 필터 파라미터를 프로그래밍할 수 있습니다. 예를 들어, 세로 모드에서 가로 모드로 전환할 수 있습니다.
복합 필터의 고급 감지기는 처리 블록 및 필터의 결과를 결합하여 감지를 수행합니다. 예를 들어, 단일 탭 감지에서는 내장된 기울기 필터를 사용하여 다음 공식에 따라 현재 가속도계 샘플의 기울기 acc(tn)을 지속적으로 생성합니다.
slope(tn) = [ acc(tn) - acc(tn-1) ] / 2(방정식 1)
단일 탭 이벤트의 경우 폭넓은 충격 이벤트보다 기울기가 빠르게 임계값을 초과하고 빠르게 떨어집니다(그림 3). 이 장치는 개발자가 설정한 탭 임계값 및 충격 기간 값을 사용하여 단일 탭 이벤트를 자동으로 감지하고 호스트 마이크로 컨트롤러에 인터럽트를 발생합니다.
이중 탭 감지는 이 접근 방식으로 기반으로 두 단일 신호 탭 이벤트 간에 필요한 대기 시간을 지정하는 파라미터를 추가하여 구축됩니다.
그림 3: LSM6DSO 및 LSM6DSOX 동작 센서는 폭넓은 충격 이벤트(b)보다 단일 탭(a)의 기준선 수준으로 더 빠르게 복귀하도록 호스트에 구애되지 않고 내장된 기울기 함수를 사용하여 단일 탭 이벤트를 감지합니다. (이미지 출처: STMicroelectronics)
장치의 파생 데이터(예: 기울기) 생성 기능은 통합 FSM 및 머신 러닝(ML) 코어에서 사용할 수 있는 고급 기능에서 중요한 역할을 합니다. FSM 기능에 대해서는 이전에 참조한 기사에서 살펴보았으므로 이 기사의 나머지 부분에서는 LSM6DSOX의 ML 코어에 대해 자세히 살펴보고 이 코어를 사용하여 동작 시퀀스, 복잡한 움직임 활동(예: 특정 운동)을 비롯한 훨씬 더 복잡한 동작 이벤트를 감지하는 방법을 알아봅니다.
의사 결정 트리
LSM6DSOX의 ML 코어는 많은 고급 스마트 센서에서 사용되는 유사한 파라미터 임계값 설정보다 우수한 수준의 센서 기반 처리 성능을 제공합니다. ML 코어를 사용하여 개발자는 장치에서 복잡한 감지 알고리즘을 구현함으로써 마이크로 컨트롤러를 깨울 필요 없이 복잡한 동작 이벤트를 상시 감지할 수 있습니다. 여기서 ML 코어는 의사 결정 트리를 사용하여 입력 데이터의 패턴을 기반으로 이벤트를 식별합니다.
의사 결정 지원 시스템에서 수년 동안 사용되고 있는 의사 결정 트리는 입력 데이터 테스트를 기반으로 하는 일련의 선택 항목과 미리 정의된 조건에 대한 특성으로 복잡한 의사 결정을 분해합니다. 초기 노드 또는 루트에서 시작하여 특성값이 테스트되며 결과에 따라 특정 하위 노드까지 지속적으로 의사 결정이 내려집니다(그림 4).
그림 4: 의사 결정 트리는 조건에 대한 특정 특성(예: 특정 임계값 수준)의 입력값을 각각 테스트하는 노드 시퀀스를 사용하여 결과를 생성하고 테스트 결과에 따라 다른 하위 노드를 계속 진행합니다. (이미지 출처: STMicroelectronics)
예를 들어, 각 업데이트 주기에 노드를 통해 의사 결정 트리를 호출하여 다음과 같이 해당 업데이트에서 제공되는 데이터를 통해 움직임이 없거나, 정방향 움직임이 있거나, 일부 다른 움직임이 있는지를 결정합니다.
- 가속도계 측정 크기 테스트
- 1.1. 값이 사전 결정된 값(조건)보다 작은지 결정
- 1.2. 그렇지 않은 경우 하위 노드 분기에서 동일한 기간 내에 수행된 자이로스코프 측정 테스트
- 1.2.1. 자이로스코프 측정이 사전 결정된 값보다 작은지 결정
- 1.2.2. 더 깊은 하위 노드로 계속 진행하여 동일한 기간 내에 측정된 다른 특성을 테스트하거나 동일한 특성을 다른 조건에 대해 테스트
테스트가 터미널 노드(이 경우 복잡한 특정 동작 이벤트 또는 클래스에 해당)에 도달할 때까지 이 공정을 반복합니다. 간단한 예:
- 터미널 노드 1.1은 데이터 또는 특징 세트를 “움직임 없음”으로 분류해야 함을 나타냄
- 터미널 노드 1.2.1은 특징 세트를 “정방향 움직임”으로 분류해야 함을 나타냄
- 노드 1.2.2 아래의 터미널 노드는 회전 움직임 또는 더 복잡한 방향 변경을 나타냄
물론 의사 결정 트리를 사용해야 하는 실제 프로그램 세트는 많은 다른 특성 및 조건으로 구성된 대규모 특징 세트를 포함하여 훨씬 더 복잡합니다. 실제로 LSM6DSOX는 센서 허브 연결 모드로 연결된 외부 센서, 자이로스코프, 가속도계 등의 센서 데이터를 비롯하여 풍부한 특성 세트를 개발자에게 제공합니다(그림 5).
그림 5: STMicroelectronics LSM6DSOX에 고유한 내장된 ML 코어는 기본 센서 데이터, 필터링된 데이터 및 파생 데이터(예: 평균, 분산)를 장치에서 지원되는 8개 의사 결정 트리 중 하나에 대한 입력으로 사용합니다. (이미지 출처: STMicroelectronics)
이 기본 센서 데이터에서, 이 장치는 다음과 같이 슬라이딩 기간 내에 기본 데이터에서 계산된 많은 특징을 생성합니다.
- norm V = Ö( x2 + y2 + z2) 및 V2
- 평균
- 분산
- 에너지
- 피크 간
- 제로 교차
- 양의 제로 교차
- 음의 제로 교차
- 피크 감지기
- 양의 피크 감지기
- 음의 피크 감지기
- 최소값
- 최대값
또한 제로 교차 감지기, 피크 감지기 등과 같은 특정 특징에 대해 개발자는 각각 제로 교차축 이동 임계값 또는 피크 임계값을 지정합니다.
감독 학습 워크플로
LSM6DSOX의 ML 코어에서 이러한 특징을 사용하여 의사 결정 트리를 구현할 때 대부분의 머신 러닝 모델 개발 작업에 공통되는 일반적인 감독 학습 워크플로를 따릅니다. 일반적으로 이 워크플로에서는 먼저 관련 활동을 식별하고 활동과 연결된 데이터 샘플을 수집합니다.
이 경우 개발자는 최종 응용 제품에 필요한 특정 동작 활동을 수행하는 동안 LSM6DSOX를 사용하여 데이터를 수집하기만 하면 됩니다. 이 개발 단계에서 개발자는 STMicroelectronics의 기판 및 소프트웨어를 사용하여 데이터 취득 플랫폼을 생성할 수 있습니다. 하드웨어 플랫폼의 경우 개발자는 STEVAL-MKI197V1 LSM6DSOX 어댑터 기판을 STEVAL-MKI109V3 평가 마더보드에 연결하기만 하면 됩니다. 소프트웨어의 경우 개발자는 Windows, Mac OSX 및 Linux용으로 제공되는 STMicroelectronics의 무료 Unico 소프트웨어 도구를 사용할 수 있습니다.
STEVAL-MKI109V3 마더보드에서 작동하도록 설계된 Unico를 사용하면 LSM6DSOX에서 생성되는 데이터를 간단히 수집할 수 있습니다. 데이터 수집의 경우 개발자는 마더보드와 Unico를 함께 사용합니다. 여기서 개발자 또는 도우미가 마더보드를 잡고 관련 있는 특정 움직임 활동 중 하나를 반복적으로 수행하는 동안 Unico를 사용하여 LSM6DSOX 동작 데이터를 수집합니다.
단일 활동을 반복하는 동안 LSM6DSOX에서 수집되는 데이터는 해당 클래스를 위한 학습 세트를 제공합니다(예: 이전 예제의 “정방향 움직임”). 해당 움직임 중에 수집되는 모든 데이터는 동일한 클래스에 해당하므로 이 능동적인 데이터 수집 방법에서는 감독 학습 워크플로를 지연시킬 수 있는 별도의 데이터 레이블 지정 단계가 필요하지 않습니다.
원하는 각 움직임 이벤트 클래스에 대한 동작 데이터를 수집한 이후에 개발자가 Unico를 사용하여 데이터와 클래스 레이블을 검토합니다. 데이터 검토를 위한 용도 외에 개발자는 Unico를 사용하여 원하는 의사 결정 트리의 다양한 특성을 구성하고, 필터를 정의하고, 기간을 설정하고, 의사 결정 트리를 작성할 때 사용할 특정 기능을 선택할 수 있습니다.
개발자는 일반적으로 특정 활동 세트를 감지하는 데 사용되는 특징을 경험 및 실험에 의해 결정되는 가장 작은 수로 제한합니다. 최소 특징 세트를 사용하더라도 의사 결정 트리를 효과적으로 구현하기 위한 작업은 의사 결정 트리의 각 노드에서 테스트할 특징 또는 특성을 결정하는 데 따라 달라집니다. 따라서 의사 결정 트리의 크기를 최소화하려면 각 노드에서 테스트할 “최적의” 특성을 선택해야 합니다. 이는 센서와 같이 리소스가 제한적인 장치의 경우 특히 중요합니다.
독자를 위한 참고 사항: 지금까지 특징을 사용하는 것과 특성을 사용하는 것이 어떻게 다른지 궁금했을 것입니다. ML 모델의 경우 “특징”이라고 말하는 데 문제가 있지만, 의사 결정 트리에서는 특징을 “특성”이라고 합니다. 두 용어를 구분해서 사용하려고 노력하지만 다음 의사 결정 트리 설명에서는 “특징” 대신 “특성”을 사용합니다. 다른 곳에서는 두 용어를 상호 교환해서 사용할 수 있지만 이 섹션과 뒤에 나오는 “arff” 섹션에서는 “특성”이 사용됩니다.
개념은 간단하지만 의사 결정 트리에 많은 수의 특성이 포함되고 각 특성이 광범위한 데이터 값으로 표시될 경우 각 의사 결정 트리에서 사용할 가장 적합한 특성을 선택하는 것이 간단하지 않습니다. 각 노드에서 테스트하기 가장 좋은 특성을 찾는 데 주로 사용되는 방식에서는 방정식 2를 사용하여 해당 노드에서 각 특성의 정보 엔트로피를 계산해야 합니다.
entropy(p1,p2,...,pn) = - p1log2(p1) - p2log2(p2)... - pnlog2(pn)(방정식 2)
확률 pn은 해당 특성과 연결된 가능한 클래스 n개를 각각 나타냅니다.
결과는 정보 콘텐츠로서, 친숙한 비트 정의의 0 또는 1이 아니라 범위가 0 ~ 1인 비트 값으로 표시됩니다.
그러면 의사 결정 노드를 사용하지 않을 때 발생하는 올바른 의사 결정 확률을 기준으로 특성에 대해 계산되는 기준선 정보 값과 이 정보 값의 차이가 각 특성에 대해 “수집”되는 정보가 됩니다. 이 계산은 이 기사의 범위를 벗어나서 자세히 다루지 않겠지만 원하는 결과를 보다 효과적으로 제공할 가능성이 높은 방식이 무엇인지 직관적으로 비교해 보겠습니다. 즉, 결과가 해당 특성값("기준선")을 기준으로 하는 데이터 세트를 통한 무차별 대입 상향식 슬라이스에 기반하거나, 해당 특성에 대한 특정 값 범위를 기준으로 하는 상향식 선택에 기반합니다. 상향식 선택에서는 일반적으로 상향식 접근 방식보다 가능한 결과 수를 더 빠르게 줄일 수 있는 “분할 정복” 방식을 사용합니다.
빠른 전개
다행히 설계자는 세부 정보 수집 및 특성 선택 최적화에 대해 걱정할 필요가 없습니다. 대신 Weka 등과 같은 무료로 제공되는 타사 머신 러닝 도구를 사용하여 최적의 의사 결정 트리를 생성하는 데 필요한 계산을 자동으로 처리할 수 있습니다.
실제로 Unico와 Weka는 의사 결정 트리를 빠르게 구현할 수 있는 워크플로를 제공하기 위해 긴밀하게 협력하고 있습니다. 일반적으로 특정 의사 결정 트리 개발 워크플로의 중요한 단계는 앞서 언급한 데이터 수집 단계로 구성됩니다. 특히, LSM6DSOX를 사용하여 원하는 각 활동 클래스에 대한 담당자 데이터 세트를 수집하고, Unico를 사용하여 데이터 세트를 구체화하고 의사 결정 트리 구성을 정의합니다. 완료된 이후에 이 두 도구를 결합하여 공정의 마지막 단계를 가속화할 수 있습니다.
Unico에서 데이터 및 의사 결정 트리 구성을 구체화한 후 개발자는 이 도구를 사용하여 선택된 특징 세트를 arff(attribute-relation file format)라는 표준 형식으로 변환합니다. arff 파일에는 선택된 특성(특징)과 가능한 클래스를 나열하는 헤더 섹션과 수집된 각 데이터 세트 및 연결된 클래스를 나열하는 데이터 섹션이 포함되어 있습니다(목록 1). 이 예에서는 매우 적은 수의 특징만 사용하고, 소규모 데이터 인스턴스 세트를 사용하여 바이셉 컬, 래터럴 레이즈, 스쿼트를 비롯한 제한된 클래스 세트를 식별합니다.
목록 1: 표준 arff(attribute-relation file format) 파일에는 특성 및 클래스를 정의하는 헤더 섹션과 각 특성 및 관련 클래스에 대한 데이터 인스턴스를 포함하는 데이터 섹션이 포함되어 있습니다. (데이터 출처: STMicroelectronics)
Weka를 사용하여 개발자는 "Preprocess"(전처리) 창에서 arff 파일을 로드하고 전체 특징 세트의 그래픽 요약을 확인합니다(그림 6).
그림 6: STMicroelectronics Unico 도구를 사용하여 데이터 세트에 대한 arff 파일을 생성한 후 개발자는 타사 머신 러닝 도구인 Weka를 사용하여 목록 1의 arff 데이터에 대해 여기에 표시된 전체 데이터 세트를 볼 수 있습니다. (이미지 출처: DigiKey)
의사 결정 트리를 작성하기 위해 개발자는 Weka “Classify”(분류) 창으로 전환하여 Weka J48 분류자(Weka의 의사 결정 트리 분류자)를 선택하고 Start(시작)를 클릭합니다. 출력 창에서 분류자는 입력 데이터 요약을 나열하고 의사 결정 트리를 그래픽 형식(그림 7)과 텍스트 형식(그림 8)으로 제공합니다.
그림 7: 의사 결정 트리를 생성하기 위해 개발자는 arff 파일을 로드하고 Weka J48 의사 결정 트리 분류자를 선택한 다음 최종 트리를 생성하면 됩니다. 내장된 Weka 시각화 도구를 사용하여 각 노드에 대해 나열되는 특성 및 조건에 따라 결과를 볼 수 있습니다. 여기서는 목록 1의 arff 데이터를 사용합니다. (이미지 출처: DigiKey)
그림 8: 의사 결정 트리의 시각적 표시와 함께 Weka는 실제 J48 의사 결정 트리 사양을 생성합니다. 여기서는 목록 1의 arff 데이터를 사용하여 목록 2의 J48 사양을 생성합니다. (이미지 출처: DigiKey)
이 예에서, 생성된 J48 의사 결정 트리 사양에는 단 몇 줄만 있으면 됩니다(목록 2).
목록 2: Weka는 J48 의사 결정 트리 사양(예: 목록 1의 arff 데이터에 대한 의사 결정 트리 사양)을 생성합니다. 개발자는 이 사양을 STMicroelectronics Unico 도구에 로드하여 구성 파일을 생성한 후 구성 파일을 STMicroelectronics LSM6DSOX 센서에 로드합니다. (데이터 출처: STMicroelectronics)
J48 트리 텍스트를 복사하여 파일로 저장한 후 개발자는 해당 텍스트 파일을 Unico로 로드하여 레지스터 구성 파일을 생성합니다. 마지막으로 개발자는 Unico 로드/저장 탭을 통해 구성 파일을 LSM6DSOX로 로드하여 워크플로를 완료합니다. 여기서 개발자는 지원 움직임을 수행할 수 있습니다. 즉, 앞에서 설명한 대로 STEVAL-MKI109V3 마더보드를 잡고 Unico를 사용하여 구성된 의사 결정 트리의 LSM6DSOX 출력 레지스터에서 의사 결정 트리 분류 결과를 읽을 수 있습니다.
맞춤형 설계에서 개발자는 의사 결정 트리 레지스터의 변경 내용을 사용하여 마이크로 컨트롤러를 깨우라는 신호를 전송하고 코드를 실행하여 사용자에게 응용 제품에 필요한 다른 적합한 상위 수준 공정 또는 연습 카운터를 높이도록 신호할 수 있습니다.
이 예는 매우 간단하게 구성되어 있지만 LSM6DSOX ML 코어는 앞서 언급한 많은 다른 특징을 사용하여 매우 복잡한 동작 이벤트 분류를 지원할 수 있습니다. 예를 들어, STMicroelectronics에서는 다양한 특징을 사용하여 체육관 활동을 바이셉 컬, 점핑 잭, 레터럴 레이즈, 푸시업, 스쿼트 등과 같은 광범위한 운동으로 분류하는 간단한 이 응용 제품의 고급 버전을 설명합니다.
간단한 이 예에서 사용된 평균 및 피크 간 특징과 함께 복잡한 예에는 2초 단위로 계산되는 분산, 최소값, 최대값, 제로 교차 특징이 포함됩니다. 이 포괄적인 응용 제품을 LSM6DSOX ML 코어에서 실행하여 약 569μA(@ 1.8V)의 전류 소비 값을 구했습니다. 그중 ML 코어에서 소비되는 전류는 13μA에 불과합니다. 이 수준의 전력 소비에서 개발자는 배터리의 충전 상태에 큰 영향을 주지 않으면서 상시 작동 동작 감지를 자신 있게 구현할 수 있습니다.
머신 러닝 주의 사항
머신 러닝의 실제 응용 제품은 모델이 매우 복잡한 신경망인지 상대적으로 간단한 의사 결정 트리인지 여부와 상관없이 본질적으로 일부 형태의 바이어스를 최종 머신 러닝 모델에 통합하는 감독 학습 워크플로에 종속됩니다. 특히 동작 기반 데이터는 신체 형태학과 운동학에 종속되므로 활동을 수행하는 개인으로부터 수집된 데이터가 다른 개인으로부터 수집된 데이터와 크게 다를 수 있습니다.
따라서 ML 기반 활동 감지를 사용하는 개발자는 데이터의 특이성과 일반성을 지속적으로 조율해야 하는 어려움이 있습니다. 흔히 전문성에 의해 일반성이 제한되는 것이 일반적이고, 일반성으로 인해 동일한 움직임에 대한 다른 개인의 독특한 변화를 정확히 감지하지 못하는 것이 일반적입니다. 이러한 문제가 이 특정 구현에서는 거의 드러나지 않지만 개인화된 동작 감지 장치에서 이러한 균형을 찾는 데 어려움이 있으므로 사용자별 데이터를 업데이트할 수 있는 의사 결정 트리가 필요합니다. 하지만 이러한 광범위한 머신 러닝 데이터 과학 요구 사항에 주의를 기울이면서 개발자가 이미 LSM6DSOX 및 기존 워크플로를 사용하여 전력이 제한된 설계에서 정교한 상시 작동 동작 감지를 통합할 수 있습니다.
결론
상시 작동 동작 추적과 배터리 수명 연장 요구의 충돌은 피트니스 장치 및 기타 소형 웨어러블 개발자가 쉽게 극복할 수 없는 문제인 것 같습니다. 많은 고급 센서에서 프로세서와 상관없이 어느 정도의 동작 감지 기능을 제공할 수 있지만, 더 복잡한 움직임에 대한 상시 작동 감지 요구로 인해 이 접근 방식이 새롭게 등장하는 응용 제품에서 배제되고 있습니다.
하지만 STMicroelectronics LSM6DSOX 동작 센서에서 머신 러닝 기능을 사용하면 개발자가 서로 충돌하는 상시 작동 추적과 배터리 수명 연장 문제를 해결하여 고급 활동 인식 밴드 및 기타 웨어러블 장치를 구축할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


