HDF5数据文件格式
HDF5数据文件格式的简单介绍与基本使用方法。
62 篇
HDF5数据文件格式的简单介绍与基本使用方法。
强化学习环境搭建,项目运行过程中可能遇到的bug与解决方法记录
C++使用最广泛的点云库
Instant-NGP全称Instant Neural Graphics Primitives,它通过多分辨率哈希编码,解决了NeRF对全连接神经网络进行参数化时的效率问题,大大提升了网络的训练速度,使三维重建速度可以从几小时缩短到几秒钟。
介绍强化学习的一种基础算法,近端优化策略(Proximal Policy Optimization,PPO)
使用经典的YOLO算法进行实例分割
算法复现
在深度学习训练过程中,我们必定会需要观察系统的Loss、Learning_rate等参数的变化,因此实时绘制曲线图是十分有必要的。本文就介绍了如何利用Pytorch的TensorBoard绘制曲线图。
检索阅读近三年ECCV6D位姿估计相关论文并进行记录
检索阅读近三年CVPR6D位姿估计相关论文并进行记录
检索了DenseFusion的被引论文,但是因为太多都没有开源代码,看了两篇就转向只关注顶会论文了。
统计学习方法的学习笔记
由于跑一些项目的时候,由于时代问题,有些程序是使用opencv2写的,现在大家普遍都安装的opencv4,由于项目代码繁多,修改源码过于麻烦,因此考虑多版本opencv共存安装。
近邻算法,假设给定了一个训练数据集,其中实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别, 通过多数表决等方式进行预测。因此,k近邻法不具有显式的学习过程。
感知机是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,旨在求出将训练数据进行线性划分的分离超平面。
统计学习是关于计算机基于数据构建概率统计模型,并运用模型对数据进行预测与分析的一门学科。本文是对李航老师的《统计学习方法》一书学习笔记。
目前正在学习6D位姿估计算法,该领域最常用的数据集就是LineMod数据集,但是只在数据集上测试还是不够,想要实际应用还需要搭建自己的数据集。
FFB6D相当于在特征提取阶段就将RGB和点云信息进行了融合,然后进行实例分割和关键点检测。
本文提出了一种异形架构,对两个数据源(RGB和深度图)进行分别处理,并用一种新型的dense fusion network提取像素级稠密特征,从中估计姿态。
尝试测试PVNet,中途放弃。
解决物体之间的遮挡和聚集增加的6D位姿估计的难度,通过主干网络加ICP点配对的方式实现位姿估计。
目标检测的基本实现方法,从目标定位开始,总结了特征点检测、目标检测、滑动窗口法、NMS非极大抑制等目标检测的算法。
本文介绍了一些经典的神经网络模型,包括实现LeNet-5,AlexNet,VGG-16,ResNet,Inception网络等的网络结构。
为什么神经网络对图片进行分析时经常使用卷积,为什么会有padding和stride,池化层和全连接层的作用是什么?
介绍了神经网络中一些常用参数的选择原则和大概范围,以及BN和softmax的基本原理。
LineMod算法是Hinterstoisser等人在2011年提出的,通过采用模板匹配的方法,解决了杂乱场景下少纹理三维物体的实时监测与6D位姿估计定位问题。
本文介绍了最常用的几种优化算法,从划分子集mini-batch开始,介绍了动量梯度下降法Momentum,RMSprop,以及两者的结合体Adam,几种方法的实现方法和基本原理。
改善神经网络的训练效果有很多方面,比如避免欠拟合和过拟合,利用正则化等等。不同的方法其作用效果也不同。
深度学习的线性回归,基本的优化算法,以及Softmax回归和损失函数的实现。
介绍了使用pytorch和pandas实现基本数据的操作方法,以及使用torch进行基本线性代数运算、求导计算的方法。
COLMAP是一种通用的运动结构(SfM)和多视图立体(MVS)工具,具有图形和命令行界面。OpenMVS是目前的三维重建的框架中,复原效果较好的,而且提供自动化的脚本。
三维重建是用相机拍摄真实世界的物体、场景,通过计算机视觉技术进行处理,从而得到物体的三维模型。主要涉及技术包括:多视图立体几何、深度图估计、点云处理、网格重建和优化、纹理贴图、马尔可夫随机场、图像分割等。
在跑深度学习代码,进行训练和预测过程中,肯定会遇到各种报错,本文总结了本人遇到的一些errors总结在这里,不定时更新。
Mask R-CNN是He Kaiming大神2017年的力作,其在进行目标检测的同时进行实例分割,取得了出色的效果。
笔者从零开始学习深度学习的笔记,本章介绍深度学习最最底层的数学思路,以及基于回归的简单的深度学习的算法思路和相关代码。
总结了一些新手会在入门深度学习过程中遇到的不理解的概念。
一般channels的含义是,每个卷积层中卷积核的数量。最初输入的图片样本的channels,取决于图片类型,比如RGB;卷积操作完成后输出的out_channels,取决于卷积核的数量。此时的out_channels也会作为下一次卷积时的卷积核的in_channels。
卷积操作其实就是每次取一个特定大小的矩阵,然后将其对输入矩阵依次扫描并进行内积的运算过程。
Anaconda + CUDA + TensorFlow2 + Keras的深度学习环境搭建过程。
常用深度学习环境 Pytorch 的安装教程。
识别Aruco位姿的功能包,安装、测试与使用说明。
Staple综合了局部特征HOG和全局特征颜色直方图用于目标跟踪的算法。此测试已经在win与ubuntu以及ros环境下完成,运行正常。
SIFT是尺度不变特征转换,是一种用来检测和描述图像局部特征的算法。算法实际上是要在不同尺度空间中寻找极值点,并提取其位置、尺度和旋转不变量,这些关键点不会因光照、仿射变换和噪音而变化。主要实现步骤:(1)尺度空间极值检测;(2)关键点定位;(3)方向分配;(4)关键点描述和匹配。
在调用opencv安装包时,会出现ImportError No module named cv2的问题。我确定我已经安装了opencv,查阅资料后发现是因为安装opencv是会安装的python版本,与系统默认使用的版本不一致,才会导致找不到模块。
KNN算法,即K最近邻算法,其原理是当要预测一个新的值x的时候,根据离他最近的K个点大多属于什么类别来判断x属于哪个类别。同理可类比到图像识别方面。
本文的目标是实现识别摄像头图像中的数字。实际应用场景包括 车牌号识别 ,部分竞赛的 A4纸打印数字识别 。摄像头数字识别分为两个步骤:1. 提取图像中的ROI区域,如截取车牌的矩形区域,或截取A4纸的图像。2. 对ROI区域进行数字识别。数字识别相对来说较为简单,先介绍数字识别的方法和原理。
首先需要到opencv的github网站上下载`opencv/samples/dnn/face_detector/`中所有的文件,并覆盖到本地的目录中。然后用记事本打开weights.meta4文件,下载其中两个url对应的文件。
均值滤波用到的是图像卷积原理。由下图所示,卷积核为三阶单位矩阵时,进行均值滤波,原图像的每个三阶子矩阵都会求其均值,并将均值赋给中间的元素。
图像直方图是图像像素值的统计学特征、计算代价较小,具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类、反向投影跟踪。常见的分为灰度直方图和颜色直方图。
在图像处理中,读取视频并进行处理是必不可少的操作,在OpenCV中,读取摄像头的视频所用到的主要函数为 capture()。本文介绍了使用OpenCV读取摄像头视频的方法,以及对摄像头视频进行存储操作的函数实现过程以及具体的解释。
常见的图像变换方法包括图像的放缩、图像的翻转、图像的旋转等。在OpenCV中,这些图像变换操作都有着其对应的函数。通过对函数定义的解释以及具体例子,介绍各种图像变换的方法。
归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在一定范围的之内。为了后面数据处理的方便,其次是保证程序运行时收敛加快。
主要介绍了OpenCV中键盘和鼠标的响应方法,其中用到的各种函数,以及函数各个参数的解释。利用鼠标和键盘的响应编写了一些有趣的小程序。
C和C++中提供了rand() 和srand()函数用于产生随机数,使用C++编写OpenCV代码时也可以使用。同时OpenCV自身也提供了生成随机数的类RNG,使用起来也十分方便,本文主要介绍RNG的使用方法,以及基于RNG生成的随机数,绘制随机线条的方法。
本文介绍了使用C++与OpenCV4完成矩形、圆形、直线、椭圆的绘制方法,重点总结了OpenCV内置函数(如rectangle()、circle()、line()、ellipse())的定义以及各参数的作用,并给出了示例程序作为参考。此外本文还总结了多边形的绘制方法,包括多边形边框的绘制函数polylines()、多边形填充函数fillPoly()、绘制多个多边形的函数drawContours()等。
绿幕图像的背景替换需要经历①色彩空间转换、②提取绿幕区域、③反转绿幕区域、④复制图像,其中遇到的各种函数和代码也都在本文有详细介绍。
图像通道的分离后输出的多通道序列一般使用 std::vector mv; 来存储,mv[0]、mv[1]、mv[2]、分别对应BGR三个通道。但是现在显示的相当于是三张单通道的图像,也就相当于三张灰度图像。要想让三张图像恢复直观意义上的色彩,就需要使用下面通道合并的方法了。
OpenCV中使用 createTrackbar() 来创建滚动条,函数的使用方法如下,各个参数的作用也在下面的表格中给出。
图像的像素操作包括读写操作、算数操作、逻辑运算操作等。像素的操作方式不仅多样,对于灰度图的操作和对彩色图的操作也有各自的特点。对像素点的操作可以使我们访问图像的每一个像素点,实现许多意想不到的功能。
色彩空间转换函数:cvtColor。GRAY:指灰度,只有一个参数灰度值Channel。BGR:指BGR颜色空间,以红绿蓝三基色(0~255)为基础,叠加形成各种颜色。HSV:指六角椎体模型,色调Hue用角度度量(0~180),饱和度Saturation(0 ~ 255),亮度Value(0 ~ 255)。
首先下载并解压OpenCV。建议到opencv的官网下载windows版本的安装包。如果觉得下载速度过慢,我也把opencv4.5.2安装包上传了阿里云https://www.aliyundrive.com/s/VGkaM7vyuck 注意解压的路径,一定要是一个英文路径