mmyolo/docs/en/useful_tools/optimize_anchors.md

39 lines
1.6 KiB
Markdown
Raw Normal View History

# Optimize anchors size
Script `tools/analysis_tools/optimize_anchors.py` supports three methods to optimize YOLO anchors including `k-means`
anchor cluster, `Differential Evolution` and `v5-k-means`.
## k-means
In k-means method, the distance criteria is based IoU, python shell as follow:
```shell
python tools/analysis_tools/optimize_anchors.py ${CONFIG} \
--algorithm k-means \
--input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \
--out-dir ${OUT_DIR}
```
## Differential Evolution
In differential_evolution method, based differential evolution algorithm, use `avg_iou_cost` as minimum target function, python shell as follow:
```shell
python tools/analysis_tools/optimize_anchors.py ${CONFIG} \
--algorithm DE \
--input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \
--out-dir ${OUT_DIR}
```
## v5-k-means
In v5-k-means method, clustering standard as same with YOLOv5 which use shape-match, python shell as follow:
```shell
python tools/analysis_tools/optimize_anchors.py ${CONFIG} \
--algorithm v5-k-means \
--input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \
--prior_match_thr ${PRIOR_MATCH_THR} \
--out-dir ${OUT_DIR}
```