Skip to content

Commit e3de877

Browse files
committed
format (thank lsp) + update ver + allow v4 for onnx
1 parent 5155339 commit e3de877

File tree

4 files changed

+247
-80
lines changed

4 files changed

+247
-80
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ keywords = [
1010
"yolo-v8",
1111
]
1212
license = "MIT"
13-
version = "0.1.6"
13+
version = "0.1.7"
1414
edition = "2021"
1515
rust-version = "1.73"
1616
authors = ["Dimitrii Lopanov <sexykdi@gmail.com>"]
@@ -47,7 +47,7 @@ name = "yolo_v8_n"
4747

4848
[dependencies]
4949
lazy_static = "1.4.0"
50-
opencv = { version = "0.91.3", default-features = false, features = ["dnn", "imgcodecs", "imgproc"] }
50+
opencv = { version = "0.94.2", default-features = false, features = ["dnn", "imgcodecs", "imgproc"] }
5151

5252
[patch.crates-io]
5353
cc = { git = "https://github.com/rust-lang/cc-rs.git", version = "1.0", tag = "1.0.79" }

examples/yolo_v4_tiny_onnx.rs

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
use od_opencv::{model_classic::ModelYOLOClassic, model_format::ModelFormat};
2+
3+
use opencv::{
4+
core::{Scalar, Vector},
5+
dnn::DNN_BACKEND_CUDA,
6+
dnn::DNN_TARGET_CUDA,
7+
imgcodecs::imread,
8+
imgcodecs::imwrite,
9+
imgproc::rectangle,
10+
imgproc::LINE_4,
11+
};
12+
13+
fn main() {
14+
let classes_labels: Vec<&str> = vec!["car", "motorbike", "bus", "truck"];
15+
let mf = ModelFormat::ONNX;
16+
let net_width = 416;
17+
let net_height = 416;
18+
// let class_filters: Vec<usize> = vec![15, 16];
19+
let class_filters: Vec<usize> = vec![];
20+
let mut model = ModelYOLOClassic::new_from_file(
21+
"pretrained/best_fp32.onnx",
22+
None,
23+
(net_width, net_height),
24+
mf,
25+
DNN_BACKEND_CUDA,
26+
DNN_TARGET_CUDA,
27+
vec![],
28+
)
29+
.unwrap();
30+
let mut frame = imread(
31+
"images/dog.jpg",
32+
1,
33+
)
34+
.unwrap();
35+
let (bboxes, class_ids, confidences) = model.forward(&frame, 0.75, 0.4).unwrap();
36+
for (i, bbox) in bboxes.iter().enumerate() {
37+
rectangle(
38+
&mut frame,
39+
*bbox,
40+
Scalar::from((0.0, 255.0, 0.0)),
41+
2,
42+
LINE_4,
43+
0,
44+
)
45+
.unwrap();
46+
println!("Class: {}", classes_labels[class_ids[i]]);
47+
println!("\tBounding box: {:?}", bbox);
48+
println!("\tConfidences: {}", confidences[i]);
49+
}
50+
imwrite("images/dog_yolov4_tiny.jpg", &frame, &Vector::new()).unwrap();
51+
}

src/model.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub trait ModelTrait {
2626
/// | | ModelFormat::Darknet | ModelFormat::ONNX |
2727
/// |------------------------|----------------------|------------------|
2828
/// | ModelVersion::V3 | + | |
29-
/// | ModelVersion::V4 | + | |
29+
/// | ModelVersion::V4 | + | + |
3030
/// | ModelVersion::V7 | + | |
3131
/// | ModelVersion::V8 | | + |
3232
///

0 commit comments

Comments
 (0)