Coral (Edge TPU) builds of yunet-2023mar and yolox-tiny-plate (CamStack D710 addendum)
Browse files- faceDetection/yunet/README.md +9 -0
- faceDetection/yunet/tflite/camstack-yunet-2023mar_edgetpu.tflite +3 -0
- faceDetection/yunet/tflite/camstack-yunet-2023mar_int8.tflite +3 -0
- plateDetection/yolox-tiny-plate/README.md +11 -3
- plateDetection/yolox-tiny-plate/tflite/camstack-yolox-tiny-plate_edgetpu.tflite +3 -0
- plateDetection/yolox-tiny-plate/tflite/camstack-yolox-tiny-plate_int8.tflite +3 -0
faceDetection/yunet/README.md
CHANGED
|
@@ -17,6 +17,8 @@ Selectable on the `face-detection` step as `yunet-2023mar`.
|
|
| 17 |
| ONNX | `onnx/camstack-yunet-2023mar.onnx` | fp32 |
|
| 18 |
| OpenVINO IR | `openvino/camstack-yunet-2023mar.{xml,bin}` | fp32 |
|
| 19 |
| CoreML | `coreml/camstack-yunet-2023mar.mlpackage` | fp16 |
|
|
|
|
|
|
|
| 20 |
|
| 21 |
## Source
|
| 22 |
|
|
@@ -38,6 +40,13 @@ named `cls_{8,16,32}`, `obj_{8,16,32}`, `bbox_{8,16,32}`, `kps_{8,16,32}`.
|
|
| 38 |
The OpenVINO and CoreML files are converted from that patched ONNX. Built by
|
| 39 |
`scripts/build-yunet-model.py` in the CamStack repository.
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
## Training data
|
| 42 |
|
| 43 |
YuNet was trained on **WIDER FACE** (<http://shuoyang1213.me/WIDERFACE/>),
|
|
|
|
| 17 |
| ONNX | `onnx/camstack-yunet-2023mar.onnx` | fp32 |
|
| 18 |
| OpenVINO IR | `openvino/camstack-yunet-2023mar.{xml,bin}` | fp32 |
|
| 19 |
| CoreML | `coreml/camstack-yunet-2023mar.mlpackage` | fp16 |
|
| 20 |
+
| TFLite (Coral Edge TPU) | `tflite/camstack-yunet-2023mar_edgetpu.tflite` | int8 |
|
| 21 |
+
| TFLite (CPU, the Edge TPU file's source) | `tflite/camstack-yunet-2023mar_int8.tflite` | int8 |
|
| 22 |
|
| 23 |
## Source
|
| 24 |
|
|
|
|
| 40 |
The OpenVINO and CoreML files are converted from that patched ONNX. Built by
|
| 41 |
`scripts/build-yunet-model.py` in the CamStack repository.
|
| 42 |
|
| 43 |
+
The TFLite files are built by `scripts/build-yunet-edgetpu.py` from the patched
|
| 44 |
+
ONNX: the two-node prefix is folded into the first convolution (the same
|
| 45 |
+
function — the Edge TPU has no Gather), the graph is quantised to full integer
|
| 46 |
+
(int8, per-channel weights; input uint8 with scale 1/255, so raw RGB bytes are
|
| 47 |
+
the [0,1] tensor) on CamStack person crops, and the Edge TPU file is that graph
|
| 48 |
+
compiled with `edgetpu_compiler` 14.1. Output names are unchanged.
|
| 49 |
+
|
| 50 |
## Training data
|
| 51 |
|
| 52 |
YuNet was trained on **WIDER FACE** (<http://shuoyang1213.me/WIDERFACE/>),
|
faceDetection/yunet/tflite/camstack-yunet-2023mar_edgetpu.tflite
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b7214dafaf18b8a5c55c7ea502c783e6a356043c2900ff9e02515a368285e982
|
| 3 |
+
size 714256
|
faceDetection/yunet/tflite/camstack-yunet-2023mar_int8.tflite
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a369663e42539a7dc2b4152a53e7e5b6386215335d5cb979b81c44ab50b258e6
|
| 3 |
+
size 128640
|
plateDetection/yolox-tiny-plate/README.md
CHANGED
|
@@ -18,9 +18,8 @@ The `plate-detection` step's only model, catalog id `yolox-tiny-plate`.
|
|
| 18 |
| ONNX | `onnx/camstack-yolox-tiny-plate.onnx` | fp32 |
|
| 19 |
| OpenVINO IR | `openvino/camstack-yolox-tiny-plate.{xml,bin}` | fp16 weights |
|
| 20 |
| CoreML | `coreml/camstack-yolox-tiny-plate.mlpackage` | fp16 |
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
Edge TPU, and a Coral node runs this step on another device.
|
| 24 |
|
| 25 |
## Source
|
| 26 |
|
|
@@ -46,6 +45,15 @@ graph its BGR 0..255 tensor. The upstream output `[1, 8400, 6]`
|
|
| 46 |
edited ONNX. Built by `scripts/build-yolox-plate-model.py` in the CamStack
|
| 47 |
repository; see `SOURCE.md`.
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
## Training data
|
| 50 |
|
| 51 |
**Unknown terms.** Per the upstream NOTICE and manifest: an annotated
|
|
|
|
| 18 |
| ONNX | `onnx/camstack-yolox-tiny-plate.onnx` | fp32 |
|
| 19 |
| OpenVINO IR | `openvino/camstack-yolox-tiny-plate.{xml,bin}` | fp16 weights |
|
| 20 |
| CoreML | `coreml/camstack-yolox-tiny-plate.mlpackage` | fp16 |
|
| 21 |
+
| TFLite (Coral Edge TPU) | `tflite/camstack-yolox-tiny-plate_edgetpu.tflite` | int8 |
|
| 22 |
+
| TFLite (CPU, the Edge TPU file's source) | `tflite/camstack-yolox-tiny-plate_int8.tflite` | int8 |
|
|
|
|
| 23 |
|
| 24 |
## Source
|
| 25 |
|
|
|
|
| 45 |
edited ONNX. Built by `scripts/build-yolox-plate-model.py` in the CamStack
|
| 46 |
repository; see `SOURCE.md`.
|
| 47 |
|
| 48 |
+
The TFLite files are built by `scripts/build-yolox-plate-edgetpu.py` from that
|
| 49 |
+
edited ONNX: YOLOX's Focus stem (four strided slices and a concat) is rewritten
|
| 50 |
+
as the mathematically equivalent 6x6 stride-2 convolution, the input prefix is
|
| 51 |
+
folded into it, and the graph ends at the raw head — per stride `s`,
|
| 52 |
+
`reg_s` (dx, dy, log w, log h) and `score_s` (obj*cls), which the CamStack
|
| 53 |
+
`yolo` postprocessor decodes. It is quantised to full integer (int8,
|
| 54 |
+
per-channel weights; input uint8 with scale 1/255) on CamStack vehicle crops,
|
| 55 |
+
and the Edge TPU file is that graph compiled with `edgetpu_compiler` 14.1.
|
| 56 |
+
|
| 57 |
## Training data
|
| 58 |
|
| 59 |
**Unknown terms.** Per the upstream NOTICE and manifest: an annotated
|
plateDetection/yolox-tiny-plate/tflite/camstack-yolox-tiny-plate_edgetpu.tflite
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0e091263e9c93063f9da822387860a9cd21c0a554e714de276140921487b8e4d
|
| 3 |
+
size 6865936
|
plateDetection/yolox-tiny-plate/tflite/camstack-yolox-tiny-plate_int8.tflite
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cca36a2f81d8788685fa9374a849783e9bc6a3aaea96fa85531a7e6bb3310f09
|
| 3 |
+
size 5331536
|