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

百度搜索不到网站网络营销模式下品牌推广研究

百度搜索不到网站,网络营销模式下品牌推广研究,小程序推广的十种方式,宁波住房和建设局网站首页使用segment-anything将目标检测label转换为语义分割label一、segment-anything简介二、segment-anything安装2.1安装方法2.2预训练模型下载三、将目标检测label转换为语义分割label3.1示例代码3.2代码说明一、segment-anything简介 segment-anything是facebookresearch团队开…

使用segment-anything将目标检测label转换为语义分割label

  • 一、segment-anything简介
  • 二、segment-anything安装
    • 2.1安装方法
    • 2.2预训练模型下载
  • 三、将目标检测label转换为语义分割label
    • 3.1示例代码
    • 3.2代码说明

一、segment-anything简介

segment-anything是facebookresearch团队开发的一套无须训练,根据提示对图像自动分割的工具,提示可以是一个点,也可以是一个矩形框。根据主页介绍,它是使用1100万图片和1.1亿mask训练而成,在各类图片分割中都有很强的性能。

研究团队还在此基础上开发出了Segment-Anything-Model 2,简称SAM2,SAM2不仅可以对图像进行分割,还可以对视频进行分割。

segment-anything项目Github地址为:https://github.com/facebookresearch/segment-anything,
在线演示地址为:https://segment-anything.com/demo,可以在该网站上传一张本地图片,进行试验:
在这里插入图片描述

SAM2项目Github地址为:https://github.com/facebookresearch/sam2。

二、segment-anything安装

2.1安装方法

segment-anything要求环境:python>=3.8pytorch>=1.7,torchvision>=0.8。
安装方法有两种,一种为使用pip命令安装,安装命令如下:

pip install git+https://github.com/facebookresearch/segment-anything.git

一种为下载项目源代码进行本地安装,如下:

git clone git@github.com:facebookresearch/segment-anything.git
cd segment-anything; pip install -e .

2.2预训练模型下载

使用segment-anything需要下载对应的预训练模型,按照参数量从小到大分为:vit_b、vit_l、vit_h,大小分别为:360M、1.2G,2.5G。
三种模型对显卡显存的要求也依次增高,根据实际测试,8G显存的显卡可以加载运行vit_b和vit_l,无法加载vit_h模型。

模型下载官方地址如下:
vit_b:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth
vit_l:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth
vit_h:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth。

CSDN免费下载地址如下:
vit_b:https://download.csdn.net/download/weixin_46846685/91510193
vit_l:https://download.csdn.net/download/weixin_46846685/91510428,https://download.csdn.net/download/weixin_46846685/91510431(CSDN上传文件限制,分为两部分)
vit_h:https://download.csdn.net/download/weixin_46846685/91510458,https://download.csdn.net/download/weixin_46846685/91553916,https://download.csdn.net/download/weixin_46846685/91553931(CSDN上传文件限制,分为三部分)

三、将目标检测label转换为语义分割label

目标检测任务中的label为目标的矩形框坐标,而语义分割任务中的label为目标的轮廓。如果需要将目标检测任务转换为语义分割任务,那么就需要对图片进行重新标注。

这一过程需要耗费大量时间精力,所以本文给出了使用segment-anything进行自动化转换的代码,用于提高工作效率,但需要注意的是,实际分割效果需要根据场景进行测试评估,检查效果是否满足预期

3.1示例代码

以YOLO的标签格式为例,展示如何根据目标检测的box坐标,将目标轮廓从图片中分割出来生成对应的mask
代码如下:

import torch
import numpy as np
import cv2
from segment_anything import sam_model_registry, SamPredictor, SamAutomaticMaskGenerator
from PIL import Image
import os
import sysdevice = "cuda" if torch.cuda.is_available() else "cpu"
sam_checkpoint = "sam_vit_l_0b3195.pth"
model_type = "vit_l"sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)
sam.to(device)imagepath = 'image.jpg'
labelpath = 'label.txt'
combine = np.zeros([256, 256])
if os.path.getsize(labelpath) > 0:with open(labelpath, 'r') as f:labels=f.readlines()boxes = []for labeldata in labels:parts = labeldata.strip().split()x_center, y_center, w, h = (float(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]))gtx1 = int((x_center - w / 2) * 256)gty1 = int((y_center - h / 2) * 256)gtx2 = int((x_center + w / 2) * 256)gty2 = int((y_center + h / 2) * 256)boxes.append([gtx1, gty1, gtx2, gty2])image = cv2.imread(imagepath)image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)predictor = SamPredictor(sam)predictor.set_image(image)for box in boxes:masks, scores, logits = predictor.predict(point_coords=None,point_labels=None,box=np.array(box),multimask_output=True,)mask = masks[scores[0].argmax()]combine[np.where(mask==1)]=1mask_output_path = 'mask.png'
mask_img = Image.fromarray(combine.astype(np.uint8))
mask_img.save(mask_output_path)

3.2代码说明

代码整体逻辑为:

  1. 首先判断label文件是否为空,如果为空说明图片不包含目标,则生成一个全0的mask
  2. 如果不为空,则读取label的box信息,以box为提示,调用segment-anything对图片进行分割,上述代码假设目标只有1类,所以将目标区域填充为1,此处可根据需要进行修改;
  3. 最后生成的mask,背景区域灰度值为0,目标区域灰度值为1,所以直接打开mask图片无法看到分割出的目标,如需可视化需要另做一些简单的图像处理

调用segment-anything的注意事项:

  1. segment-anything不支持直接输入box的列表,所以上述代码做了一个循环,循环输入box;
  2. predictor.predict_torch方法据说可以接受多个box,但是经过实际测试,发现分割出的目标位置有所偏离,目前不知是什么原因。
http://www.dtcms.com/a/591932.html

相关文章:

  • 做网站搭建服务器要多少钱域名和网址是什么关系
  • 品牌型网站建设理论产品展示小程序
  • 域名购买服务商网店关键词怎么优化
  • 中建招聘网站网站建设找金手指排名
  • 品牌网站定制贵阳品牌网站建设公司
  • 快速做网站公司报价免费模板网站建设
  • 做网站即墨免费做彩页网站
  • 网站后台怎么做超链接广州企业网站制作推广运营
  • 玉林博白网站建设房地产网站模板库
  • 详情页模板 套用关键词排名优化提升培训
  • 企业是做网站还是做微信定制开发企业
  • 响应式网络网站源码网站建设课程设计报告php
  • 保山市住房和城乡建设局门户网站crm开发
  • 个人网站做影视自助免费建网站
  • 广州市企业网站建设平台成都犀牛网站建设
  • 做网站都需要什么人团苏州外贸网站建站
  • 卡地亚手表官方网站查询管理学习网站
  • 有做敦煌网站的吗长沙公司网站制作
  • 网站推广存在的问题营销型企业网站的建设步骤
  • 郑州网站建设一汉狮网络网络策划书一般包括哪些内容
  • 东莞家居网站建设北京12345微信公众号
  • 网站站点管理wordpress download
  • 什么网站有高端定制案例app软件制作网站
  • 石家庄做网站最好的公司哪家好怎么建网站做淘宝客
  • 建设网站企业网银登录建设短视频网站
  • 福州网站建设教程视频网站群发软件
  • 网站上传不了一起做网店17
  • 企业网站建设兴田德润很赞遵义网站建公司
  • 网站建设來选宙斯站长免费开店的平台有哪些
  • 专业的盐城网站开发泉州专业网站建设公司哪家好