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

免费自助设计网站北京怎么做网站

免费自助设计网站,北京怎么做网站,天津做网站找津坤科技,wordpress网站投放广告实例分割、语义分割和 SAM#xff08;Segment Anything Model#xff09; 都是图像处理中的重要技术#xff0c;它们的目标是通过分割图像中的不同对象或区域来帮助识别和分析图像#xff0c;但它们的工作方式和适用场景各有不同。 1. 语义分割#xff08;Semantic Segme…实例分割、语义分割和 SAMSegment Anything Model 都是图像处理中的重要技术它们的目标是通过分割图像中的不同对象或区域来帮助识别和分析图像但它们的工作方式和适用场景各有不同。 1. 语义分割Semantic Segmentation 目标: 语义分割的目的是将图像中的每个像素归类到某一个类别中不区分同类中的不同个体。特点: 语义分割只关心“类别”而不关心图像中有多少个对象。换句话说如果图像中有多辆车它们都被归类为“车”但不会区分不同的车。应用场景: 自动驾驶中的道路、建筑物、行人分割医学图像中的器官分割。 例子: 在城市街景中语义分割会将所有的树木标记为同一个类别“树”所有的道路标记为“道路”而不会区分某一棵树或某一段路。 2. 实例分割Instance Segmentation 目标: 实例分割不仅要将每个像素归类到某个类别还要区分同类中的不同个体。特点: 实例分割可以同时进行物体检测和像素级的分割。例如它不仅会检测图像中的车还会为每辆车生成单独的掩码从而区分同一图像中的不同车辆。应用场景: 实例分割常用于自动驾驶、增强现实AR、机器人视觉、视频监控等领域在这些场景中需要区分同类物体的不同个体。 例子: 在同样的城市街景中实例分割不仅会识别“车”这个类别还会区分每一辆车。 3. SAMSegment Anything Model 目标: SAM 是一种通用的分割模型旨在实现“一切的分割”。它结合了语义分割和实例分割的能力但更加灵活。特点: SAM 能够在提供提示如边界框、点的情况下进行精确的分割而无需针对特定任务或类别进行专门训练。这意味着你可以通过简单的提示如边界框、点击目标来触发分割操作无论图像中是什么物体SAM 都可以尝试分割。应用场景: SAM 可以在任何需要分割的场景下应用尤其适用于需要用户交互的场景如图像标注、医疗图像分析、用户定制分割等。它能够分割新类别的物体而不依赖于预先定义的类别。 例子: SAM 可以根据给定的边界框分割出手、车、动物等而不需要事先知道物体的类别。用户也可以通过点选某些区域来生成物体的分割掩码。 主要区别 类别和个体的区分: 语义分割: 只关心类别所有属于同一类别的物体都会被统一处理不区分个体。实例分割: 不仅分割类别还区分每个个体即使是同一类别的物体也会生成单独的掩码。SAM: 可以基于提示如点、边界框分割任意物体具有更大的灵活性不局限于某一特定类别或预先定义的任务。 应用场景: 语义分割: 适合场景分类和大范围的物体分割如识别整个场景中的类别。实例分割: 适合需要区分多个同类物体的场景如自动驾驶中的行人、车辆检测。SAM: 适合任意分割任务可以应对未知类别和灵活的用户交互需求。 灵活性: 语义分割和实例分割通常依赖于预先定义的类别或特定任务进行训练。SAM 是一种通用分割工具能够根据用户的提示分割出几乎任何类型的物体无需预先训练。 小结 语义分割 是针对类别的分割适用于大范围的场景分析。实例分割 通过区分同类个体提供更精细的对象分割。SAM 则是一种通用分割工具灵活且不局限于特定类别和任务。 首先我们写一段简单的代码来看一下语义分割语义分割就是可以把具体的某个像素点分给某个物体而不是像目标检测一样用一个框标出 import torch from torchvision import models, transforms from PIL import Image import matplotlib.pyplot as plt# 加载预训练的DeepLabV3模型 model models.segmentation.deeplabv3_resnet101(pretrainedTrue).eval()# 图像预处理 preprocess transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ])# 加载图像 image_path path/000000000257.jpg # 替换为你的图片路径 image Image.open(image_path) input_tensor preprocess(image).unsqueeze(0)# 执行语义分割 with torch.no_grad():output model(input_tensor)[out][0] output_predictions output.argmax(0) # 获取每个像素的类别# 将分割结果可视化 plt.figure(figsize(10, 5))# 显示原图 plt.subplot(1, 2, 1) plt.imshow(image) plt.title(Original Image)# 显示语义分割结果 plt.subplot(1, 2, 2) plt.imshow(output_predictions.cpu().numpy()) plt.title(Semantic Segmentation) plt.show()把物体和背景有效进行区分了 实例分割 import torch from PIL import Image from torchvision import models, transforms import matplotlib.pyplot as plt import cv2 import numpy as np# 加载预训练的Mask R-CNN模型 model models.detection.maskrcnn_resnet50_fpn(pretrainedTrue).eval()# 图像预处理 preprocess transforms.Compose([transforms.ToTensor(), ])# 加载图像 image_path path/000000000257.jpg # 替换为你的图片路径 image Image.open(image_path) input_tensor preprocess(image).unsqueeze(0)# 执行实例分割 with torch.no_grad():output model(input_tensor)# 获取分割掩码 masks output[0][masks].cpu().numpy() boxes output[0][boxes].cpu().numpy()# 可视化边界框和实例掩码 image_cv cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) for i in range(len(masks)):mask masks[i, 0] # 获取掩码mask cv2.resize(mask, (image_cv.shape[1], image_cv.shape[0])) # 将掩码调整为与原图大小一致# 将掩码叠加到图像上image_cv[mask 0.5] [0, 0, 255] # 红色掩码# 绘制边界框box boxes[i].astype(int)cv2.rectangle(image_cv, (box[0], box[1]), (box[2], box[3]), (255, 0, 0), 2) # 蓝色边框# 显示结果 plt.imshow(cv2.cvtColor(image_cv, cv2.COLOR_BGR2RGB)) plt.title(Instance Segmentation (Mask R-CNN)) plt.show()当然小编这里导入的语义分割和实例分割的模型差异导致了识别也有差异 SAM import matplotlib.pyplot as plt import numpy as np from ultralytics import YOLO from PIL import Image import cv2 from segment_anything import SamPredictor, sam_model_registry# 加载图像 image_path rF:/photos/photo_1.jpg # 替换为你的图片路径 image Image.open(image_path)# 将图像转换为 OpenCV 格式以便显示 image_cv cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)# 加载 YOLO 模型 yolo_model YOLO(F:/科研学习/yolo系列params/v10/YOLOv10x_gestures.pt) # yolo_model YOLO(F:/科研学习/yolov11/yolov11/yolov11/资料/模型文件/yolov8n.pt) yolo_results yolo_model(image)# 加载 SAM 模型 sam_model sam_model_registry[vit_l](checkpointC:/Users/张佳珲/Downloads/sam_vit_l_0b3195.pth) predictor SamPredictor(sam_model)# 将整个图像传递给 SAM 模型 predictor.set_image(np.array(image)) # 传递整个图像# 遍历 YOLO 检测结果并绘制边界框 for result in yolo_results:if len(result.boxes) 0: # 检查是否有检测到物体boxes result.boxes.xyxy # YOLO 边界框for box in boxes:# 画出 YOLO 边界框 (蓝色)x1, y1, x2, y2 map(int, box)cv2.rectangle(image_cv, (x1, y1), (x2, y2), (255, 0, 0), 2) # 蓝色框代表 YOLO 的检测# 使用 SAM 模型预测分割掩码masks, _, _ predictor.predict(boxnp.array([x1, y1, x2, y2]), multimask_outputFalse)# 获取掩码并直接叠加到原图上mask masks[0] # 使用第一个掩码mask_uint8 mask.astype(np.uint8) # 将布尔掩码转换为 uint8 类型# 调整掩码大小为与原图一致并直接叠加到原图上mask_resized cv2.resize(mask_uint8, (image_cv.shape[1], image_cv.shape[0]), interpolationcv2.INTER_NEAREST)image_cv[mask_resized 1] [0, 0, 255] # 红色表示分割区域# 使用 Matplotlib 显示 YOLO 边界框和 SAM 分割的对比 fig, ax plt.subplots(1, 1, figsize(10, 10))# 显示叠加了 SAM 掩码和 YOLO 边界框的原图 ax.imshow(cv2.cvtColor(image_cv, cv2.COLOR_BGR2RGB)) ax.set_title(Original Image with SAM Segmentation and YOLO Bounding Box)plt.show()
http://www.dnsts.com.cn/news/72833.html

