espressif/coco_detect

0.1.0

uploaded 17 hours ago
coco detect model.

readme

COCO Detection Models

Model list

Chip YOLO11N_S8_V1 YOLO11N_S8_V2 YOLO11N_S8_V3
ESP32-S3 alt text alt text alt text
ESP32-P4 alt text alt text alt text

Model Latency

name input(hwc) preprocess(us) model(us) postprocess(us)
yolo11n_s8_v1_s3 640 * 640 * 3 207893 26919376 58994
yolo11n_s8_v3_s3 640 * 640 * 3 207892 26950089 58400
yolo11n_s8_v1_p4 640 * 640 * 3 105753 3109475 16610
yolo11n_s8_v2_p4 640 * 640 * 3 105758 3627073 16644
yolo11n_s8_v3_p4 640 * 640 * 3 105756 3104007 16178

Model Usage

COCODetect accepts a COCODetect::model_type_t parameter. It has a default value determined by model type option in menuconfig.

How to New COCODetect

Only One Model

Cpp

COCODetect *detect = new COCODetect();

Mutiple Models

Cpp

// use YOLO11N_S8_V1
COCODetect *detect = new COCODetect(COCODetect::YOLO11N_S8_V1);
// use YOLO11N_S8_V2
// COCODetect *detect = new COCODetect(COCODetect::YOLO11N_S8_V2);
// use YOLO11N_S8_V3
// COCODetect *detect = new COCODetect(COCODetect::YOLO11N_S8_V3);

Note

If mutiple models is enabled in menuconfig, the default value is the first one. Pass in an explicit parameter to COCODetect to use one of them.

How to Detect

Cpp

dl::image::img_t img = {.data=DATA, .width=WIDTH, .height=HEIGHT, .pix_type=PIX_TYPE};
std::list<dl::detect::result_t> &res = detect->run(img);

More details, see dl::image::img_t and dl::detect::result_t.

Configurable Options in Menuconfig

See Kconfig.

Model Type

  • CONFIG_COCO_DETECT_YOLO11N_S8_V1
  • CONFIG_COCO_DETECT_YOLO11N_S8_V2
  • CONFIG_COCO_DETECT_YOLO11N_S8_V3

These options determines which models will be enabled.

Note

  • If model location is set to FLASH partition or FLASH rodata, only the selected model type will be flashed.
  • If model location is set to be in sdcard, all models will be selected automatically.

Model Location

  • CONFIG_COCO_DETECT_MODEL_IN_FLASH_RODATA
  • CONFIG_COCO_DETECT_MODEL_IN_FLASH_PARTITION
  • CONFIG_COCO_DETECT_MODEL_IN_SDCARD

This component supports to load model from three different locations.

Note

  • If model location is set to FLASH partition, partition.csv must contain a partition named coco_det, and the partition should be big enough to hold the model file.
  • When using YOLO11n, do not set model location to sdcard if your PSRAM size is lower than 16MB. Because when loading YOLO11n, memory manager takes 6MB, and the model parameters is nearly 3MB. So we must ensure model parameters stay in FLASH or the PSRAM size is not enough. This means model location must be FLASH rodata or FLASH partition, and param_copy must set to false.

SDCard Directory

  • CONFIG_COCO_DETECT_MODEL_SDCARD_DIR

When model locates in sdcard, you can change the model directory relative to the sdcard mount point.

The default value of this option is models/s3 for ESP32S3 and models/p4 for ESP32P4. When using default value, just copy models folder to sdcard root directory.

Note

Do not change the model name when copy the models to sdcard.

Links

Supports all targets

License: MIT

To add this component to your project, run:

idf.py add-dependency "espressif/coco_detect^0.1.0"

or download archive

Stats

  • Archive size
    Archive size ~ 18.02 MB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

espressif/coco_detect version: 0.1.0
|