Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| poc:2025:ondevice-sleepstaging [2025/08/19 09:58] – created fabricio | poc:2025:ondevice-sleepstaging [2025/08/19 13:06] (current) – fabricio | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | This is a guiding template for short-term exploratory projects. | ||
| - | Many sections are optional either in their presence or scope and can be excluded based on the project at hand. | ||
| ===== Quick Summary ===== | ===== Quick Summary ===== | ||
| - | * **Status**: | + | * **Status**: |
| - | * **Duration**: | + | * **Duration**: |
| - | * **Type**: | + | * **Type**: Hardware/ |
| - | * **Repository**: | + | * **Repository**: |
| - | * **Team**: | + | * **Team**: |
| - | **What we're exploring**: | + | **What we're exploring**: |
| + | The feasibility of on-device predictions of sleep stages. Important aspects are a.) realtime processing b.) feasibility | ||
| + | This is relevant due to a.) limitations on the iPhone for compute b.) decisions on how to process sleep stages etc. on our devices, e.g. what hardware?, rather in the cloud? | ||
| - | ===== Environment & Setup ===== | ||
| - | A description of the used hardware and software. | + | ===== Key Findings ===== |
| - | The scope is up to the judgement of the team. | + | |
| - | Suggestions | + | ==== ESP Model: ESP32-S3 ==== |
| + | The [[ https:// | ||
| + | Documentation can be found [[ https:// | ||
| - | * List of hardware-parts (e.g. Raspberry Pi 3, ...) | + | ==== Hardware Limitations ==== |
| - | * Version of the operating system | + | The main limitation is presumably the memory. |
| - | * Additional notes on setup. | + | * The ESP32 has a total of 512KB of SRAM. This has to be shared with other processes. |
| + | * While there is an option to upgrade with external RAM up to an additional 4MB (i.e. 4MB accessed at once), this does not seem to be recommended due to a hard decrease in performance. | ||
| + | | ||
| + | * This is a bit difficult to manually tune and explore. | ||
| + | | ||
| + | * Unclear how the DSP interacts with the NN.. | ||
| + | * Dynamic USleep would be probably out of scope | ||
| - | Suggestions for projects with software: | + | ==== Possible Solution Approaches ==== |
| - | + | | |
| - | | + | |
| - | * Notes on setup / required steps to get things working. | + | * [[ https:// |
| - | * Git Repo (Code, Dockerfiles, | + | |
| - | + | ||
| - | Suggestions for projects with data: | + | |
| - | * Data source and when it was acquired/downloaded | + | |
| - | * Description of changes to data, ideally with scripts + dependencies in git repo. | + | |
| - | + | ||
| - | + | ||
| - | ===== Key Findings ===== | + | |
| - | ==== What Worked ==== | + | |
| - | * Bullet points of successful approaches | + | |
| - | + | ||
| - | ==== What Didn't Work ==== | + | |
| - | * Failed approaches (and why) | + | |
| - | * Performance bottlenecks discovered | + | |
| - | * Incompatibilities found | + | |
| ==== Surprises & Insights ==== | ==== Surprises & Insights ==== | ||
| - | * Unexpected discoveries | + | * It's barely deep learning anymore. Much more focus on DSP. |
| - | * Hidden complexities | + | * I have absolutely no idea what happens with the performance on such small models. One would need a full development cycle for a new sleep staging model, completely decoupled from recent advances in sleep staging. |
| - | * Simpler alternatives found | + | |
| ===== Recommendations ===== | ===== Recommendations ===== | ||
| - | **Should we proceed? | + | **Should we proceed?**: No, currently out of scope. |
| - | + | ||
| - | **If yes, what needs to happen?** | + | |
| ===== External Resources ===== | ===== External Resources ===== | ||
| - | * [[https://docs.example.com|Official Documentation]] | + | * [[https://www.espressif.com/ |
| - | * [[https://stackoverflow.com/questions/xxx|Relevant SO Discussion]] | + | * [[https://arxiv.org/abs/2212.03332|Edge Impulse MLOps Arxiv Article]] |
| - | * [[Internal: | + | |