自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 【论文阅读】LSKNet: Large Selective Kernel Network for Remote Sensing Object Detection

这是南开大学在ICCV2023会议上新提出的旋转目标检测算法,基本原理就是通过一系列Depth-wise 卷积核和空间选择机制来动态调整目标的感受野,从而允许模型适应不同背景的目标检测。1. 目前基于旋转框的遥感影像目标检测算法已经取得了一定的进展,但是很少考虑存在于遥感影像中的先验知识。遥感影像中的目标往往尺寸很小,仅仅基于其表观特征很难识别,如果结合其背景信息,如周边环境,就可以提供形状、方向等有意义的信息。

2023-09-02 21:08:24 8944 10

原创 【论文阅读】Weighted Boxes Fusion(WBF)模型融合原理解读

WBF综合考虑所有模型的输出结果并进行融合,是提升模型效果常用的策略之一。

2023-06-17 17:12:07 1542 2

原创 【论文阅读】Segment Anything(SAM)——可分割一切的CV大模型

本研究开发一个可提示的(promptable)模型,在大型数据集上通过特定的任务对其进行预训练,使之具有很强的泛化性,即能够通过提示(prompt)解决新数据集上的一系列下游分割任务。

2023-06-11 21:48:44 1472

原创 【Triton部署目标检测模型】Linux环境 MMRotate+MMDeploy+Triton 目标检测模型训练、部署及推理最全教程

Triton部署:MMrotate + MMDeploy + Triton Inference Server + Triton client 最全教程!

2022-10-29 15:08:37 3338 1

原创 Python 将rgb的三波段彩色mask转化为0和1的二值图

原始的标注为rgb彩色的mask, 希望将其统一为0和1的二值图下面的代码可以实现将rgb彩色的三波段mask转为单波段的0-1mask:...

2022-01-07 17:16:06 4121

原创 【论文阅读】Concurrent Segmentation and Object Detection CNNs for Aircraft Detection and Identification

这篇论文来自preligens,同时采用了分割和检测算法来实现遥感影像飞机的检测和识别,创造性的将分割和检测两类算法进行了融合,提高了检测识别的精度和效率。一、引言二、方法模型各部分选择的理论基础:(1)改变训练模式会引起模型内部特征提取方式的改变;(2)分割模型非常有效,但是在目标的分割和识别中效果较差;(3)在高分辨率的卫星影像中,飞机的尺寸是有限的。1. 分割的CNN网络分割网络实现的目标:(1)检测飞机(无需识别);(2)获得高的recall(尤其是在位置信息上);(3)鲁棒性强

2021-12-26 10:02:58 1223 1

原创 python-带星号的参数**kwargs

在深度学习模型代码中,经常能看到带星号的参数,如 def __init__(self, in_channels, **kwargs),这类参数和普通参数有什么不同呢?python函数参数定义主要有以下几种形式:1. function(arg1, arg2....)这是最常见的参数定义形式,一个函数可以定义任意数量的参数,每个参数用逗号隔开。在调用时,函数名后的参数个数需要与定义时的数目一致(形参数等于实参数),并且要求顺序一一对应。例如:def fun1(x, y, z): r

2021-12-21 19:52:13 1419 1

原创 Python view()和repeat()函数的用法

前言:今天在看了一套代码,里面多次用到view和repeat函数,暂且记录一下这俩函数的用法吧。>>> import torch>>> x = torch.randn(2,3) # 随机生成2行3列的数组>>> y = torch.ones(4) # 生成长度为4的全1数组>>> xtensor([[-0.5826, 0.2356, 1.5760], [ 0.7678, 0.373

2021-12-21 13:59:08 5336

原创 【论文阅读】Oriented R-CNN for Object Detection

oriented-RPN用于生成高质量的带方向的候选框,oriented R-CNN head用于优化oriented RoIs并对其进行识别

2021-12-17 11:24:19 2442

原创 【论文】RRPN:Arbitrary-Oriented Scene Text Detection

