TinyML-CAM pipeline enables 80 FPS image recognition on ESP32 using just 1 KB RAM

TinyML-CAM image recognition microcontroller boards

The challenge with TinyML is to extract the maximum performance/efficiency at the lowest footprint for AI workloads on microcontroller-class hardware. The TinyML-CAM pipeline, developed by a team of machine learning researchers in Europe, demonstrates what’s possible to achieve on relatively low-end hardware with a camera. Most specifically, they managed to reach over 80 FPS image recognition on the sub-$10 ESP32-CAM board with the open-source TinyML-CAM pipeline taking just about 1KB of RAM. It should work on other MCU boards with a camera, and training does not seem complex since we are told it takes around 30 minutes to implement a customized task. The researchers note that solutions like TensorFlow Lite for Microcontrollers and Edge Impulse already enable the execution of ML workloads, onMCU boards, using Neural Networks (NNs). However, those usually take quite a lot of memory, between 50 and 500 kB of RAM, and take 100 to 600 ms […]

Linux 5.18 release – Main changes, Arm, RISC-V, and MIPS architectures

Linux 5.18 is out! Linus Torvalds has just announced the release on lkml: No unexpected nasty surprises this last week, so here we go with the 5.18 release right on schedule. That obviously means that the merge window for 5.19 will open tomorrow, and I already have a few pull requests pending. Thank you everybody. I’d still like people to run boring old plain 5.18 just to check, before we start with the excitement of all the new features for the merge window. The full shortlog for the last week is below, and nothing really odd stands out. The diffstat looks a bit funny – unusually we have parsic architecture patches being a big part of it due to some last-minute cache flushing fixes, but that is probably more indicative of everything else being pretty small. So outside of the parisc fixes, there’s random driver updates (mellanox mlx5 stands out, […]

StarFive releases Perf tool for highest performance RISC-V IP Dubhe (Sponsored)

As a StarFive Technology in-house developed RISC-V 64-bit ultra-high-performance core, Dubhe showcases the best performance RISC-V CPU core IP yet. It utilizes the latest RISC-V instruction set which includes RV64GC, bit operation extension (B), vector extension (V) V1.0, and hypervisor extension H (Hypervisor), making it ideal for high-performance computing. To pair with the Dubhe performance core, StarFive is now releasing “StarFive Perf Performance Profiling Tool”. StarFive has made Perf compatible with the hardware performance monitor (HPM) and micro-architecture events at the hardware level. Perf provides a reliable performance verification platform that not only facilitates customers to further discuss the Dubhe technical specifications but also accelerates the implementation of high-performance applications with RISC-V processors. Perf is an open-source and Linux-based performance analyzing tool capable of providing performance monitoring of the hardware events, tracepoints, firmware events, and dynamic probes. With the Perf profiling tool, we can monitor the performance of the predefined […]

Ubuntu 22.04 LTS “Jammy Jellyfish” released

Canonical has just released Ubuntu 22.04 LTS “Jammy Jellyfish” right on schedule. The new version of the Linux operating system provides cloud confidential computing, a new real-time kernel for industrial applications, Arm optimization, support for Raspberry Pi SBCs, as well as support for enterprise Active Directory, PCI-DSS, HIPAA, FIPS, and FedRAMP compliance. Confidential Computing aims to improve data protection and privacy in public clouds without requiring any changes to existing application deployments, and Ubuntu 22.04 supports Azure Confidential VMs. Speaking about cloud computing, Canonical also says they optimized Ubuntu 22.04 LTS images for AWS Graviton for greater performance on Arm servers. The new real-time PREEMPT_RT kernel is currently in beta and available for both x86 and Aarch64 architectures. It is designed for telco (5G gateways) as well as other latency-sensitive applications such as industrial automation and robotics. Ubuntu 22.04 LTS is also the first long-term support release with Ubuntu Desktop […]

FOMO (Faster Objects, More Objects) enables real-time object detection on low-end embedded systems

FOMO used to stand for “Fear Of Missing Out” in my corner of the Internet, but Edge Impulse’s FOMO is completely different, as the “Faster Object, More Objects” model is designed to lower the footprint and improve the performance of object detection on resource-constrained embedded systems. The company says FOMO is 30x faster than MobileNet SSD and works on systems with less than 200K of RAM available. Edge Impulse explains the FOMO model provides a variant between basic image classification (e.g. is there a face in the image?) and more complex object detection (how many faces are in the image, if any, and where and what size are they?). That’s basically a simplified version of object detection where we’ll know the position of the objects in the image, but not their sizes. So instead of seeing the usual bounding box while the model is running, the face position will be […]

Beelink SER4 Review – Windows 11, Ubuntu 20.04, and “overclocking” AMD Ryzen 7 4800U SoC

Beelink has released the SER4 which is the latest in their ‘SER’ mini PC series and it features a Zen 2 AMD mobile processor. Beelink kindly sent one for review and I’ve looked at performance running both Windows and Ubuntu and dabbled with ‘overclocking’. Beelink SER4 Hardware Overview The Beelink SER4 physically consists of a 126 x 113 x 40mm (4.96 x 4.45 x 1.57 inches) square metal case. As an actively cooled mini PC, it uses AMD’s 7 nm Zen 2 Ryzen 7 4800U Renoir processor which is an eight-core 16-thread 1.8 GHz mobile processor boosting to 4.2 GHz with Radeon Graphics. The front panel has an illuminated power button, a 3.5mm headphone jack, a Type-C USB 3.1 port with Alternate Mode, dual USB 3.1 ports, and a reset pin-hole ‘CLR CMOS’.  The rear panel includes a gigabit Ethernet port, a USB 3.1 port and a USB 2.0 port, […]

Linux 5.17 release – Main changes, Arm, RISC-V, and MIPS architectures

Linus Torvalds has just released Linux 5.17: So we had an extra week of at the end of this release cycle, and I’m happy to report that it was very calm indeed. We could probably have skipped it with not a lot of downside, but we did get a few last-minute reverts and fixes in and avoid some brown-paper bugs that would otherwise have been stable fodder, so it’s all good. And that calm last week can very much be seen from the appended shortlog – there really aren’t a lot of commits in here, and it’s all pretty small. Most of it is in drivers (net, usb, drm), with some core networking, and some tooling updates too. It really is small enough that you can just scroll through the details below, and the one-liner summaries will give a good flavor of what happened last week. Of course, this means […]

Doom ported to Raspberry Pi RP2040

Doom has been ported to all sorts of platforms, including ESP32 platforms with 4MB PSRAM but “RP2040 doom” port of Doom to the Raspberry Pi RP2040 is more challenging, since RAM is limited to the measly 264KB built-in into the microcontroller, and for boards with only 2MB flash like the Raspberry Pi Pico, storage capacity becomes an issue. But Graham Sanderson solved all those issues by compressing the data, changing the code to use less RAM, making full use of the two Arm Cortex-M0+ cores, both overclocked at 270 MHz, in order to run Doom (DOOM1.WAD) on Raspberry Pi Pico at 320×240 resolution @ 60 fps, and the full Ultimate Doom and DOOM II WADs expected to fit into Raspberry Pi RP2040 boards with 8MB SPI flash. The port was based on Chocolate Doom, OPL2 emulation for audio support was derived from the emu8950 project, and sound effects were compressed […]