- 博客(41)
- 资源 (32)
- 收藏
- 关注
原创 深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析
在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。往往会发现很多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。1. GPU内存占用率问...
2019-06-20 10:24:33 157669 359
原创 半监督学习Semi- Supervised Learning的一致性约束,一致正则损失
半监督学习Semi-Supervised Learning核心思想,对于有标签的数据,采用有监督的交叉熵损失;对于无标签数据,采用无监督的一致性正则损失。 分析了半监督学习的主流方法,以及一致性约束的作用条件和对分类损失的不同部分的作用。
2023-05-09 14:24:43 1734 1
原创 双目立体匹配中的极线约束(Epipolar Constraint),基础矩阵(Fundamental Matrix),本质矩阵(Essential Matrix),对极几何(2D-2D)
本文重点分析对极几何(Epipolar Geometry)、对极约束(Epipolar Constraint)、本质矩阵(Essential Matrix)和基础矩阵(Fundamental Matrix),以及他们之间的关系。
2023-04-22 01:14:42 1822
原创 光流法Optical Flow,Lucas-Kanade方法,CV中光流的约束分析
本文主要介绍计算机视觉中,光流法Optical Flow Method,Lucas-Kanade方法的约束,CV中光流的约束分析,包括了亮度不变约束,速度向量计算等方法。
2023-04-22 01:07:37 830
原创 AI/CV大厂笔试LeetCode高频考题之基础核心知识点
AI/CV大厂笔试LeetCode高频考题之基础核心知识点。总结最基础,最全面的高频考题。
2023-02-28 10:43:10 1028
原创 史上最全事件相机DVS/Event-based Camera的介绍和分析综述文章
事件相机DVS(Dynamic Vision Sensor),该相机具有更宽的动态范围,输出较传统相机而言更稀疏、更快。一种快匹配自适应光流算法和完全通过FPGA完成的基于DVS相机的硬件实现与其功耗和计算速度方面的优势,最后介绍了该项研究在自动驾驶领域的广阔应用前景。
2022-12-13 11:30:25 10030
原创 OpenCV中CommandLineParser命令行输入使用方法介绍
OpenCV中CommandLineParse类主要是命令行解析类。OpenCV中出现此类的主要目:方便用户在命令行使用过程中减少工作量。具体使用方式如下。我们将从三个方面介绍。首先是CommandLineParser类的构造函数,说明一下这个类的一些常用成员函数;随后介绍如何按需添加和配置参数和变量;最后直接使用Visual Studio 或者生成的exe文件,来按照命令行的方式,输入参数,并运行得到结果。...............
2022-07-20 16:38:11 2751
原创 李群与李代数对SLAM移动场景的运动坐标表示
本篇博文,将介绍,李群与李代数的关系,如何利用李群与李代数,构造便于表示的旋转/变换矩阵,来表示移动的场景和目标。核心内容是:传统的旋转矩阵R和变换矩阵T,如果要在欧式空间进行构造,那么构造这个矩阵非常复杂,需要9个参数描述旋转,12个参数描述变换(9个旋转+3个平移)。下面通过对李代数的介绍,指数映射,对数映射,刚体的旋转,刚体的变换(旋转+平移),随后给定参考坐标X0,移动相机,对场景进行拍摄,还介绍如何通过李代数来表示场景的移动过程,参考的坐标点,在过程中,是如何随着相机移动变等问题探讨与分析。
2022-05-16 20:14:46 1115
原创 《SLAM十四讲》第四讲 李群与李代数 习题5证明
第四讲 李群与李代数 习题证明 第5题,本博客《SLAM十四讲》,主要是针对第四讲 第5题这个证明题,进行展开。网上其他的各种证明方法,都稍微有点复杂。所以有如下这个方法。
2022-05-13 20:36:53 663
原创 机器人与视觉——李群与李代数,李括号性质的分析与证明
李群与李代数分析与证明1. 本文重点描述李群(Lie Group)与李代数(Lie Algebra)的相关定义与性质。2. 群是一种集合加一种运算组成的结构。3. 从李群,推导出李代数,得到了李代数是李群在单位元处的正切空间(Tangent Space)的概念。4. 随后,证明了三维向量上李括号的性质,即两个三维向量的李括号是李代数。
2022-05-10 13:23:24 2869 2
原创 C++多线程之间,线程函数启动之后,多线程依赖的启动和线程唤醒操作。
目标检测中,为了加快速度,往往需要多线程。但是线程之间有依赖关系。本文讲解了,多线程函数中,线程之间有依赖关系,共享数据也有依赖。线程ABCD。A完成后通知B,B完成业务后,通知C,C完成后,通知D,D完成后,通知A。如此循环下去。A--->B--->C--->D--->A。我们先启动这四个线程。每个线程两个锁**,一个是锁定当前的任务,让下一个任务等待。直到该线程处理完毕,再通知下一个业务线程。 另外一个锁是,等待的锁,条件变量,等上一个业务线程的通知。一旦上一个业务完成后,马上被唤醒。
2021-12-05 16:12:54 2448
原创 目标检测中如何定义正负样本,和正负样本在学习过程中loss计算起的作用
如何定义正负样本,和正负样本在学习过程中loss计算起的作用正负样本定义分类和回归head如何学习和利用划分后的正负样本(loss如何计算)正负样本在分类中loss计算的处理正样本在bbox 回归中的loss计算在目标检测中,经常说起正负样本。本文仔细说一下,如何定义正负样本;定义正负样本之后,在loss计算中,正负样本分别参与到classification head和regression head中,是如何使用正负样本信息进行监督学习的。loss如何从正负样本中,直接得到这两类样本对不同任务的损失函数和
2021-08-27 11:07:19 9484 8
原创 深度学习模型Intel与ARM部署性能分析,Intel和ARM CPU上CNN计算速度差距分析。
我们的一个业务是在Intel CPU的电脑上,进行深度学习模型算法的开发。模型有用到OpenCV,Pytorch,还有QT界面,大多数使用的是图像处理和CNN特征提取和分类的功能,处理的是摄像头输入视频,图片这两类数据。考虑到要求实时处理,我们设计的各个功能模块,能够20fps运行和显示,以及在minutes时间内,输出后处理分析的结果,就能达到预定效果。随后采用docker,部署整个环境到ARM CPU的服务器上。
2021-07-15 16:16:49 9705 7
原创 史上最全面实用的工业相机选型,相机速率计算,相机靶面,相机接口,图像格式等参数详解与分析
史上最全面实用工业相机选型,相机速率计算,相机靶面,相机接口,图像格式等参数详解与分析前言一、相机关键参数二、镜头关键参数三、相机与镜头选型四、图像格式详解五、接口类型分析六、其他补充说明七、参考资料前言本文,从工业相机的关键参数,相机镜头的关键参数,相机的速率选择,应用场景的速度分析,相机的接口选择,相机等数据传输格式等多方面综合介绍和实际分析出发,来为入门工程师,中级工程师,或者需要单独考虑某方面的配置程序员等,提供一个概括讲解或分析。一、相机关键参数对于工业相机,我们常用的是CMOS相
2021-04-11 00:31:39 6987 2
原创 pycharm中报错:Error: failed to send plot to http://127.0.0.1:63342
pycharm中报错:Error: failed to send plot to http://127.0.0.1:63342import matplotlib.pyplot as pltimport matplotlib.pyplot as pltplt.title("test")plt.xlabel('x')plt.ylabel('y')plt.savefig('test1.jpg')plt.show()在pycharm画图过程中,出现了这个错误.在pycharm使用matplotl
2021-03-19 20:16:01 15113 6
原创 关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。
关于zeromq的创建,绑定本地,和绑定其他客户端的方法。网上一大堆关于zmq的通信模式的介绍,包括三种类型,具体我就不在描述。但是他们给的demo,都是创建本地作为server服务端,也作为client客户端的这个方式。都将端口设置为5555。这个方式是本地连本地,本地控制本地。本地作为客户端:作为客户端,发送信息。import zmqcontext = zmq.Context()# Socket to talk to serverprint("Connecting to h
2021-03-01 16:05:38 1519
原创 OpenCV 相机校正过程中,calibrateCamera函数projectPoints函数的重投影误差的分析
主要是讲解Python利用OpenCV进行相机校正过程中,几个重点参数的分析。标定的过程就不再一一赘述了,很多博客和网站都在讲解怎么进行标定。本文章主要分析,标定过程中的误差计算公式,和对calibrateCamera( ) 和 projectPoints( )两个函数得到的误差,不同的原因进行分析。本文是重点分析重投影误差的计算方式。准确描述opencv自带的函数,和各个博客、教程里面所说的重投影误差计算的流程进行分析和对比,描述官方的重投影误差和教程实现重投影误差的差别。...
2021-01-24 02:03:45 30533 52
原创 用Macbook-苹果系统写代码出现显示问题Text input context does not respond to _valueForTIProperty:
Macbook / 苹果系统写代码出现显示问题当使用Mac系统,在写代码的时候,如果是有一个GUI显示界面,然后你又去点击这个界面。此时,将报错。我的源代码,是读取图片,显示图片。import cv2 as cvpic = cv.imread("test.jpeg")dst = cv.resize(pic, (512, 512))cv.imshow("This is the test pic!", dst)cv.waitKey(5000)报错信息如下:2021-01-10 19:54:
2021-01-10 20:13:40 10540 16
原创 基于深度学习的口罩识别与检测PyTorch实现
基于深度学习的口罩识别与检测PyTorch实现1. 设计思路1.1 两阶段检测器:先检测人脸,然后将人脸进行分类,戴口罩与不戴口罩。1.2 一阶段检测器:直接训练口罩检测器,训练样本问人脸的标注信息,戴口罩的,不带口罩的。2. 算法具体实现。2.1 两阶段口罩识别检测器设计2.2 实现代码分析2.2.1 训练分类器并且保存模型2.2.2 人脸检测与剪裁,然后进行分类。3.总结4. 参考链接。两阶段口罩检测的算法设计与实现。主要讲解整体pipeline的设计。
2020-10-25 15:11:48 14093 8
原创 Windows启动exe应用程序,无法正常启动(0xc000007b)的解决办法
在Windows下启动exe,应用程序无法正常启动(0xc000007b)的解决办法!**网上的其他方法,包括sfc /scannow,以及在命令行输入 命令的解决方法,还有下载directX repair 来进行修复。都是治标不治本的。很有可能做了一遍 **...
2020-07-21 10:46:34 7269 2
原创 C++调用Python文件,TensorFlow和PyTorch构建的深度学习模型,无法使用GPU的情况分析。
C++调用Python深度学习模型,包含TensorFlow和pytorch等构造的模型,然后使用GPU出现问题!1. C++调Python深度学习文件1.1 项目描述1.2 C++和Python代码的构建2. Python深度学习模型的构建代码,Python文件名为DNN_algorithm.py3. C++调用所构建的Python代码的相关函数4. 加载模型到GPU,然后使用GPU进行计算4.1 C++加载TensorFlow和Keras模型到GPU4.2 C++加载模型到GPU之后,NN运行完预测函数
2020-07-20 20:51:08 4415 1
原创 最本质的相机内参intrinsics与外参extrinsics分析,从建模,推导到求解
本文从最本质的原理出发,对相机的外参和内参进行了描述。从不同坐标系的建模,到3D到2D的投影矩阵分析,到矩阵变换的求解。全面的分析和描述了相机参数的原理。camera extrinsics and intrinsics。
2020-04-20 13:18:10 7807
原创 最全面的homogeneous单应性坐标的定义,以及不同投影,仿射,相似,刚体变换矩阵的关系和自由度分析
本文主要分析了homogeneous坐标的定义,应用点。以及不同homogeneous变换的矩阵和自由度。包括了刚体变换,相似变换,仿射变换和射影变换(投影变换)。
2020-04-17 21:46:42 1761
原创 机器人控制算法——Bayes Filter贝叶斯滤波器
机器人控制算法中,Bayes Filter贝叶斯滤波器是最基础的,本文从贝叶斯最基础的类容展开,包括循环贝叶斯滤波器,以及机器人位置的预测与矫正,两部分展开。
2020-04-17 14:08:46 843
原创 基于FPGA实现的MobileNet V1,FPGA深度学习加速器设计 CNN Accelerators based on FPGAs
Automatic Generation of Multi-precision Multi-arithmetic CNN Accelerators for FPGAs最近arXiv上挂出来一篇文章,采用FPGA实现MobileNet V1,并且完全是不借助片外资源,用的是on-chip memory,没有利用off-chip RAM。整个模型在FPGA的内部有限资源上实现的。能够使得帧率在30...
2019-11-21 18:22:51 4478 7
原创 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design
手工方法和NAS的高效网络模型设计总结与分析这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS)。 高效的CNN设计不只是用在服务器,云端,资源充足的设备上,也逐渐迁移应用到mobile devices,robotics等。这些平台具有内存有限,计算资源一定,对应用延迟敏感等特点。最近的一些文章,已经从耗时,...
2019-11-13 17:52:41 2456 3
原创 SSD(Single shot multibox detector)目标检测模型架构和设计细节分析
先给出论文链接:SSD: Single Shot MultiBox Detector 本文将对SSD中一些难以理解的细节做仔细分析,包括了default box和ground truth的结合,default box结合到不同检测的feature map层上,难样本挖掘,数据扩充,Atrous Algorithm算法原理等。包括了SSD对一阶段目标检测的贡献以及总结了SSD对其他目标检测方法的关键改进点。一、SSD具有如下主要特点 ...
2019-04-27 19:24:05 1343
原创 基于FCN,U-Net的深度学习医学影像分割算法(细胞分割算法)以及传统算法分析
本博文主要分析了基于传统计算机视觉的细胞分割算法和基于深度学习的细胞分割算法。主要针对医学影像分割算法。包括了FCN全卷积网络的细胞分割效果,U-Net细胞分割效果。查阅了采用深度学习分割医学影像的几十篇论文,做出的总结。 医学影像分割——细胞分割算法分析与总结1. 基于传统算法的细胞分割总结 1.1几种常用二值化方法 1.1.1 全局二...
2019-04-27 00:41:02 14253 20
原创 PyTorch加载模型model.load_state_dict()问题,Unexpected key(s) in state_dict: “module.features..,Expected .
希望将训练好的模型加载到新的网络上。如上面题目所描述的,PyTorch在加载之前保存的模型参数的时候,遇到了问题。 Unexpected key(s) in state_dict: "module.features. ...".,Expected ".features....". 直接原因是key值名字不对应。 表明了加载过程中,期望获得的key值为feature...,而不是...
2019-04-17 00:23:51 65776 23
原创 目标检测计算mAP,AP,Recall,Precision的计算方式和代码(YOLO和FastRCNN等)
目标检测中计算mAP是较为复杂的,并不是很多讲解中说的那个计算precision和recall,然后总的ground truth 目标和检测出的真实目标做除法就可以了。而是需要构建precision和recall 曲线,然后计算曲线面积。一下是代码,可以去相关网站查看计算过程,过程较为复杂。mAP计算详解https://github.com/rafaelpadilla/Object-De...
2019-03-24 23:06:23 8047 1
原创 YOLOv3 训练的各种config文件以及weights文件。
YOLOv3训练过程中的各种文件。包括配置文件,权重文件。yolov3.ptyolov3.weightsdarknet53.conv.74yolov3-spp.weightsyolov3-tiny.conv.15yolov3-tiny.ptyolov3-tiny.weighshttps://drive.google.com/open?id=1uxgUBemJVw9w...
2019-03-21 18:07:18 20569 17
原创 用Python在Windows或Linux下批量删除文件夹中指定的文件
情况说明:当在一个文件夹下面有好几十个或几百个文件需要删除,此时一一去挑选费时费力,特别是在Linux下面。因此,需要批量删除文件。 对训练样本(图像)和测试样本(图像)进行评估时候,需要查看是数据本身问题还是自己模型的问题,因此需要将错误分类的样本(图像)挑选出来,看到底是标注本身问题,还是说模型没有训练好。当是样本本身问题,需要将错误样本删除。 在3W多个训练样本中,...
2019-02-27 17:42:30 2142
原创 Pytorch 类型错误:Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensor.
Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensorPytorcht调试过程中,将数据传入模型,进行计算。出现这个error,表明你的数据格式有问题。也许模型是GPU上的,参数是CPU类型。也许模型是CPU,参数是GPU类型。这是由于用了.cuda()进行转换。两个方法可以解决。1....
2019-02-26 17:28:50 5611 1
原创 Winograd,GEMM算法综述(CNN中高效卷积实现)(下)
CNN高效卷积实现算法和应用综述(下)论文分析1. Fast Algorithms for Convolutional Neural Networks分析的第一篇文章是16年CVPR,由于是CVPR中第一次将Winograd算法引入,大篇幅介绍了Winograd算法的原理,矩阵的操作,转化,没有做任何优化,直接按照矩阵公式操作的。其中与FFT进...
2019-01-09 23:24:05 11007 7
原创 Winograd,GEMM算法综述(CNN中高效卷积实现)(上)
高效卷积实现算法和应用综述(上)在下一篇文章会介绍Winograd算法的应用,在ICLR,CVPR,FPGA,FCCM等机器学习和FPGA领域的定会上的研究实现和新的突破。下一篇理论分析链接。https://blog.csdn.net/qq_32998593/article/details/86181663摘要:首先要说明的是,卷积是指Co...
2019-01-09 21:27:30 16995 2
原创 OpenCV图像序列生成视频,MATLAB图像生成avi视频,image2video。
讲解如何利用OpenCV合成avi格式视频。在处理图像和视频的过程中,通常会遇到将视频转换成图像处理,或者将处理完的图像合成原视频。在基于视频的处理过程中,通常都是先将视频转换为每一帧图像,然后基于图像去处理。OpenCV有很多关于Video2Image的相关算法代码。注意,视频转图像过程中,只要有OpenCV配置好了,正常条件下都可以转换成图像。不依赖其他库,不依赖第三方库。将图像转合成...
2018-09-10 14:31:05 980
原创 基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测,目标追踪,卷积神经网络
一、研究意义卷积神经网络(CNN)由于其强大的特征提取能力,近年来被广泛用于计算机视觉领域。1998年Yann LeCun等提出的LeNet-5网络结构,该结构使得卷积神经网络可以端到端的训练,并应用于文档识别。LeNet-5结构是CNN最经典的网络结构,而后发展的卷积神经网络结构都是由此版本衍生而来。在过去六年中,由于深度学习和卷积网络的发展和进步,基于图...
2018-06-10 11:10:38 38703
原创 ORB(FAST+BRIEF)特征提取与实现——特征点提取算法分析
before:本篇博文先主要叙述ORB特征点提取算法,包括对其分解,FAST特征点的生成,BRIEF描述子的生成。然后对FPGA实现特征点提取进行简介。铺垫好这些基础后,在下一篇博文中,仔细介绍如何采用FPGA来实现高速的特征点提取。如何用VHDL来并行实现这一算法。请阅读本文时,记得看下一篇博文!一 、前言1.摘要:图像特征的检测和提取是计算机视觉
2018-01-31 21:45:06 27151 26
原创 SURF算法与SIFT算法的性能比较——图像特征点检测与提取算法分析
图像特征点提取算法的算法研究(SURF和SIFT算法)1. 摘要 计算机视觉中,很大一部分研究集中在图像特征提取和特征生成算法上。对图像的优化,不同于一般数学问题的优化方法,图像的优化是对像素点,在某一个小的邻域内,进行特征的提取或者图像的分析,该优化主要是进行局部区域的优化,要寻找局部极值,而不像传统的优化算法那样进行全局的优化求解。由于相同物体在不同状态下所...
2017-11-30 21:19:02 16738 37
原创 ORB特征提取算法分析与实现,算法分解
ORB特征,从它的名字中可以看出它是对FAST特征点与BREIF特征描述子的一种结合与改进,这个算法是由Ethan Rublee,Vincent Rabaud,Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFT or SURF”的文章中提出。就像文章题目所写一样,ORB是除了SIFT与SURF外一个很好的选择,而且它有很高的效率。ORB特征是目前最优秀的特征提取与匹配算法之一。
2017-11-28 12:36:33 11065 7
PyTorch下,基于CNN的口罩检测code+python
2022-05-10
PTZ云台相机驱动和上位机
2022-04-12
RS485云台控制软件和文档,包括了上位机,说明文档,PTZ云台相机的配置
2022-04-12
ieeg数据分析与Matlab代码.zip
2021-09-23
Electrophysiological analysis of rat EEG.zip
2021-09-23
基于PyTorch的口罩检测与分类mask_detection代码详解.zip
2020-10-25
基于PyTorch的口罩检测与分类mask_detection代码详解
2020-10-25
python 3 标准库.z01
2020-07-15
矩阵向量微分求导.zip
2020-07-15
opencl教程与异构计算介绍.zip
2020-07-10
模型转换,TensorFlow转caffe代码与流程分析.zip
2020-07-10
Angle preserving linear transformations.pdf
2020-04-17
基于MATLAB的运动轨迹预测,卡尔曼滤波实现.zip
2019-11-14
利用深度学习预测车辆轨迹与路线.zip
2019-11-14
超声波雷达系统介绍,无人驾驶和自动驾驶技术
2019-01-19
opencv_ffmpeg247 图像转视频库
2018-09-10
各种特征检测算法和描述子算法的性能比较。FAST,ORB,BRIEF等等
2017-11-28
FPGA-Based Parallel Hardware Architecture for Real-Time Image Classification
2017-11-28
BRIEF Binary Robust Independent Elementary Features
2017-11-28
FPGA作品演示和开发
2016-11-26
HOG:从理论到OpenCV实践
2016-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人