当前位置: 首页 > news >正文

输出可视化图像的方法

一、添加工具

在tools文件夹下添加 inference.py 工具脚本,输出纯黑白掩码和原图叠加可视化图。

importosimportargparseimportnumpyasnpfromPILimportImagefrommmseg.apisimportinit_model,inference_modeldefparse_args():parser=argparse.ArgumentParser(description='批量推理并生成分割可视化结果')parser.add_argument('config',help='模型配置文件路径')parser.add_argument('checkpoint',help='训练好的权重文件路径')parser.add_argument('--input',required=True,help='输入图片路径,支持单张图片或文件夹')parser.add_argument('--output-dir',required=True,help='结果输出目录')parser.add_argument('--out-type',default='both',choices=['mask','show','both'],help='输出类型:mask=纯黑白掩码,show=原图叠加图,both=两种都输出,默认both')parser.add_argument('--mask-color',nargs=3,type=int,default=[0,255,0],help='叠加掩码颜色,默认绿色 R G B')parser.add_argument('--alpha',type=float,default=0.5,help='叠加透明度,默认0.5')parser.add_argument('--device',default='cuda:0',help='推理设备,默认cuda:0')args=parser.parse_args()returnargsdefget_image_list(input_path):"""获取所有待推理图片路径"""img_list=[]ifos.path.isfile(input_path):img_list.append(input_path)else:fornameinsorted(os.listdir(input_path)):ifname.lower().endswith(('.png','.jpg','.jpeg','.tif','.bmp')):img_list.append(os.path.join(input_path,name))returnimg_listdefmain():args=parse_args()os.makedirs(args.output_dir,exist_ok=True)# 初始化模型model=init_model(args.config,args.checkpoint,device=args.device)# 获取所有图片img_list=get_image_list(args.input)print(f'共找到{len(img_list)}张待推理图片')forimg_pathinimg_list:img_name=os.path.basename(img_path)print(f'正在处理:{img_name}')# 读取原图original_img=Image.open(img_path).convert('RGB')original_np=np.array(original_img)# 模型推理result=inference_model(model,img_path)pred_mask=result.pred_sem_seg.data[0].cpu().numpy().astype(np.uint8)# 1. 保存纯黑白掩码ifargs.out_typein['mask','both']:mask_save_path=os.path.join(args.output_dir,f'mask_{img_name}')Image.fromarray(pred_mask*255).save(mask_save_path)# 2. 保存原图叠加可视化图ifargs.out_typein['show','both']:mask_layer=np.zeros_like(original_np)mask_layer[pred_mask==1]=args.mask_color overlay_np=original_np.copy()overlay_np[pred_mask==1]=(original_np[pred_mask==1]*(1-args.alpha)+mask_layer[pred_mask==1]*args.alpha).astype(np.uint8)show_save_path=os.path.join(args.output_dir,f'show_{img_name}')Image.fromarray(overlay_np).save(show_save_path)print(f'处理完成,结果已保存至:{args.output_dir}')if__name__=='__main__':main()

输入图片

在data文件夹下新建一个paper_vis_dataset,用来存放需要需要处理的图片

data/└── paper_vis_dataset/✅ 新建:专门放你挑的8张图 ├── image/8张测试原图(4物候期×2张) └── mask_show/放对应的8张真值标签图,文件名和image里一一对应

image放原图,mask_show放标签可视化图片(模型预测时只输入原图,mask_show(真值叠加图)只是方便输出结果后对比)

命令

python tools/inference.py configs/my_projects/stage3_finetune_mlpgate.py work_dirs/stage3_finetune_mlpgate/best_mIoU_iter_40000.pth--inputdata/paper_vis_dataset/image --output-dir paper_vis_show --out-type show

我使用的模型是MLPGateFusion的stage 3的最好的40000次权重做的

python tools/inference.py\configs/my_projects/stage3_finetune_mlpgate.py\work_dirs/stage3_finetune_mlpgate/best_mIoU_iter_40000.pth\--inputdata/paper_vis_dataset/image\--output-dir paper_vis_show

