summaryrefslogtreecommitdiffstats
path: root/r_facelib/detection/yolov5face/utils/autoanchor.py
diff options
context:
space:
mode:
Diffstat (limited to 'r_facelib/detection/yolov5face/utils/autoanchor.py')
-rw-r--r--r_facelib/detection/yolov5face/utils/autoanchor.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/r_facelib/detection/yolov5face/utils/autoanchor.py b/r_facelib/detection/yolov5face/utils/autoanchor.py
new file mode 100644
index 0000000..cb0de89
--- /dev/null
+++ b/r_facelib/detection/yolov5face/utils/autoanchor.py
@@ -0,0 +1,12 @@
+# Auto-anchor utils
+
+
+def check_anchor_order(m):
+ # Check anchor order against stride order for YOLOv5 Detect() module m, and correct if necessary
+ a = m.anchor_grid.prod(-1).view(-1) # anchor area
+ da = a[-1] - a[0] # delta a
+ ds = m.stride[-1] - m.stride[0] # delta s
+ if da.sign() != ds.sign(): # same order
+ print("Reversing anchor order")
+ m.anchors[:] = m.anchors.flip(0)
+ m.anchor_grid[:] = m.anchor_grid.flip(0)