自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (3)
  • 收藏
  • 关注

原创 VINS-Course的运行环境版本记录(手写VIO源码跑通)

解决方案:https://blog.csdn.net/wzdnrh/article/details/121438427。ceres-slover-1.14.0(安装它,需要先安装Sophus-1.22.4)就是有好多.so的东西找不到,然后一个一个把它们搬运到 /usr/lib下就可以了。Sophus-1.22.4(安装它,需要先安装fmt-7.0.0)./testCurveFitting 出现的错误以及解决办法。虚拟机中搭建的的Ubuntu20.04。

2024-09-03 15:58:29 335

原创 ORB-SLAM2运行环境搭建

搭建ORB-SLAM2的运行环境

2024-08-05 20:25:13 495

原创 卷积重参数化技术原理

卷积重参数化技术原理解析

2024-08-05 14:59:30 963

原创 RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR错误原因以及解决方法

成功安装了cu11.8,但是torch版本的cu118版本使用安装不成功。最后使用python==3.8,安装成功了如下版本。

2023-04-12 16:28:31 9329 3

原创 图像的坐标变换

由透视矩阵进行坐标转换

2022-07-25 16:41:05 497

原创 Python 实现 pdf转图片 和 图片转pdf

1.所需要的环境和工具包PyMuPDF,reportlab,PILimport osimport sysimport fitzfrom reportlab.lib.pagesizes import portraitfrom reportlab.pdfgen import canvasfrom PIL import Image2. pdf转图片def pdf2img(filename): # 打开PDF文件,生成一个对象 doc = fitz.open(filename) pri

2022-03-03 16:07:25 1949 1

原创 python opencv根据坐标信息绘制矩形框

1.函数封装'''函数描述:对给定的图片和坐标信息在图片上标框,并在框的上方标注出该框的名称函数参数:img_file_path=图片的绝对路径,new_img_file_path=保存后的绝对路径,points=[(str,[b0,b1,b2,b3])]返回值:无返回值注意事项:坐标[b0,b1,b2,b3]依次为左上角和右下角的坐标'''def draw_rectangle_by_point(img_file_path,new_img_file_path,points): ima

2022-02-25 10:46:30 5178 1

原创 python处理json数据

1读取json文件#读取json文件def get_json(json_file): with open(json_file, 'r', encoding='utf-8') as f: res = json.load(f) return res2将字典数据保存成json文件#将字典数据保存为json文件def write_dict_2_josn(path,data_dict): json_data = json.dumps(data_dict, ensu

2022-02-25 09:24:20 342

原创 剑指 Offer 25. 合并两个排序的链表

1.题目输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。题目示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->42.代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x)

2022-02-15 22:29:01 428

原创 剑指 Offer 24. 反转链表

1.题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。题目示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL2.思路直接遍历链表的方法,采用原地反转的思路,直接将当前节点的next指向上一个节点,但是需要注意的是如果直接将当前节点的next的指向指向前一个节点,那么我们就丢失的后续的节点了,所以这里需要先用一个指针将当前节点的下一个节点保存下来。#inclu

2022-02-15 21:16:52 300

原创 力扣5. 最长回文子串

1.题目给你一个字符串 s,找到 s 中最长的回文子串。题目链接示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"2.暴力求解+优化思路:求字符串中的最长回文子串,那么可以拆分成:遍历判断该字符串的所有子串是否是回文串,然后再找出最长的回文子串。这样的做法是暴力求解,基本是会超时的。那么进行一定的优化,在遍历子串时,如果该子串的长度小于目前已知的最长回文子串的长度,那么这个子串就无需判断了,

2022-02-14 17:15:09 751

原创 力扣54. 螺旋矩阵

1.题目给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。题目2.思路这是一道模拟题,按照螺旋的方式遍历二维数组即可。首先需要获取二维矩阵的行列值m、n。然后用一个同样大小的二维矩阵标记螺旋访问时走过的位置,循环遍历按照:1.右移;2下移;3.左移;4上移。.移动时需要判断是否到达边界和该位置是否已经访问过。循环的结束条件可以时移动的次数<m*n。这里的重点是边界判断。代码class Solution {public: vect

2022-02-13 21:13:12 344

原创 剑指 Offer II 007. 数组中和为 0 的三个数

1.题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。链接: 题目.2示例示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]3思路简单点的做法是用3重循环,暴力求解,显然这里时间上肯定是通过不了。那么就得采用

2022-02-13 14:58:57 441