相关文章:

  • 重庆网站建设方案详细方案网站注册怎么做屏蔽过滤
  • wordpress 统计分析深圳网站优化团队
  • 做字体特效的网站北京php网站建设
  • 网站架构设计师月薪多少修改wordpress标签大小
  • 怎么建设淘宝客网站公共服务标准化建设
  • 购物网站的英文企业如何做好网站运营管理
  • 企业网站怎么维护网络营销推广渠道
  • 全球最大设计网站哪里有制作网站
  • 设计师浏览网站thinkphp制作网站开发
  • 有人找做网站的wordpress 随机显示
  • 国外设计网站pinterest网址wordpress私有网盘
  • 创意品牌网站怎么做一键添加信任网站
  • 企业网站建设属于什么费用网站 例
  • 站长全网指数查询wordpress飘雪插件
  • 厦门安能建设公司网站属于网页制作工具
  • 848给我做一下88网站企业开发软件公司拓展方案
  • 网站推广推广网站手机版方案
  • 眼镜网站怎么做wordpress搬家缩略图都没
  • 嘉兴网站建设有前途吗在成都如何找到做网站的公司
  • 网站建设与管理课程标准wordpress编辑器商品模板
  • 如何更改网站模板好的摄影网站
  • 企业网站建设方案包含十大购物网站排名
  • 合肥做企业网站的网络公司wordpress快速开发
  • 网站开发 文件上传慢qq刷赞网站推广全网
  • 百度不收录的网站wordpress判断文章id
  • 西安建设网站首页微博营销的方法和手段
  • 国家高新技术企业申报时间合肥优化网站
  • seo网站优化推广怎么做视频怎么转wordpress
  • 厦门市建设与管理局 官方网站新手做网站
  • 厦门网站开发公司学生个人网页设计主题