自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 问答 (1)
  • 收藏
  • 关注

原创 【无标题】

首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的。第一种情况中我们要求的是相机坐标系和机械手坐标系的转化关系;第二种情况中要求的是相机坐标系和基础坐标系的关系。一 、手眼标定的两种情形。

2023-09-10 21:14:35 108

原创 图像相识度

由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个 区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。余弦相似度算法:一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似。图像直方图丰富的图像细节信息,反映了图像像素点的概率分布情况,统计每一个像素点强度值具有的像素个数。

2023-07-25 17:32:12 300

原创 实例分割研究

思路是:首先通过目标检测的方法找出实例所在的区域(bounding box),再在检测框内进行语义分割,每个分割结果都作为一个不同的实例输出。2、单阶段实例分割,两种思路,一种是受anchor-based 检测模型如YOLO,RetinaNet启发,代表作有YOLACT和SOLO;思路是:首先进行像素级别的语义分割,再通过聚类、度量学习等手段区分不同的实例。1、两阶段的方法:包括自下而上的基于语义分割的方法和自上而下的基于检测的方法。自上而下的实例分割方法。自下而上的实例分割方法。

2023-07-13 11:14:03 153

原创 目标检测相关

mAP(mean Average Precision)是所有类AP的平均值,衡量多类别目标检测的好坏。AP(Average Precision)是PR曲线围成的面积,用来衡量对一个类检测的好坏。Precision(精确率/查准率):是指在所有被预测为正的样本中,确实是正样本的占比。Recall(召回率/查全率):是指在所有确实为正的样本中,被预测为正样本的占比。

2023-07-05 10:58:47 1322 1

原创 点云相关理论

再以控制点为基站直接将扫描的多测站的点云数据与其拼接,即可将扫描的所有点云数据转换成工程实际需要的坐标系。由于目标物的复杂性,通常需要从不同方位扫描多个测站,才能把目标物扫描完整,每一测站扫描数据都有自己的坐标系统,要获得完整的数据必需把不同测站的扫描数据纠正到统一的坐标系下,这就需要点云拼接。②均值滤波也叫平均滤波,也是一种较为典型的线性滤波,其原理为选择一定范围内的点求取其平均值来代替其原本的数据点,优点为算法简单易行,缺点为去噪的效果较为平均.且不能很好的保留住点云的特征细节。

2023-06-16 14:50:41 2235

原创 pythonw.exe和python.exe区别