最后输出结果在项目根目录下会出现一个paper_vis_show文件夹,里面会有两部分,
掩码图像和叠加效果图

原本是只需要掩码图像,但是AI给出的inference脚本会同时输出叠加效果图,就是绿色的图片,后续有时间,可对inference脚本进行简化。

http://www.jsqmd.com/news/1229990/

相关文章:

  • TaskoMask中的DDD实践:领域驱动设计在任务管理系统中的终极应用案例
  • 在大连卖黄金怎么才不被坑?亲历五家门店横向对比,附避雷指南 - 人间烟火小记
  • 计算机小程序毕设实战-大学生实训实践教学管理移动端系统设计 基于 Android 的高校实践教学任务管理 APP 高校实践教学过程跟踪管理系统的【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Codex 接入踩坑记:当 AI 开始改生产代码,权限与日志成了最大拦路虎
  • 2026 年当下,寒亭知名的污水处理絮凝 AB 剂供应厂家哪家好,别再花冤枉钱!絮凝剂的秘密成本揭秘 - 企业推荐官【认证官方】
  • geo优化系统哪家好?靠谱服务商推荐|北京泛海明心 - 米諾
  • LoRa 协议完整解析 + 代码实战案例
  • 【SI_高速串行信号03】快速掌握高速串行信号示波器均衡技术操作指南
  • 卡地亚官方公告|太原2026年7月最新网点地址与客服热线一览,售后无忧 - 卡地亚官方售后中心
  • 【高速缓存】RedisVL 指南:从向量搜索到 AI 应用落地
  • 2026 年更新:汕尾专业的园林石牌坊供应厂家哪家专业,打破传统:石牌坊如何重塑现代园林风貌? - 企业信息推荐【官方】
  • 荆州武校排名前十,黄龙文武学校为什么是荆州家长首选? - 圣龙武术朱老师
  • 2026宿迁黄金回收避坑指南:4家正规门店实测对比公布 - 生活测评君
  • 2026世界人工智能大会 | 启鸣达人首发《世界模型驱动的教育AGI白皮书》
  • 宁波黄金处理前先掌握纯度称重票据品牌这四项准备能省不少心 - 大牌深度测评
  • 日志审计别再人肉搬砖:RPA+AI 让 GXP 合规从“天“缩到“分钟“
  • 宝可梦Roguelike离线畅玩终极方案:Pokerogue-App完整指南
  • AI音频降噪的“黑箱”终于被打开:可视化STFT-GAN特征图层+注意力热力图,精准定位残留噪声源(附Jupyter可交互分析模板)
  • 2026 青岛本地生活代运营实力测评榜 同城获客 + 短视频全维度优选 - GrowthUME
  • Flutter 鸿蒙Text组件详解
  • 2026 青岛钻石回收套路拆解,正规门店挑选干货,钻戒变现不踩雷 - 奢侈品回收机构参考
  • 深度解析OpenCore Legacy Patcher:如何让老旧Mac焕发新生运行最新macOS
  • 2026海口名表变现怎么找靠谱商家?线下实体门店甄选细则推荐 - 一日一测评
  • 2026 常州本地奢侈品洗护服务 TOP8 门店实测盘点|皮具清洗修复、名表保养哪家专业 - GrowthUME
  • 能大量供货的糕点生产厂家选购指南 - 全域品牌推荐
  • 茂名黄金回收哪家强?茂南电白高州化州信宜五家正规门店实测推荐 - 人间烟火小记
  • AI 编程助手的语境下Fork是什么意思?
  • 拆解这套文明底层博弈逻辑:跳出算力军备竞赛,看懂 AI 时代文明级博弈的核心胜负手
  • 【Gartner未披露的真相】:2024企业AI-SQL采纳率暴跌41%背后的4个架构断层
  • 新手选购跨境网络方案的5条黄金法则