- 博客(52)
- 收藏
- 关注
原创 人脸识别Arcface的Tensorrt C++
很久没有写博客了,近期帮一个网友,半(关)夜(系)三(到)更(位),实现了一下2D人脸识别中特征提取算法,并且用C++部署至nx板卡上,感觉效果还不错,于是决定分享出来,让大家一起来学习指正。鉴于很多朋友还是初学者,我们还是稍微介绍一下人脸识别~人脸识别技术,作为生物识别的一种形式,已经在安全验证、访问控制和个性化体验等多个领域得到应用。深度学习算法的引入极大地推动了人脸识别技术的发展,提高了识别的准确性和鲁棒性。人脸识别算法通常包括以下步骤(语言组织能力有限,以下采用kimi助手生成。
2024-08-05 13:21:02
814
原创 C++中十六进制数据─般用哪种数据类型进行存放
在C++中,十六进制数据可以使用以下数据类型进行存放:1.unsigned char:无符号8位字符型数据类型,用于表示8位无符号整数,通常用于表示单个十六进制数字。2.unsigned short:无符号16位整型数据类型,用于表示16位无符号整数,可以存放两个十六进制数字。3.unsigned int:无符号32位整型数据类型,用于表示32位无符号整数,可以存放8个十六进制数字。
2024-07-17 09:14:55
370
转载 V4L2库简介与使用以及利用其获取USB即插即用相机的Bayer Raw原始数据
V4L是Video For Linux的缩写,V4L2则是V4L的第二个版本,其官网是这里,官方文档是这里。这里我们不涉及复杂的介绍,只是简单说明。V4L2库是Linux内核提供给应用程序访问音视频驱动的统一接口,提供了一整套设备驱动和API的合集,让应用程序和用户可以方便的访问USB相机等各种设备,其被广泛用于多媒体开发等应用。如果对具体开发感兴趣,可以参考这个网页这个网页这个网页。上图展示了V4L2与相机有关的架构图。图片来自这里,感兴趣可以查看更多内容。
2024-04-25 10:02:44
558
原创 github无法访问此网站,github.com 的响应时间过长。
点击之前书签页中保存的去github搜集的项目连接,出现github无法访问此网站,github.com 的响应时间过长。2、搜索hub.nuaa.cf;1、打开浏览器,点击百度;3、点击第一项,如下所示;4、即可使用GitHub。
2024-01-24 09:09:19
650
原创 kitti2bag
pip install kitti2bag -i 清华源镜像。kitti官网下载数据,例如:2011_09_26。安装kitti2bag。
2023-11-21 14:37:16
355
原创 Eigen
上述例子中的块操作方法作为表达式的右值,意味着是只读形式的,然而,块操作也可以作为左值使用,意味着你可以给他赋值。这两个表达式语义上相同,唯一的区别是如果块的尺寸比较小的话固定尺寸版本的块操作运行更快,但是需要在编译阶段知道大小。版本1,动态构建块大小表达式:matrix.block.block(i,j,p,q)版本2,固定大小构建块的表达式:matrix.block<p,q>(i,j)cout<<"齐次欧式变换:\n"<<T.matrix()<<endl;块大小为(p,q),起始索引为(i,j)
2023-11-20 09:42:50
139
原创 error while loading shared libraries: /home/RSView/lib/libQtGui.so.4: file too short
error while loading shared libraries: /home/RSView/lib/libQtGui.so.4: file too short该问题为软连接链接问题。原因:程序链接的动态库中有软连接,但是软连接没有( l )标识,被识别成了实际的动态库文件,软连接文件又太小,所以就成了too short。重新删除文件,创建软链接。
2023-11-01 08:16:04
1033
原创 ROS常用命令及多机(TX2 与虚拟机)通信步骤
修改虚拟机hosts文件:sudo vim /etc/hosts,虚拟机中添加TX2的ip和hostname,如ip+ hostname,10.46.10.60 tx2,TX2中添加虚拟机的hostname和ip,如ip + hostname,10.46.10.61 virtual-machine。需求:tx2发布话题,虚拟机订阅话题,采用ROS分布式方式。在tx2中启动master:roscore,在虚拟机中查看话题:rostopic list,若能看到话题列表说明配置成功。
2023-10-31 11:03:26
466
原创 VMware17.0.1密匙/下载/安装Ubuntu18.04
3、安装VMware,密匙网上复制一个。1、下载VMware17.0.1。2、下载Ubuntu18.04。
2023-10-23 14:05:58
354
转载 串口、Modbus通信协议
Modbus通信协议:Modbus通信协议分为MODBUS RTU,MODBUS ASCII和MODBUS TCP三种模式。MODBUS RTU,MODBUS ASCII所用的物理硬件接口都是串行(Serial)通讯(RS232,RS422,RS485)。所以我的理解是这两者的区别是,串口是一种硬件连接方式,可以看成是硬件。Modbus是一种数据传输协议,可以看成是软件。前段时间项目中接触到了这几个知识点,所以记录一下,因为研究的也不深入,所以有什么问题还请大家帮忙提出来,共同进步。
2023-05-17 14:48:12
858
原创 ubuntu系统版本查询命令方法
gcc version 9.3.0-10kylin2中 kylin2代表的是ubuntu kylin 20.04版本!linux版本号:Linux version 5.4.0-99-generic gcc version 9.3.0-10ubuntu2中 ubuntu2 代表的是ubuntu20.04版。显示linux 的内核版本和系统是多少位的:X86_64代表系统是64位的。Distributor ID: Ubuntu 类别是Ubuntu。
2023-05-06 11:08:21
4288
原创 SOLOv2-TensorRT
https://github.com/Broad-sky/SOLOv2-TensorRT 如果觉得有用,欢迎Star!
2023-03-08 10:16:16
1033
4
原创 Windows安装Qt与VS2019添加QT插件
下面这种方式本人安装不起来,一直卡住下不下来。拓展->管理拓展->联机->搜索Qt,然后下载,安装。安装完成后重新打开VS2019,在扩展一栏下边就会出现Qt VS Tools。按下Ctrl+f5就能够运行程序了,一个窗口就出来了,可以看到工程是没问题的。安装可以就选中这个MSVC 2017 64-bit,其他就暂时不用了。当然也可以双击.ui文件对这个界面添加想要的控件。下载对应的版本,我下载的VS2019版。二、通过vs2019安装Qt插件方式。这边我就直接使用默认配置了。到这边就配置完成了。
2023-03-08 10:01:53
2955
原创 typora激活方法
第一步:先去官网下载typora工具包typora-setup-x64.exe第二步:双击第一步下载好的exe文件,一路安装没有特别需要注意的地方,安装至最后一步,取消"Launch Typora"的勾选,然后点击"Finish",完成安装第三步:将winmm.dll文件拷贝至typora的安装目录下,如D:\Program Files\Typora备注:winmm.dll文件下载信息如下:winmm.dllhttps://www.aliyundrive.com/s/BNpDAhoo22G提取码: 38qf
2023-02-15 16:09:14
26949
13
原创 CUDA cudnn tensorrt链接及Jetson板卡pytorch安装链接
cuda + cudnn + tensorrt 对应好的版本。tensorrt官方链接。tensorrt手册。
2023-01-17 16:14:17
200
转载 CES 2023:激光雷达厂商齐亮相,探测距离依然“卷”
从展商情况来看,在本届 CES 上,中国激光雷达厂商的存在感越来越强,过去一年,海外激光雷达遭遇寒冬之时,国内激光雷达却迎来了量产上车的快速成长期。据官方介绍,E1 拥有 120°×90° 超广 FOV,支持超过 25Hz 超高刷新帧率,测距能力 30 米@10%,最远测距达 100 米,面向车规前装量产,E1 采用全固态架构和超薄机身设计,搭载自研芯片,内部无任何运动部件。作为自动驾驶汽车核心传感器,激光雷达在满足高阶自动驾驶感知需求的同时,也越来越在性能上注重安全性。“CES 越来越像汽车展会。
2023-01-11 20:49:46
113
原创 C++ 简单二叉树
后序遍历: 左子节点-----> 右子节点-----> 中间节点。中序遍历:左子节点-----> 中间节点-----> 右子节点。前序遍历:中间节点-----> 左子节点-----> 右子节点。层序遍历:一层一层的从上往下/从左往右遍历。
2023-01-09 09:38:06
86
原创 C++ 单向/双向链表
顺序表的链式表示形式又分为了:单链表、双向链表、单循环链表、双向循环链表几种。优点:插入或删除元素时很方便,使用灵活,存储空间利用率高。缺点:存储密度小(
2023-01-07 22:11:06
207
原创 OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
其中第一个是torch路径下的,第二个是虚拟环境本身路径下的,转到第二个目录下把它剪切到其他路径下备份就好(最好把路径也备份一下)。采用这样默认安装mmcv-full的方式,如果与你环境里的cuda和torch版本不匹配,就容易出现上面报错。其中,{cu_version}、{torch_version}分别对应cuda和torch的版本号。在pycharm里调试程序时可以直接通过在程序前添加这两个语句解决。注意:mmcv-full我这里推荐用1.2.4版本的。
2022-09-13 14:11:08
57630
30
原创 superglue、superpoint C++ TensorRT
motivation(动机)很早以前自从看了superglue、superpoint算法后,一直想把它们利用TensorRT进行加速实现一遍,由于平常太忙一直没有去做这个事情,不过利用周末的时间,终于把代码堆完了~关于SuperGlue里面的细节,可以参看上一篇文章,其中包括最优传输OPT、注意力机制等。图像配准——SuperGlue - 知乎SuperGlue: Learning Feature Matching with Graph Neural Networks SuperGlue特点一般
2022-05-24 09:00:40
3229
20
翻译 LIP数据集
Look into Person (LIP) 是一个新的大规模数据集,专注于人的语义理解。 以下是详细说明。1.1 Volume该数据集包含 50,000 张图像,带有精细的逐像素注释,带有 19 个语义人体部位标签和带有 16 个关键点的 2D 人体姿势。1.2 Diversity标注的 50,000 张图像是从 COCO 数据集中裁剪的人实例,大小大于 50 * 50。从现实世界场景中收集的图像包含具有挑战性姿势和视图、严重遮挡、各种外观和低分辨率的人类外观。 我们正在努力收集和注释更多
2021-11-09 20:33:56
2163
原创 torch.flatten
torch.flatten(input,start_dim=0,end_dim=-1)→Tensor input(Tensor) – the input tensor. start_dim(int) – the first dim to flatten end_dim(int) – the last dim to flatten 例如数据维度[2,3,4,4]如果flatten(Input, start_dim= 1),则表示从第一维开始打平所有数据直到最...
2021-11-09 17:02:06
2330
原创 python 直方图均衡化
图像的直方图是什么?¶直方图是图像中像素强度分布的图形表达方式. 它统计了每一个强度值所具有的像素个数.直方图均衡化是什么?¶直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法. 说得更清楚一些, 以上面的直方图为例, 你可以看到像素主要集中在中间的一些强度值上. 直方图均衡化要做的就是拉伸这个范围. 见下面左图: 绿圈圈出了少有像素分布其上的强度值. 对其应用均衡化后, 得到了中间图所示的直方图. 均衡化的图像见下面右图.直方图均衡化是...
2021-11-01 23:12:57
6314
原创 torch.optim.lr_scheduler.LambdaLR与OneCycleLR
LambdaLR函数接口:LambdaLR(optimizer, lr_lambda, last_epoch=-1, verbose=False)更新策略:其中 是得到的新的学习率,是初始的学习率, λ是通过参数lr_lambda和epoch得到的。参数:optimizer (Optimizer):要更改学习率的优化器;lr_lambda(function or list):可以为一个lambda函数,也可以传入列表;last_epoch (int):最后一个epo..
2021-11-01 15:42:32
3595
原创 统计可见光图与红外图标准差
import numpy as npimport osimport cv2import csvrgb_path = "L:\\Flir\\FLIR_ADAS_1_3\\FLIR_ADAS_1_3\\train\\RGB"rgb_file_name = os.listdir(rgb_path)print(rgb_file_name)print(len(rgb_file_name))vis_stds = []infrar_stds = []with open('country1..
2021-10-27 23:34:39
188
原创 torch.nonzero()
一维nonzero()返回的是不为零的值在一维向量中的索引。>>> a = torch.randn(4)>>> atensor([-0.7712, 1.6482, 0.0362, 1.6212])>>> b = (a>0.1)>>> b.nonzero()tensor([[1], [3]])>>> btensor([False, True, False, Tru
2021-10-26 09:32:09
1423
原创 SSIM 一种衡量两幅图像相似度的指标
SSIM(Structural Similarity),结构相似性,是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。SSIM使用的两张图像中,一张为未经压缩的无失真图像,另一张为失真后的图像。定义给定两个图像和,两张图像的结构相似性可按照以下方式求出:其中是的平均值,是的平均值,是的方差,是的方差,是和的协方差。,是用来维持稳定的常数。是像素值...
2021-10-25 22:30:29
2052
原创 OpenCV C++ 图像对比度和亮度
目录知识点亮度和对比度调整原理示例代码reference知识点在本文中将了解到以下几个方面的内容:1、C++ OpenCV访问像素值;2、用0初始化矩阵;3、saturate_cast起的作用;4、简单的亮度()与对比度()调整方法亮度和对比度调整原理常用的点过程(即点算子),是用常数对点进行乘法和加法运算: 式(1)把看成源图像像素,把看成输出图像像素,则式(1)可以写成: 式(2)其中,和表示像素位于第行和第列;其中...
2021-10-09 15:32:30
2886
原创 mmdetection Runner
Runner作用,通过注册的hook在预定义的位点执行自定义函数实现自定义训练流程。注册钩子类注册训练hooks,其原理是将LrUpdaterHook、OptimizerHook、CheckpointHook、IterTimerHook等钩子类注册到hooks中,实则存储在Runner类的self._hooks列表中。 def register_training_hooks(self, lr_config,
2021-09-27 16:52:24
644
原创 mmdetection multi_apply
mmdetection multi_apply将输入的函数func作用在Iterable每个参数上。cate_pred, kernel_pred=multi_apply(self.forward_single, new_feats, list(range(len(self.seg_num_grids))), eval=eval,upsampled_size=upsampled_size) 在SOLOv2中,将split_feats()函数返回的特征图,依次使用forward_single()进行计算!
2021-09-26 12:03:20
4133
原创 迭代器、生成器、装饰器
迭代器# iter()函数 创建迭代器# iter(iterable)#一个参数,要求参数为可迭代的类型# 把list、dict、str等Iterable变成Iterator可以使用iter()函数list0 = [i for i in range(10)]lis0 = iter(list0)from collections import Iteratorfrom collections import Iterableprint(isinstance(lis0,Iterator))#判断
2021-08-02 13:49:18
65
原创 类、函数装饰器
类装饰器# 1、装饰器函数其实是一个接口约束,它必须接受一个callable对象作为参数,然后返回一个callable对象。# 2、在python中,一般callable对象都是函数,但是也有例外。比如只要某个对象重写了call方法,那么这个对象就是callable的。# 3、当创建一个对象后,直接去执行这个对象,那么是会抛出异常的,因为他不是callable,无法直接执行,但进行修改后,就可以直接执行调用了,如下:class Test(object): def __call__(..
2021-08-02 13:48:59
189
原创 实例方法、类方法、静态方法
打印类的相关属性print(dec.__doc__) #类的说明print(dec.__name__) #类的名字print(dec.__module__) #从哪个地方开始执行print(dec.__bases__) #类的父类print(dec.__dict__) #类的所有属性放在字典实例方法 定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法); 调用:只能由实例对象调用。类...
2021-08-02 13:46:10
599
原创 安装apex时,因安装cryptacular,出现mspdb140.dll,无法继续执行代码
直接使用命令pip install apex安装apex时,需要安装包cryptacular,出现问题,"由于找不到mspdb140.dll,无法继续执行代码"尝试方法一、将由于在“C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\”中存在mspdb140.dll,因此将“C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\”添加至环境变量中,未解决问题!!
2021-08-02 13:45:51
2158
原创 pip | pypi | 清华大学开源软件镜像站使用帮助
我们直接用命令:pip install 库名,因网络太慢,导致下载超时~~~针对在安装Python库出现的超时问题---总结了如下两种解决方案:其一:pip --default-timeout=100 install -U 库名例如:pip --default-timeout=100 install -U numpy其二:包源镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名例如:pip install -
2021-08-02 13:45:17
1344
原创 解决Pycharm等待工程update index时间太长
由于工程中经常会加入部分数据在根路径下,因此会导致在使用Pycharm打开工程时,出现update index时间过长,而且如果根目录下的文件数量越大,会导致“.PyCharm2018.3\system\caches”中的缓存文件“content.dat.storageData”,变得非常大,不仅占用C盘空间,而且还影响Pycharm使用感觉。则针对该问题,采用的解决办法:1、打开pycharm的Setting2、找到Project Structure,将工程目录结构中的dataset添加至
2021-08-02 13:45:04
10700
3
原创 通过@property装饰器将类方法进行装饰
@property通过property装饰器将类方法进行装饰,这样调用类方法时,看起来就像是直接调用了属性来得到值,调用方法时方法不用加()class person: def __init__(self, age): self.__age = age @property def age_property(self): return self.__age + "...." @age_property.setter ..
2021-08-02 13:44:47
77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人