Utilice el núcleo de aprendizaje automático integrado de un sensor inteligente para optimizar el seguimiento de movimiento "siempre encendido"
Colaboración de Editores de DigiKey de América del Norte
2019-06-11
La creciente demanda de los consumidores de características de seguimiento de movimiento "siempre encendido" en monitores de acondicionamiento físico y otros dispositivos móviles personales significaba en el pasado que los diseñadores debían elegir entre esas características y la duración de la batería. Los intentos de reducir el consumo de energía inevitablemente significaban sacrificar la capacidad de seguimiento o la resolución, comprometiendo así la experiencia del usuario.
La aparición de sensores de baja potencia con capacidades de detección de movimiento incorporadas ayuda a los desarrolladores a eliminar este compromiso en sus diseños.
Este artículo describe y muestra cómo usar un sensor de movimiento inteligente de STMicroelectronics que integra capacidades sofisticadas de procesamiento de movimiento para ofrecer una solución más efectiva para el seguimiento de movimiento de baja potencia y siempre encendido.
Prácticas clásicas de gestión de energía
En un diseño típico de sistema móvil de baja potencia, la energía consumida por el microcontrolador host durante su modo activo normal representa la parte dominante del consumo de energía general del sistema. Como resultado, los desarrolladores buscan todas las oportunidades para mantener el microcontrolador funcionando en modo de reposo de baja potencia, lo que hace que el procesador se active solo lo suficiente para manejar tareas como la comunicación o el procesamiento de datos del sensor.
Durante muchos años, los desarrolladores han podido lograr este objetivo utilizando sensores capaces de recopilar datos independientemente del procesador host. Para aplicaciones con requisitos modestos de velocidad de datos de salida del sensor, el sensor podía llenar sus búfers en el chip con una serie de mediciones, incluso realizando transacciones de acceso directo a la memoria (DMA) para transferir los datos a la memoria del sistema antes de emitir una interrupción con el fin de activar el procesador para que complete sus tareas de procesamiento. Debido a que la cadena de señales integrada del sensor podía realizar el acondicionamiento, conversión y filtrado de señales, el procesador podía comenzar inmediatamente a trabajar en datos preprocesados, en busca de eventos de importancia para la aplicación.
Con la integración de las características de detección de umbrales en estos sensores, los desarrolladores podían extender aún más el tiempo que el procesador permanecía en modo de baja potencia. En lugar de requerir que el procesador identificara eventos importantes, el sensor podía emitir una señal de activación solo cuando medía un evento que excedía los valores de umbral programados por el desarrollador. Por ejemplo, un diseñador podía programar este tipo de sensor de temperatura avanzado para que emitiera una señal de activación solo cuando la temperatura medida excedía un umbral máximo especificado o caía por debajo de un umbral mínimo específico.
Aunque es efectivo para requisitos más simples, este enfoque para reducir el consumo de energía puede ser notablemente menos efectivo para detectar eventos más complejos. Combinada con el requisito de estar siempre encendida, la detección de estos eventos complejos significa un ciclo de trabajo activo más alto para el procesador, lo que agota rápidamente las baterías recargables de capacidad relativamente baja que se utilizan normalmente en dispositivos portátiles personales. Por lo tanto, se deduce que el uso tradicional del microcontrolador host para realizar la detección se vuelve insostenible ante la creciente demanda de los usuarios tanto de detección siempre encendida como de una mayor duración de la batería.
Si, en cambio, el sensor puede ejecutar algoritmos de detección más complejos, los desarrolladores pueden continuar con las mejores prácticas actuales para reducir el consumo de energía del sistema a través de los modos de operación de baja potencia y los estados de reposo del procesador. Al mismo tiempo, este sensor más inteligente debe proporcionar a los desarrolladores un alto grado de flexibilidad. Simplemente programar algunos algoritmos específicos en los sensores no satisfará la demanda de nuevas y mejores características del producto. El sensor inercial iNEMO LSM6DSOX (LSM6DSOXTR) de STMicroelectronics logra esta flexibilidad con una combinación de características de procesamiento de señal y capacidades computacionales flexibles integradas en el dispositivo.
Arquitectura del sensor
El iNEMO LSM6DSOX es un sistema en paquete (SiP) que combina sensores de sistemas microelectromecánicos (MEMS), cadenas de señales dedicadas, filtros, y motores computacionales especializados en un paquete de matriz de cuadrícula en tierra (LGA) que mide solo 2.5 x 3.0 x 0.83 milímetros (mm). Junto con sus sensores MEMS de acelerómetro interno de tres ejes y de giroscopio digital de tres ejes, el dispositivo puede configurarse como un concentrador de sensores con la capacidad de organizar por separado el funcionamiento de hasta cuatro sensores externos a través de registros de concentradores dedicados.
Basado en la misma arquitectura que el anterior LSM6DSO de STMicroelectronics, el LSM6DSOX ofrece todas las capacidades y características de ese dispositivo anterior (vea "IMU: deje su sistema en reposo con el aprendizaje automático integrado"). Sin embargo, con el LSM6DSOX, STMicroelectronics complementa la máquina de estado finito (FSM) ofrecida en el dispositivo anterior con un núcleo de aprendizaje automático (ML) para la clasificación de conjuntos de datos a través de hasta ocho árboles de decisión. Incluso sin comprometer las capacidades principales de la FSM y el ML, los desarrolladores pueden implementar capacidades avanzadas de detección de movimiento gracias a las cadenas de señales avanzadas utilizadas para preprocesar los datos de los sensores MEMS.
Al igual que con muchos sensores avanzados, la arquitectura del LSM6DSOX presenta cadenas de señales de múltiples etapas que combinan un convertidor de analógico a digital (ADC) con múltiples etapas de filtrado. La cadena de señales del giroscopio complementa la etapa del ADC con una serie de filtros digitales seleccionables que incluyen un filtro de paso alto (HPF), un filtro de paso bajo (LPF1) y un segundo filtro de paso bajo (LPF2) que operan en el modo de alto rendimiento del dispositivo, pero se omiten en los modos normal o de bajo consumo (Figura 1).
Figura 1: Al igual que con el anterior LSM6DSO de STMicroelectronics, el LSM6DSOX de STMicroelectronics sigue a cada sensor con una cadena de señales dedicada especializada con múltiples etapas de filtro, como se muestra aquí para el sensor de giroscopio. (Fuente de la imagen: STMicroelectronics).
Debido a que el acelerómetro es necesario para muchas de sus capacidades integradas, la cadena de señales del acelerómetro se ha mejorado significativamente en esta arquitectura. Sus etapas iniciales proporcionan las capacidades básicas de acondicionamiento de señales y conversión que se encuentran en los sensores más avanzados. Por ejemplo, un filtro de paso bajo antisolapamiento analógico proporciona un acondicionamiento de señales básico, un ADC de 16 bits digitaliza las señales acondicionadas, y los resultados digitalizados se pasan a través de un filtro de paso bajo digital. Lo que distingue al dispositivo es el sofisticado bloque de filtro compuesto que sigue a esta etapa de conversión inicial (Figura 2).
Figura 2: Utilizada en el anterior sensor de movimiento LSM6DSO de STMicroelectronics y ahora en el LSM6DSOX de STMicroelectronics, una extensa cadena de señales del acelerómetro admite la detección independiente del host de varios movimientos complejos, incluidos la caída libre, la orientación multidimensional y la derivación simple/doble (S/D). (Fuente de la imagen: STMicroelectronics).
Usando una combinación de filtros y bloques de procesamiento, la sección de filtro compuesto del acelerómetro puede detectar de manera autónoma una amplia variedad de eventos complejos que hasta ahora requerían que el procesador se activara y ejecutara un código especializado de detección de eventos. En su lugar, los desarrolladores ahora pueden programar parámetros de filtro para detectar y emitir interrupciones automáticamente para una amplia gama de eventos de movimiento complejos que incluyen derivación simple o doble, caída libre, actividad/inactividad, orientación con seis grados (6D) de libertad, u orientación 4D que se usa normalmente para detectar el movimiento del dispositivo. Por ejemplo, del modo retrato al modo paisaje.
Los detectores avanzados del filtro compuesto combinan los resultados de los filtros y bloques de procesamiento para realizar su detección. Por ejemplo, la detección de derivación simple utiliza el filtro de pendiente incorporado, que genera continuamente la pendiente en la muestra del acelerómetro actual, acc(tn), como:
pendiente(tn) = [ acc(tn) - acc(tn-1) ] / 2 (Ecuación 1)
Para un evento de derivación simple, la pendiente se eleva por encima de un umbral y cae rápidamente en comparación con un evento de impacto más amplio (Figura 3). Usando los valores de duración del umbral de derivación y del margen de impacto establecidos por el desarrollador, el dispositivo puede detectar automáticamente el evento de derivación simple y emitir una interrupción al microcontrolador host.
La detección de derivación doble se basa en este enfoque, agregando un parámetro adicional para especificar el tiempo de espera requerido entre los dos eventos de derivación simple.
Figura 3: Los sensores de movimiento LSM6DSO y LSM6DSOX brindan detección independiente del host de eventos de derivación simple utilizando una función de pendiente incorporada que muestra un retorno más rápido a los niveles de referencia para una derivación simple (a) en comparación con la firma de un evento de impacto amplio (b). (Fuente de la imagen: STMicroelectronics).
La capacidad del dispositivo para generar datos derivados, como la pendiente, desempeña un papel central en las capacidades más avanzadas disponibles con su FSM integrada y el núcleo de aprendizaje automático (ML). Dado que la característica de la FSM se ha analizado en el artículo al que se hizo referencia anteriormente, el resto de este artículo se centrará en el núcleo de ML del LSM6DSOX y su uso en la detección de eventos de movimiento mucho más complejos, incluidas secuencias de movimiento e incluso actividades de movimiento complejas, como ejercicios específicos.
Árboles de decisión
El núcleo de ML del LSM6DSOX proporciona un procesamiento basado en sensores a un nivel que va mucho más allá de las configuraciones de umbral parametrizadas familiares utilizadas en muchos sensores inteligentes avanzados. Usando el núcleo de ML, los desarrolladores pueden implementar algoritmos de detección complejos en el dispositivo, permitiendo la detección siempre encendida de eventos de movimiento complejos sin la necesidad de activar el microcontrolador. Aquí, el núcleo de ML utiliza árboles de decisión para identificar un evento basado en patrones de datos de entrada.
Utilizados durante años en los sistemas de soporte a decisiones, los árboles de decisión descomponen las decisiones complejas en una serie de selecciones basadas en la prueba de los datos de entrada, o atributos, frente a condiciones predefinidas. Comenzando en el nodo inicial, o raíz, se prueba el valor de un atributo, y la decisión de continuar hacia un nodo secundario en particular está determinada por los resultados (Figura 4).
Figura 4: Un árbol de decisión genera un resultado utilizando una secuencia de nodos en los que cada uno prueba un valor de entrada para un atributo particular frente a una condición tal como un nivel de umbral particular, y continúa a diferentes nodos secundarios dependiendo de los resultados de la prueba. (Fuente de la imagen: STMicroelectronics).
Por ejemplo, en cada ciclo de actualización, el árbol de decisión se invocará para trabajar a través de sus nodos para determinar si los datos disponibles (con esa actualización) representaron ningún movimiento, movimiento hacia adelante o algún otro movimiento de la siguiente manera:
- probar la magnitud de una medida del acelerómetro
- 1.1. terminar si el valor está por debajo de algún valor predeterminado (la condición)
- 1.2. de lo contrario, dirigir a un nodo secundario para probar las mediciones del giroscopio tomadas en el mismo margen de tiempo
- 1.2.1. terminar si las mediciones del giroscopio están por debajo de algún valor predeterminado o
- 1.2.2. continuar a un nodo secundario más profundo para probar otros atributos medidos en el mismo margen de tiempo o probar el mismo atributo frente a otra condición.
Este proceso se repite hasta que la prueba alcanza un nodo terminal, que en este contexto corresponde a un evento o clase de movimiento complejo en particular. En este sencillo ejemplo:
- el nodo terminal 1.1 podría indicar que los datos, o conjunto de características, deben clasificarse como "sin movimiento"
- el nodo terminal 1.2.1 podría indicar que el conjunto de características debe clasificarse como "movimiento hacia adelante"
- los nodos terminales debajo del nodo 1.2.2 pueden ser indicativos de un giro en movimiento o un cambio de orientación más complejo
Por supuesto, los conjuntos de problemas del mundo real que requieren el uso de árboles de decisión son mucho más complejos, e incluyen grandes conjuntos de características que comprenden muchos atributos y condiciones diferentes. De hecho, el LSM6DSOX proporciona a los desarrolladores un amplio conjunto de posibles características que comienzan con los datos del sensor desde el acelerómetro, el giroscopio y cualquier sensor externo conectado en el modo de conexión del concentrador del sensor (Figura 5).
Figura 5: Exclusivo para el LSM6DSOX de STMicroelectronics, un núcleo de ML incorporado utiliza datos primarios del sensor, datos filtrados y parámetros derivados, como la media y la varianza, como entradas a uno de los ocho árboles de decisión admitidos por el dispositivo. (Fuente de la imagen: STMicroelectronics).
A partir de estos datos primarios del sensor, el dispositivo genera una gran cantidad de funciones calculadas a partir de datos primarios dentro de un margen de tiempo deslizante que incluye:
- Norma V = Ö( x2 + y2 + z2) y V2
- Media
- Varianza
- Energía
- Pico a pico
- Cruce cero
- Cruce cero positivo
- Cruce cero negativo
- Detector de picos
- Detector de picos positivo
- Detector de picos negativo
- Mínimo
- Máximo
Para ciertas características, como los detectores de cruce cero y los detectores de pico, el desarrollador también especifica un valor de umbral para desplazar el eje de cruce cero o el umbral de pico, respectivamente.
Flujo de trabajo de aprendizaje supervisado
El uso de estas características para implementar un árbol de decisiones con el núcleo de ML del LSM6DSOX sigue un flujo de trabajo de aprendizaje supervisado típico común a la mayoría de los esfuerzos de desarrollo de modelos de aprendizaje automático. En general, este flujo de trabajo comienza con la identificación de las actividades de interés y la recolección de muestras de datos asociadas con esas actividades.
En este caso, los desarrolladores simplemente usan el LSM6DSOX para recopilar datos mientras realizan el conjunto particular de actividades de movimiento que la aplicación final necesitará detectar. Para esta fase de desarrollo, los desarrolladores pueden crear una plataforma de adquisición de datos utilizando placas y software de STMicroelectronics. Para la plataforma de hardware, los desarrolladores sólo necesitan conectar la placa adaptadora para el LSM6DSOX STEVAL-MKI197V1 en la placa madre de evaluación STEVAL-MKI109V3. Para el software, los desarrolladores pueden usar la herramienta gratuita de software Unico de STMicroelectronics, disponible para Windows, Mac OSX, y Linux.
Diseñado para trabajar con la placa madre STEVAL-MKI109V3, Unico proporciona un método simple para recopilar datos generados por el LSM6DSOX. Para la recopilación de datos, los desarrolladores utilizan la placa madre y Unico en conjunto. Aquí, el desarrollador o un asistente sostiene la placa madre mientras realiza repetidamente una de las actividades de movimiento específicas de interés, utilizando Unico para recopilar datos de movimiento del LSM6DSOX.
Los datos recopilados del LSM6DSOX durante las repeticiones múltiples de una sola actividad proporcionan el conjunto de entrenamiento para la clase correspondiente (como "movimiento hacia delante" en nuestro ejemplo anterior). Dado que todos los datos recopilados durante ese movimiento corresponden a la misma clase, este enfoque activo de la recopilación de datos elimina la necesidad de una fase de etiquetado de datos separada que a veces puede retrasar los flujos de trabajo de aprendizaje supervisado.
Después de recopilar datos de movimiento para cada clase de interés de evento de movimiento, los desarrolladores usan Unico para revisar los datos y la etiqueta de la clase. Más allá de su uso para la revisión de datos, Unico permite a los desarrolladores configurar múltiples aspectos del árbol de decisión deseado, definir filtros, establecer la duración del margen de tiempo y seleccionar las características específicas para usar en la construcción del árbol de decisión.
En la práctica, los desarrolladores suelen limitar las funciones utilizadas para detectar un conjunto particular de actividades al menor número posible según lo determinado por la experiencia y la experimentación. Incluso con un conjunto de características mínimo, la tarea de implementar un árbol de decisiones de manera eficiente depende fundamentalmente de determinar cuál de esas características o atributos se debe probar en cada nodo del árbol de decisión. Elegir el "mejor" atributo para probar en cada nodo es importante para minimizar el tamaño del árbol de decisión, lo que es particularmente importante para un dispositivo con recursos limitados como un sensor.
Nota para el lector: A estas alturas, quizás se esté preguntando sobre el uso de característica vs. atributo. La dificultad es que hablamos de "características" para los modelos de ML, pero esos se denominan "atributos" en el lenguaje de árboles de decisión. Hemos tratado de apegarnos a uno y a otro en una sección, pero aquí pasamos de "característica" a "atributo" para la siguiente discusión del árbol de decisión. Sin duda, notará otros lugares en los que los dos se usan indistintamente, pero aquí y más adelante en la sección "arff", usamos "atributo".
Aunque simple en concepto, la selección del mejor atributo para usar en cada nodo de decisión puede ser no intuitiva para los árboles de decisión con un gran número de atributos, cada uno representado por una amplia gama de valores de datos. El enfoque escogido para encontrar el mejor atributo para probar en cada nodo requiere calcular la entropía de Shannon de cada atributo en ese nodo mediante la Ecuación 2:
entropía(p1,p2,...,pn) = - p1log2(p1) - p2log2(p2)... - pnlog2(pn) (Ecuación 2)
La probabilidad pn representa cada una de las n clases posibles asociadas con ese atributo.
El resultado es el contenido de la información, presentado en bits cuyo valor varía de 0 a 1, en lugar de solo 0 o 1, en la definición más familiar de bits.
La "obtención" de información de cada atributo se convierte entonces en la diferencia entre este valor de información y el valor de información de línea de base calculado para el atributo en función de la probabilidad de una decisión correcta que se produciría sin el uso del nodo de decisión. Aunque una mirada detallada a este cálculo sobrepasa el alcance de este artículo, una interpretación intuitiva implica comparar qué enfoque proporcionará el resultado deseado de manera más eficiente: un resultado basado en una fragmentación ascendente de fuerza bruta a través del conjunto de datos basado en los valores de ese atributo (la "línea de base"), o un resultado basado en una selección descendente basada en rangos de valores específicos para ese atributo. La selección descendente utiliza un enfoque de "dividir y conquistar" que generalmente reducirá la cantidad de resultados posibles más rápidamente que el enfoque ascendente.
Despliegue rápido
Afortunadamente, los desarrolladores rara vez necesitan preocuparse por los detalles de la obtención de información y la optimización de la selección de atributos. En su lugar, pueden aprovechar las herramientas de aprendizaje automático de terceros disponibles de forma gratuita, como Weka, que manejan automáticamente los cálculos necesarios para generar árboles de decisión óptimos.
De hecho, Unico y Weka trabajan en estrecha colaboración para proporcionar un flujo de trabajo para la implementación rápida de los árboles de decisión. Normalmente, los pasos críticos en un flujo de trabajo de desarrollo de árbol de decisión específico se encuentran en los pasos de recopilación de datos mencionados anteriormente; específicamente, utilizando el LSM6DSOX para recopilar conjuntos de datos representativos para cada clase de actividad de interés, y Unico para refinar esos conjuntos de datos y definir la configuración del árbol de decisión. Una vez completadas, estas dos herramientas se combinan para acelerar las etapas finales del proceso.
Después de refinar los datos y la configuración del árbol de decisión en Unico, los desarrolladores usan la herramienta para convertir el conjunto de características seleccionado en un formato estándar denominado formato de archivo de relación de atributo (arff). Un archivo arff incluye una sección de encabezado que enumera los atributos (características) seleccionados y las posibles clases, y una sección de datos que enumera cada conjunto de datos recopilados y la clase asociada (Listado 1). En este ejemplo, solo se usan muy pocas características, y solo un pequeño conjunto de instancias de datos se usa para identificar un conjunto limitado de clases, incluyendo flexiones de bíceps, elevaciones laterales y sentadillas.
Listado 1: El archivo estándar de formato de archivo de relación de atributo (arff) incluye una sección de encabezado que define atributos y clases, y una sección de datos que contiene instancias de datos para cada atributo y clase asociada. (Fuente de los datos: STMicroelectronics).
Usando Weka, los desarrolladores cargan el archivo arff en la ventana "preprocesamiento" y ven un resumen gráfico del conjunto completo de características (Figura 6).
Figura 6: Después de usar la herramienta Unico de STMicroelectronics para generar un archivo arff para su conjunto de datos, los desarrolladores pueden usar Weka, una herramienta de aprendizaje automático de terceros, para ver el conjunto de datos completo, que se muestra aquí para los datos de arff en el Listado 1. (Fuente de la imagen: DigiKey).
Para construir el árbol de decisiones, los desarrolladores cambian a la ventana de "clasificación" de Weka, eligen el clasificador Weka J48 (clasificador de árboles de decisión de Weka) y hacen clic en Iniciar. En su ventana de salida, el clasificador enumera un resumen de los datos de entrada y proporciona el árbol de decisión en formato gráfico (Figura 7) y texto (Figura 8).
Figura 7: Para crear un árbol de decisiones, los desarrolladores simplemente cargan un archivo arff, seleccionan el clasificador del árbol de decisiones Weka J48 y generan el árbol final. La herramienta de visualización Weka incorporada se usa para ver el resultado con los atributos y condiciones enumerados para cada nodo, en este caso, utilizando los datos de arff en el Listado 1. (Fuente de la imagen: DigiKey).
Figura 8: Junto con una presentación visual del árbol de decisión, Weka genera la especificación del árbol de decisión J48 real, en este caso, utilizando los datos de arff en el Listado 1 para generar la especificación J48 en el Listado 2. (Fuente de la imagen: DigiKey).
En este ejemplo, la especificación del árbol de decisión J48 generada requiere solo unas pocas líneas (Listado 2).
Listado 2: Weka genera una especificación de árbol de decisión J48 como esta para los datos de arff en el Listado 1. Los desarrolladores cargan esta especificación en la herramienta Unico de STMicroelectronics para generar un archivo de configuración y cargarlo en el sensor LSM6DSOX de STMicroelectronics. (Fuente de los datos: STMicroelectronics).
Después de copiar y guardar el texto del árbol J48 en un archivo, los desarrolladores cargan ese archivo de texto a Unico para generar un archivo de configuración de registro. Finalmente, los desarrolladores completan el flujo de trabajo utilizando la pestaña de cargar/guardar de Unico para cargar ese archivo de configuración en el LSM6DSOX. En este punto, el desarrollador puede realizar los movimientos de soporte mientras sostiene la placa madre STEVAL-MKI109V3 como se describió anteriormente, usando Unico para leer el resultado de la clasificación del árbol de decisión del registro de salida del LSM6DSOX para el árbol de decisión configurado.
En un diseño personalizado, los desarrolladores podrían usar un cambio en el registro de salida del árbol de decisión para indicar al microcontrolador que se active y ejecute el código para avisar al usuario, incrementar un contador de ejercicios u otra operación de nivel superior adecuada requerida por una aplicación.
Aunque este ejemplo es extremadamente simple, el núcleo de ML del LSM6DSOX puede admitir la clasificación de eventos de movimiento dramáticamente más complejos utilizando más de las diferentes características mencionadas anteriormente. Por ejemplo, STMicroelectronics describe una versión más avanzada de esta sencilla aplicación, y utiliza muchas más funciones para clasificar la actividad del gimnasio en una gama más amplia de ejercicios que incluyen flexiones de bíceps, saltos de tijera, elevaciones laterales, lagartijas y sentadillas.
Junto con las características media y pico a pico utilizadas en el ejemplo simple, el ejemplo complejo agrega las características de varianza, mín., máx. y de cruce cero calculadas para un margen de tiempo de dos segundos. Al ejecutarse en el núcleo de ML del LSM6DSOX, esta aplicación más sofisticada da como resultado un consumo de corriente de aproximadamente 569 μA (a 1.8 V), de los cuales solo alrededor de 13 μA se deben al consumo de corriente del núcleo de ML en sí. En este nivel de consumo de energía, los desarrolladores podrían implementar con confianza la detección de movimiento siempre encendida con un impacto modesto en el estado de carga de la batería.
Limitaciones del aprendizaje automático
Las aplicaciones del aprendizaje automático en el mundo real dependen de flujos de trabajo de aprendizaje supervisado que inevitablemente incorporan alguna forma de sesgo en el modelo final de aprendizaje automático, ya sea que ese modelo sea una red neuronal convolucional muy compleja o un árbol de decisiones relativamente simple. Los datos basados en el movimiento, en particular, dependen tanto de la morfología física y la kinesiología que los datos recopilados de un individuo que realiza una actividad pueden diferir notablemente de los de otro.
Como resultado, los desarrolladores que utilizan la detección de actividad basada en el ML se enfrentan al desafío continuo de encontrar el equilibrio entre la especificidad y la generalidad de los datos. Demasiada especificidad típicamente limita la generalidad, mientras que demasiada generalidad erosiona la detección precisa de las variaciones únicas de diferentes individuos del mismo movimiento. Si bien estos problemas no son exclusivos de esta implementación específica, los desafíos de encontrar este equilibrio en dispositivos de detección de movimiento personalizados pueden sugerir la necesidad de árboles de decisión que puedan actualizarse con datos específicos del usuario. Sin embargo, al prestar especial atención a estos amplios requisitos de ciencia de datos de aprendizaje automático, los desarrolladores ya pueden utilizar el LSM6DSOX y el flujo de trabajo existente para incorporar la detección de movimiento sofisticada y siempre encendida en diseños con limitaciones de energía.
Conclusión
La demanda tanto del seguimiento de movimiento siempre encendido como de la duración prolongada de la batería ha presentado un conflicto aparentemente insuperable para los desarrolladores de dispositivos de acondicionamiento físico y otros dispositivos portátiles pequeños. Aunque muchos sensores avanzados pueden proporcionar cierto grado de detección de movimiento independiente del procesador, el deseo de admitir la detección siempre encendida de movimientos más complejos excluye este enfoque en aplicaciones emergentes.
Sin embargo, mediante el uso de las capacidades de aprendizaje automático en el sensor de movimiento LSM6DSOX de STMicroelectronics, los desarrolladores pueden resolver el conflicto entre el seguimiento siempre encendido y la duración prolongada de la batería para crear brazaletes de acondicionamiento físico más avanzados y sensibles a la actividad, y otros dispositivos portátiles.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.




