- 博客(45)
- 收藏
- 关注
原创 complex-YOLOv4(三):测试和评估作者训练好的模型以及训练模型
前言:YOLOv4这篇github其实跟YOLOv3那个差不多,但是用的pytorch1.5.0,版本更友好了,基本上执行代码就可以了,不需要很多调试。github:https://github.com/maudzung/Complex-YOLOv4-Pytorch一、数据集准备这里数据集结构跟之前的结构不太一样。需要把数据集整理成如下结构:跟上一篇博客强调的还是一样,不要自行裁剪点云数据,也不要整理划分valid和train数据集*这里说一个问题,就是KITTI数据集是很大的,如果在pyc.
2022-03-31 21:10:28 4183 32
原创 complex-YOLOv4(二):浅test下complex_yolov3源码
一、代码下载和环境准备$ git clone https://github.com/ghimiredhikura/Complex-YOLOv3$ cd Complex-YOLO-V3/$ sudo pip install -r requirements.txt建议装到Anaconda虚拟环境中,因为这个代码是三年前发的了,配置的第三方库都是旧版本,仅仅适用于当前的项目。用完删掉就好,不会污染环境。二、快速测试(不用下载KITII数据集)1、首先下载预训练权重$ cd checkpoints/
2022-03-31 14:58:52 3153 2
原创 complex-YOLOv4(一):Kitti数据集解读
complex-YOLOv4(一):Kitti数据集解读一、kitti数据集下载二、kitti数据集解读2.1 data_drive文件2.2 data_drive_tracklets标签文件2.2.1 每帧标注2.2.2 对轨迹标注2.3 data_calib文件三、Kitti数据集分析一、kitti数据集下载下载链接:http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d下载29G点云文件,12G的左RGB文件
2022-03-27 22:01:05 4451
原创 目标跟踪:KCF跟踪并使用yolov4进行重检测
一、运行环境windows下VS2019opencv4.5.5+contrib4.5.5 (使用cmake VC16编译安装)官方下载的yolov4模型和预训练参数二、算法思想使用KCF,跟踪失败时,采用YOLO tiny检测。认为所有的检测结果中与丢失前一帧-的目标框DIoU最高的为跟踪目标。用yolo检测到的目标重新初始化跟踪器。三、代码实现github:https://github.com/sunny553/KCF-YOLOv4/tree/main主函数:#include "yolo
2022-03-25 20:49:24 9651 14
原创 用scp命令在windows/ubuntu间传输文件
windows使用Windows Powershell,ubuntu使用命令1、文件传送scp 文件 用户名@主机IP:目标文件夹2、文件夹传输scp -r 文件 用户名@主机IP:目标文件夹注意有些目录下的文件(夹)需要管理员权限,加sudo在命令前即可...
2022-03-17 16:27:27 2593 3
原创 点云处理:Kitti数据集中点云坐标转化到彩色摄像机坐标
一、实现目标激光雷达探测到的点云目标,将目标的激光雷达下的坐标转化到摄像机的坐标下。实现结果:雷达检测到车辆目标。找到对应的2D坐标点,并框出目标。二、实现原理其中,x为点云坐标系坐标,y为摄像机坐标系对应的坐标。上面用到的三个矩阵到矫正文件中查找即可。这里简单举个例子:我们可能用到的在这两个txt中。1)从雷达到摄像机00代码:cv::Mat T_velo_to_cam00 = (cv::Mat_<float>(4, 4) << 7.53374
2022-03-17 15:25:33 1442 3
原创 点云处理:bin二进制文件转pcd文件
一、二进制文件说明点云数据以浮点二进制文件格式存储,每行包含8个数据,每个数据由四位十六进制数表示(浮点数),每个数据通过空格隔开。一个点云数据由四个浮点数数据构成,分别表示点云的x、y、z、r(强度 or 反射值),点云的存储方式如下表所示:即每行包含两点的XYZI,那么只需要对一个点赋值对应的XYZI值,并将该点压入点云中即可。二、代码#include <boost/program_options.hpp>#include <pcl/point_types.h>#
2022-03-14 19:28:23 3006 3
原创 基于opencv实现:以Harris角点作为种子点的区域生长
一、代码#include<opencv2/opencv.hpp>#include<iostream>#include<math.h>#include <time.h> #include<stack>using namespace std;using namespace cv;void AreaGrow(Mat mat, Mat& growArea, Mat flags ,stack<Point2f> seeds,
2021-12-22 15:36:37 2215 1
原创 使用dependency walker进行“找不到指定模块“异常分析
一、dll动态链接库原理讲解:ddl原理二、使用dependency walker更快速使用depends使用depends进行异常检查
2021-11-11 19:43:25 640
原创 目标跟踪算法之DSST算法详解
一、使用FHOG特征的KCF:这篇文章透彻讲解了FHOG以及多维度训练,是非常重要的一个部分。但是我看的大部分论文就是一句“多维类似一维”,一直没有特别清楚,看了这篇之后终于有概念了hhFHOG特征提取二、DSSTDSST算法...
2021-11-04 16:36:37 2817
原创 使用Cmake快速生成vs项目
CMake编译原理CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:1.cmake2.make使用Cmake编译程序1.准备程序文件这一步我暂时用不到,一般都是直接从github上面下载这些文件。2、编写CMakeLists.txt这个文件中我们需要注意的是最后
2021-11-02 17:38:39 8945
原创 opencv常见问题(一)
一、坐标位置图像坐标系如上图所示。x的最大边界为整图的列数,y的最大可能取值为整图的行数。图像中的点用(y,x)表示。但是需要注意的是对于cv::Rect这个类来说,初始化时应该时(x,y,width,height)这一点非常容易搞错!!!二、Mat的数据类型1、整个mat的类型有:初始化举例:Mat masker =Mat::zeros(W.rows,W.cols,CV_32SC1) ;2、访问mat中的元素,元素的类型有:像素点访问举例:for (int y = 0; y
2021-10-26 22:10:56 165
原创 filezilla:不安全的服务器,不支持FTP over TLS
使用filezilla进行windows和ubuntu两个电脑之间文件的互传一、检查ubuntu系统的相应功能是否打开service sshd statussudo /etc/init.d/vsftpd status需要这两个状态都是active(running)状态。如果有非active,则需要打开它们。二、filezilla的设置网上的解决方案一般都是更改一些设置来尝试的,要多试试,说不定就可以了呢1、filezilla输入用户名需要是小写字母大写的用户名,无论怎么更改都是读.
2021-09-08 16:28:27 4744 1
原创 网络诊断提示:远程计算机或设备将不接受连接
1、导致原因:使用网络代理软件,在关闭软件前没有关闭代理。在关闭软件前一定要先停止代理2、修复1)打开控制面板->internet选项->连接->局域网设置->只勾选“自动检测设置”2)应用,确定...
2021-09-08 09:57:55 62556 22
原创 使用git将本地文件上传到github
第一步:github操作1、登录后,点击new,创建一个新的项目repository2、填写相应信息后点击create repository即可Repository name: 仓库名称(输入名字,最好不要使用中文)Description(可选): 仓库描述介绍Public, Private : 仓库权限(公开共享,私有或指定合作者)Initialize this repository with a README: 添加一个README.mdgitignore: 不需要进行版本管理的仓库类
2021-09-06 18:55:08 359
原创 c++使用struct结构体来构造链表
一、源码//定义ListNode结构、三种构造函数struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} ListNode(int x, ListNode *next) : val(x), next(next) {} };//释放new开辟的空间,不进行会导致内
2021-08-31 11:59:08 1064
原创 Harris3D调参记录
一、测试文件(华中科技大学南一楼7位点云图):链接:https://pan.baidu.com/s/1vnc5ZqShDCtx-acD182WkA提取码:5m84二、调参技巧:1、首先要确定法线计算时使用的半径范围。半径过小会导致搜索不到邻近点(出现程序无法出结果的情况),半径太大会导致搜索太慢,且法线计算不够准确。因此确定点云的分辨率量级很重要。使用CloudCompare软件获取两点之间的距离,确定搜索半径的量级,然后在量级合理的约束下调节参数。在不能确定量级的情况下,还可以使用setKse
2021-08-19 20:09:32 2022 6
原创 vector<vector<char>>的初始化
做leetcode题的时候由于要放到vs2019里面调试,把测试用例直接复制到vs里面,不可行,还需要稍微修改一下,挺麻烦的,希望leetcode能早点改善一下啊。1)测试用例是这样的:2)直接复制到vs2019里面,会报错(初始化是不对的)不存在适当转换3)修改a.赋值时 []->{}b.双引号改成单引号*可以直接使用vs中的替换4)结果...
2021-08-19 11:47:26 2629 1
原创 点云与RGB融合
代码://./kitti-color ./kitti/1.pcd ./000001.png#include <iostream> #include <boost/thread/thread.hpp> #include <pcl/common/common_headers.h> #include <pcl/common/common_headers.h> #include <pcl/features/normal_3d.h>
2021-07-30 15:46:37 3563 17
原创 error: Microsoft Visual C++ 14.0 is required问题
感谢夏天的热心分享,我也做一点贡献吧。楼主的链接还有27天到期,这是百度盘永久链接,链接:https://pan.baidu.com/s/19F4YurwwZ5A9WF5txzMZoQ 提取码:ka7q安装后解压运行exe即可找了一晚上就这个可用...
2021-07-22 09:20:53 70
原创 PCL点云库:ICP算法
1、点云数据:斯坦图兔子提取码:zmw32、代码环境:vs2019、pcl1.12.0代码:#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/registration/icp.h>#include <pcl/registration/registration.h>#include <pcl/visu
2021-07-14 17:49:03 474
原创 华中科技大学人工智能课件
链接:https://pan.baidu.com/s/1Pq7pF0v8xE3k-oVndbFqnQ提取码:mz8f复制这段内容后打开百度网盘手机App,操作更方便哦不给课件的课真的容易跑神…
2021-06-28 10:37:59 191
原创 力扣每日一题(3)
谨以此系列作为力扣每日一题记录题目解题思路代码class Solution {public: bool isPowerOfFour(int n) { if((n<=0) || (n & -n) != n){ return false; } else if((n & 0x55555555) == n){ return true; } e.
2021-05-31 09:17:24 112
原创 力扣每日一题(2)
谨以此系列作为力扣题库记录题目:判断一个数是否为2的幂次数。解法思路:2的幂次数都是正数,对应的补码等于相反数的补码。编程实现:class Solution{public: bool isPowerOfTwo(int n){ return (n>0) && ((n & -n)==n)注意:((n & -n)==n)要加里面的小括号,不然会出现运算顺序出错的情况。...
2021-05-30 14:07:59 75
原创 力扣每日一题(1)
谨以此系列作为力扣题库学习题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。汉明距离定义:在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。代码实现:class Solution{public: int hammingDistance(int x,int y){ int count = 0; if(x==y).
2021-05-27 21:43:27 206
原创 Pytorch学习(一).深度学习回顾和Pytorch简介
谨以此系列作为《Pytorch深度学习实战》的电子版笔记第一章 深度学习回顾和Pytorch简介Pytorch是一个用在GPU和CPU上进行深度学习的优化张量库。基于磁带的自动求导系统使Pytorch具有动态图的功能。Pytorch的一大优势在于ONNX内置于其核心。ONNX是微软和facebook宣布的开放神经网络交换协议:旨在帮助开发人员将任何模型从任何框架迁移到其他的任何框架。Pytorch内置ONNX,使得我们可以不安装任何其他包或者工具就可以进行模型迁移。静态图和动态图的区.
2021-05-22 10:41:46 191 1
原创 pytorch如何将Variable或Tensor转换为numpy?
修正:Variable张量转化为numpy解释中应该是“我们可以使用Variable.data来将Variable转为tensornumpy”用途:读取文件和写数据到文件使用numpy自带的库函数进行会很方便,所以可以先用numpy进行数据读取,再将其转为tensor,进行相关的后续操作。...
2021-05-13 19:34:32 312
原创 pytorch学习(一):线性回归
一、学习点:1、pytorch初使用2、调用GPU3、torch学习二、数据集:天池工业蒸汽量预测链接:百度网盘提取码:dh6p三、代码:import torchimport torch.nn as nnimport numpyfrom torch.utils.data import TensorDatasetfrom torch.utils.data import DataLoaderfrom torch.autograd import Variable#数据的读入data
2021-05-11 20:00:14 135
原创 python快速导入第三方库
1、运行cmd2、输入 python -m pip install/uninstall -i ‘镜像网址链接’ ‘需要安装的第三方库’网址链接:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:
2021-03-21 20:41:28 727
原创 硬件看门狗的实现
看门狗的用途:MCU 因为电磁干扰等原因,导致芯片系统死机,可用看门狗。逻辑bug,或者不明原因的导致程序跑分,可用看门狗。看门狗的时钟,一般是独立的,不共用系统时钟,就算系统时钟不能正常工作了,看门狗也是正常工作的,当系统时钟出现异常,程序跑飞,看门狗就会启动复位系统。硬件看门狗电路实现:...
2020-06-23 19:17:16 2833
原创 Verilog——篮球24S计时器
篮球24S计时器设计要求层次化设计准备工作设计要求(1)具有显示24秒计时功能;(2)系统设置外部操作开关,控制计时器的直接清零,启动(重置为24)和暂停/继续功能;(3)计时器为24秒递减计时,其计时间隔为1秒;(4)计时器递减计时到零时,数码显示器不能灭灯,同时发出光电报警信号。层次化设计准备工作...
2020-06-17 20:22:44 9152 5
原创 Verilog应用——24秒篮球计数器
Verilog应用——24秒篮球计数器设计思路变模计数器思路代码实现设计模块测试模块仿真结果显示思路代码显示设计模块测试模块仿真设计思路 需要一个模3计数器和模10计数器,这里需要设计一个可变模数的计数器,并对两个计数器进行级联。显示模块则采用最常用的七段显示器,这里需要注意的是,当十位数为0时,应该令显示器熄灭,合理控制计数器控制端即可。变模计数器思路采用行为级建模。代码实现设计模块//filename:_24count.vmodule varmodcnt(CP,CLR,EN,Q
2020-06-14 17:54:27 4851 1
原创 Verilog——74LVC161计数器
Verilog——74LVC161计数器设计思路代码实现设计模块测试模块仿真结果设计思路根据功能表进行行为级建模,如下:代码实现设计模块//filename:_74LVC161.vmodule _74LVC161(input CR,PE,CEP,CET,CP,input [3:0] D,output reg [3:0] Q,output reg TC);/*参数说明:输入: CR位置零输入端,PE为预置,CEP,CET为控制信号,CP为时钟信号,D为预置信号 输出: Q为输
2020-06-07 17:55:11 10346 2
原创 Verilog——74HC194多功能双向移位寄存器
Verilog——74HC194多功能双向移位寄存器设计思路代码实现设计模块测试模块仿真结果设计思路根据74HC194的功能表进行行为级建模,如下图:代码实现设计模块//filename:74HC194.vmodule _74HC194(input CR,CP,DSR,DSL,input [1:0] S,input [3:0] D,output reg [3:0] Q);/*端口说明:输入:CR为异步置零端,CP为时钟信号,DSR为右移串行数据输入端,DSL为左移串行数据输入端,
2020-06-07 17:34:27 15508
原创 Verilog——串行四位加法器和超前四位加法器74HC283
Verilog——四位加法器74HC283设计思路实现过程一位全加器原理代码实现设计模块测试模块仿真结果四位全加器74HC283原理设计思路先设计出一位全加器,再根据分层次分模块设计出四位加法器。原理图如下:实现过程一位全加器原理根据全加器真值表进行行为级建模。 真值表如下图所示:代码实现设计模块module full_adder(input A,B,Ci,output reg S,Co);always@(*)begin case({A,B,Ci}) 3'b000:beg
2020-06-04 18:28:12 27460
原创 verilog——74HC85四位数值比较器并扩展为16位数值比较器
verilog——74HC85四位数值比较器并扩展为16位数值比较器74HC85的仿真设计思路根据数据比较的原理写出真值表,如下图代码设计模块
2020-06-04 12:29:49 17321 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人