summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--candle-examples/examples/yolo-v8/README.md47
-rw-r--r--candle-examples/examples/yolo-v8/assets/bike.jpgbin0 -> 182991 bytes
-rw-r--r--candle-examples/examples/yolo-v8/assets/bike.od.jpgbin0 -> 179024 bytes
-rw-r--r--candle-examples/examples/yolo-v8/assets/bike.pose.jpgbin0 -> 193397 bytes
-rw-r--r--candle-examples/examples/yolo-v8/assets/peoples.pp.jpgbin0 -> 81845 bytes
5 files changed, 47 insertions, 0 deletions
diff --git a/candle-examples/examples/yolo-v8/README.md b/candle-examples/examples/yolo-v8/README.md
new file mode 100644
index 00000000..8590a8a9
--- /dev/null
+++ b/candle-examples/examples/yolo-v8/README.md
@@ -0,0 +1,47 @@
+# candle-yolo-v8: Object Detection and Pose Estimation
+
+This is a port of [Ultralytics
+YOLOv8](https://github.com/ultralytics/ultralytics). The implementation is based
+on the [tinygrad
+version](https://github.com/tinygrad/tinygrad/blob/master/examples/yolov8.py)
+and on the model architecture described in this
+[issue](https://github.com/ultralytics/ultralytics/issues/189). The supported
+tasks are object detection and pose estimation.
+
+You can try this model online on the [Candle YOLOv8
+Space](https://huggingface.co/spaces/lmz/candle-yolo). The model then fully runs
+in your browser using WebAssembly - if you use a custom image it will never
+leave your phone/computer!
+
+## Running some example.
+
+### Object Detection
+```bash
+cargo run --example yolo-v8 --release -- candle-examples/examples/yolo-v8/assets/bike.jpg
+```
+
+This prints details about the detected objects and generates a `bike.pp.jpg` file.
+
+![Leading group, Giro d'Italia 2021](./assets/bike.jpg)
+
+Image source:
+[wikimedia](https://commons.wikimedia.org/wiki/File:Leading_group,_Giro_d%27Italia_2021,_Stage_15.jpg).
+
+![Leading group, Giro d'Italia 2021](./assets/bike.od.jpg)
+
+### Pose Estimation
+```bash
+cargo run --example yolo-v8 --release -- \
+ candle-examples/examples/yolo-v8/assets/peoples.jpeg --task pose
+```
+
+![Leading group, Giro d'Italia 2021](./assets/bike.pose.jpg)
+
+### Command-line flags
+
+- `--which`: select the model variant to be used, `n`, `s` , `m`, `l`, or `x` by
+ increasing size and quality.
+- `--task`: `detect` for object detection and `pose` for pose estimation.
+- `--legend-size`: the size of the characters to print.
+- `--model`: use a local model file rather than downloading it from the hub.
+
diff --git a/candle-examples/examples/yolo-v8/assets/bike.jpg b/candle-examples/examples/yolo-v8/assets/bike.jpg
new file mode 100644
index 00000000..05d1faaf
--- /dev/null
+++ b/candle-examples/examples/yolo-v8/assets/bike.jpg
Binary files differ
diff --git a/candle-examples/examples/yolo-v8/assets/bike.od.jpg b/candle-examples/examples/yolo-v8/assets/bike.od.jpg
new file mode 100644
index 00000000..111b9286
--- /dev/null
+++ b/candle-examples/examples/yolo-v8/assets/bike.od.jpg
Binary files differ
diff --git a/candle-examples/examples/yolo-v8/assets/bike.pose.jpg b/candle-examples/examples/yolo-v8/assets/bike.pose.jpg
new file mode 100644
index 00000000..e660f65b
--- /dev/null
+++ b/candle-examples/examples/yolo-v8/assets/bike.pose.jpg
Binary files differ
diff --git a/candle-examples/examples/yolo-v8/assets/peoples.pp.jpg b/candle-examples/examples/yolo-v8/assets/peoples.pp.jpg
new file mode 100644
index 00000000..1707dbfa
--- /dev/null
+++ b/candle-examples/examples/yolo-v8/assets/peoples.pp.jpg
Binary files differ