(python.exe在运行程序的时候,会出现黑色的控制台窗口,即后台信息,pythonw.exe在运行程序的时候,不会出现控制台窗口,代码直接在后台执行。pythonw.exe是一个与python.exe相似的可执行文件,但它是用于运行Python脚本的Windows应用程序。与python.exe不同,它不会在启动脚本时打开控制台窗口,因此对于需要GUI的应用程序,使用pythonw.exe可以避免在启动时出现控制台窗口的闪烁。因此,如果你要编写一个纯文本控制台应用程序,则使用python.exe;

2023-06-15 10:46:34 724

原创 DataParallel、DataDistributedParallel、SyncBN、BN

当使用 torch.nn.DataParallel 将代码运行在多张 GPU 卡上时,PyTorch 的 BN 层是非同步的,默认操作是各卡上数据独立地计算均值和标准差,并在单卡上维护自己的参数,只在每一个GPU上对样本进行归一化,相当于减少了batch size的大小,训练的时候实际的 BN 层的 batch-size 为B a t c h S i z e /G P U 数 量;如果batch size较大的时候不需要使用SyncBN,因为同步时GPU之间的通信会导致训练速度变慢。

2023-05-25 09:25:38 227

原创 自动数据增强AutoAugment

计算一个输入图像的直方图,从这个直方图中去除最亮和最暗的部分,然后重新映射图像,以便保留的最暗像素变为黑色,即0,最亮的变为白色,即255。色调分离,将每个颜色通道上像素值对应变量的最低的(8-x)个比特位置0,x的取值范围为[0,8]反转在阈值threshold范围内的像素点(>threshold的像素点取反)如果threshold=100,返回的结果为131=10000011。如果threshold=200,返回结果为124 (124<200)直方图均衡化,产生像素值均匀分布的图像。

2023-05-05 09:32:53 234

原创 超参搜索python库Hyperopt

Hyperopt由jamesbergstra开发。使用贝叶斯优化的形式进行参数调整,允许你为给定模型获得最佳参数。它可以在大范围内优化具有数百个参数的模型。fmin函数是对不同的算法集及其超参数进行迭代,然后使目标函数最小化的优化函数。fmin有5个输入是:fn目标函数,space搜索空间,algo搜索算法,max_evals最大评估数,trials结果存储对象。

2023-04-28 09:41:57 155

原创 python模块导入报错

程序有对应模块,但是导入报错ImportError: cannot import name ‘ ××ב,因为模块之间有相互调用的情况,造成循环。

2023-04-21 15:54:25 334

原创 Python 怎么捕获警告(Warning)

【代码】Python 怎么捕获警告(Warning)

2023-02-23 14:15:26 261

原创 Torch-TensorRT

NVIDIA TensorRT 是一个用于深度学习加速推理的 SDK,为了使用 TensorRT 进行模型推理,通常需要先将 PyTorch 模型转换为 ONNX 或 TorchScript 格式,而 Torch-TensorRT (项目更名前为TRTorch) 是 NVIDIA 和 Pytorch 合作推出的一个编译器,支持将 PyTorch/TorchScript 模型直接编译后使用 TensorRT 部署。

2023-02-07 09:37:03 672

原创 PyTorch各种版本下载路径

https://download.pytorch.org/whl/torch_stable.html

2023-01-04 11:12:26 771

原创 CV-CUDA高性能图像处理加速库

在设计之初,我们考虑到当前图像处理库中,很多用户习惯使用 OpenCV 的 CPU 版本,因此在设计算子时,不管是函数参数还是图像处理结果上,尽可能对齐 OpenCV CPU 版本的算子。一般来说,训练时利用 python 进行快速验证,推理时利用 C++ 进行高性能部署,然而一些图像处理库仅支持 python,这给部署带来了极大的不便。独立算子的设计具有更高的灵活性,使调试变得更加的容易,而且可以使其与其他的图像处理交互,或者将其集成在用户自己的图像处理上层框架中。(5)结果对齐 OpenCV。

2022-12-26 10:35:39 1377 1

原创 基于深度学习的深度估计

深度估计的应用包括:平滑图像的模糊部分、更好地渲染3D场景、自动驾驶、机器人抓取、机器人辅助手术、电影中的2D到3D的自动转换以及3D计算机图形学中的阴影映射等。深度估计是一种计算机视觉任务,旨在从2D图像中估计深度。这个任务输入RGB图像,输出深度图。深度图包含了从视图看图像中的被摄物体距离的信息。

2022-12-19 16:23:39 189

原创 C#基础知识

NET是微软的托管代码模型,所谓的托管代码(IL)其实和JAVA的虚拟机很类似的,将C#语言“编译”成中间代码(IL)然后通过 .NET Framework 的虚拟机——被称之为通用语言运行时(Common Language Runtime, CLR)——执行。.NET Framework 4.8 是 .NET Framework 的最后一个版本,不会再发布后续版本。公共语言运行时(CLR) 是 .NET Framework 的基础。

2022-12-11 17:04:38 560

原创 OCR算法

OCR算法可以分为两阶段算法和端到端的算法。两阶段OCR算法分为文本检测和识别算法,文本检测算法从图像中得到文本行的检测框,然后识别算法识别文本框中的内容。端对端OCR算法使用一个模型同时完成文字检测和文字识别,因此端对端模型更小,速度更快。深度学习技术在端到端文本识别方向具有代表性的方法。2)端到端任意形状文本识别(弯曲、变形、平直、倾斜文本)。1)端到端规则文本识别(平直文本或倾斜文本);

2022-11-22 10:23:01 1251

原创 OTSU(最大类间方差法、大津算法)

OTSU是阈值分割中一种常用的算法,它可以根据图像自动生成最佳分割阈值。OTSU的核心思想是类间方差最大化。

2022-11-18 16:52:20 923

原创 OpenCV中的饱和运算和Numpy中的模运算(不饱和运算)

opencv的加法是一种饱和操作,而numpy的加法是一种模操作,这种差别在你对两幅图像进行加法时会更加明显。OpenCV 的结果会更好。opencv中加法是cv2.add(img1, img2),numpy中加法 img = img1 + img2。所以尽量使用 OpenCV 中的函数。

2022-11-18 15:21:43 850

原创 Kornia(基于 PyTorch 的可微分的计算机视觉库)

