- 博客(54)
- 收藏
- 关注
原创 【激光雷达】
激光雷达技术在近几年可以说是蓬勃发展,新能源汽车的大量使用,给雷达技术的发展提供了肥沃的土壤,然而各种雷达的类型叫人一头雾水,机械雷达,半固态雷达,固态雷达,固态雷达和TOF相机又有什么关系?是不是很迷,那就叫我们投身激光雷达的蓝海吧。
2024-06-10 16:37:48
658
原创 机器视觉-硬件
可以分别控制每一行的曝光时间,获得对比度均匀的图像。如图所示,如果感光元件没有在相机的焦点上,导致光斑的出现,但是如果光斑的大小小于像元的大小,成像依旧清晰,这也就是焦深和景深(焦平面两侧)存在的原因。对于线阵相机而言,分辨率就是长安其水平方向上的像素数量,常见的由1K,2K,6K等,分辨率不是越大越好,分辨率越大,对处理的性能要求就越高,成本也会增加。通过上面示意图,也可以得到焦距f,像距v,物距u的关系,即高斯光学公式,在现实情况中,一般物距是远小于像距,即镜头到感光元件的距离,所以一般情况下。
2024-05-25 19:42:02
883
原创 相机参数的意义
相机外参:世界坐标系到相机坐标系的转换关系,相机再世界坐标系的位置矩阵。经过透视后的实际成像和理想成像之间的误差即为镜头畸变。相机内参:相机的焦距,像素坐标系的相对偏移量。2. 旋转向量是单位向量。主要分为径向畸变和切向畸变。
2024-04-10 17:32:27
839
原创 算法问答(图像)
是否了解图像降噪的一些方法? 均值滤波器:将每个像素的值替换为其周围像素的平均值,可以有效地去除图像中的高斯噪声。 中值滤波器:将每个像素的值替换为其周围像素的中位数,对于椒盐噪声和斑点噪声效果比较好。 双边滤波器:基于像素的空间距离和像素值相似性对像素进行加权平均,可以在去除噪声的同时保留图像的边缘信息。 小波变换:将图像转换到小波域,利用小波变换的低频分量和高频分量进行降噪,可以同时保留图像的细节信息和整体特征。 基于深度学习的降噪方法:如自编码器和卷积神经
2024-03-26 11:23:52
874
原创 在halcon的坑里打滚
双目相机在接收主动光的时候会出现一个情况:一个光点在一个相机中可以显示,但是在另一个相机中不能显示,这导致此点在空间中无法找到。一些相机会将这一类点归为坏点,在点云图中的显示效果为原点处的一点,实际上,此点可能为数十万个点。可直接根据点的Z值进行删除,坏点的Z值都为0,可根据Z值0.5-'MAX'将坏点删除。个人怀疑是因为stl存储的只有面,不存点,所以将点云进行三角化,便可以得到结果。2、点云的ply格式转stl格式的过程中,得到结果错误。1、激光振镜相机的坏点。
2024-03-25 17:58:40
182
原创 halcon3D点云处理
功能:把一个3D目标模型的坐标系中的位置转变为一个3D轮廓模型的参考坐标系中的位置,反之亦然。功能:把一个任意有限3D变换用于一个3D目标模型。功能:在一个图像中找出一个3D模型的最佳匹配。功能:从一个DXF文件中读取一个3D目标模型。功能:为一个同质三维变换矩阵添加一个循环。功能:为一个同质三维变换矩阵添加一个循环。功能:为一个同质三维变换矩阵添加一个缩放。功能:为一个同质三维变换矩阵添加一个缩放。功能:为一个同质三维变换矩阵添加一个旋转。功能:从一个文件中读取一个3D轮廓模型。
2023-11-13 10:59:01
490
原创 想买个深度学习的算力设备,TOPs和TFLOPs 啥啥分不清
双精度理论峰值 = FP64 Cores * GPU Boost Clock * 2 = 1792 *1.48GHz*2 = 5.3 TFlops。TOPS(Tera Operations Per Second:)1TOPS处理器每秒钟可进行一万亿次(10^12)操作。GOPS(Giga Operations Per Second):1GOPS处理器每秒钟可进行一亿次(10^9)操作。TFLOPs和 TOPs都是描述深度学习设备计算能力的单位,1TFLOPS与1TOPS,前者代表是每秒执行1万亿次。
2023-09-21 17:26:40
9309
原创 目标检测后的图像上绘制边界框和标签
效果如图所示,有个遗憾就是CV2在图像上显示中文有点难,也不想用别的了,所以改成了英文,代码在下面了,一定要注意一点,就是标注文件的读取一定要根据自己的实际情况改一下,我的所有图像的标注文件是一个XML文件。
2023-08-31 10:16:54
1257
1
原创 halcon线扫描相机平面交点检测--
使用函数create_sheet_of_light_model创建sheet of light模型,该模型基于视差图像DisparityProfile进行校准,并使用“offset_scale”方法进行缩放。这里设置了X轴的缩放因子为1,Y轴的缩放因子为4,Z轴的缩放因子为0.5。从文件'sheet_of_light/metal_part_1_disparity_line_000'中读取图像,并将其存储在变量DisparityProfile中。定义一个变量MinZ,表示光板上的物体与背景分离的z坐标。
2023-07-26 13:06:41
335
原创 使用HALCON校准板校准光片测量系统
将重建的对象模型与三维校准对象的对象模型对齐,并计算对齐的姿态和得分。选择对象模型中Z轴坐标大于0.001的点,并将其存储到新的对象模型中。执行光板模型的校准,计算重建点到校准物体的RMS距离误差,单位为米。将视差图像和已校准的光板模型关联起来,获取校准后的重建结果。对校准物体的对象模型进行仿射变换,以与重建的对象模型对齐。可视化校准后的重建结果和校准物体,并显示标题和姿态结果。创建三维表面模型,并将其与校准物体的对象模型关联起来。设置光板模型的参数,将视差图像和光板模型关联起来。
2023-07-24 17:40:47
242
原创 Halcon中的算子
opening_circle函数需要输入一个二值化的图像和一个半径值,它将在图像中寻找所有半径不大于指定半径的圆形区域,并将这些区域进行开运算。该函数需要输入一个二值化的图像和一个矩形的宽度和高度,它将在图像中寻找所有宽度和高度不大于指定值的矩形区域,并将这些区域进行开运算。函数将在输入区域中查找所有符合指定特征的形状,并返回一个新的区域,包含了所有符合条件的形状。该函数需要输入一个二值化的图像和一个区域,它将在输入图像中查找所有与指定区域相交的像素,并将其填充为指定的颜色。
2023-07-24 13:47:58
577
1
原创 语义分割-评价指标
这里的s和p和k指的是,原来做卷积操作的时候的s和p和k,不是反卷积的spk。反卷积只是把原来卷积操作的结果给长采样回去而已(不是逆运算)当使用的膨胀系数分别为1,2,3时,像素的利用情况如上图所示,每个像素得到了很好的利用。如果都用膨胀系数为2的膨胀卷积,像素的利用率会变低,导致忽略细节信息。在输入特征元素之间填充s-1行、列0.在输入特征四周填充k-p-1行、列0。当膨胀系数都为1的时候,感受野会很小。做正常卷积运算(填充0、步距1)将卷积核参数上下、左右翻转。转置卷积不是卷积的逆运算。
2023-07-21 15:59:47
296
原创 相机参数解释
像素尺寸也叫像元尺寸,是指每个像素的实际大小,单位um,面阵相机象元尺寸一般为 1.4um-14um,线阵相机一般为7um/14um。面阵相机: 分为行曝光(Rolling shutter)与顿曝光(global shutter),行曝光也叫卷帘快门,顿曝光也叫全局快门,行曝光是指从传感器左上角开始逐行曝光,顿曝光是指整人传感器所有像素同时曝光。数宁相机输出的数宁信号,对于每一个像元灰度值,都有统一的比特位数,称为像元深度,像元深度一般是8位,输出的图像灰度等级是2的8次方,即0-255共256级。
2023-07-07 09:25:01
132
原创 相机-光源选型
条形组合光在选择时,不一定要按照资料上的型号来选型,因为被测的目标形状、大小各不一样,所以可以按照目标尺寸来选择不同的条形光源进行组合;例如要求光源安装尺寸高,就可以过滤掉大角度光源,选择用小角度光源,同样,安装高度越高,要求光源的直径越大;背光源一般在检测轮廓时,可以尽量使用波长短的光源,波长短的光源其衍射性弱,图像边缘不容易产生重影,对比度更高;一般情况下,光源的安装高度会影响到所选用条光的长度,高度越高,光源长度要求越长,否则图像两侧亮度比中间暗;圆轴类的产品,螺旋状的产品尽量使用平行背光源;
2023-07-05 09:58:44
23
原创 图神经网络
可以把图神经网络分为了五类:图卷积网络(Graph Convolutional Networks)、图注意力网络(Graph Attention Networks)、图自编码机(Graph Auto-encoder)、图生成网络(Graph Generative Networks)、图时空网络(Graph Spatial-Temporal Networks)E:边(边也可以有特征,作为一个向量存在)邻接矩阵:点之间的连接关系。
2023-07-04 09:49:33
11
原创 AX620-终端部署
nmtui是Linux系统一个打开小型可视化网络连接界面的命令,界面内的功能:添加或者删除已有的网络,连接新的网络等。终端设备在连接不同无线网的时候,IP地址会改变,记得用ifconfig命令查看,问题:decker已将安装,可以看到版本,但一直启动不起来,转圈,在使用decker images命令后出现以下情况。答:电脑的环境变量存在问题,导致找不到一些路径。目录一、安装 WSL 先决条件二、安装 Docker 前的准备三、Windows 安装 Docker。
2023-05-22 20:12:21
192
原创 Java多线程
创建好后,调用start()方法来运行线程2.run方法只能在当前线程执行,不能创建新的线程一个线程处于运行状态下,其下一个状态可能会是以下几种: 睡眠 中止线程stop()方法强制中断线程,简单粗暴,可能导致资源没有释放,为了叫线程自己处理自己资源,可以调用interrupt方法4.线程优先级 MIN_PRIORITY 最低优先级MAX_PRIORITY 最高优先级NOM_PRIORITY 常规优先级 5,线程礼让加入我们还可以在当前线程的工作不重要时,将CPU资
2022-12-04 11:24:21
86
原创 查看Tomcat目录
整个Tomcat目录下,我们已经认识了bin目录(所有可执行文件,包括启动和关闭服务器的脚本)以及conf目录(服务器配置文件目录),那么我们接着来看其他的文件夹:lib目录:Tomcat服务端运行的一些依赖,不用关心。logs目录:所有的日志信息都在这里。temp目录:存放运行时产生的一些临时文件,不用关心。work目录:工作目录,Tomcat会将jsp文件转换为java文件(我们后面会讲到,这里暂时不提及)webapp目录:所有的Web项目都在这里,每个文件夹都是一个Web应用程序:
2022-12-04 11:24:09
2976
原创 机器学习-SVM
非线性类型通常是二维平面不可分,为了使数据可分,需要通过一个函数将原始数据映射到高维空间,从而使得数据在高维空间很容易可分,需要通过一个函数将原始数据映射到高维空间,从而使得数据在高维空间很容易区分,这样就达到数据分类或回归的目的,而实现这一目标的函数称为核函数。工作原理:当低维空间内线性不可分时,可以通过高位空间实现线性可分。在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。
2022-11-30 22:33:46
528
原创 常见的统计学方法
在统计认识活动中,我们所观察的往往只是所研究现象总体中的一部分单位,掌握的只是具有随机性的样本观察数据,而认识总体数量特征是统计研究的目的,这就需要我们根据概率论和样本分布理论,运用参数估计或假设检验的方法,由样本观测数据来推断总体数量特征。在以统计指标来反映所研究现象的数量特征的同时,我们还经常需要对相关现象之间的数量变动关系进行定量研究,以了解某一(些)现象数量变动与另一(些)现象数量变动之间的关系及变动的影响程度。统计研究现象的数量方面的特征是通过统计综合指标来反映的。
2022-11-30 20:01:56
2918
原创 图像标注的
其中Ng表示数据集中每一类标签的数量(TP+FN),Np 为数据集中每一类被预测为正样本的图像数量(TP+FP),Nc为数据集中每一类被预测为正样本并且预测正确的图像数量(TP)。图像标注的评价指标一般分为以词为标准的评价指标[CP(词查准),CF1(词F1)]和以图为标准的评价指标[OP(图查准),OF1(图F1)]以MS-COCO数据集为例,数据集有80个类别,在验证集验证得到如下数据。
2022-11-29 12:53:49
86
原创 YOLO的前世今生
以Pascaal VOC为例S取7,B取2,C为20,我们可以得到一个7×7×30的预测向量每个网格对应30个数值,因为每个网格需要两个区域快(boundling box),每个bounding box需要预测五个数值五个数值当中包含四个坐标信息和一个confidence。其中x,y为中心坐标,坐标是相对gird cell而言的,w,h是高和宽,他是一个相对于整个图像的相对值。以上四个值都是处于0~1之间的值。confidence为Pr(Object)*IOU。
2022-11-28 20:05:29
1060
原创 Faster RCNN的前世今生
假设有2000个候选框,在提取完深度特征后,每一张图像会生成一个2000×4096的特征矩阵,4096为深度特征展平后的维度,20个SVM组成的权值矩阵的维度4096×20,两个矩阵相乘后,得到一个2000×20的概率矩阵,每一行代表每个候选框归于每个目标类别的概率。20列的每一列进行极大值抑制,删除删除重叠建议框,最终得到得分最高的建议框。
2022-11-25 15:30:44
532
原创 FPN-Feature Pyramid Networks(特征金字塔网络)
在不同大小的特征图上,采用不同大小的anchor去预测,会有面积为{32×32,64,125,256,512}大小,比例为{1:2,1:1,2:1}的窗口进行预测。层数越高对应的面积越大。k0为4,k的值为层数。
2022-11-22 20:44:29
50
原创 Swin-Transformer详解
在移动窗口之后,在特征图的边缘会存在一些多余的突出特征和一些空白的部分,我们把突出特征补充到空白处,可以生成可被窗口分割的特征图,但是补充而来的特征图会与其周围特征形成一个新的窗口,窗口之间的patch会进行self-attention计算,这是我们不想看到的,所有我们使用一个mask蒙版,防止拼接window不同区域之间的计算。为了提高模型的表征能力,随着网络的加深,通过Patch Merging来减少token(Patch)的数量。把窗口进行移动,这样就可以聚合不同窗口之间的信息。
2022-11-22 16:03:47
1378
原创 Java I/O 缓冲流、打印流
当读取的是一个字符串或是一个个字符,但只能往一个OutputStream里输出,但是OutputStream又只支持byte类型,如果要往里面写入内容,就会使用到转换流。2.我们可以对BufferedInputStream进行。
2022-11-13 16:46:27
240
原创 Java IO流-字符流
所以字符输入流父类java.io.Reader,他是以字符为单位的输入流。创建对象时候,传入的参数必须为文件不能为文件夹。1.1 FileReader对象创建。
2022-10-26 22:23:02
42
原创 Java set集合
遍历方式有转换为数组遍历,使用迭代器遍历,使用foreach遍历(语法糖,实际为迭代器),下面为转换为数组遍历(遍历顺序和存储顺序不一样)2,创建对象,基本操作。1.HashSet特点。1,不能存储重复元素。
2022-10-23 09:27:29
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人