From 09bf9bcddae37b3e691818b26bbf18e369326f72 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Mon, 2 Jan 2023 22:29:45 +0100 Subject: [PATCH] . --- docs/img/favicon.ico | Bin 0 -> 16958 bytes docs/index.md | 60 +++++++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 23 +++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 docs/img/favicon.ico create mode 100644 docs/index.md create mode 100644 mkdocs.yml diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..660ac03269726c25ca6902a469614f9c3df357c0 GIT binary patch literal 16958 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 D#b5D< literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..fa620b9 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,60 @@ +# Welcome to the AI-on-the-edge-device! + +Artificial intelligence based systems have been established in our every days live. Just think of speech or image recognition. Most of the systems relay on either powerful processors or a direct connection to the cloud for doing the calculations up there. With the increasing power of modern processors the AI systems are coming closer to the end user - which is usually called **edge computing**. +Here this edge computing is brought into a practical oriented example, where a AI network is implemented on a ESP32 device so: **AI on the edge**. + +## Key features +- Tensorflow Lite (TFlite) integration - including easy to use wrapper +- Inline Image processing (feature detection, alignment, ROI extraction) +- **Small** and **cheap** device (3x4.5x2 cm³, < 10 EUR) +- camera and illumination integrated +- Web surface to administrate and control +- OTA-Interface to update directly through the web interface +- API for easy integration + +## Idea + + + + +### Hardware + + + + + +### Web interface + + + +### Configuration Interface + + + + + +**Have fun in studying the new possibilities and ideas** + +This is about image recognition and digitalization, done totally on a cheap ESP32 board using artificial intelligence in form of convolutional neural networks (CNN). Everything, from image capture (OV2640), image preprocessing (auto alignment, ROI identification) all the way down to the image recognition (CNN structure) and result plausibility is done on a cheap 10 EUR device. + +This all is integrated in an easy to do setup and use environment, taking care for all the background processing and handling, including regular job scheduler. The user interface is an integrated web server, that can be easily adjusted an offers the data as an API in different options. + +The task to be demonstrated here is a automated readout of an analog water meter. The water consumption is to be recorded within a house automatization and the water meter is totally analog without any electronic interface. Therefore the task is solved by taking regularly an image of the water meter and digitize the reading. + +There are two types of CNN implemented, a classification network for reading the digital numbers and a single output network for digitalize the analog pointers for the sub digit readings. + +This project is a evolution of the [water-meter-system-complete](https://github.com/jomjol/water-meter-system-complete), which uses ESP32-CAM just for taking the image and a 1GB-Docker image to run the neural networks backbone. Here everything is integrated in an ESP32-CAM module with 8MB of RAM and a SD-Card as data storage. + + +## Functionality +This systems implements several functions: + +* water meter readout +* picture provider +* file server +* OTA functionality +* graphical configuration manager +* web server + +The details can be found here: [[Integrated Functions]] + diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..4688123 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,23 @@ +site_name: AI on the Edge Device + +#site_url: https://example.com/ +#site_url: https://jomjol.github.io/AI-on-the-edge-device/index.html +site_url: https://caco3.github.io/AI-on-the-edge-device + +repo_url: https://github.com/jomjol/AI-on-the-edge-device + +#edit_uri: + +theme: readthedocs +# features: +# - navigation.sections + +favicon: watermeter.svg + + +plugins: + - search + - awesome-pages + + +# The navigation is configured in the .pages file! \ No newline at end of file