由于 Kornia 是基于 PyTorch 开发而来的,那么数据增广便自然而然地整合进了 PyTorch 的网络中,就像使用卷积层,池化层一样。相似的,我们可以任意定义、保存、载入 Kornia 增广模块,并在任意设备(CPU/GPU/TPU)上运算。因此,Kornia 便应运而生。文档链接:https://kornia.readthedocs.io/en/latest/index.html。项目链接:https://github.com/kornia/kornia。

2022-11-08 10:06:35 1583

原创 扩散模型Diffusion Models

扩散模型(diffusion models)是深度生成模型中新的SOTA。扩散模型在图片生成任务中超越了原SOTA:GAN,并且在诸多应用领域都有出色的表现,如计算机视觉,NLP、波形信号处理、多模态建模、分子图建模、时间序列建模、对抗性净化等。此外,扩散模型与其他研究领域有着密切的联系,如稳健学习、表示学习、强化学习。然而,原始的扩散模型也有缺点,它的采样速度慢,通常需要数千个评估步骤才能抽取一个样本;它的最大似然估计无法和基于似然的模型相比;它泛化到各种数据类型的能力较差。

2022-11-03 10:37:49 457

原创 字符粘连解决方法

方法1:等间隔切分方法2:投影法方法3:滴水算法。

2022-10-28 11:54:13 154

原创 14 种异常检测方法

异常检测

2022-09-28 11:49:27 144

原创 ONNX部署

pytorch是动态计算图,tensorflow和onnx是静态计算图。动态图编写代码简单易懂,但速度慢。pytorch转换为静态计算图,有两种方法torch.jit.trace和torch.jit.script。torch.jit.trace:顾名思义跟踪,给定模型一个输入(只要求输入的shape正确),开始执行一次前向传播,会记录过程中的所有操作。缺点是race将不会捕获根据输入数据而改变的行为。比如if语句,只会记录执行的那一条分支,同样的,for循环的次数,导出与跟踪运行完全相同的静态图。

2022-07-13 18:20:32 2048

原创 AI工程和MLOps

AI工程化

2022-07-08 15:01:08 434

原创 Keras框架

在Keras中有两种深度学习的模型:序列模型(Sequential)和通用模型(Model)。通用模型Model通用模型可以设计非常复杂、任意拓扑结构的神经网络,例如有向无环网络、共享层网络等。相比于序列模型只能依次线性逐层添加,通用模型能够比较灵活地构造网络结构,设定各层级的关系。......

2022-07-01 10:00:57 484

原创 双线性池化(Bilinear Pooling)

bilinear pooling主要用于特征融合,对于从同一个样本提取出来的特征x和特征y,通过bilinear pooling得到两个特征融合后的向量,进而用来分类。如果特征x和特征y来自两个特征提取器,则被称为多模双线性池化(MBP,Multimodal Bilinear Pooling);如果特征x=特征y,则被称为同源双线性池化(HBP,Homogeneous Bilinear Pooling)或者二阶池化(Second-order Pooling)。原始的Bilinear Pooling存在融合

2022-06-28 13:39:21 2987

原创 泊松融合vs图像和谐化

大的方向来说图像融合可分为三个层次:像素级融合、特征级融合和决策级融合。传统的融合算法有、、。

2022-06-09 14:28:45 1491

原创 深度学习亮点论文

新型目标检测损失函数

2022-06-07 13:34:16 209

原创 Python特殊包

