Live data from Hacker News

SIMD-accelerated computer vision on a $2 microcontroller

shraiwi.github.io

11–20 of 60 posts

Re: SIMD-accelerated computer vision on a $2 microcontroller

#12
post #7

I wonder if ESP32 has VLIW slots and a tighter instruction packaging is possible?

Neither Xtensa nor RISC-V are VLIW architectures.

Xtensa architecture is flexible and extendable by the user. Ability to define new instructions, hw features and VLIW configurations are some of the key features. You can find more details on the internet https://en.m.wikipedia.org/wiki/Tensilica

Re: SIMD-accelerated computer vision on a $2 microcontroller

#14

A comparable board is the ESP32-CAM, which is supported by this really practical computer vision project: https://github.com/jomjol/AI-on-the-edge-device?tab=readme-o...

In the CV department, I recently ordered a cheap FPGA + ARM Cortex-M3 + 64 Mbit SRAM + 32 Mbit flash that does camera input and HDMI output. Like a budget Zynq for CV. https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-4K/Nano-4... https://www.aliexpress.us/item/3256806880637138.html

Cool board!

Would any of the "retro" game/home computer firmwares fit in that FPGA? I find comparing capacity hard for stuff like that.

Re: SIMD-accelerated computer vision on a $2 microcontroller

#15
post #14

Earlier quoted context omitted.

In the CV department, I recently ordered a cheap FPGA + ARM Cortex-M3 + 64 Mbit SRAM + 32 Mbit flash that does camera input and HDMI output. Like a budget Zynq for CV. https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-4K/Nano-4... https://www.aliexpress.us/item/3256806880637138.html

Cool board! Would any of the "retro" game/home computer firmwares fit in that FPGA? I find comparing capacity hard for stuff like that.

There's absolutely no reason ROMs have to waste scarce resources of a hybrid FPGA. Micro SD cards (called TF in China) and eMMC are the usual solutions.

Example: https://www.aliexpress.us/item/3256806498688867.html

Re: SIMD-accelerated computer vision on a $2 microcontroller

#16
post #14

Earlier quoted context omitted.

In the CV department, I recently ordered a cheap FPGA + ARM Cortex-M3 + 64 Mbit SRAM + 32 Mbit flash that does camera input and HDMI output. Like a budget Zynq for CV. https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-4K/Nano-4... https://www.aliexpress.us/item/3256806880637138.html

Cool board! Would any of the "retro" game/home computer firmwares fit in that FPGA? I find comparing capacity hard for stuff like that.

Yes, easily, but unless someone has done it already, 'porting' them to this board would be a lot of work.

Re: SIMD-accelerated computer vision on a $2 microcontroller

#20

> As I've been really interested in computer vision lately, I decided on writing a SIMD-accelerated implementation of the FAST feature detector for the ESP32-S3 [...] > In the end, I was able to improve the throughput of the FAST feature detector by about 220%, from 5.1MP/s to 11.2MP/s in my testing. This is well within the acceptable range of performance for realtime computer vision tasks, enabling the ESP32-S3 to e…

> Is there TPU-like functionality in anything in this price range of chips yet? Kendryte K210 supports 1x1 and 3x3 convolutions on the "TPU". It was pretty well supported in terms of software & documentation but sadly it hasn't become popular. These days, you can easily find cheap RV1103 ("LuckFox"), BL808 ("Ox64/Pine64") and CV1800B/SG20002 ("MilkV") based dev boards, all of which have some sort of basic TPU. Unfort…

> These days, you can easily find cheap RV1103 ("LuckFox"), BL808 ("Ox64/Pine64") and CV1800B/SG20002 ("MilkV") based dev boards, all of which have some sort of basic TPU. Unfortunately, they are designed to be linux boards meaning that all TPU related stuff is extremely abstracted with zero under-the-hood documentation. So it's absolutely unclear whether their TPUs are real or faked with clever code optimizations.

They all have TPU in hardware, my team has been verifying and benchmarking them. Documentation is only available for the high-level C APIs to the libraries that a programmer is expected to use, and even that tends to be extremely lacking.

Post reply on HN