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

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片

1. 什么是显著性检测?

显著性检测的目的是识别图像中最吸引人注意的区域(显著性区域)。对于你的任务,就是将普通图片转换为突出主要对象的显著性图。

输入:普通图片 → 输出:显著性热力图(黑白或彩色)

2. BASNet 简介

BASNet (Boundary-Aware Salient Object Detection) 是一个先进的显著性检测模型:

  • 优点:边缘保持好,细节丰富
  • 适用性:适用于各种类型的图像
  • 预训练模型:已有在大型数据集上训练好的模型

3.具体操作

代码链接:https://github.com/NathanUA/BASNet.

联想截图_20250911184442

这里我把BASNet文件下载下来放在D盘,然后我在Anaconda Prompt中创建虚拟环境,先用/d D:\MyJupyter\TASK\BASNet转到BASNet目录下,采用conda activate basnet命令创建besnet虚拟环境,然后打开jupyter notebook

联想截图_20250912120522

联想截图_20250912101509

我的网络无法正常访问 PyPI 官方服务器(pypi.org),SSL 证书验证失败。

在虚拟环境中使用国内镜像源来安装:

pip install numpy scikit-image torch torchvision pillow -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

联想截图_20250912102354

这个错误是输出目录不存在导致的。程序试图保存结果图片,但是指定的目录路径不存在。经过检查是save_output函数有问题

联想截图_20250912103247

def save_output(image_name, pred, d_dir):predict = predpredict = predict.squeeze()predict_np = predict.cpu().data.numpy()im = Image.fromarray(predict_np*255).convert('RGB')# 读取原始图像获取尺寸original_image = io.imread(image_name)# 调整到原始图像尺寸imo = im.resize((original_image.shape[1], original_image.shape[0]), resample=Image.BILINEAR)# 创建输出目录(如果不存在)os.makedirs(d_dir, exist_ok=True)# 提取纯文件名(不带路径)img_basename = os.path.basename(image_name)output_filename = os.path.splitext(img_basename)[0] + '.png'# 保存文件output_path = os.path.join(d_dir, output_filename)imo.save(output_path)print(f"Saved: {output_path}")

将原本的代码改成如上。

接下来直接在jupyter中运行BASNet_test.ipynb(在BASNet/demo/中 ),直接运行第五个单元格。

可以在test_images中添加自己的图片,进行测试。

联想截图_20250912142624

http://www.zskr.cn/news/3051.html

相关文章:

  • 让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动
  • kuka机器人程序备份
  • AI 测试工具20款
  • VMware安装NOI linux系统教程
  • 近期理工类学术会议推荐 | 人工智能、工业设计、电气工程、传感器技术、环境工程等EI会议合集
  • 史上最薄iPhone 17 Air登场!极致轻薄背后藏有哪些妥协?
  • 网页转小程序封装机系统介绍
  • P12021 面包题
  • 彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错
  • 7. Job与CronJob
  • drawio
  • bootstrap-select插件在webpack中点击无响应
  • 重复从网页复制文字到编辑器的Autohotkey自动化代码
  • 202404_古剑山杯_数独
  • mac book怎么切换windows系统
  • 用Android(Kotlin)+ ML Kit:移动端英文数字验证码识别实战
  • 详细介绍:10:00开始面试,10:06就出来了,问的问题有点变态。。。
  • 第02周 预习:Java基础语法2、面向对象入门 - hohohoho--
  • 第六届机器学习与计算机应用国际学术会议(ICMLCA 2025)
  • # 数论知识讲解与C++代码:唯一分解定理、辗转相除法、埃氏筛与线性筛(含质因数分解示例)
  • 【初赛】无向图度数性质 - Slayer
  • $p\oplus q=r$
  • Jack-of-All-Trades
  • Matlab的交通标志定位实现
  • vuejs3.0 从入门到精通【左扬精讲】—— 从原生到原子化:一文梳理现代 CSS 技术体系(2025 版)
  • java中JSON字符串处理的踩坑
  • S7-1500 TRACE功能组态 (转载)
  • SAP-PO:怎么控制传输的内容在单数据情况下是数组格式还是单对象格式
  • 创建逻辑卷
  • Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 协助多端口与脚本自动化 )