原创 快速排序及其C++代码实现

快速排序1 算法介绍:快速排序属于“交换类排序”,通过多次划分操作实现排序。接下来以升序为例介绍算法步骤。在一趟选择当前序列中的一个关键字(通常是第一个)作为中间轴,将当前序列中比中间轴小的元素移到中间抽左边,比中间轴大的元素移动到中间轴右边;当本趟结束后,当前序列中以中间轴为基准,被划分为两个子序列,左边子序列的元素都不大于中间轴,二右边的子序列的元素则都不小于中间轴。接下来再将这两个子序列分别重复以上步骤。2算法执行流程首先进行第一趟排序;1.在开始是first,last分别指向序列的头元素和

2022-01-19 14:30:27 4021

原创 C++中的set容器自定义排序规则

set 容器的自定义排序默认数据类型1.利用仿函数自定义set容器排序规则重载()运算符class Mycompare{public: bool operator()(int v1,int v2) { return v1>v2; }} ;2.定义对应的set容器进行数据插操作void test01(){ set<int,Mycompare> s2; s2.insert(30); s2.insert(10); s2.insert(20); s

2022-01-14 21:18:13 1157

原创 图像边缘检测与图像梯度的概念

1.图像边缘产生的常见因素两个面的交界处因为图像的深度信息产生不同的颜色之间边界因为影子的产生2.边缘2.1边缘的定义边缘是图像像素值快速变化的地方那么可以用1阶导数的大小表示变化快慢,对于二维函数f(x,y),偏导数为对于离散的数据(比如说图像),那么近似的对x的偏导就可以写成如下:2.2如何用卷积实现对图像求导对图像按x轴方法求导,其实就是用[-1,1]卷积核在图像上进行卷积操作,对图像按y轴方法求导,其实就是用卷积核在图像上进行卷积操作,2.3

2021-12-08 19:57:49 6478

原创 商汤算法岗面试coding环节-用c++实现卷积操作

商汤算法岗面试coding环节

2021-12-06 18:53:42 886

转载 快速理解Focal Loss及其改进

快速理解Focal Loss及其改进https://zhuanlan.zhihu.com/p/80594704

2021-12-03 15:45:50 2307

原创 目标检测之非极大值抑制(NMS)

1.NMS(非极大值抑制)介绍在目标检测算法中,对于一个真实物体的往往会有多个候选框输出,而我们只需一个最好的检测框,多余的候选框会影响检测的精度,因此需要利用NMS(非极大值抑制)来过滤掉重叠的候选框,得到最佳的候选框。所谓非极大值抑制就是说,对于多个重叠的检测框,它不是最好的框,那么就将抑制(删除),只保留一个最好的。2.算法所需的指标检测框的得分:NMS假设一个边框的预测得分越高,这个框就要被优先考虑,其他框与该框重叠超过一定程度的边框就要被舍弃掉。IoU:在评价两个边框 重合程度时,NM

2021-12-03 14:56:10 3717

原创 SwinIR_Image Restoration Using Swin Transformer论文阅读分享

论文连接:https://arxiv.org/abs/2108.10257Abstract本篇文章的图像修复指的是从低质量图片恢复到高质量图片(例如超分,去噪,解压缩图片),目前主流先进的图像修复任务都是基于卷积做的,很少有人尝试用transformer做高性能的高级视觉任务。而本篇文章主要就是基于Swin_transformer做的,本方法命名为SwinIR。该方法包含三个部分:浅层特征提取器、深层特征提取器、高质量图像重建模块,针对不同的图像修任务,图像重建模块略有不同。特别的是,深层特征提取器是基

2021-08-31 09:40:12 2214

原创 图像修复_LaFIn_Generative Landmark Guided Face Inpainting

Abstract提出了一个深度学习策略来修复人脸图像,这个网络由两个部分组成,一个是人脸关键点预测子网络,该网络的目的是给另一个网络提供人脸的结构信息(破损人脸图像的人脸拓扑信息,表情信息)。另一个是图像修复网络,该网络的目的是修复出符合真实外观的人脸图像。该人脸图像修复方法在数据集CelebA-HQ和CelebA上进行了实验。Introduction人脸图像相比较海洋、草地等自然风景图像具有更强的拓扑结构和更强的局部连贯性,因此修复人脸图像任务更具挑战性。传统的修复方法:diffusion-ba.

2021-08-25 08:48:19 1146

转载 GAN的训练经验

转载GAN的训练经验对GAN使用普归一化技术

2021-08-15 09:26:10 307

原创 (门控卷积实现)DeepFillv2(图像修复):Free-Form Image Inpainting with Gated Convolution,pytroch代码实现

deepfillv2的动机​ 结合了几乎所有的目前先进的图像修复技术,基于部分卷积提出了门控卷积,结合了CA中的注意力机制,根据 Adversarial Edge图像修复中的边缘信息先验提出了用户可交互的草图先验信息。基于spectral-normallized GAN 提出了 SN-PatchGAN 鉴别器,本文所用的损失函数只有l1 重建损失和 SN-PatchGAN损失.1. Gated Convolution为了介绍门控卷积,得先提提部分卷积,对于分类、分割等任务,网络的输入像素是全部有效的,

2021-07-21 18:39:17 11503 9

原创 平滑空洞卷积

1.摘要​ 空洞卷积被大家所熟知的常见的卷积网络的一种,被广泛应用在深度卷积神经网络中(DCNN),例如图像语义分割任务、目标检测、音频生成、视频建模、机器翻译等等。然而,空洞卷积也会造成网格伪影的现象,这严重阻碍了在DCNN中应用了空洞卷积的表现。在本工作中,作者提出了两种简单但有效的去网格方法,是通过研究分解空洞卷积实现来完成的。该工作不像目前已经存在的方法,那些通过堆叠级联空洞卷积层来探索解决方案。而该工作解决网络伪影是通过平滑空洞卷积本身来实现的。通过分析它们在原本操作和分解视图,作者进一步提出

2021-07-08 14:26:47 1895

原创 将卷积引入transformer中VcT(Introducing Convolutions to Vision Transformers)的pytorch代码详解

文章目录1. Motivation:2. Method2.1 Convolutional Token Embedding 模块2.2 Convolutional Projection For Attention 模块2.3 如何实现分类任务2.4对于位置编码的思考?3.实验3.1实验设置3.1.1数据集:3.1.2 Model Variants(不同尺寸模型)3.1.3优化器设置3.2对比实验(消融实验)3.2.1位置编码的影响3.2.2Convolutional Token Embedding模块对CvT

2021-06-04 16:19:48 7359 9

原创 论文阅读以及pytorch源码详解-image-inpainting-via-generative-multi-column-convolutional-neural-networks-Paper

1. 动机(motivation)1.针对如何提取到图像合适特征的问题,本文提出了多个分支的卷积分支,每个分支采用不同的感受野,并将图像分解成不同的感受野2.针对如何为缺失区域寻找相似的patch,本文提出了马尔可夫随机场(ID-MRF)项,3.针对缺失区域的修复结果有很多可能性的结果,提出了新的置信驱动的重建损失(与空间衰减损失类似),根据缺失区域的空间位置约束生成的内容2.具体方法训练的是一种端到端的方式,输入是X破损的图片和掩码M,缺损的区域的填充值为0,M是二进制掩码,0 代表已知的像素

2021-05-22 16:12:04 1363

原创 用pytorch中的tensorboardx来远程查看docker中的日志以及pytorch中的tensorboardx的安装

如何用pytorch中的tensorboardx来远程查看docker中的日志注:远程指的是训练在docker容器中进行训练并产生日志文件,但是docker容器中并不能可视化日志文件,那么就需要在windows上可视化日志文件或者在宿主上进行可视化日志文件。有两种思路:生成docker容器的时候,就建立好docker容器和宿主机间的映射关系为宿主机建一个虚拟环境,在这个虚拟环境中安装tensoboardx和tensorboard等工具,在这个环境中运行docker容器训练产生的日志文件。1

2021-05-10 19:58:26 1993 1

原创 论文阅读详解-Image Inpainting for Irregular Holes Using

文章目录1.本文的出发点(motivation)2.本文的实现方法2.1 部分卷积层2.2本文采用的网络架构3.本文的损失函数3.1逐像素重建损失3.2感知损失(perceptual loss)3.3风格损失(style loss)3.4 TV loss(total variation loss)3.5总损失4参考文献1.本文的出发点(motivation)1.图像修复现存在的问题研究人员认为,现有的基于深度学习的图像修复方法不够好,是因为丢失像素的输出必然取决于输入的值,而这些输入的值(通常是数据集

2021-05-04 16:33:38 1343

原创 论文翻译阅读_Generative Image Inpainting with Adversarial Edge Learning

引言Abstract在过去的几年,深度学习技术使得图像修复领域产生了很大的进步。然而,很多技术仍然还是重建合理的结构,因为他们通常都过度平滑了图像或者模糊。这篇文章针对图像修复提出了新的方法,它能够较好地再现充满细节的区域。提出了两阶段的生成对抗模型 Edge Connect,该模型包含一个边缘生成器和一个图像修复网络。边缘生成器可以预测出缺失区域的边缘信息,而修复网络将边缘生成器预测得到的边缘信息作为先验信息来完成对缺失区域的修复。我们在公开可用的数据集CelebA、Places2和Paris Stre

2021-04-29 13:49:02 1150 1

原创 Generative Image Inpainting with Contextual Attention

1. Introduction基于卷积的修复方法通常可能会造成边界人造视觉,结构扭曲,纹理模糊、与周围区域不一致性的修复结果。作者认为,这是卷积神经网络在建模远距离的上下文信息与缺失区域之间长距离相关的无效性。例如为了让一个像素被原始图片上64x64个像素所影响,那么至少需要6层的3x3的卷积核并且空洞卷积参数为2.而空洞卷积是规则对称的进行取样特征,不能去权衡哪些像素点是有用的哪些是无用的。最近有一篇文章 High-resolution image inpainting using multi-sca

2021-04-19 10:44:05 2050

原创 pytorch中的nn.Unfold()函数和fold(函数详解

文章目录1.nn.Unfold()函数2.nn.Fold()函数1.nn.Unfold()函数描述:pytorch中的nn.Unfold()函数,在图像处理领域,经常需要用到卷积操作,但是有时我们只需要在图片上进行滑动的窗口操作,将图片切割成patch,而不需要进行卷积核和图片值的卷积乘法操作。这是就需要用到nn.Unfold()函数,该函数是从一个batch图片中,提取出滑动的局部区域块,也就是卷积操作中的提取kernel filter对应的滑动窗口。torch.nn.Unfold(kernel_s

2021-04-13 13:35:08 18096

原创 pytorch中的nn.ZeroPad2d(),零填充函数

在卷积神经网络中,有使用设置padding的参数,配合卷积步长,可以使得卷积后的特征图尺寸大小不发生改变,那么在手动实现图片或特征图的边界零填充时,常用的函数是nn.ZeroPad2d(),可以指定tensor的四个方向上的填充,比如左边添加1dim、右边添加2dim、上边添加3dim、下边添加4dim,即指定paddin参数为(1,2,3,4),本文中代码设置的是(3,4,5,6)如下:import torch.nn as nnimport cv2import torchvisionfrom to

2021-04-13 10:31:48 9612 2

原创 计算自定义图片数据集的平均像素值python代码

在计算机视觉领域对图片进行预处理时,通常需要先计算出数据集中所有图片的平均像素均值,本文详细给出了计算自定义图片数据集的平均像素的python代码。1.获取自定义数据集的全部绝对路径def is_imgfile(filepath): filepath = os.path.expanduser(filepath) if os.path.isfile(filepath) and imghdr.what(filepath): return True return Fal

2021-04-11 20:57:32 2030 1

原创 transformer在图像分类上的应用以及pytorch代码实现

文章目录1.对transformers的简单介绍1.1序列数据的介绍(seq2seq)1.2self-Attention1.3 transformer的完整结构2.transformers在图像分类上的pytorch代码2.1加载cifar10数据集2.2构建transformers模型2.2.1构建图像编码模块 Embeddings2.2.3构建前向传播神经网络模块2.2.4构建编码器的可重复利用Block模块2.2.5构建Encoder模块2.2.6 构建完整的transformers2.2.7构建Vi

2021-04-09 13:07:57 51889 62

原创 基于PatchGAN的生成对抗图像修复

1.介绍对高分辨率图像的去模糊、去噪、修复等,对于现实的纹理合成的一个关键的问题是:如何保证真实性或者是自然性?,我们知道利用GAN的生成能力可以生成较为真实的图片,但是在面对高分辨的图片时,在保证图像的全局结构的一致性的情况下,需要更加关注图像的细节,而传统GAN的鉴别器通常只能够关注到全局的信息。本文的主要改进点在于对鉴别器网络进行改进,整个鉴别器网络包括global GAN和 patch GAN.对于global GAN我们已经很熟悉了,主要就是鉴别器网络的输入是一张图片,而输出是一个标量,用来进

2021-03-29 14:20:14 9557 6

原创 High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

文章目录1. Abstract2. Introduction2.1 Context Encoder2.2 our method2.3 Main contributions of this paper3. The Approach3.1 Framework Overview3.2 The Joint Loss Function3.4 The Texture Network总结:总结:参考文献1. Abstract提出了一种基于图像内容和纹理约束联合优化的多尺度神patch合成方法,该方法不仅保存了图像的上

2021-03-28 10:19:06 1314

原创 CycleGAN的原理和pytorch代码实现

1.背景图像到图像风格的转变是一个经典的计算机视觉问题,对于过去的图像风格迁移问题,通常都是需要一对数据,即两张图片在内容上几乎是一致的,而在风格、色彩等方面存在不同,这样的aliged image pairs的数据通常来说是比较难以获得的。而CycleGAN则提出了不需要成对图像的数据就能完成风格转移或者黑白图像上色等问题。2.CycleGAN论文总结2.1摘要图像到图像的转变或翻译,通常是需要一组成对的数据来学习输入图片数据与输出图片数据之间的映射关系,但是往往这样的数据是较难获取的,本论文则提

2021-03-10 12:07:51 3011

原创 DCGAN的基本理论和代码实现

DCGAN[paper][http://arxiv.org/abs/1511.06434]1.DCGAN的基本理论DCGAN是对原始的GAN的改进,使用深度学习处理图像通常都是会使用卷积神经网络,而在原始的GAN中生成图像其生成器和鉴别器使用的一个神经网络,但是使用的都是全连接层,并没有使用卷积层,这就没有充分利用擅长处理图像的卷积层Conv2d.而DCGAN就是对GAN的网络进行改进,去除了所有的全连接层,改为使用卷积层。如今现在各种各样的GAN几乎都是在使用DCGAN类似的网络结构,DCGAN极大

2021-03-07 10:35:48 590

原创 CGAN的基本理论和代码

CGAN的需求点:GAN可以生成类似于真实的图片,但是它的生成的图片是不可控制的,那么当我们需要指定模型生成特定的图片时,那么需要怎么做呢?这时就出现了CGAN(Conditional Generative Adversarial Network)1.CGAN原理的分析1.1GAN原理的简单回顾GAN包括两个模型Generator和Discriminator:G负责拟合寻找训练样本的数据分布,而D则负责鉴别数据是来自训练样本,还是由G模仿训练样本生成的数据。在实现这两个模型时,都是采用神经网络

2021-03-06 15:39:31 2118 1

原创 GAN的基本理论和pytorch代码

1.Generation,如何找到数据的分布比如说,在蓝色区域是人脸数据的分布,那么需要让机器找到这个分布。需要找到一个数据分布distributionPG(x;Θ)P_G(x;\Theta)PG​(x;Θ) parameterized by Θ\ThetaΘ那么需要找到一组Θ\ThetaΘ使得$P_G(x:\Theta) $ close $ p_{data}(x)$##2.KL Divergence[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TfbNPt4x-

2021-03-06 09:56:18 287

transformer_pytorch_inCV.rar

利用pytorch实现transformers在cifar10上的图像分类,代码简洁,注释详细

2021-04-09

手写数字数据集txt文件.rar

手写数据集,包括测试集和训练集,是将图片文件经过灰度化,二值化后在处理转换成txt文件后的数据集,适合用于实现新手入门的手写数字识别的数据集,

2020-06-06

mysql笔记.docx

1命令行登录mysql:mysql -u 用户名 -p(回车后输入密码) 2。退出:quit/exit. 3.远程登录mysql:mysql -h IP -u root -p(回车后输入密码) 4.修改密码: 5.显示数据库:show databases; 6.创建数据库:create database database_name; create database mydb1; 7.创建一个字符集为gbk的数据库:create database mydb2 character set gbk; 查看: show create database mydb2;1命令行登录mysql:mysql -u 用户名 -p(回车后输入密码) 2。退出;quit/exit. 3.远程登录mysql:mysql -h IP -u root -p(回车后输入密码) 4.修改密码: 5.显示数据库:show databases; 6.创建数据库:create database database_name; create database mydb1; 7.创建一个字符集为gbk的数据库:create database mydb2 character set gbk; 查看: show create database mydb2; 8. 创建一个使用utf-8字符集,并带校对规则的mydb3数据库 9. 删除数据库: drop database mydb3;

2020-04-23

空空如也

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

TA关注的人

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