一、引言(1)主要内容本文介绍了一个基于旋转的方法和一个端对端的任意方向的文本检测系统,由于结合了方向信息,该系统可以生成任意方向的候选框。RRPN被用来生成包含文本角度信息的倾斜候选框,这个角度信息随后会被用于边框回归。 旋转RoI(RRoI)可以将任意方向的候选框投影到特征图上。 使用一个两层网络作为最终的文本/背景分类器。(2)创新点使用基于区域建议的方法预测文本的方向信息,并加入了新的结构,如RRoI池化层和旋转候选框的学习。 使用新的策略对任意方向的区域候选...

2021-11-26 12:27:33 1790

原创 【论文】R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection

【总结】以Faster R-CNN为基础:①使用区域建议生成网络RPN生成包围文本的水平边界框;② 对预测出的每一个水平边界框,提取其不同池化尺寸的池化特征,同时利用聚合特征预测文本/非文本得分、水平边界框和最小倾斜框;③利用倾斜非极大值抑制NMS获得最终结果。...

2021-11-26 12:08:24 2357

原创 【论文】ReDet:A Rotation-equivariant Detector for Aerial Object Detection

源码地址:GitHub - csuhan/ReDet: Official code of the paper "ReDet: A Rotation-equivariant Detector fyor Aerial Object Detection" (CVPR 2021)摘要1. 针对的问题航天影像的目标分布方向是任意的,需要更多的参数解码方向信息 普通的CNN不能明确地对方向的变化进行建模,需要大量的旋转增强数据来训练检测器。2. 本文研究内容提出了一个ReDet检测器,明确...

2021-11-16 19:24:45 2455

原创 【论文】DARDet: A Dense Anchor-free Rotated Object Detector in Aerial Images

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 2.读 摘要提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、引言示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、算法1.引入库代码如下(示例):iport numpy a..

2021-11-15 21:07:06 3015

原创 【论文】Learning RoI Transformer for Oriented Object Detection in Aerial Images

RoI Transformer: 将空间转换应用在RoIs上,并通过标注旋转框,监督学习得到转换参数。RoI Transformer是轻量级的。Introduction1. 水平框检测会造成边界框和目标的不一致性,尤其是当目标密集分布时。2. 由于航空影像目标方向的多样性,使用有限方向的RRoIs很难与所有的目标都正确匹配,并且多方向的RRoIs还会造成计算的高度复杂性。3. 空间变换、形变卷积和RoI池化常被用来处理几何变形,并且不涉及标注的旋转边界框。4. 在航空影像中,提取.

2021-11-12 17:19:17 4279 1

原创 conda操作之更新源和删除源

这几天一直在捣鼓服务器,安装软件配置环境等。从conda默认源安装python包简直就是无端的消耗自己的生命。于是,赶紧将conda换到了国内源,并整理了一波conda源相关的操作。注:有的源是不是会断,断了就换一个吧~1. 更新源下面提供了五种国内源,选择其一即可(1)清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --ad

2021-11-11 20:39:03 10529 1

原创 DOTA数据集介绍(论文A Large-scale Dataset for Object Detection in Aerial Images)

HBB:horizontal Bounding Boxes水平边界框OBB:oriented Bounding Boxes倾斜边界框1 introduction(1) 航空影像目标检测与传统目标检测的区别航空影像目标尺寸差异很大 航空影像中很多小目标密集分布,且类别不均衡 航空影像中的目标可能是任意方向的 除此之外,数据集的问题也是航空影像目标检测面临的挑战之一。(2) 主要内容本研究介绍了一个大型的目标检测数据集。该数据集包含了286张来自不同传感器和平台的航空影像...

2021-11-11 14:30:18 10792

原创 Python 快速获取样本标签类别及目标个数

在深度学习目标检测中,常常需要统计样本标签的类别及对应的目标数,使用下面的代码可以快速实现此功能。# coding=utf-8import osimport pandas as pdsample_dir = '../labels/' # 标签文件所在的路径filenames = os.listdir(sample_dir)class_list = []anno_num = 0#遍历文件获得类别列表for filename in filenames: if '.txt'

2021-11-10 08:47:32 3180

原创 【论文】YOLOX: Exceeding YOLO Series in 2021

