Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

COCO Pose Models

Model list

Chip YOLO11N_POSE_S8_V1 YOLO11N_POSE_S8_V2
ESP32-S3 alt text alt text
ESP32-P4 alt text alt text
  • yolo11n_pose_s8_v1_s3 and yolo11n_pose_s8_v1_p4 use 8bit default configuration quantization.
  • yolo11n_pose_s8_v2_s3 and yolo11n_pose_s8_v2_p4 use Quantization-Aware Training.

Model Latency

name input(hwc) Flash(MB) PSRAM(MB) preprocess(ms) model(ms) postprocess(ms) mAP50-95 on COCO
yolo11n_pose_s8_v1_s3 640 * 640 * 3 8 8 51.7 27880.0 10.9 0.429
yolo11n_pose_s8_v2_s3 640 * 640 * 3 8 8 51.6 27862.0 10.8 0.452
yolo11n_pose_s8_v1_p4 640 * 640 * 3 16 32 17.4 2988.3 6.3 0.431
yolo11n_pose_s8_v2_p4 640 * 640 * 3 16 32 17.4 2994.9 7.1 0.449

Model Usage

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

How to New COCOPose

Only One Model

COCOPose *pose = new COCOPose();

Multiple Models

// use YOLO11N_POSE_S8_V1
COCOPose *pose = new COCOPose(COCOPose::YOLO11N_POSE_S8_V1);
// use YOLO11N_POSE_S8_V2
// COCOPose *pose = new COCOPose(COCOPose::YOLO11N_POSE_S8_V2);

Note

If multiple models is flashed or stored in sdcard, in addition to the default model, you can pass an explicit parameter to COCOPose to use one of them.

How to Detect

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

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

Configurable Options in Menuconfig

See Kconfig.

Model to Flash

  • CONFIG_FLASH_COCO_POSE_YOLO11N_POSE_S8_V1
  • CONFIG_FLASH_COCO_POSE_YOLO11N_POSE_S8_V2

Whether to flash the model when model location is set to FLASH rodata or FLASH partition.

Default Model

  • CONFIG_COCO_POSE_YOLO11N_POSE_S8_V1
  • CONFIG_COCO_POSE_YOLO11N_POSE_S8_V2

Default model to use if no parameter is passed to COCOPose.

Model Location

  • CONFIG_COCO_POSE_MODEL_IN_FLASH_RODATA
  • CONFIG_COCO_POSE_MODEL_IN_FLASH_PARTITION
  • CONFIG_COCO_POSE_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_pose, and the partition should be big enough to hold the model file.
  • When using YOLO11n-pose, do not set model location to sdcard if your PSRAM size is lower than 16MB.

SDCard Directory

  • CONFIG_COCO_POSE_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.