def show_bar(bbox_lists, TP_lists, gt_folder):
bbox_lists = bbox_lists.tolist()
TP_lists = TP_lists.tolist()
gts = gt_num(gt_folder)
for i, (bbNum, tpNum) in enumerate(zip(bbox_lists, TP_lists)):
if i==0:
sub_show_bar(bbNum, tpNum,gts['gtPersonNum']+gts['gtLifeJacketNum'])
elif i==1:
sub_show_bar(bbNum, tpNum, gts['gtPersonNum'])
print("Recall:",np.sum(tpNum)/gts['gtPersonNum'])
elif i ==2:
sub_show_bar(bbNum, tpNum, gts['gtLifeJacketNum'])
def sub_show_bar(bbNum, tpNum, gtNum):
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
conf_lists = ('0.3~0.35', '0.35~0.4', '0.4~0.45', '0.45~0.5.',
'0.5~0.55', '0.55~0.6', '0.6~0.65', '0.65~0.7',
'0.7~0.75', '0.75~0.8', '0.8~0.85', '0.85~0.9',
'0.9~0.95', '0.95~1', 'gt', 'tp_bb')
bar_width = 0.45
index_bbox_lists = np.arange(len(conf_lists))
index_TP_lists = index_bbox_lists + bar_width
plt.barh(index_TP_lists, width=tpNum + [gtNum, np.sum(tpNum)],
height=bar_width, color='g', label='预测正确的框')
plt.barh(index_bbox_lists, width=bbNum + [gtNum, np.sum(bbNum)],
height=bar_width, color='b', label='预测出的框')
plt.legend()
plt.yticks(index_bbox_lists + bar_width / 2,
conf_lists)
plt.xlabel('框数')
for a, b in zip(index_bbox_lists, bbNum + [gtNum, np.sum(bbNum)]):
plt.text(b + 0.1, a - 0.1, str(b), size=8, ha='center')
for a, b in zip(index_TP_lists,tpNum + [gtNum, np.sum(tpNum)]):
plt.text(b + 0.1, a - 0.1, str(b), size=8, ha='center')
plt.show()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具