diff --git a/configs/test_cam1_face_det_rtsp_server.json b/configs/test_cam1_face_det_rtsp_server.json index 2c9716f..7d51bf2 100644 --- a/configs/test_cam1_face_det_rtsp_server.json +++ b/configs/test_cam1_face_det_rtsp_server.json @@ -24,8 +24,8 @@ "type": "preprocess", "role": "filter", "enable": true, - "dst_w": 640, - "dst_h": 640, + "dst_w": 320, + "dst_h": 320, "dst_format": "rgb", "keep_ratio": false, "use_rga": true diff --git a/models/RetinaFace_mobile320.rknn b/models/RetinaFace_mobile320.rknn index 66445a6..1e60a95 100644 Binary files a/models/RetinaFace_mobile320.rknn and b/models/RetinaFace_mobile320.rknn differ diff --git a/plugins/ai_face_det/ai_face_det_node.cpp b/plugins/ai_face_det/ai_face_det_node.cpp index 144600c..fd1ebb2 100644 --- a/plugins/ai_face_det/ai_face_det_node.cpp +++ b/plugins/ai_face_det/ai_face_det_node.cpp @@ -165,12 +165,14 @@ bool ExtractNc(const Tensor& t, int c, NcTensor& out) { // Common: [1, C, N] or [1, N, C] const uint32_t d1 = t.dims[1]; const uint32_t d2 = t.dims[2]; - if (static_cast(d1) == c) { - n = static_cast(d2); - transposed = true; // CxN - } else if (static_cast(d2) == c) { + if (static_cast(d2) == c) { n = static_cast(d1); transposed = false; // NxC + } else if (static_cast(d1) == c) { + n = static_cast(d2); + transposed = true; // CxN + } else { + return false; // 明确拒绝,不 fallback } } else if (t.dims.size() == 2) { // [N, C] or [C, N]