1. 引言近两年,大多数算法聚焦于anchor-free的检测器、先进的标签分配策略以及端对端(无NMS)的检测。本文旨在通过经验性的改进将这些技术应用在YOLO算法上。 以YOLOv3 (YOLOv3-SPP)为起点,进行对比实验2. YOLOX2.1 YOLOX-DarkNet53(1)基准模型YOLOv3-DarkNet53与原始设置相比,增加了EMA权重更新,cosine 学习率,IoU损失和IoU-aware 分支。 只进行了随机水平翻转、colorJitter,以及多尺

2021-11-10 08:46:48 429

原创 Python DOTA与PASCAL VOC格式标签数据的相互转化

DOTA数据集是遥感影像目标检测的常用标准数据集,其标签文件以txt的形式存储,一个txt对应一张样本影像,txt中的每一行对应影像中的一个目标,每个目标的外围边界框表示为[ x1 y1 x2 y2 x3 y3 x4 y4 label difficult],具体如下所示:PASCAL VOC也是目标检测、图像分割任务中常用的基准数据之一,其样本标签以xml的文件形式存储,每个xml对应一张样本影像,object的边界框坐标信息由顶点坐标值【xmin ymin xmax ymax】表示,具体如下所示.

2021-11-09 14:29:42 1837

原创 Python 批量修改txt、json或xml格式样本标签文件的label字段名称

在进行目标检测或语义分割模型的训练时,我们往往会融合开源数据,但数据集较多就会存在标签不一致的问题,下面的代码可用于修改txt格式标签文件中的label字段:def changeLabel(txt_path, new_txt_path): """ :param txt_path: 原始的标签文件路径 :param new_txt_path: 保存修改后的标签文件的路径 """ filenames = os.listdir(txt_path) for fi

2021-11-08 21:06:28 3402 1

原创 Python 将深度学习目标检测的结果框转化为矢量的shapefile

在遥感影像的目标检测中,我们通常希望将检测结果与原始影像进行叠加,以便查看和分析。最简单的方法就是将检测结果输出成shapefile的形式,下面提供一种基于Python的转换方法import osimport gdalimport geopandas as gpdimport ogrimport osrimport rasterio.featuresimport shapelydef box_list2shp(det_file, img_file, out_shapefile):

2021-11-02 16:41:58 1130 2

原创 Python 两行代码实现shapefile和geojson的相互转化

geopandas是建立在geos, gdal, proj等开源地理空间计算相关框架之上的,旨在简化地理空间数据处理的高效工具包。使用geopandas可快速实现shapefile和geojson的相互转化:import osimport geopandas as gpddef geojson2shp(geojson_file, shp_file): """ 将geojson格式的文件转化为shapefile :param geojson_file: 需要转换的ge

2021-10-30 13:32:06 1094

原创 Python+GDAL 将数组写入栅格tiff文件

在遥感影像处理中,栅格数据往往以数组的形式存储。同理,数组也可以在添加参考系之后以栅格影像的形式表示。这里介绍一种将数组写入栅格tiff文件的方法import gdalimport numpy as npdef arr2raster(arr, raster_file, prj=None, trans=None): """ 将数组转成栅格文件写入硬盘 :param arr: 输入的mask数组 ReadAsArray() :param raster_file: 输

2021-10-30 13:22:00 4678 9

原创 Python shapefile转GeoJson的两种方式

geojson是用json的语法表达和存储地理数据,可以说是json的子集。geojson以键值对的形式保存原有对象的信息,具有轻量化、易解析等优点。geojson包括的地理要素有Point(点)、 MultiPoint(多点)、 LineString(线)、MultiLineString(多线)、 Polygon(面)、 MultiPolygon(多面)、 GeometryCollection(几何集合),更多的geojson相关信息可参考RFC7946...

2021-10-28 22:19:57 2677 1

原创 Python 使用GDAL和rasterio读取栅格数据,并进行仿射变换信息的相互转换

使用gdal可以读取栅格数据,并获取投影及仿射变换信息import sysimport gdaldataset = gdal.Open('./zhuhai.tif')if dataset is None: print('Unable to open *.tif') sys.exit(1)projection = dataset.GetProjection() # 获取投影信息### GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["

2021-10-28 20:14:17 1626 1

原创 Python 使用rasterio将数组按照指定格式写入内存

