- 博客(106)
- 资源 (1)
- 收藏
- 关注
转载 self._get_services_status()))RuntimeError: The services status exception:
import jsonfrom nebula2.gclient.net import ConnectionPoolfrom nebula2.Config import Configfrom nebula2.common import *if __name__=='__main__': client =None try: config = Config() config.max_connection_pool_size=2 conn.
2021-11-15 15:01:44
1451
1
原创 COCO格式数据集转pascal_voc数据集格式
import osimport loggingimport argparsefrom xml.dom import minidomfrom pycocotools.coco import COCOimport jsonclass Dataset(): def __init__(self, jsonSrc, annFolder): super(Dataset, self).__init__() self.setLogger() # 设置日志 .
2021-06-12 16:37:05
1470
原创 图像经过仿射变换后分辨率降低
可以尝试一下一下几种插值方法INTER_NEAREST- a nearest-neighbor interpolationINTER_LINEAR- a bilinear interpolation (default)INTER_AREA- resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire’-free results. But ...
2020-12-11 09:51:49
542
转载 Linux下安装配置tensorflow cuda cudnn并运行程序
tensorflow对CUDA和cudnn版本的依赖性很强,就算你这三个都安装成功了,但是版本不匹配,执行程序时还是会报出各种五花八门的错误,下面就来看一下这三个的对应关系:1、要安装 tensorflow-gpu ,需要处理以下几个依赖:按顺序依次为 python、CUDA driver、CUDA toolkit、cudnn;2、conda create -n tf36 python=3.6其中 tf36 是环境名3、CUDA driver 版本nvidia-smi确定自己...
2020-12-03 12:55:46
1127
原创 from torch.hub import HASH_REGEX ImportError: cannot import name ‘HASH_REGEX‘
将model_zoo.py下的5-7行改为:from torch.utils.model_zoo import _download_url_to_filefrom torch.utils.model_zoo import urlparsefrom torch.utils.model_zoo import HASH_REGEX
2020-12-01 11:30:18
1421
原创 根据轮廓坐标得到图形质心
a = seg['segmentation'] b = np.array(a) c = b.reshape(-1,1,2) mu=cv2.moments(c) center_of_mass=[round(mu['m10'] / mu['m00']), round(mu['m01'] / mu['m00'])]
2020-11-28 23:33:44
786
转载 error: (-215) p.checkVector(2, 4) >= 0 in function cv::polylines
错误:OpenCV Error: Assertion failed (p.checkVector(2, 4) >= 0) in cv::polylines, fileC:\projects\opencv-python\opencv\modules\imgproc\src\drawing.cpp, line 2432Traceback (most recent call last): File "deal_seg_test2.py", line 36, in <module>..
2020-10-27 15:59:04
1438
原创 RuntimeError: _th_or not supported on CUDAType for Bool / IndexError: list index out of range(mask)
记一次配使用maskrcnn-benchmark的惨痛经历,因为要用到分割,所以就使用自己的数据集转成coco格式后用maskrcnn-benchmark来训练得到目标的轮廓,但是在运行的过程中报了两个错误,很致命。首先配置好环境,这里我就犯了一个错误,把pytorch版本装的太高了,我用的是pytorch==1.4.0,结果训练的时候报错selected_polygons.append(self.polygons[i])IndexError: list index out of range我查了
2020-10-26 17:05:13
1579
3
转载 empty range for randrange() (0,-15, -15)
报错如下:raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)empty range for randrange() (0,-15, -15)一开始按照网络上的说法修改wokers数量甚至取消,但是没用; 后来发现自己的数据大小是112,但是transfrom的时候随机裁剪尺寸为128,难怪有问题,更改数据增强时的裁剪尺寸即可。...
2020-10-22 14:35:15
2210
原创 使用COCO API评估模型在COCO数据集上的结果(需要的检测结果格式)
https://zhuanlan.zhihu.com/p/134229574
2020-10-18 01:14:33
1378
原创 计算前景区域比例
def compute(): with open('instances_train2019.json') as fid: data = json.load(fid) images = {} for x in data['images']: images[x['id']] = x annotations = {} for x in data['annotations']: annotations[images[x['i.
2020-09-26 20:40:08
298
原创 召回率计算
def recall_k(self, k=1): m = len(self.sim_mat) #self.sim_mat是测试集中所有图像两两结合 ##m为测试集中所有图像个数 match_counter = 0 # self.sim_mat[i] 就是第i张图和所有图像的结合结果,self.sim_mat[i][1],就是第i张和第1张 for i in range(m): pos_sim =...
2020-09-24 09:27:24
1515
原创 使用余弦相似度对图像进行分类
# -*- coding: utf-8 -*-import cv2import numpy as npimport osprint(u'正在处理中')w_fg = 20h_fg = 15picflag = 3def readpic(fn): # 返回图像特征码 fnimg = cv2.imread(fn) img = cv2.resize(fnimg,(800,600)) w = img.shape[1] h = img.shape[0] w_interval =int( .
2020-09-21 16:49:54
1401
2
原创 python 如何使用布尔类型作为索引
只有array格式的数据才有资格使用布尔类型作为索引。import numpy as npx = [2, 10, 2, 1, 5, 11, 9, 1, 1, 9, 1, 3, 1, 2]y = [2, 9, 2, 1, 8, 11, 9, 1, 1, 7, 1, 3, 5, 3]x = np.array(x)y = np.array(y)print(x[x==y])print(x[x!=y])[ 2 2 1 11 9 1 1 1 3][10 5 9 1 .
2020-09-20 09:58:38
1772
转载 评测标准召回率Recall@K的理解与解析
如图:定义总共红色边框为all_negative=5 (负样本)总共绿色边框为all_positive=5(正样本)top-k推荐:从最后的按得分排序的推荐列表中返回前k个结果。Precision准确率是检索出相关结果数与检索出的结果总数的比率,衡量的是检索系统的查准率Recall@K召回率是指前topK结果中检索出的相关结果数和库中所有的相关结果数的比率,衡量的是检索系统的查全率。top1中:召回率 Recall@1=正样本数/all_positive=1/5=0.2准确率 Pr..
2020-09-18 08:49:50
7130
3
原创 配置maskrcnn-benchmark出现ImportError: cannot import name ‘_download_url_to_file‘
解决办法修改 maskrcnn_benchmark/utils/model_zool.py文件里的导入包,改为如下代码:from torch.hub import _download_url_to_filefrom torch.hub import urlparsefrom torch.hub import HASH_REGEX
2020-09-14 08:25:35
3546
1
原创 AttributeError: module ‘torch.jit‘ has no attribute ‘_script_if_tracing‘
更换torchversion版本到0.4.0输入如下命令pip uninstall torchvisionpip install torchvision==0.4.0 -fhttps://download.pytorch.org/whl/torch_stable.html
2020-09-13 23:54:58
10974
3
原创 在linux上求最小外接矩形(踩坑:error: (-215) total >= 0 && (depth == 5 || depth == 4) in function convexHull)
先给出我们要使用的图片,任务是求出左图中白色部分的最小外接矩形 ,最终结果如右图所示。 在windows系统中使用opencv的minAreaRect方法,如下所示,即可完成import cv2import numpy as npimage = cv2.imread('test.png')img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)ret, thresh = cv2.threshold(img, 230,...
2020-09-12 17:10:49
1354
转载 使用opencv的minAreaRect方法生成检测对象的最小外接矩形
1、方法:使用python opencv返回点集cnt的最小外接矩形,所用函数为 cv2.minAreaRect(cnt) ,cnt是点集数组或向量(里面存放的是点的坐标),并且这个点集中的元素不定个数。画一个任意四边形(任意多边形都可以)的最小外接矩形,那么点集cnt 存放的就是该四边形的4个顶点坐标(点集里面有4个点)cnt = np.array([[x1,y1],[x2,y2],[x3,y3],[x4,y4]]) # 必须是array数组的形式rect = cv2.minAre..
2020-09-08 09:08:56
1188
原创 使用nn.Module来管理子模块
一般情况下,我们都很少直接使用 nn.Parameter来定义参数构建模型,而是通过一些拼装一些常用的模型层来构造模型。这些模型层也是继承自nn.Module的对象,本身也包括参数,属于我们要定义的模块的子模块。nn.Module提供了一些方法可以管理这些子模块。 children() 方法: 返回生成器,包括模块下的所有子模块。 named_children()方法:返回一个生成器,包括模块下的所有子模块,以及它们的名字。 modules()方法:返回一个生成器,包...
2020-08-29 00:03:06
627
原创 ImportError: libGL.so.1: cannot open shared object file: No such file or directory
解决方法:sudo apt updatesudo apt install libgl1-mesa-glx
2020-08-11 00:44:51
530
原创 no module named ‘apex‘
1、官方安装方法git clone https://github.com/NVIDIA/apex.gitcd apexpython setup.py install --cuda_ext --cpp_ext2、github上找到的方法(此方法成功了)git clone https://github.com/NVIDIA/apexcd apexpython3 setup.py install...
2020-08-11 00:25:25
8389
2
原创 os库常用方法记录
1、os.rename(name_old, name_new)它可以对路径重命名达到修改文件位置的功效2、os.path.exists(sub_dir_path)判断是否存在文件夹3、os.makedirs(sub_dir_path)创建文件夹,可以创建多级目录4、os.mkdir(sub_dir_path)创建文件夹,只能创建单级目录5、os.walk(’路径‘)它返回一个迭代器,其次,每一层(tuple)有三个元素(list),如下:[([本层目录名],.
2020-07-24 00:31:06
229
原创 (DenseASPP )DenseASPP for Semantic Segmentation in Street Scenes
由于街景的物体差异性大,正确编码对尺度信息的意义上的高级特征是非常困难的。使用扩张卷积(Atrous Convolution)能够在不牺牲特征空间分辨率的同时扩大特征接收野,DeepLab系列工作结合多尺度信息和扩张卷积的特点提出了ASPP模块,将不同扩张率的扩张卷积特征结合到一起。但对于街景分类任务来说,并不能达到很好的效果,所以提出了密集型的ASPP,DenseASPP模型。ASPP模块扩展卷积的出现解决了在特征图尺寸与感受野之间的矛盾问题。多尺度信息有助于解决模糊情况并有助于图像分类。 为此,
2020-07-21 14:35:29
1272
原创 语义分割的小trick
特征图解析度对图像进行连续的下采样会造成图像解析度的下降,会导致两个缺点:1.造成空间信息的损失,造成无法分割细节信息2.与下采样对应,我们需要做连续的上采样,将会增大模型尺寸与计算成本虽然有上面两个缺点,但是语义分割任务下采样是不得不做的,如果不进行下采样,则每次卷积都在原图大小上进行,这将是非常非常大的计算量,这也是为什么deeplab系列只有部分下采样替换为空洞卷积的原因.既然下采样非做不可,那么我们应该如何减小上面两个缺点的影响呢? FCN网络提出了跳跃结构,即不同卷积层次的特征图都用于
2020-07-21 14:16:43
1804
原创 (DFN)Learning a Discriminative Feature Network for Semantic Segmentation
本文提出的判别特征网络(Discriminative Feature Network/DFN)包含两个子网络 Smooth Network 和 Border Network,它有效解决了绝大多数现有语义分割方法面临的类内不一致(intra-class inconsistency)与类间无差别(inter-class indistinction)问题。intra-class inconsistency:类内不一致。这表示一个区域内,有着相同的语义标签,但是预测结果有所不同。(如下图第一行)inter-c
2020-07-14 13:56:38
579
原创 轻量级实时语义分割经典BiSeNet
基于轻量化网络模型的设计作为一个热门的研究方法,许多研究者都在运算量、参数量和精度之间寻找平衡,希望使用尽量少的运算量和参数量的同时获得较高的模型精度。目前,轻量级模型主要有SqueezeNet、MobileNet系列和ShuffleNet系列等,这些模型在图像分类领域取得了不错的效果,可以作为基本的主干网络应用于语义分割任务当中。然而,在语义分割领域,由于需要对输入图片进行逐像素的分类,运算量很大。通常,为了减少语义分割所产生的计算量,通常而言有两种方式:减小图片大小和降低模型复杂度。减小图片大小可以
2020-07-07 14:16:12
2990
1
原创 Fully Convolutional Networks for Semantic Segmentation
图像语义分割,简而言之就是对一张图片上的所有像素点进行分类。通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述(概率),比如分类模型输出一个1000维的向量表示输入图像属于每一类的概率(softmax归一化)。我们分类使用的网络通常会在最后连接几层全连接层,它会将原来二维的矩阵(图片)压扁成一维的,从而丢失了空
2020-06-28 17:53:56
576
原创 VGG、resnet预训练模型下载地址
'alexnet': 'https://download.pytorch.org/models/alexnet-owt-4df8aa71.pth', 'densenet121': 'http://data.lip6.fr/cadene/pretrainedmodels/densenet121-fbdb23505.pth', 'densenet169': 'http://data.lip6.fr/cadene/pretrainedmodels/densenet169-f470b90a4.pt.
2020-06-28 14:13:02
3963
2
原创 解决 batch_sampler option is mutually exclusive with batch_size, shuffle, sampler, and drop_last
因为我再dataloader中传入了drop_last=True,就报错ValueError: batch_sampler option is mutually exclusive with batch_size, shuffle, sampler, and drop_last,看源码发现问题所在,因为参数设置的冲突导致,我设置batch_sampler这个参数,一旦指定了这个参数,那么batch_size,shuffle,sampler,drop_last就不能再制定了(互斥——Mutually exc.
2020-06-22 17:51:04
8930
原创 混淆矩阵验证贝叶斯和逻辑回归分类算法
import matplotlib.pyplot as pltimport numpy as npimport pandas as pddf = pd.read_csv('./data/6_credit.csv')X = df.iloc[:,1:6]#左闭右开y = df['credit']X = np.array(X.values)y = np.array(y.values)from sklearn.model_selection import train_test_splitX_t.
2020-06-14 17:07:16
590
原创 逻辑回归的python实现
梯度下降方法和scikit-learn两种方法预测学生是否被录取,需要数据集的可留言##方法1import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdef sigmoid(z): return 1/(1+np.exp(-z))def predict(theta,X): prob = sigmoid(X*theta.T) return [1 if a>=0.5 else 0 fo.
2020-06-14 16:10:53
224
原创 DANet网络结构代码
α表示尺度系数,初始化为0,并逐渐地学习分配到更大的权重。每个位置的结果特征E,是所有位置和原始位置的加权和。因此它具有全局上下文视图,并能根据空间注意力图有选择地聚合上下文。β表示尺度系数,初始化为0,并逐渐地学习分配到更大的权重。每个通道的结果特征E,是所有通道特征和原始特征的加权和。实现了对特征图之间的长程语义依赖关系建模,有助于提高特征的辨别性。 import numpy as npimport torchimport mathfrom torch.nn im...
2020-06-14 11:59:53
4079
2
原创 Dual Attention Network for Scene Segmentation
该论文提出新型的场景分割网络DANet,利用自注意力机制进行丰富语义信息的捕获,在带有空洞卷积的FCN架构的尾部添加两个并行的注意力模块:位置注意力模块和通道注意力模块。提出背景当前的主流的语义分割网络应该就是空洞卷积和解码器这两个元素的组合。但这两个组件都是利用局部特征(因为卷积操作就是稀疏连接嘛,一次卷积能覆盖特征图全部的信息吗?当然不行啦,所以说是利用局部特征),作者提出两种模块,分别从分辨率维度(spatial)和通道维度来引入全局的信息,将局部特征和全局的依赖性自适应地整合到一起。之
2020-06-14 00:53:46
705
原创 扩张卷积(Atrous 卷积)
空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv。利用添加空洞扩大感受野,让原本3 x3的卷积核,在相同参数量和计算量下拥有5x5(dilated rate =2)或者更大的感受野,从而无需下采样。.
2020-06-09 00:56:18
4911
1
原创 Data-Dependent Decoding Enables Flexible Feature Aggregation
简单的双线性上采样的一个缺点是, 其在准确恢复像素预测方面的能力有限.双线性上采样不考虑每个像素的预测之间的相关性,因为它是数据独立的.
2020-06-08 18:30:41
433
原创 Learning Dynamic Routing for Semantic Segmentation---学习用于语义分割的动态路径
图像语义分割的目标是对每个像素都进行语义分类,它是当前计算机视觉领域最重要、最具挑战性的任务之一。语义分割的问题之一来自于其处理的图像中存在尺寸不一的物体及背景区域,这种尺寸分布的差异给特征表示和关系建模带来了不少困难。传统的解决方法: 设计精巧的模型结构来缓解这种差异,然而无论是人工设计还是基于NAS模型搜索得到的网络,都尝试在单个网络框架中编码所有的像素区域,在现实环境中缺乏对各种尺度分布的适应能力。Introduction本文中,旷视研究院针对语义分割任务提出一个全新的理念:动态路径选择(D
2020-06-07 01:22:10
1997
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人