BlogDocs

feat: rotated IoU distance(#33)

Merged
Merging
feat/rotated-iou
(
362439b
) into
main
(
efec8a4
)
+26%
IMPROVEMENTS
1
REGRESSIONS
0
UNTOUCHED
143
NEW
1
DROPPED
0
IGNORED
0

Benchmarks

test_box_convert_cxcywh_xywh[float32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[float32]
0%
36.8 µs
36.9 µs
test_box_convert_cxcywh_xywh[float64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[float64]
0%
41 µs
40.8 µs
test_box_convert_cxcywh_xywh[int16]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[int16]
0%
35.9 µs
35.9 µs
test_box_convert_cxcywh_xywh[int32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[int32]
+1%
37.4 µs
37 µs
test_box_convert_cxcywh_xywh[int64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[int64]
0%
41.1 µs
41 µs
test_box_convert_cxcywh_xywh[uint16]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[uint16]
+2%
36.2 µs
35.5 µs
test_box_convert_cxcywh_xywh[uint32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[uint32]
0%
37.2 µs
37.1 µs
test_box_convert_cxcywh_xywh[uint64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[uint64]
0%
40.7 µs
40.5 µs
test_box_convert_cxcywh_xywh[uint8]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xywh[uint8]
0%
35.1 µs
35 µs
test_box_convert_cxcywh_xyxy[float32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[float32]
0%
38.1 µs
38.2 µs
test_box_convert_cxcywh_xyxy[float64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[float64]
-3%
40.8 µs
42 µs
test_box_convert_cxcywh_xyxy[int16]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[int16]
-1%
35.5 µs
35.8 µs
test_box_convert_cxcywh_xyxy[int32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[int32]
0%
37.1 µs
37.1 µs
test_box_convert_cxcywh_xyxy[int64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[int64]
0%
41 µs
40.9 µs
test_box_convert_cxcywh_xyxy[uint16]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[uint16]
+1%
35.9 µs
35.4 µs
test_box_convert_cxcywh_xyxy[uint32]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[uint32]
0%
37.1 µs
36.9 µs
test_box_convert_cxcywh_xyxy[uint64]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[uint64]
0%
40.7 µs
40.6 µs
test_box_convert_cxcywh_xyxy[uint8]
bindings/tests/test_speed.py::test_box_convert_cxcywh_xyxy[uint8]
0%
35.1 µs
35.2 µs
test_box_convert_xywh_cxcywh[float32]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[float32]
0%
36.6 µs
36.6 µs
test_box_convert_xywh_cxcywh[float64]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[float64]
+1%
40.9 µs
40.4 µs
test_box_convert_xywh_cxcywh[int16]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[int16]
+2%
35.7 µs
35 µs
test_box_convert_xywh_cxcywh[int32]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[int32]
+1%
37.4 µs
37 µs
test_box_convert_xywh_cxcywh[int64]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[int64]
+1%
41.3 µs
41 µs
test_box_convert_xywh_cxcywh[uint16]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[uint16]
+2%
36.3 µs
35.7 µs
test_box_convert_xywh_cxcywh[uint32]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[uint32]
+1%
37.1 µs
36.8 µs
test_box_convert_xywh_cxcywh[uint64]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[uint64]
0%
40.6 µs
40.4 µs
test_box_convert_xywh_cxcywh[uint8]
bindings/tests/test_speed.py::test_box_convert_xywh_cxcywh[uint8]
+1%
35.6 µs
35.1 µs
test_box_convert_xywh_xyxy[float32]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[float32]
0%
36.6 µs
36.5 µs
test_box_convert_xywh_xyxy[float64]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[float64]
0%
40.6 µs
40.5 µs
test_box_convert_xywh_xyxy[int16]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[int16]
+1%
35.3 µs
34.8 µs
test_box_convert_xywh_xyxy[int32]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[int32]
0%
36.9 µs
36.8 µs
test_box_convert_xywh_xyxy[int64]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[int64]
0%
40.7 µs
40.6 µs
test_box_convert_xywh_xyxy[uint16]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[uint16]
+1%
35.5 µs
35.3 µs
test_box_convert_xywh_xyxy[uint32]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[uint32]
+1%
37 µs
36.6 µs
test_box_convert_xywh_xyxy[uint64]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[uint64]
0%
40.6 µs
40.7 µs
test_box_convert_xywh_xyxy[uint8]
bindings/tests/test_speed.py::test_box_convert_xywh_xyxy[uint8]
-1%
34.6 µs
35 µs
test_box_convert_xyxy_cxcywh[float32]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[float32]
+1%
36.9 µs
36.6 µs
test_box_convert_xyxy_cxcywh[float64]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[float64]
-1%
40.7 µs
41.1 µs
test_box_convert_xyxy_cxcywh[int16]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[int16]
+1%
36.1 µs
35.8 µs
test_box_convert_xyxy_cxcywh[int32]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[int32]
+1%
37.5 µs
37.3 µs
test_box_convert_xyxy_cxcywh[int64]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[int64]
+1%
41.3 µs
40.9 µs
test_box_convert_xyxy_cxcywh[uint16]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[uint16]
+2%
36.2 µs
35.6 µs
test_box_convert_xyxy_cxcywh[uint32]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[uint32]
+1%
37.1 µs
36.8 µs
test_box_convert_xyxy_cxcywh[uint64]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[uint64]
+1%
41 µs
40.5 µs
test_box_convert_xyxy_cxcywh[uint8]
bindings/tests/test_speed.py::test_box_convert_xyxy_cxcywh[uint8]
+1%
35.4 µs
35 µs
test_box_convert_xyxy_xywh[float32]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[float32]
+1%
37.1 µs
36.7 µs
test_box_convert_xyxy_xywh[float64]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[float64]
0%
43.7 µs
43.7 µs
test_box_convert_xyxy_xywh[int16]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[int16]
0%
35.6 µs
35.5 µs
test_box_convert_xyxy_xywh[int32]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[int32]
+1%
37 µs
36.6 µs
test_box_convert_xyxy_xywh[int64]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[int64]
+1%
41.1 µs
40.9 µs
test_box_convert_xyxy_xywh[uint16]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[uint16]
+1%
36.1 µs
35.8 µs
test_box_convert_xyxy_xywh[uint32]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[uint32]
+2%
37.1 µs
36.5 µs
test_box_convert_xyxy_xywh[uint64]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[uint64]
0%
40.8 µs
40.8 µs
test_box_convert_xyxy_xywh[uint8]
bindings/tests/test_speed.py::test_box_convert_xyxy_xywh[uint8]
+1%
36.7 µs
36.4 µs
test_boxes_areas[float32]
bindings/tests/test_speed.py::test_boxes_areas[float32]
+1%
34.7 µs
34.5 µs
test_boxes_areas[float64]
bindings/tests/test_speed.py::test_boxes_areas[float64]
+1%
39.2 µs
38.9 µs
test_boxes_areas[int16]
bindings/tests/test_speed.py::test_boxes_areas[int16]
-1%
33.9 µs
34.3 µs
test_boxes_areas[int32]
bindings/tests/test_speed.py::test_boxes_areas[int32]
+2%
35.6 µs
34.8 µs
test_boxes_areas[int64]
bindings/tests/test_speed.py::test_boxes_areas[int64]
0%
36.2 µs
36.2 µs
test_boxes_areas[uint16]
bindings/tests/test_speed.py::test_boxes_areas[uint16]
+1%
34.1 µs
33.7 µs
test_boxes_areas[uint32]
bindings/tests/test_speed.py::test_boxes_areas[uint32]
+1%
35 µs
34.7 µs
test_boxes_areas[uint64]
bindings/tests/test_speed.py::test_boxes_areas[uint64]
0%
36.3 µs
36.2 µs
test_boxes_areas[uint8]
bindings/tests/test_speed.py::test_boxes_areas[uint8]
+1%
34.9 µs
34.7 µs
test_giou_distance[float32]
bindings/tests/test_speed.py::test_giou_distance[float32]
-1%
267.9 µs
269.6 µs
test_giou_distance[float64]
bindings/tests/test_speed.py::test_giou_distance[float64]
0%
270.1 µs
269.9 µs
test_giou_distance[int16]
bindings/tests/test_speed.py::test_giou_distance[int16]
0%
369.6 µs
368.9 µs
test_giou_distance[int32]
bindings/tests/test_speed.py::test_giou_distance[int32]
0%
376.6 µs
376.2 µs
test_giou_distance[int64]
bindings/tests/test_speed.py::test_giou_distance[int64]
0%
387.9 µs
387.9 µs
test_giou_distance[uint16]
bindings/tests/test_speed.py::test_giou_distance[uint16]
0%
369.1 µs
369 µs
test_giou_distance[uint32]
bindings/tests/test_speed.py::test_giou_distance[uint32]
0%
376.4 µs
376.2 µs
test_giou_distance[uint64]
bindings/tests/test_speed.py::test_giou_distance[uint64]
0%
402.1 µs
401.8 µs
test_giou_distance[uint8]
bindings/tests/test_speed.py::test_giou_distance[uint8]
0%
403.5 µs
403.3 µs
test_iou_distance[float32]
bindings/tests/test_speed.py::test_iou_distance[float32]
-1%
187.9 µs
189.6 µs
test_iou_distance[float64]
bindings/tests/test_speed.py::test_iou_distance[float64]
+1%
196.3 µs
195 µs
test_iou_distance[int16]
bindings/tests/test_speed.py::test_iou_distance[int16]
0%
296 µs
296 µs
test_iou_distance[int32]
bindings/tests/test_speed.py::test_iou_distance[int32]
0%
272.9 µs
272.6 µs
test_iou_distance[int64]
bindings/tests/test_speed.py::test_iou_distance[int64]
0%
284.3 µs
284 µs
test_iou_distance[uint16]
bindings/tests/test_speed.py::test_iou_distance[uint16]
0%
296 µs
295.9 µs
test_iou_distance[uint32]
bindings/tests/test_speed.py::test_iou_distance[uint32]
0%
272.8 µs
272.4 µs
test_iou_distance[uint64]
bindings/tests/test_speed.py::test_iou_distance[uint64]
0%
295.6 µs
295.4 µs
test_iou_distance[uint8]
bindings/tests/test_speed.py::test_iou_distance[uint8]
0%
291.6 µs
291.1 µs
test_masks_to_boxes
bindings/tests/test_speed.py::test_masks_to_boxes
0%
9.4 ms
9.4 ms
test_nms[float32]
bindings/tests/test_speed.py::test_nms[float32]
0%
72.4 µs
72.6 µs
test_nms[float64]
bindings/tests/test_speed.py::test_nms[float64]
0%
77.2 µs
77.5 µs
test_nms[int16]
bindings/tests/test_speed.py::test_nms[int16]
+1%
79.1 µs
78 µs
test_nms[int32]
bindings/tests/test_speed.py::test_nms[int32]
0%
79.9 µs
79.7 µs
test_nms[int64]
bindings/tests/test_speed.py::test_nms[int64]
0%
81.9 µs
81.7 µs
test_nms[uint16]
bindings/tests/test_speed.py::test_nms[uint16]
0%
78 µs
78.2 µs
test_nms[uint32]
bindings/tests/test_speed.py::test_nms[uint32]
-1%
79.1 µs
79.7 µs
test_nms[uint64]
bindings/tests/test_speed.py::test_nms[uint64]
0%
81.5 µs
81.1 µs
test_nms[uint8]
bindings/tests/test_speed.py::test_nms[uint8]
-3%
73.6 µs
75.9 µs
test_nms_many_boxes[10000]
bindings/tests/test_speed.py::test_nms_many_boxes[10000]
+3%
202.7 ms
196.4 ms
test_nms_many_boxes[1000]
bindings/tests/test_speed.py::test_nms_many_boxes[1000]
-7%
1.9 ms
2.1 ms
test_nms_many_boxes[20000]
bindings/tests/test_speed.py::test_nms_many_boxes[20000]
+1%
766.2 ms
760.9 ms
test_nms_many_boxes[5000]
bindings/tests/test_speed.py::test_nms_many_boxes[5000]
+5%
49.9 ms
47.3 ms
test_parallel_giou_distance[float32]
bindings/tests/test_speed.py::test_parallel_giou_distance[float32]
0%
268 µs
268.9 µs
test_parallel_giou_distance[float64]
bindings/tests/test_speed.py::test_parallel_giou_distance[float64]
0%
269.1 µs
269 µs
test_parallel_giou_distance[int16]
bindings/tests/test_speed.py::test_parallel_giou_distance[int16]
0%
369.1 µs
368.9 µs
test_parallel_giou_distance[int32]
bindings/tests/test_speed.py::test_parallel_giou_distance[int32]
0%
376.6 µs
376.1 µs
test_parallel_giou_distance[int64]
bindings/tests/test_speed.py::test_parallel_giou_distance[int64]
0%
388.2 µs
387.7 µs
test_parallel_giou_distance[uint16]
bindings/tests/test_speed.py::test_parallel_giou_distance[uint16]
0%
369.3 µs
369 µs
test_parallel_giou_distance[uint32]
bindings/tests/test_speed.py::test_parallel_giou_distance[uint32]
0%
376.5 µs
377 µs
test_parallel_giou_distance[uint64]
bindings/tests/test_speed.py::test_parallel_giou_distance[uint64]
0%
402.7 µs
401.8 µs
test_parallel_giou_distance[uint8]
bindings/tests/test_speed.py::test_parallel_giou_distance[uint8]
0%
403.8 µs
403.3 µs
test_parallel_iou_distance[float32]
bindings/tests/test_speed.py::test_parallel_iou_distance[float32]
-9%
236.6 µs
260.5 µs
test_parallel_iou_distance[float64]
bindings/tests/test_speed.py::test_parallel_iou_distance[float64]
-9%
263.3 µs
288.3 µs
test_parallel_iou_distance[int16]
bindings/tests/test_speed.py::test_parallel_iou_distance[int16]
0%
402.6 µs
403.2 µs
test_parallel_iou_distance[int32]
bindings/tests/test_speed.py::test_parallel_iou_distance[int32]
-2%
343.6 µs
352.4 µs
test_parallel_iou_distance[int64]
bindings/tests/test_speed.py::test_parallel_iou_distance[int64]
-2%
353.8 µs
362 µs
test_parallel_iou_distance[uint16]
bindings/tests/test_speed.py::test_parallel_iou_distance[uint16]
+6%
410.7 µs
386.4 µs
test_parallel_iou_distance[uint32]
bindings/tests/test_speed.py::test_parallel_iou_distance[uint32]
0%
364.9 µs
363.2 µs
test_parallel_iou_distance[uint64]
bindings/tests/test_speed.py::test_parallel_iou_distance[uint64]
+1%
387.9 µs
385.9 µs
test_parallel_iou_distance[uint8]
bindings/tests/test_speed.py::test_parallel_iou_distance[uint8]
+4%
384.6 µs
370.8 µs
test_remove_small_boxes[float32]
bindings/tests/test_speed.py::test_remove_small_boxes[float32]
-2%
37 µs
37.6 µs
test_remove_small_boxes[float64]
bindings/tests/test_speed.py::test_remove_small_boxes[float64]
-6%
39.5 µs
42 µs
test_remove_small_boxes[int16]
bindings/tests/test_speed.py::test_remove_small_boxes[int16]
0%
33.9 µs
33.8 µs
test_remove_small_boxes[int32]
bindings/tests/test_speed.py::test_remove_small_boxes[int32]
0%
35.5 µs
35.4 µs
test_remove_small_boxes[int64]
bindings/tests/test_speed.py::test_remove_small_boxes[int64]
+1%
37 µs
36.7 µs
test_remove_small_boxes[uint16]
bindings/tests/test_speed.py::test_remove_small_boxes[uint16]
0%
33.9 µs
33.9 µs
test_remove_small_boxes[uint32]
bindings/tests/test_speed.py::test_remove_small_boxes[uint32]
+1%
35.5 µs
35.1 µs
test_remove_small_boxes[uint64]
bindings/tests/test_speed.py::test_remove_small_boxes[uint64]
+1%
37.1 µs
36.7 µs
test_remove_small_boxes[uint8]
bindings/tests/test_speed.py::test_remove_small_boxes[uint8]
0%
35.4 µs
35.4 µs
test_rotated_iou_distance[float64]
bindings/tests/test_speed.py::test_rotated_iou_distance[float64]
N/A
N/A
6.9 ms
test_rtree_nms[float32]
bindings/tests/test_speed.py::test_rtree_nms[float32]
+2%
136.9 µs
133.9 µs
test_rtree_nms[float64]
bindings/tests/test_speed.py::test_rtree_nms[float64]
0%
136.3 µs
136.7 µs
test_rtree_nms[int16]
bindings/tests/test_speed.py::test_rtree_nms[int16]
-6%
127.8 µs
135.8 µs
test_rtree_nms[int32]
bindings/tests/test_speed.py::test_rtree_nms[int32]
+5%
131.7 µs
125.1 µs
test_rtree_nms[int64]
bindings/tests/test_speed.py::test_rtree_nms[int64]
-5%
134.4 µs
141.7 µs
test_rtree_nms_many_boxes[10000]
bindings/tests/test_speed.py::test_rtree_nms_many_boxes[10000]
-5%
17.8 ms
18.7 ms
test_rtree_nms_many_boxes[1000]
bindings/tests/test_speed.py::test_rtree_nms_many_boxes[1000]
-1%
1.4 ms
1.4 ms
test_rtree_nms_many_boxes[20000]
bindings/tests/test_speed.py::test_rtree_nms_many_boxes[20000]
-3%
38.2 ms
39.6 ms
test_rtree_nms_many_boxes[5000]
bindings/tests/test_speed.py::test_rtree_nms_many_boxes[5000]
-6%
8.2 ms
8.8 ms
test_tiou_distance[float32]
bindings/tests/test_speed.py::test_tiou_distance[float32]
+2%
235.4 µs
229.8 µs
test_tiou_distance[float64]
bindings/tests/test_speed.py::test_tiou_distance[float64]
+6%
243.9 µs
231.1 µs
test_tiou_distance[int16]
bindings/tests/test_speed.py::test_tiou_distance[int16]
-3%
280.4 µs
289.4 µs
test_tiou_distance[int32]
bindings/tests/test_speed.py::test_tiou_distance[int32]
-2%
257.1 µs
261.4 µs
test_tiou_distance[int64]
bindings/tests/test_speed.py::test_tiou_distance[int64]
-4%
266.9 µs
277.2 µs
test_tiou_distance[uint16]
bindings/tests/test_speed.py::test_tiou_distance[uint16]
-3%
280.5 µs
289.2 µs
test_tiou_distance[uint32]
bindings/tests/test_speed.py::test_tiou_distance[uint32]
-3%
257 µs
266.1 µs
test_tiou_distance[uint64]
bindings/tests/test_speed.py::test_tiou_distance[uint64]
-3%
277.5 µs
286.2 µs
test_tiou_distance[uint8]
bindings/tests/test_speed.py::test_tiou_distance[uint8]
-2%
259.3 µs
265.1 µs
giou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::giou_distance_benchmark::giou distance benchmark
0%
270 µs
269.9 µs
iou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::iou_distance_benchmark::iou distance benchmark
0%
213.3 µs
213.3 µs
parallel giou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::parallel_giou_distance_benchmark::parallel giou distance benchmark
+26%
521.1 µs
414.2 µs
parallel iou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::parallel_iou_distance_benchmark::parallel iou distance benchmark
-1%
282.7 µs
286.4 µs

Commits

Click on a commit to change the comparison range
base
main
efec8a4
0%
fix: lib.rs
049a916
8 months ago
by Smirkey
+24%
feat: rotated iou distance
10831d0
8 months ago
by Smirkey
+4%
fix: test dtype
876dc3d
8 months ago
by Smirkey
+8%
test: fix dtype test
55801ce
8 months ago
by Smirkey
-11%
fix: test dtypes
362439b
8 months ago
by Smirkey
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.