Correct the EFPI name to EdgeFirst Perception Index

#2
Files changed (1) hide show
  1. README.md +1 -1
README.md CHANGED
@@ -107,7 +107,7 @@ Row conventions in the table below:
107
  - **`· end2end` rows** measure the end-to-end export of the same weights: the NMS-free head with its post-processing kept inside the graph, so the model emits final detections. Rows without the suffix measure the standard export, whose head outputs are decoded outside the graph. The end-to-end artifacts carry an `-end2end` filename suffix under *Downloads*.
108
  - **`Not supported: …`** entries, in the table below the results, are configurations this edition could not produce or run, with the reason: a converter or runtime limitation of that target, not a missing measurement.
109
  - **Precision** varies by target: the ONNX reference rows are FP32; macOS CoreML and NVIDIA Jetson TensorRT run FP16; the NXP i.MX 8M Plus, NXP i.MX 95 Neutron, and Hailo NPUs run INT8. The NXP Ara240 DNPU runs a **mixed INT8/INT16** scheme — most of the model is INT8, with the box-regression path (and the ops feeding it) promoted to INT16 to improve localization accuracy.
110
- - **Decoder variants.** EdgeFirst ships three INT8 split-decoders — **smart**, **logical**, and **combined** (described under *Decode* below). Every one we have measured is listed; none is headlined over another, because which one wins is a property of the target, not of the variant. Full converter documentation: [EdgeFirst model conversion](https://doc.edgefirst.ai/latest/models/conversion/) — these are the converters used by this Model Zoo and the EdgeFirst Performance Index report.
111
  - **Runtime.** Which inference stack executed the model. It is a column of its own because one accelerator can be reached by more than one: on Qualcomm Hexagon HTP, `ONNX · QNN EP` is an ONNX Runtime EPContext binary while `LiteRT` is the LiteRT + QNN delegate path, and the two produce measurably different pipelines from the same weights on the same silicon. Compare rows that share a size, platform, precision, and decode to read that difference directly.
112
  - **Decode.** What the exported graph emits, and therefore what your application has to do with it. **Logical** keeps the head's outputs separate and named — boxes, scores, and for segmentation the mask prototypes and coefficients — so reading them needs no decoder beyond taking the tensors as they come. **Smart** cuts the graph further upstream, at a point chosen by dynamic range and sliceability: the operations that quantize worst are lifted out of the model and run outside it, which is what recovers the accuracy, and which is why it needs a decoder implementing that cut (in EdgeFirst deployments, the HAL provides it). **Combined** fuses the decode into the quantized graph — the standard upstream export. It is the least accurate of the three by construction, and the EdgeFirst converters do not emit it for quantized targets; rows appear only where one was measured. Compare rows sharing a size and platform to see what the cut buys on your target — on detection it is often small, on quantized segmentation masks it is usually decisive. A `—` means the run carries no quantized decode split at all (float ONNX / TensorRT / CoreML).
113
  - **Rows are not ranked.** Where a size and platform appear more than once, the rows are competing configurations — a different runtime, precision, decode variant, pipeline mode, or board — not duplicates. Only genuinely repeated measurements of the *same* configuration are collapsed, newest first.
 
107
  - **`· end2end` rows** measure the end-to-end export of the same weights: the NMS-free head with its post-processing kept inside the graph, so the model emits final detections. Rows without the suffix measure the standard export, whose head outputs are decoded outside the graph. The end-to-end artifacts carry an `-end2end` filename suffix under *Downloads*.
108
  - **`Not supported: …`** entries, in the table below the results, are configurations this edition could not produce or run, with the reason: a converter or runtime limitation of that target, not a missing measurement.
109
  - **Precision** varies by target: the ONNX reference rows are FP32; macOS CoreML and NVIDIA Jetson TensorRT run FP16; the NXP i.MX 8M Plus, NXP i.MX 95 Neutron, and Hailo NPUs run INT8. The NXP Ara240 DNPU runs a **mixed INT8/INT16** scheme — most of the model is INT8, with the box-regression path (and the ops feeding it) promoted to INT16 to improve localization accuracy.
110
+ - **Decoder variants.** EdgeFirst ships three INT8 split-decoders — **smart**, **logical**, and **combined** (described under *Decode* below). Every one we have measured is listed; none is headlined over another, because which one wins is a property of the target, not of the variant. Full converter documentation: [EdgeFirst model conversion](https://doc.edgefirst.ai/latest/models/conversion/) — these are the converters used by this Model Zoo and the EdgeFirst Perception Index report.
111
  - **Runtime.** Which inference stack executed the model. It is a column of its own because one accelerator can be reached by more than one: on Qualcomm Hexagon HTP, `ONNX · QNN EP` is an ONNX Runtime EPContext binary while `LiteRT` is the LiteRT + QNN delegate path, and the two produce measurably different pipelines from the same weights on the same silicon. Compare rows that share a size, platform, precision, and decode to read that difference directly.
112
  - **Decode.** What the exported graph emits, and therefore what your application has to do with it. **Logical** keeps the head's outputs separate and named — boxes, scores, and for segmentation the mask prototypes and coefficients — so reading them needs no decoder beyond taking the tensors as they come. **Smart** cuts the graph further upstream, at a point chosen by dynamic range and sliceability: the operations that quantize worst are lifted out of the model and run outside it, which is what recovers the accuracy, and which is why it needs a decoder implementing that cut (in EdgeFirst deployments, the HAL provides it). **Combined** fuses the decode into the quantized graph — the standard upstream export. It is the least accurate of the three by construction, and the EdgeFirst converters do not emit it for quantized targets; rows appear only where one was measured. Compare rows sharing a size and platform to see what the cut buys on your target — on detection it is often small, on quantized segmentation masks it is usually decisive. A `—` means the run carries no quantized decode split at all (float ONNX / TensorRT / CoreML).
113
  - **Rows are not ranked.** Where a size and platform appear more than once, the rows are competing configurations — a different runtime, precision, decode variant, pipeline mode, or board — not duplicates. Only genuinely repeated measurements of the *same* configuration are collapsed, newest first.