apocaliss92 commited on
Commit
afd88f9
·
verified ·
1 Parent(s): ca50e61

Coral (Edge TPU) builds of yunet-2023mar and yolox-tiny-plate (CamStack D710 addendum)

Browse files
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
- No TFLite / Edge TPU build exists: YOLOX's Focus stem does not compile for the
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