![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
文章平均质量分 71
ACE-Mayer
这个作者很懒,什么都没留下…
展开
-
jupyter notebook中显示图片的一种方法
如下:%%html<img src='autoimg.jpg', width=400, height=240>其它方法,调用图像处理的三方库进行显示,例如例如常用的PIL、opencv、matplotlib、scikit-image等等。原创 2021-06-17 16:17:16 · 2510 阅读 · 0 评论 -
GoogleNet总结
目录(1)GoogleNet(InceptionV1)(2)GoogleNet中的结构单元(3)InceptionV2(BN-Inception)(4)InceptionV3(分解卷积)(5)InceptionV4,Inception-ResNet(1)GoogleNet(InceptionV1)GoogleNet是用以上的结构单元搭建的,含有两个辅助输出分支。训练时,辅助输出的结果也按一定比例加到损失函数中,而推理时则只留主输出,去掉辅助输出分支后,网络计算量大大降低。辅助输出分支的存在提高了网络训练原创 2021-04-12 11:17:50 · 379 阅读 · 0 评论 -
感受野知识点总结
VGG论文中提出的几个结论:原创 2021-04-11 15:26:26 · 434 阅读 · 0 评论 -
onnx2caffe:KeyError: ‘broadcast‘
onnx的 opset version> = 7的gemm函数已经去掉了broadcast参数,而onnx2caffe的_operaters.py文件中是按照opset version< 7的方式进行的转换,所以如果你的onnx版本比较新的话就会报如题所示错误,解决方法:将含有这个参数的判断条件中的相关条件去掉即可,例如:if node.attrs["broadcast"] != 1 or node.attrs["transB"] != 1:直接修改为:if node.attrs["t原创 2021-04-08 16:31:08 · 508 阅读 · 0 评论 -
tensorflow2.2中定义的ResNet和ResneXt中的bottleneck结构
目录1、论文中提出的ResNet网络结构2、tensorflow中的三种ResNet或ResNeXt结构单元2.1、第一种结构单元2.2 第二种结构单元2.3 第三种结构单元1、论文中提出的ResNet网络结构tensorflow的Keras高级API中定义了50,101和152层的ResNet和ResNeXt,其中的bottlenect结构的实现在后面介绍。ResNet论文中提出的50,101和152层结构如下图所示:可以发现,ResNet网络结构中的五个stage分别将feature map尺原创 2021-04-05 17:29:58 · 1312 阅读 · 1 评论 -
记录Ubuntu18.04-cuda10.1-opencv4配置caffe过程
目录1、安装前环境2、准备工作2.1 必要依赖2.2 安装python3-numpy2.3 安装HDF53、安装caffe3.1 下载caffe3.2 编辑Makefile.config3.2.1 取消下面几行注释3.2.2 修改Python版本3.2.3 CUDA_ARCH修改3.2.4 将以下几行注释去掉,并修改值为13.2.5 opencv4相关的修改3.3 进行编译4、测试5、编译pycaffe1、安装前环境cuda10.1Ubuntu18.04Python==3.7opencv42原创 2021-04-02 16:16:18 · 1226 阅读 · 5 评论 -
Pytorch中loss计算解析
下面是一段Pytorch分类案例代码:running_loss = 0.0running_corrects = 0# Iterate over data.for inputs, labels in dataloaders[phase]: inputs = inputs.to(device) labels = labels.to(device) # zero the parameter gradients optimizer.zero_grad() # forward #原创 2021-03-28 16:52:41 · 829 阅读 · 0 评论 -
yolov4中的route和shortcut层
1、shortcut层shortcut层的输入层一般是两个(目前还没出现多余两个的情况),实现两个张量相加,例如:对应的cfg文件中的层为:#4[convolutional]batch_normalize=1filters=64size=1stride=1pad=1activation=mish#5[convolutional]batch_normalize=1filters=32size=1stride=1pad=1activation=mish#6[convol原创 2021-03-23 23:00:58 · 2502 阅读 · 1 评论 -
修改pytorch和Keras预训练模型路径
目录1、Pytorch预训练模型路径修改2、Keras修改预训练模型位置1、Pytorch预训练模型路径修改Pytorch安装目录下有一个hub.py,改文件指定了预训练模型的加载位置。该文件存在于xxx\site-packages\torch,例如我的存在于“C:\ProgramData\Miniconda3\Lib\site-packages\torch”。打开hub.py文件,找到load_state_dict_from_url函数,其中第二个参数model_dir用于指定权重文件路径:mod原创 2021-03-23 16:16:46 · 1060 阅读 · 0 评论 -
特征金字塔网络总结
CV方向的特征金字塔经历了Featurized image pyramid、Single feature map、Pyramidal feature hierarchy和Feature Pyramid Network(YOLOv3)发展过程。到目前,涌现出了像GFM(ThunderNet)和EFM(CSPNet)等表现更优秀的特征金字塔模型....原创 2021-03-21 10:12:25 · 3014 阅读 · 0 评论 -
CSPNet论文笔记
论文地址:https://arxiv.org/pdf/1911.11929.pdf开源代码:https://github.com/WongKinYiu/CrossStagePartialNetworks作者提出Cross Stage Partial Network (CSPNet)来降低网络架构所需的算力。神经网络的计算量大很大程度上是由于在网络优化过程中出现的重复梯度信息导致的。作者提出的网络架构可以在降低约20%准确度的情况下维持和原网络架构相同甚至高于原网络架构的准确度。CSPNet这种架构思想原创 2021-02-07 13:25:54 · 690 阅读 · 2 评论 -
tensorflow models安装记录
目录1、下载models源码2、下载、安装protoc,并进行编译2.1 下载、安装protoc2.2 编译proto文件3、添加环境变量4、切换到models/research路径,进行编译和安装tensorflow自1.0版本起,models就被单独拿出来作为一个独立模块。tensorflow的github库中存在两个部分,tensorflow是我们常用的框架源码部分,而models则是其扩展模块部分,需要单独进行安装。models模块收集了研究者们提出的很多优秀的网络模型,包括但不限于计算机视觉方向原创 2020-11-26 22:03:55 · 912 阅读 · 0 评论 -
Keras 提示找不到该层ValueError: No such layer: conv2d_589
最近又用keras做了个迁移学习的任务,在设置输出层的时候出现了如题所示错误,明明我是根据打印出来的各层的name确定的输出层,怎么会没有该层呢,后来发现,每运行一次,layer.name值都会改变。建议以后用各层的index来替代各层的name:outputs=base_model.layers[22].output...原创 2020-11-26 15:55:56 · 2493 阅读 · 2 评论 -
Ubuntu18.04安装nvidia-docker报错:gpg: 找不到有效的 OpenPGP 数据。
这几天在公司两台服务器上安装nvidia-docker总是报错gpg: 找不到有效的 OpenPGP 数据。记得以前在自己的电脑上安装,也是Ubuntu18.04,并没有报这个错误。在网上有人说原因如下:原因在于distribution=$(. /etc/os-release;echo IDIDIDVERSION_ID)会获取当前系统的release版本然后构建地址从nvidia的仓库中获取源,而nvidia的仓库中没有,https://nvidia.github.io/nvidia-docker/ub原创 2020-11-16 15:41:47 · 1416 阅读 · 6 评论 -
tf.where()详解
目录函数介绍函数介绍tf.where()返回一个布尔张量中真值的位置。对于非布尔型张量,非0的元素都判为True返回的是二维张量,第一个维度的数量,即行数表明有多少个为True值;同一行中的数据代表该True值在原张量中的位置。举几个例子:test_a=tf.constant([[1,2,3],[0,0,6]])tf.where(test_a)输出:test_a=tf.constant([[1,-2,-5],[0,0,6]])tf.where(test_a)输出:test_a=原创 2020-11-14 16:10:07 · 14717 阅读 · 0 评论 -
VOC、YOLO、VIA、KITTI等数据标注格式解析
目录VOCYOLOVIAKITTIVOCVOC的全称是Visual Object Classes,第一届PASCAL VOC举办于2005年,然后每年一届,于2012年终止。VOC标注文件是xml文件内容如下:<?xml version="1.0" encoding="utf-8"?><annotation> <folder>VOC2007</folder> <filename>test100.mp4_3380.jpeg&原创 2020-10-22 21:06:58 · 3144 阅读 · 1 评论 -
python将列表保存到txt
直接上代码:l=["A","B","C","D"]f=open("k1.txt","w")f.writelines(l)f.close()# 输出样式:ABCDl=["A","B","C","D",1,2,3]f=open("k2.txt","w")f.write(str(l))f.close()# 输出样式:['A', 'B', 'C', 'D', 1, 2, 3]l=["A","B","C","D"]str = '\n'f=open("k3.txt","w")f.writ原创 2020-10-20 17:51:59 · 16412 阅读 · 4 评论 -
KITTI数据集介绍
目录1、KITTI数据集概述2、kitti数据采集平台3、Kitti数据集标注格式参考文献:1、KITTI数据集概述KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场原创 2020-10-19 20:18:58 · 2055 阅读 · 0 评论 -
DIGITS安装及服务部署
目录1、本地安装方法(1)1.1 直接apt安装:1.2 运行digits2、本地安装方法(2)2.1 下载digits2.2 安装依赖2.3 运行digits3、下载官方digits的docker镜像3.1 拉取镜像3.2 创建容器3.3 运行digits4、digits服务使用1、本地安装方法(1)前提是已安装CUDA和Caffe等深度学习框架1.1 直接apt安装:sudo apt-get updatesudo apt-get install digits容易因为各种原因导致安装不上,多原创 2020-07-29 22:30:07 · 490 阅读 · 0 评论 -
JupyterLab on JupyterHub(JupyterLab+JupyterHub)(JupyterLab JupyterHub)
目录1、安装Jupyeter Lab和Jupyter Hub2、配置Jupyter Hub配置文件不管是Jupyter Notebook还是Jupyter Lab,都是只支持单用户的使用场景,作为一个可交互的web服务,所有用户都在同一个目录下操作(甚至同时在编辑同一个脚本),多数情况下很不方便。为了解决这个问题,于是Jupyterhub应运而生。但是当我们把Jupyterhub安装,启动服务后默认确实JupyterNoteBook,如何换成JupyterLab呢?1、安装Jupyeter Lab和J原创 2020-07-01 17:08:25 · 3177 阅读 · 3 评论 -
Canny边缘检测算法原理及其OpenCV实现
目录1、简介2、Canny边缘检测算法主要步骤2.1 图像平滑2.2 计算梯度及其方向2.3 非极大值抑制2.3.1 插值法2.3.2 简化方法2.4 双阈值检测3、Opencv实例1、简介Canny边缘检是Canny在1986年提出来的,目前仍是图像边缘检测算法中最经典、先进的算法之一。2、Canny边缘检测算法主要步骤2.1 图像平滑使用高斯滤波器,完成图像平滑,滤除噪声;2.2 计算梯度及其方向利用soble算子、Prewitt算子、Roberts算子等计算图像中每个像素点的梯度强原创 2020-06-19 15:35:07 · 5032 阅读 · 0 评论 -
Keras和TensorFlow设置GPU及其使用率
目录Keras和TensorFlow设置GPU及其使用率1、TensorFlow1.1指定GPUKeras和TensorFlow设置GPU及其使用率本文讲一下深度学习框架Keras和Tensorflow如何指定GPU训练,及如何设置训练任务占用的GPU内存。本文分两部分讲,先讲TensorFlow,再讲Keras。1、TensorFlow1.1指定GPUKerasimport tensorflow as tffrom keras.backend.tensorflow_backend impo原创 2020-06-11 14:21:08 · 2893 阅读 · 1 评论 -
YOLOv4环境配置
2020年4月24日,YOLOv4开源了,可谓速度与精度的完美结合(但笔者认为,这也要视具体场景而定),来张AB大神的论文图先:本文主要介绍YOLOv4的环境配置。本文的适应环境:Ubuntu18.04cuda10.0cudnn7.5opencv4.11、安装CUDA和CUDNN这部分网上教程很多,可以参考以下博客:(1)安装tensorflow GPU版本–tensorflo...原创 2020-05-06 11:03:56 · 7188 阅读 · 3 评论 -
Ubuntu安装opencv4
1、获取opencv安装包:可以百度云盘搜索,也可以用git clone的方法:#获取opencv源码git clone git@github.com:opencv/opencv.git#获取opencv_contrib源码,根据自己需要,可以不安装git clone git@github.com:opencv/opencv_contrib.git 2、安装依赖库sudo apt-...............原创 2020-04-30 18:20:00 · 3398 阅读 · 2 评论 -
ubuntu安装opencv 解决ippicv下载问题:ippicv_2019_lnx_intel64_general_20180723.tgz
解决办法:离线下载后手动安装第一步,下载ippicv_2019_lnx_intel64_general_20180723.tgz百度云盘链接: https://pan.baidu.com/s/1eyG7mqKLY6CvUQdh7CbUgA 提取码: 1miu第二步,修改opencv安装包解压文件夹下’3rdparty/ippicv/ippicv.cmake’配置文件按以下内容进行修改。#...原创 2020-04-30 17:24:21 · 2728 阅读 · 0 评论 -
搭建远程jupyter lab的三种方法
Jupyter Lab不用详细介绍了,真的是一神器。在远程服务器上搭建jupyetr lab服务后,就可以利用远程服务器的计算资源和开发环境在本地进行相应开发。本文介绍一下搭建远程jupyter lab服务的三种常用方法:方法一:最便捷的方法现在远程服务器上开启jupyter lab服务,并通过port参数指定端口,例如我这里打算通过9000这个端口访问远程服务器的jupyter lab服务:...原创 2020-04-29 15:33:26 · 7706 阅读 · 0 评论 -
调用pb格式模型进行inference
直接上代码吧:pb_path = 'model.pb'with tf.Session() as sess: with gfile.FastGFile(pb_path, 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) tf.import_gr...原创 2020-04-24 17:32:10 · 1277 阅读 · 0 评论 -
tensorflow保存为pb格式模型
保存模型if i % 200 == 0: print("After %d training step(s), loss on training batch is %g." % (step, loss_value)) saver.save(sess, os.path.join(MODEL_SAVE_PATH, MODEL_NAME), global_step=global_step...原创 2020-04-24 17:28:06 · 836 阅读 · 0 评论 -
显示pb模型中节点的详细信息
import tensorflow as tffrom tensorflow.python.framework import graph_utilimport argparsetf.reset_default_graph() # 重置计算图def network_structure(args): args.model="model.pb" model_path = a...原创 2020-04-24 15:08:41 · 1060 阅读 · 0 评论 -
pb深度学习模型可视化工具netron安装及使用
安装pip install netron使用方法import netronmodelPath = "model.pb" #给出pb模型路径netron.start(modelPath)运行后,会打开浏览器将模型网络结构显示出来:原创 2020-04-24 14:52:53 · 2895 阅读 · 0 评论 -
python str.strip()用法
str.strip()就是把字符串str的头和尾的空格,以及位于头尾的\n \t之类给删掉。另外两种类似的方法lstrip()和rstrip(),分别是只删左侧的和只删右侧的。原创 2020-04-21 19:35:36 · 2352 阅读 · 1 评论 -
理解os.walk()
os.walk()是一个经常用到的文件、目录遍历方法,可以帮助我们处理文件、目录方面的事情,获得目标文件夹下所有的目录名和文件名。首先明确,对某一文件夹用os.walk()方法遍历时会返回多少个结果:假如目标文件夹为./man-women,该文件夹下有两个子文件夹:./man-women/man和./man-women/women,那么用os.walk()方法遍历./man-women文件夹时...原创 2020-04-19 21:20:07 · 447 阅读 · 0 评论 -
seaborn.heatmap配合matplotlib画图
注意一点,定义好了sns.heatmap()格式后,再利用ax.set_xticklabels()或ax.set_xticks()等方法修改坐标轴或字体的显示样式。def ShowHeatMap_mic(matrix,labels): colormap = plt.cm.RdBu ylabels = labels f, ax = plt.subplots(figsize=...原创 2020-04-12 14:24:06 · 835 阅读 · 0 评论 -
python:图片数据矩阵的不同维度进行翻转
实现方法利用numpy数组操作方法:原图:上下颠倒:image = image[::-1,:,:]效果展示:左右颠倒:image = image[:,::-1,:]效果展示:RGB颠倒:image = image[:,:,::-1]效果展示:有点童话世界的感觉!...原创 2020-04-07 16:03:25 · 1497 阅读 · 0 评论 -
解决“import win32api; ImportError: DLL load failed: 找不到指定的程序”问题
这几天重新装了python以及一些三方库,发现在启动jupyter notebook以及spyder时总是出错,jupyter notebook报出如题所示错误,而spyder则是连接不上内核,网上搜了一下,原来是pywin32这个包的版本的原因,把pywin32降到223就不会有以上报错了:pip install pywin32...原创 2020-04-06 11:47:25 · 3423 阅读 · 2 评论 -
opencv读取本地图片并转化为内存二进制数据
import cv2from PIL import Imageimport numpy as npimport ioimport osimg_dir = './images/'filename_list = os.listdir(img_dir)print(filename_list)if len(filename_list) > 0: img_paths = im...原创 2020-04-04 19:17:06 · 2070 阅读 · 0 评论 -
python判断文件夹是否为空以及其中的文件是否存在指定文件类型
import osfile_dir = 'D:/images/'files_list = os.listdir(file_dir)files=[]n=0if len(files_list) > 0: print("当前文件夹不为空!!!") print(files_list) for k in files_list: print(k) ...原创 2020-04-04 16:53:19 · 3974 阅读 · 0 评论 -
导出已安装的python三方包及版本信息
有时候,实在没办法了,我们可能会碰到重装python的情况,这个时候我们需要把原来的三方包重新装一遍,如果不事先将这些三方包的信息保存下来,很难将原来的三方包装全,用以下命令可以导出已安装的三方包信息(例如将这些信息导入到D盘):pip list --format freeze > d:/requirements.txt...原创 2020-04-03 15:19:35 · 1766 阅读 · 0 评论 -
opencv读取中文路径图片的解决办法
最近做一个开源项目,偶尔会出现读入图片为空的情况,导致后面程序报错,而且这个情况一直存在。后来发现竟然是路径中含有中文,解决方法如下:def cv_imread(file_path): cv_img = cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1) return cv_img...原创 2020-03-31 13:54:44 · 1617 阅读 · 0 评论 -
python 等待一定时间后继续执行后面的代码
实现这个功能只要使用time模块的sleep()就够了sleep()注释:括号内为要让程序等待的时间长度。举例:import timeprint("-----------------------")time.sleep(10)print("程序等待了10秒")...原创 2020-03-28 10:45:37 · 7550 阅读 · 1 评论