在进行栅格矢量数据处理时,我们常常需要将数组转化为栅格影像,再对栅格数据进行后续处理,输出最终结果。常见的做法是先在本地磁盘生成栅格数据,再进行处理输出。但是,如果数组转化的栅格数据不是最终结果,存储在磁盘中会浪费空间,且整套代码显得不是很优雅。此时,我们可以利用rasterio的MemoryFile将数据写入内存

2021-10-28 19:13:37 900

原创 Python 深度学习目标检测结果可视化

深度学习目标检测的标签数据是以一系列点的形式存储在文件中,输出结果也是以点的形式表示,难以进行目视判读。本代码可以根据检测结果在原始影像上绘制边界框,实现检测结果的可视化。在OBB的目标检测中,DOTA数据的标签以[x1 y1 x2 y2 x3 y3 x4 y4 class difficult]格式记录在txt文件中,如下所示:标签文件与影像文件的名称一一对应:将标签数据绘制在影像上的可视化代码如下:# -*- coding: utf-8 -*-import os, cv2i.

2021-10-26 22:07:07 2839

转载 Python+GDAL 图像坐标、地理坐标、投影坐标的相互转化

from osgeo import gdalfrom osgeo import osrimport numpy as np def getSRSPair(dataset): ''' 获得给定数据的投影参考系和地理参考系 :param dataset: GDAL地理数据 :return: 投影参考系和地理参考系 ''' prosrs = osr.SpatialReference() prosrs.ImportFromWkt(dataset.Ge.

2021-10-26 21:27:56 5375 2

原创 Python 快速获取文件夹中的所有文件名,并保存到txt文件中

下面的代码可以读取文件夹中的所有文件名,并记录到txt文件中,可以应用到如深度学习制作数据集等场景中# !/usr/bin/env python# -*- encoding: utf-8 -*-import osimg_path = './images/'img_list=os.listdir(img_path)print('img_list: ',img_list)with open('testImagelist.txt','w') as f: for img_name i

2021-10-26 20:47:42 6748 1

原创 Python+ArcPy 基于掩膜文件批量提取栅格影像

在对遥感影像进行处理分析时,往往需要对影像进行裁剪或提取感兴趣区域以减少运算量和处理时间,我们可以采用ArcGIS中的Extract或Clip操作,也可以结合Python和ArcPy对栅格数据进行批量处理。使用同一个掩膜数据文件对多个栅格影像数据进行批量裁剪的操作代码如下:# coding=utf-8import osimport arcpyfrom arcpy import envfrom arcpy.sa import *## 使用掩膜数据对栅格数据进行批量裁剪def mask

2021-10-26 19:59:15 3466 9

原创 Python+ArcPy 对栅格数据进行批量重投影

在对遥感图像进行投影时,常常遇到投影信息不一致的问题,因此需要对数据进行投影转换。采用ArcGIS中Data Management --> Projection and Transformation --> Raster --> Project Raster可以对栅格文件进行逐一投影,但是当文件数量较大时,该操作并不是很方便。因此这里我们采用arcpy将栅格数据批量转换到与shp文件相同的投影。import osimport arcpyarcpy.env.workspac

2021-10-26 18:43:55 3030 5

翻译 Python 使用矢量数据对栅格进行裁剪

参考:GeospatialPython.com: Clip a Raster using a Shapefile1. 主要步骤将矢量的shapefile转化为mask数组; 加载栅格影像数据; 舍弃shapefile边界范围外的所有像元; 将shapefile范围外的所有像元值设置为NODATA; 可选步骤:对影像采用直方图拉伸,便于可视化 将裁剪后的影像保存为新的栅格数据2. 工具GDAL:处理栅格数据 Numpy:大型的多维数组运算 PIL:便于影像与数组的相互转换

2021-10-26 16:47:18 3131 3

原创 Python 计算矢量范围内的栅格均值,并写入新增字段

#!/usr/bin/env python3# -*- coding: utf-8 -*-import osimport geopandas as gpdimport numpy as npimport rasterio as rioimport rasterio.maskdef add_mean_value_field(raster_file, shp_file, out_shp_file): """ 计算矢量图斑范围内的栅格均值并增加字段 :param r.

2021-10-26 14:58:44 1834

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除