- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 多模态大模型技术调研
一般的多模态模型包含五大组件:1.模态编码器;2.输入投影器;3.LLM骨干网络;4.输出投影器;5.模态生成器。在早期的多模态模型训练时,通常是会将模态编码器、LLM骨干网络、模态生成器的参数冻结,只训练输入和输出的投影器部分,投影器部分的参数量占整个模型的参数的比重很小。但是目前的多模态大模型,也会对encoder,甚至是LLM骨干网络进行训练,来提升模型的整体能力。CLIP是指CLIP模型本身,而OpenCLIP则是指CLIP模型的开源实现。
2025-01-15 11:26:15
769
原创 VINS-MONO环境搭建及运行
左上图为实时的图像提取特征并进行特征点提取,左下图会回环检测时,检测当前帧和之前哪个帧匹配从而进行灰黄检测,右图为实时的建图和轨迹图,红色为真实的轨迹图,绿色为vins-mono结合了IMU和单目相机预测出的轨迹。
2024-11-07 17:48:16
1438
原创 RK3588部署及其RKNPU工具链使用学习
RKNN-Toolkit2是为用户提供在计算机上进行模型转换、推理和性能评估的开发套件,RKNN-Toolkit2的主要框图如下:通过该工具提供的Python接口可以便捷地完成以下功能:**1. 模型转换:**支持将PyTorch、ONNX、TensorFlow、TensorFlow Lite、Caffe、DarkNet等模型转为 RKNN模型。**2. 量化功能:**支持将浮点模型量化为定点模型,并支持混合量化。**3. 模型推理:**将RKNN模型分发到指定的NPU设备上进行推理并获取推理结果。
2024-10-21 10:28:00
3880
原创 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
447
原创 RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR错误原因以及解决方法
成功安装了cu11.8,但是torch版本的cu118版本使用安装不成功。最后使用python==3.8,安装成功了如下版本。
2023-04-12 16:28:31
12710
5
原创 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
2028
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
5626
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
394
原创 剑指 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
449
原创 剑指 Offer 24. 反转链表
1.题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。题目示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL2.思路直接遍历链表的方法,采用原地反转的思路,直接将当前节点的next指向上一个节点,但是需要注意的是如果直接将当前节点的next的指向指向前一个节点,那么我们就丢失的后续的节点了,所以这里需要先用一个指针将当前节点的下一个节点保存下来。#inclu
2022-02-15 21:16:52
354
原创 力扣5. 最长回文子串
1.题目给你一个字符串 s,找到 s 中最长的回文子串。题目链接示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"2.暴力求解+优化思路:求字符串中的最长回文子串,那么可以拆分成:遍历判断该字符串的所有子串是否是回文串,然后再找出最长的回文子串。这样的做法是暴力求解,基本是会超时的。那么进行一定的优化,在遍历子串时,如果该子串的长度小于目前已知的最长回文子串的长度,那么这个子串就无需判断了,
2022-02-14 17:15:09
822
原创 力扣54. 螺旋矩阵
1.题目给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。题目2.思路这是一道模拟题,按照螺旋的方式遍历二维数组即可。首先需要获取二维矩阵的行列值m、n。然后用一个同样大小的二维矩阵标记螺旋访问时走过的位置,循环遍历按照:1.右移;2下移;3.左移;4上移。.移动时需要判断是否到达边界和该位置是否已经访问过。循环的结束条件可以时移动的次数<m*n。这里的重点是边界判断。代码class Solution {public: vect
2022-02-13 21:13:12
412
原创 剑指 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
462
原创 快速排序及其C++代码实现
快速排序1 算法介绍:快速排序属于“交换类排序”,通过多次划分操作实现排序。接下来以升序为例介绍算法步骤。在一趟选择当前序列中的一个关键字(通常是第一个)作为中间轴,将当前序列中比中间轴小的元素移到中间抽左边,比中间轴大的元素移动到中间轴右边;当本趟结束后,当前序列中以中间轴为基准,被划分为两个子序列,左边子序列的元素都不大于中间轴,二右边的子序列的元素则都不小于中间轴。接下来再将这两个子序列分别重复以上步骤。2算法执行流程首先进行第一趟排序;1.在开始是first,last分别指向序列的头元素和
2022-01-19 14:30:27
4123
原创 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
1253
原创 图像边缘检测与图像梯度的概念
1.图像边缘产生的常见因素两个面的交界处因为图像的深度信息产生不同的颜色之间边界因为影子的产生2.边缘2.1边缘的定义边缘是图像像素值快速变化的地方那么可以用1阶导数的大小表示变化快慢,对于二维函数f(x,y),偏导数为对于离散的数据(比如说图像),那么近似的对x的偏导就可以写成如下:2.2如何用卷积实现对图像求导对图像按x轴方法求导,其实就是用[-1,1]卷积核在图像上进行卷积操作,对图像按y轴方法求导,其实就是用卷积核在图像上进行卷积操作,2.3
2021-12-08 19:57:49
7421
转载 快速理解Focal Loss及其改进
快速理解Focal Loss及其改进https://zhuanlan.zhihu.com/p/80594704
2021-12-03 15:45:50
2424
原创 目标检测之非极大值抑制(NMS)
1.NMS(非极大值抑制)介绍在目标检测算法中,对于一个真实物体的往往会有多个候选框输出,而我们只需一个最好的检测框,多余的候选框会影响检测的精度,因此需要利用NMS(非极大值抑制)来过滤掉重叠的候选框,得到最佳的候选框。所谓非极大值抑制就是说,对于多个重叠的检测框,它不是最好的框,那么就将抑制(删除),只保留一个最好的。2.算法所需的指标检测框的得分:NMS假设一个边框的预测得分越高,这个框就要被优先考虑,其他框与该框重叠超过一定程度的边框就要被舍弃掉。IoU:在评价两个边框 重合程度时,NM
2021-12-03 14:56:10
3855
原创 SwinIR_Image Restoration Using Swin Transformer论文阅读分享
论文连接:https://arxiv.org/abs/2108.10257Abstract本篇文章的图像修复指的是从低质量图片恢复到高质量图片(例如超分,去噪,解压缩图片),目前主流先进的图像修复任务都是基于卷积做的,很少有人尝试用transformer做高性能的高级视觉任务。而本篇文章主要就是基于Swin_transformer做的,本方法命名为SwinIR。该方法包含三个部分:浅层特征提取器、深层特征提取器、高质量图像重建模块,针对不同的图像修任务,图像重建模块略有不同。特别的是,深层特征提取器是基
2021-08-31 09:40:12
2299
原创 图像修复_LaFIn_Generative Landmark Guided Face Inpainting
Abstract提出了一个深度学习策略来修复人脸图像,这个网络由两个部分组成,一个是人脸关键点预测子网络,该网络的目的是给另一个网络提供人脸的结构信息(破损人脸图像的人脸拓扑信息,表情信息)。另一个是图像修复网络,该网络的目的是修复出符合真实外观的人脸图像。该人脸图像修复方法在数据集CelebA-HQ和CelebA上进行了实验。Introduction人脸图像相比较海洋、草地等自然风景图像具有更强的拓扑结构和更强的局部连贯性,因此修复人脸图像任务更具挑战性。传统的修复方法:diffusion-ba.
2021-08-25 08:48:19
1250
原创 (门控卷积实现)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
13252
9
原创 平滑空洞卷积
1.摘要 空洞卷积被大家所熟知的常见的卷积网络的一种,被广泛应用在深度卷积神经网络中(DCNN),例如图像语义分割任务、目标检测、音频生成、视频建模、机器翻译等等。然而,空洞卷积也会造成网格伪影的现象,这严重阻碍了在DCNN中应用了空洞卷积的表现。在本工作中,作者提出了两种简单但有效的去网格方法,是通过研究分解空洞卷积实现来完成的。该工作不像目前已经存在的方法,那些通过堆叠级联空洞卷积层来探索解决方案。而该工作解决网络伪影是通过平滑空洞卷积本身来实现的。通过分析它们在原本操作和分解视图,作者进一步提出
2021-07-08 14:26:47
2109
原创 将卷积引入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
7708
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
1516
原创 用pytorch中的tensorboardx来远程查看docker中的日志以及pytorch中的tensorboardx的安装
如何用pytorch中的tensorboardx来远程查看docker中的日志注:远程指的是训练在docker容器中进行训练并产生日志文件,但是docker容器中并不能可视化日志文件,那么就需要在windows上可视化日志文件或者在宿主上进行可视化日志文件。有两种思路:生成docker容器的时候,就建立好docker容器和宿主机间的映射关系为宿主机建一个虚拟环境,在这个虚拟环境中安装tensoboardx和tensorboard等工具,在这个环境中运行docker容器训练产生的日志文件。1
2021-05-10 19:58:26
2110
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
1456
原创 论文翻译阅读_Generative Image Inpainting with Adversarial Edge Learning
引言Abstract在过去的几年,深度学习技术使得图像修复领域产生了很大的进步。然而,很多技术仍然还是重建合理的结构,因为他们通常都过度平滑了图像或者模糊。这篇文章针对图像修复提出了新的方法,它能够较好地再现充满细节的区域。提出了两阶段的生成对抗模型 Edge Connect,该模型包含一个边缘生成器和一个图像修复网络。边缘生成器可以预测出缺失区域的边缘信息,而修复网络将边缘生成器预测得到的边缘信息作为先验信息来完成对缺失区域的修复。我们在公开可用的数据集CelebA、Places2和Paris Stre
2021-04-29 13:49:02
1258
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
2138
原创 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
20854
1
原创 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
10067
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
2116
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
56483
62
原创 基于PatchGAN的生成对抗图像修复
1.介绍对高分辨率图像的去模糊、去噪、修复等,对于现实的纹理合成的一个关键的问题是:如何保证真实性或者是自然性?,我们知道利用GAN的生成能力可以生成较为真实的图片,但是在面对高分辨的图片时,在保证图像的全局结构的一致性的情况下,需要更加关注图像的细节,而传统GAN的鉴别器通常只能够关注到全局的信息。本文的主要改进点在于对鉴别器网络进行改进,整个鉴别器网络包括global GAN和 patch GAN.对于global GAN我们已经很熟悉了,主要就是鉴别器网络的输入是一张图片,而输出是一个标量,用来进
2021-03-29 14:20:14
10069
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
1408
原创 CycleGAN的原理和pytorch代码实现
1.背景图像到图像风格的转变是一个经典的计算机视觉问题,对于过去的图像风格迁移问题,通常都是需要一对数据,即两张图片在内容上几乎是一致的,而在风格、色彩等方面存在不同,这样的aliged image pairs的数据通常来说是比较难以获得的。而CycleGAN则提出了不需要成对图像的数据就能完成风格转移或者黑白图像上色等问题。2.CycleGAN论文总结2.1摘要图像到图像的转变或翻译,通常是需要一组成对的数据来学习输入图片数据与输出图片数据之间的映射关系,但是往往这样的数据是较难获取的,本论文则提
2021-03-10 12:07:51
3141
mysql笔记.docx
2020-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人