pySerial串口通信1、端口是设备与外界通讯交流的出口。2、USB口为数据端口、控制端口和状态端口。USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。3、COM1、COM2、COM3都是COM口,即串行通讯端口,简称串口。目前主流的主板一般都只带1个串口,甚至不带,慢慢会被USB 取代。一般串口9针,并口25针D形接头串口设备通过USB插入电脑,python通过pyserial模块就可以完成和串口设备的通讯,pySerial 串口工具简介pywin32(python调用wind

2022-05-27 16:09:02 74

原创 Tensorrt+PyTorch+Win10部署

深度学习模型部署之安装TensorRT windows11+vs2022+TensorRT8.0.1EA 版本代表抢先体验(在正式发布之前)。GA 代表通用性。 表示稳定版,经过全面测试。

2022-05-27 13:37:59 944

原创 工业领域缺陷检测

论文精读:基于深度学习的表面缺陷检测方法综述

2022-05-20 13:28:15 309

原创 Pytorch相关操作(3)

Pytroch相关操作(1)Pytorch相关操作(2)(31)model.load_state_dict(state_dict, strict=False)strict=False时,检查key是否一致,不一致不加载权重。如果只是改了最后全连接层个数,设置为False会报错,因为加载模型的key的名字是一样的,但是shape不一样。...

2022-05-17 17:00:29 555

原创 基于深度学习的抠图

HDMatt论文首个处理高分辨率输入图像的深度学习抠图方法。HDMatt 方法使用新型模块设计,以基于 patch 的剪裁 - 拼接方式(crop-and-stitch)为高分辨率输入图像进行抠图,进而解决不同 patch 之间的语境依赖性和一致性问题。基于 patch 的原版推断方法单独计算每个 patch,而该研究提出了新的模块——CrossPatch Contextual module (CPC),该模块由给定的 trimap 指导,对跨 patch 语境依赖性进行建模。...

2022-05-17 13:29:59 677

原创 小目标检测难点

小目标检测难点1、可利用特征少2、数据集方面的不平衡3、anchor难匹配问题。这主要针对anchor-based方法4、不同程度的遮挡、模糊、不完整现象小目标检测研究现状1、Multi-scale feature learning2、数据增强3、上下文学习4、生成对抗学习5、特殊的训练策略目标检测之殇——小目标检测小目标检测小目标检测研究进展小目标Trick|Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案......

2022-05-17 09:46:19 726

原创 模型可解释性

github分类器可视化解释StylEx分类器可视化解释StylEx:谷歌、MIT等找到了影响图像分类的关键属性与模型无关的局部可解释性方法(LIME)模型解释-LIME的原理和实现saliency map显著图告诉我们图像中的像素点对图像分类结果的影响。导数的大小表示某个像素点改变一点,对最后结果的影响。计算它的时候首先要计算与图像像素对应的正确分类中的标准化分数的梯度,再取梯度的绝对值,然后再取三个颜色通道的最大值;因此最后的saliency map的形状是(H, W)为一个通道的灰度图。

2022-05-16 18:19:31 286

原创 基于深度学习的图像去摩尔纹

什么是摩尔纹日常生活中,有时我们用手机拍摄电脑、电视上的画面,或者拍摄条纹和格子的衣服时,拍出来的照片上总是有奇奇怪怪的彩色条纹。这些奇怪的彩色条纹是什么?它们为什么会出现呢?这些条纹是摩尔纹,俗称水波纹,它们是由摩尔效应引起的。摩尔效应是一种特殊的光学现象,它是两条线或两个物体之间以固定的角度和频率发生干涉后产生的视觉效果。以最简单的直条纹为例,当两组周期相近的直条纹叠加在一起时,就有可能产生一组更大周期的干涉条纹(图1),这组干涉条纹就是摩尔纹,它的周期是两组条纹周期的最小公倍数。当用手机拍摄电脑

2022-05-13 15:45:55 1743

原创 基于深度学习的图像边缘和轮廓提取

1、基于深度学习方法1.1一般边缘检测1.2目标轮廓检测1.3语义边缘检测1.4闭合边界检测DOOBNet: Deep Object Occlusion Boundary Detection from an Image2、传统方法

2022-05-13 15:45:18 4835

原创 Opencv基础

2014.08.21 OpenCV3.0Alpha发布,新的项目结构——内核+插件;两种不同的颜色模型:“加色模型”和”减色模型”。加色模型使用光代表计算机屏幕上的颜色,而减色模型使用墨水在纸上打印这些数字图像。前者的原色由红色、绿色和蓝色(RGB)组成,后者有蓝色、品红、黄色和黑色(CMYK)四种原色组成。HSV和HSL更类似于人的感知方式。HSV代表色调、饱和度和色值。HSL代表色调、饱和度和亮度。HSV的中轴是色值,HSL的中轴是光量。沿着中心轴的角度,有色调和实际的颜色。与中心轴的距离属于饱.

2022-05-13 11:58:50 169

原创 集成学习基础

集成学习方法Bagging,其思想是在随机不同版本的训练数据上训练许多基础模型。每个模型拥有一票表决权,并且无论预测准确度如何,都做相同的处理,然后对预测变量进行汇总以得出最终结果。在大多数情况下,Bagging后结果的方差会变小。例如,随机森林是Bagging方法中最著名的模型,它将决策树与Bagging理念结合在一起。Boosting,Boosting和Bagging之间最本质的区别在于,boosting并不会同等的对待基础模型,而是通过连续的测试和筛选来选择“精英”。表现良好的模型对投票的

2022-05-13 09:11:28 46

空空如也

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

TA关注的人

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