ESP-DL Project Organization
ESP-DL’s modular design enables efficient development, maintenance, and scalability. The project is organized as follows:
dl (Deep Learning)
Core deep learning modules and tools, divided into submodules:
model Loads, manages, and allocates memory for deep learning models. Includes
dl_model_baseanddl_memory_manager.module Interfaces for operations (convolution, pooling, activation, etc.). Files:
dl_module_conv,dl_module_pool,dl_module_reluetc.base Implements operations for chips (esp32s3/esp32p4) with assembly support.
math Mathematical operations (matrix functions). Files:
dl_math.hppanddl_math.cpp.tool Auxiliary functions (utility tools). Files:
dl_tool.hppanddl_tool.cpp.tensor Tensor classes. Files:
dl_tensor_base.hpp.
vision
Computer vision modules divided into submodules:
classification Image classification (model inference). Inference:
dl_cls_base. Post-processors:imagenet_cls_postprocessor,dl_cls_postprocessor.recognition Feature extract (model inference). Feature database management (Enroll, delete, query). Pre-processor:
dl_feat_image_preprocessor. Inference:dl_feat_base. Post-processor:dl_feat_postprocessor. Database:dl_recognition_databaseimage Image process(resize, crop, warp affine). Color conversion(pixel, img). Image preprocessor (pipeline of resize, crop, color conversion, normalization, quantization). Image decoding/encoding (JPEG/BMP). Draw utility (point, hollow rectangle).
Image process:
dl_image_process. Color conversion:dl_image_color. Image preprocessor:dl_image_preprocessor. Image decoding/encoding:dl_image_jpeg,dl_image_bmp. Draw utility:dl_image_draw.detect Object detection (model inference). Inference:
dl_detect_base. Post-processors:dl_detect_msr_postprocessor,dl_detect_mnp_postprocessor,dl_detect_pico_postprocessor.
fbs_loader (FlatBuffers Loader)
Handles FlatBuffers models:
include Headers:
fbs_loader.hpp,fbs_model.hpp.src Implementations:
fbs_loader.cpp.
Other Files
CMakeLists.txt Project build configuration.
idf_component.yml Component metadata (name, version, dependencies).
README.md Project documentation and usage.
LICENSE License terms.