CNN for Semantic Segmentation(语义分割,论文,代码,数据集,标注工具,blog)

          在FCN网络在2104年提出后,越来越多的关于图像分割的深度学习网络被提出,相比传统方法,这些网络效果更好,运算速度更快,已经能成熟的运用在自然图像上。语义分割显然已经是计算机视觉领域的一个热门研究领域,也是通往实现完全场景理解的道路之一,被广泛应用于无人驾驶、人机交互、医疗图像、计算摄影、图像搜索引擎、增强现实等应用领域。语义分割是像素级分类问题,将同一类物体像素点归为一类,如图所示。
左:输入图像,右:输出分割图像
          存在的挑战:1.池化或者卷积步长造成的特征图分辨率减小;2.图像中存在不同尺度的目标;3.错误匹配关系;4.类别混淆;5.类别不明显
          方法:1.dilated convolution;2.图像金字塔;3.编码解码结构;4.级联结构;5.空间金字塔池化。
1.数据集
2D数据集
1.7 Cityscapes
1.8 CamVid 
1.14 SiftFlow
2.5D数据集
1.15 NYUDv2
1.16 SUN3D
1.17 SUNRGBD
3D数据集
2.图像标注工具
2.3 PS
3. Papers
2017
LinkNet
ICNet
DeepLabv3
Mask-RCNN
ERFNet
Large Kernel Matters
2016
Fully-Convolutional Network (FCN)
DeepLab
ENet
PixelNet
RefineNet
PSPNet
FCIS
MultiNet
2015
U-Net
SegNet
DilatedNet
DeepMask
CRFasRNN
Dilated convolution
DeconvNet
MNC
Zoomout Semantic Segmentation
4.Blog
  • 10
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个示例的Python代码,用于对指定类别的labelme标注语义分割数据进行增强: ```python import os import cv2 import numpy as np def semantic_segmentation_augmentation(directory, save_directory, target_class): # 遍历指定目录下的文件 for filename in os.listdir(directory): if filename.endswith(".json"): # 查找以.json结尾的文件 json_file = os.path.join(directory, filename) image_file = json_file.replace(".json", ".jpg") # 将.json替换为.jpg if os.path.isfile(image_file): # 检查对应的图片文件是否存在 # 读取图片文件 image = cv2.imread(image_file) height, width, _ = image.shape # 读取JSON文件并获取标注信息 with open(json_file, 'r') as f: json_data = json.load(f) # 创建空白的语义分割图像 seg_image = np.zeros((height, width), dtype=np.uint8) # 处理每个标注对象 for shape in json_data['shapes']: class_name = shape['label'] if class_name == target_class: points = shape['points'] polygon_points = np.array(points, dtype=np.int32) cv2.fillPoly(seg_image, [polygon_points], 255) # 将增强后的语义分割图像保存到指定目录 save_path = os.path.join(save_directory, filename.replace(".json", ".png")) cv2.imwrite(save_path, seg_image) print(f"语义分割图像保存成功:{save_path}") else: print(f"找不到对应的图片文件:{image_file}") # 指定包含labelme标注文件的目录和保存增强后数据的目录 directory = "path/to/labelme/files" save_directory = "path/to/save/augmented/data" # 指定目标类别名称 target_class = "class_name" semantic_segmentation_augmentation(directory, save_directory, target_class) ``` 你需要将代码中的`"path/to/labelme/files"`替换为包含标注文件的实际目录路径,将`"path/to/save/augmented/data"`替换为你想要保存增强后数据的目录路径,将`"class_name"`替换为你想要增强的目标类别名称。运行代码后,它会遍历目录中的所有.json文件,读取标注信息并创建相应的语义分割图像,然后将增强后的语义分割图像保存到指定目录。 希望这可以帮到你!如果有任何问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值