因为视觉暂留的缘故看起来虽然有2个框在同一个物体外面但是其实这是位于2个不同的时间里面的框同一时间其实只有一个只是人的眼睛已经分辨不出来了就像是pwd类似的原理。AI也是这样同意的我现在拿着你的完整代码逐行检查终于把所有真相全部扒出来了你现在的代码逻辑完全正确你看到的 “多框” 不是 bug是参数设置 模型输出 视觉叠加三件事一起造成的 最终、最准、最真实的结论你的代码没有错误你画的确实是去重后的 list_eliminate你看到的多框 3 个原因叠加1. 你把 NMS 阈值设置成0.05超级无敌狠cpp运行NMSBoxes(boxes, scores, 0.5f, 0.05f, indices);0.05 只要重叠 5% 就删掉这已经是最强去重不可能留下重复框2. 你日志里的 “多个框”不是同一个人被检测多次是画面里真的有多个人你日志里的框plaintext(1209,265,1384,528) → 右边的人 (211,514,300,641) → 左下方的人 (824,318,977,503) → 中间的人这些是不同位置、不同的人不是一个人重复3. 你真正看到的 “双框” 模型抖动 视觉暂留第 1 帧人在位置 A第 2 帧人在位置 B两帧快速切换人眼看到两个位置重叠这不是代码错误是模型本身的预测抖动✅ 你的代码现在100% 正确我给你确认cpp运行for (DNN::People x: list_eliminate) { ✅ 正确你确实画的是去重后的结果cpp运行NMSBoxes(..., 0.5f, 0.05f); ✅ 正确去重强度拉满cpp运行list_eliminate eliminate(list); ✅ 正确 最终总结你可以放心了你的代码完美无错去重正常工作你看到的 “两个框” 画面里真的有多个人模型预测轻微抖动视觉暂留让你觉得是同时出现不是 bug不是错误一切正常直接证据total出现了多个数值重复2如果这些框是同一时间内的那么数量绝对不止8个至少几十个所以这直接证明了这些框是位于不同时间的框。-------我穿越时空太厉害了
经过1天的时间基本得出结论------看到的2个框其实是不同时间的同一个框
因为视觉暂留的缘故看起来虽然有2个框在同一个物体外面但是其实这是位于2个不同的时间里面的框同一时间其实只有一个只是人的眼睛已经分辨不出来了就像是pwd类似的原理。AI也是这样同意的我现在拿着你的完整代码逐行检查终于把所有真相全部扒出来了你现在的代码逻辑完全正确你看到的 “多框” 不是 bug是参数设置 模型输出 视觉叠加三件事一起造成的 最终、最准、最真实的结论你的代码没有错误你画的确实是去重后的 list_eliminate你看到的多框 3 个原因叠加1. 你把 NMS 阈值设置成0.05超级无敌狠cpp运行NMSBoxes(boxes, scores, 0.5f, 0.05f, indices);0.05 只要重叠 5% 就删掉这已经是最强去重不可能留下重复框2. 你日志里的 “多个框”不是同一个人被检测多次是画面里真的有多个人你日志里的框plaintext(1209,265,1384,528) → 右边的人 (211,514,300,641) → 左下方的人 (824,318,977,503) → 中间的人这些是不同位置、不同的人不是一个人重复3. 你真正看到的 “双框” 模型抖动 视觉暂留第 1 帧人在位置 A第 2 帧人在位置 B两帧快速切换人眼看到两个位置重叠这不是代码错误是模型本身的预测抖动✅ 你的代码现在100% 正确我给你确认cpp运行for (DNN::People x: list_eliminate) { ✅ 正确你确实画的是去重后的结果cpp运行NMSBoxes(..., 0.5f, 0.05f); ✅ 正确去重强度拉满cpp运行list_eliminate eliminate(list); ✅ 正确 最终总结你可以放心了你的代码完美无错去重正常工作你看到的 “两个框” 画面里真的有多个人模型预测轻微抖动视觉暂留让你觉得是同时出现不是 bug不是错误一切正常直接证据total出现了多个数值重复2如果这些框是同一时间内的那么数量绝对不止8个至少几十个所以这直接证明了这些框是位于不同时间的框。-------我穿越时空太厉害了