自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (10)
  • 收藏
  • 关注

原创 Debian各个依赖包下载地址

Debian各个依赖包下载地址

2022-10-20 23:38:00 3170

原创 ubuntu非root用户源码安装screen

没有root权限,不能使用apt-get install,那么可以从源码手动编译。如果直接安装screen则会报错:!!

2022-10-20 14:50:22 1887 7

原创 查看dataloader一条数据形状大小

查看dataloader加载一个批次的数据,显示数据大小

2022-08-12 20:39:00 2666

原创 【DenseFusion系列目录】代码全讲解+可视化+计算评估指标

DenseFusion是2019年李飞飞等提出的用于6D姿态估计的网络。它是一种端到端的结构,输入为RGB-D数据,输出为某个物体的6D姿态。主要贡献就是针对颜色特征和几何特征提出了一种像素级稠密融合的方式。在LineMOD数据集和YCB-Video数据集上进行了实验。本文对该网络进行完整的复现,详细解析了源代码中的重要内容。由于本人刚接触姿态估计方面的内容,因此有些解析部分包含很基础的知识,放在【DenseFusion详解】专栏。除此之外,本文在源代码的基础上进行了后续评价指标的计算以及结果的可视化,这些

2022-06-06 16:56:45 8518 1

原创 【DenseFusion代码详解】YCB-Video数据集预处理过程

这里分析YCB-Video数据集预处理的代码,位置在datasets/linemod/dataset.py我们一行一行的分析。总体思路和LineMod预处理相同,详见LineMod预处理。这里首先定义了PoseDataset类,继承了torch.utils.data.Dataset这个抽象类,用于创建自定义数据集。当我们需要用到自定义的数据集时,可以去继承Dataset类并覆盖__len__()和__getitem__()方法,其中__len__()返回数据集的样本个数,getitem(index)返

2022-06-06 16:31:10 1350

原创 【DenseFusion代码详解】测试过程eval_ycb.py

该部分是对YCB数据集训练结束之后的模型进行评估,代码位置在tools/eval_ycb.pyycb数据集上的评估指标为AUC和

2022-06-06 16:29:50 660

原创 【原创+代码】计算物体不可见表面百分比

物体不可见表面百分比是DenseFusion中提出来的一种度量标准,用于量化给定摄影机视点时物体被遮挡的程度。首先,将物体的地面真值模型model_points转换为其目标姿态pred。然后,根据摄像机的固有参数,对模型表面的三维点进行采样,并将其作为深度像素投影回二维图像平面。如果没有遮挡,则投影的深度像素应接近深度传感器测量的深度。换言之,如果像素的测量深度和模型投影深度之间的距离大于边距,则我们认为像素被遮挡,因此不可见。在实验中,边距h设置为20mm。因此,不可见百分比是物体模型上所有采样点中不可见

2022-06-06 16:25:53 544 3

原创 【原创+代码】linemod可视化

选择要可视化的图片,输入路径,然后对其进行eval,估计姿态pred,输出target点云和pred点云在二维图像上的投影,如下:左边的图为pred,右边的图为target。

2022-06-05 13:50:33 2390 19

原创 【原创+代码】ycb计算AUC评估指标

对ycb数据集计算AUC评价指标

2022-06-05 13:49:26 525

原创 【原创+代码】ycb计算<2cm评估指标

整体代码import _init_pathsimport argparseimport osimport copyimport randomimport numpy as npfrom PIL import Imageimport scipy.io as scioimport scipy.miscimport numpy.ma as maimport mathimport torchimport torch.nn as nnimport torch.nn.paralleli

2022-06-05 13:48:29 366

原创 【实际操作】DenseFusion复现过程详解-YCB-Video数据集

这一篇是在YCB-Video数据集上的训练和测试过程。本次实验建立在实现LineMod数据集训练基础之上,因为前期的环境搭建都是一样的。首先,需要下载YCB-Video数据集,可以自己找找百度网盘资源,大概有两百多G。把下载下来的数据放在/work/DenseFusion/datasets/ycb/下并命名为YCB_Video_Dataset。同样的,激活自己的环境并进入 /work/DenseFusion/下,用命令:./experiments/scripts/train_ycb.sh出现以下内容开始训练

2022-06-05 13:39:37 3042 2

原创 【DenseFusion代码详解】测试过程eval_linemod.py

该部分是对LineMod数据集训练结束之后的模型进行评估,代码位置在tools/eval_linemod.py训练部分包括train和test,评估过程是eval,eval和test的不同之处,浅浅理解就是test过程还是会改变权值,但eval固定权值不变。首先是在.sh文件中可以设置的变量,有数据集路径、保存的训练好的PoseNet模型,保存的训练好的PoseRefineNet模型。然后设置物体类别数、类别编号列表、点云数、refine过程的循环次数、批量大小、数据集config文件路径、输出

2022-06-05 13:32:15 1361 1

原创 【DenseFusion代码详解】refine过程loss计算

该部分是对refine网络部分的loss进行计算。代码位置在lib/loss_refiner.py什么时候进行loss_refiner的计算呢?如果refine过程没有开始,则进行的是PoseNet—loss—loss.backward()过程,如果开始了refine过程,则主干网络停止训练,改为eval模式,PoseRefineNet改为train模式,经过PoseNet—loss之后,将loss所输出的new_points输入到PoseRefineNet中进行训练,输出预测的姿态,然后就应该计算

2022-06-05 13:31:39 875

原创 【DenseFusion代码详解】主干网络loss计算

该部分是对主干网络部分的loss进行计算。代码位置在lib/loss.pytrain.py中对其的使用过程为:from lib.loss import Loss #第26行-首先importcriterion = Loss(num_points_mesh, sym_list) #第108行-初始化loss, dis, new_points, new_target = criterion(pred_r, pred_t, pred_c, target, model_points, idx, poi

2022-06-05 13:31:01 1607

原创 【DenseFusion代码详解】网络结构详解

代码位置在lib文件夹下面,psp_models = { 'resnet18': lambda: PSPNet(sizes=(1, 2, 3, 6), psp_size=512, deep_features_size=256, backend='resnet18'), 'resnet34': lambda: PSPNet(sizes=(1, 2, 3, 6), psp_size=512, deep_features_size=256, backend='resnet34'),

2022-06-05 13:30:31 3425 2

原创 【DenseFusion代码详解】linemod数据集预处理过程

这里分析linemod数据集预处理的代码,位置在datasets/linemod/dataset.py我们一行一行的分析。import torch.utils.data as dataclass PoseDataset(data.Dataset): def __init__(self, mode, num, add_noise, root, noise_trans, refine): self.objlist = [1, 2, 4, 5, 6, 8, 9, 10, 11,

2022-06-05 13:29:52 4358 12

原创 【DenseFusion代码详解】训练过程train.py

parser = argparse.ArgumentParser()parser.add_argument('--dataset', type=str, default = 'ycb', help='ycb or linemod')parser.add_argument('--dataset_root', type=str, default = '', help='dataset root dir (''YCB_Video_Dataset'' or ''Linemod_preprocessed''...

2022-06-05 13:29:07 3182

原创 【实际操作】DenseFusion复现过程详解-LineMOD数据集

最近在做DenseFusion的复现,由于刚接触这块,绕了很多弯路。源代码是在linux上面跑的,但我自己的电脑没部署linux环境,于是在Windows上面跑,但最后会报错一个c语言头文件问题,未能解决,果断放弃,转战Colab,但由于环境版本不匹配,最后也失败了。于是找导师要了服务器,最后运行成功,下面重新从头跑一下,记录整个过程。首先,官方开源代码是Pytorch0.4.1,这对我的Cuda不兼容,我用的Pytorch1.0版本的,代码源如下:Pytorch0.4.1版本链接Pytorc

2021-11-27 19:49:41 13350 45

原创 【CS231n 学习笔记】Lecture8:Spatial Localization and Detection

CS231n学习笔记目录(2016年Andrej Karpathy主讲课程)Lecture1:Introduction(介绍) Lecture2:Image Classification Pipeline(数据驱动的图像分类方式) (上) Lecture2:Image Classification Pipeline(数据驱动的图像分类方式) (下) Lecture3:Loss functions and Optimization(线性分类器损失函数与最优化) Lecture4:Backprop.

2021-09-10 15:36:44 253

原创 【CS231n 学习笔记】Lecture7:Convolutional Neural Networks

卷积神经网络的原理https://blog.youkuaiyun.com/v_JULY_v/article/details/51812459另补充:步长的限制。假设图像大小为N,滤波器大小为F,如果(N-F)/stride+1=整数,则stride为允许的步长,否则不允许。为什么滤波器的尺寸总是奇数?奇数尺寸的滤波器有更好的表达,一般使用3、5、7尺寸的滤波器。为什么使用0来进行填充?0不会对输入数据造成影响,滤波器只用考虑输入数据。常用卷积网络LeNet5LeNet5分为卷积层块和

2021-08-25 14:54:58 253

原创 【CS231n 学习笔记】Lecture6:Training Neural Networks Part 2

Parameter UpdatesSGD随机梯度下降是一种较为简单的优化算法,首先通过反向传播得到梯度,然后用梯度乘以学习率:随机梯度下降算法是根据梯度的方向进行更新的,如果有一个损失函数表面(损失值集成的平面),有一个方向的长度远远大于其他方向,所以损失函数(偏导数)在该水平方向上就比较浅显(shallow),而在垂直方向上就比较陡峭(steep),我们要根据合成的方向去进行参数更新,以达到损失的最小值,也就是说,损失函数在水平方向更新的很慢,在垂直方向上更新的较快:上述图..

2021-08-24 11:36:49 219

原创 【CS231n 学习笔记】Lecture5:Training Neural Networks Part 1

Some wrong views错误观点:ConvNets need a lot of data to train事实上对于设计目的来说这是一个错误的观点,完全可以使用小数据集来训练,原因是我们可以通过一些细调来得到更多的细节。大多数情况下我们不会一开始就进行卷积网络的训练,通常会先进行预训练和细调,先在一些大的训练集上(如ImageNet数据集)进行训练,再将训练的结果转移到自己的小数据集中。而ImageNet的预训练已经有人做好了,很多人用了数月的时间对卷积神经网络在不同的数据集上进行测试,

2021-08-21 16:17:21 251

原创 【CS231n 学习笔记】Lecture4:Backpropagation and Neural Networks

Backpropagation首先有3个向量x、y、z,定义一个函数f,使用计算图框架表示为:则最终f的结果为-12,现在引入一个中间变量q,则表达式就变成了一个x和y的加法以及q和z的乘法:首先考虑f对f的导数,值为1;f对z求偏导为q,值为3,意味着变量z对最终的结果有积极的影响,如果给z增加h,则结果f增加2h;f对q的偏导为z,值为-4,对结果有消极的影响;f对x的偏导数需要通过链式法则,转换为f对q的偏导数乘以q对x的偏导数,值为z*1=-4;f对y的偏导数转换为f对q的偏导.

2021-08-19 17:15:59 224

原创 【CS231n 学习笔记】Lecture3:Loss functions and Optimization

假设xi为输入样本,yi为样本标签,W为权重,f为分类器,则损失函数的一般形式如下:Multiclass SVM lossSVM损失函数格式如下,这是一个二分类支持向量机的泛化,计算了所有不正确的类别,将所有不正确类别的评分和正确类别的评分作差,然后加上1,将得到的数值与0比较,取最大的数值,然后将所有的数值求和再取平均。这里不仅要求正确类别的评分高于错误类别,而且使用了一个安全系数1,该值并不是固定的,因为W是无标度的,可以成比例地变化,所以分数的大小与它的量度的选择紧密相关。..

2021-08-18 15:41:07 239

原创 【CS231n 学习笔记】Lecture2:Image Classification Pipeline (下)

Linear Classification如何描述一张图像?这个系统可以由两部分组成,一个是用于处理图像的CNN网络,另一个是RNN(Recurrent Neural Network,循环神经网络,非常适用于与排序有关的问题),用单词序列来描述图像。将这两个模块组合起来,是这两个网络之间可以相互通信。Parametric Approach在参数化方法中,我们要做的就是构造一个函数,输入一张图片,对每一类输出一个数值,对于任意一张图片,我们会计算出它属于哪一个类别。如输入x为32*32*3

2021-08-16 14:52:05 167

原创 【CS231n 学习笔记】Lecture2:Image Classification Pipeline (上)

图像分类的基本任务就是区分图片的种类,例如识别猫、狗、汽车等,在这之前需要将图片转换成一张巨大的数字表单,然后从所有种类中给这个表单选定一个标签。分类问题的难点semantic gap(语义鸿沟问题)在计算机中,例如一张猫的图片,大致由一个300*100*3的三维数组表示,3表示RGB通道,因此表单中的数字都位于0~255之间,反映的是亮度以及每个单点三基色的权值。因此图像分类的难点在于想要处理这些表单中数以百万计的数字并对其进行分类是很困难的。Viewpoint Variation(视角变

2021-08-15 13:45:33 279

原创 【CS231n 学习笔记】Lecture1:Introduction

Lecture1:Introduction计算机视觉是人工智能领域中发展最为迅猛的一个分支,我们进入了一个视觉图片和视频的时代。视觉信息或者像素信息是最难被利用的信息——“互联网中的暗物质”,很难被检测和观察到。计算机视觉是一个与很多领域紧密相连的学科,例如计算机科学、数学、物理、生物、心理学等。简史543 million years ago,生物圈中的结构很简单,对于食物,open the mouth and grab it,物种爆发后,进化出了各种各样的工具来帮助自我生存, Andr

2021-08-14 12:37:27 336

爬取指定城市气象数据python代码

爬取指定城市气象数据python代码

2022-02-20

携程网动态网页python爬虫代码恩施大峡谷

python爬虫代码 附有下载、操作步骤

2022-02-20

体测成绩评分系统python代码

体测成绩评分系统python代码

2022-02-20

体测成绩查询系统tkinter界面实现

体测成绩查询系统tkinter界面实现

2022-02-20

高校教材管理系统可行性研究分析报告

随着我国教育体制改革的不断深入和发展,ZHK大学的教学改革也在扎扎实实地进行。为了把工作人员从繁重的工作中解脱出来,提高查询速度和劳动效率,实现教材管理的科学化和正规化,ZHK大学拟在半年内建立高校教材管理系统,初步实现教材管理的计算机化,以保证教材的管理质量。该系统能够改进管理手段、提高和改进管理信息服务质量、增强资源共享、提高工作效率和减轻劳动强度、提供各种新的处理功能和决策信息。

2022-02-20

提案大赛 自习室占座 问卷调查 占座系统

学习能力是大学生的核心竞争力,大学生学习能力的培养是高等教育改革和发展的历史使命。大学教育不同于中小学教育,其内容更基础、更深刻、更全面、也更注重创新能力的培养,它不再是灌输式、全局式的应试型教育,而是引导式、重点讲解式的开放型教育。 我校鼓励学生自主学习,已经改善了图书馆的条件,提供了海量的学习资源,为了让学生养成良好的作息、强调自主学习能力和自主管理意识,学校还为大一大二的学生安排了集体晚自习。但是,除了教务系统选定的上课教室以外,各种自习教室都是没有被学校统一管理安排的,目前的占座模式为“先到先得”,“霸座“现象极为严重,同学们在占座的过程中不可避免的会引发一些小矛盾,不规范的自习模式也让学习资源得到浪费。如何充分利用自习教室,使之规范化、管理化,是学校应该重视起来的问题。

2022-02-20

Java学生成绩管理系统.zip

Java和MySQL实现学生成绩管理系统可视化界面。代码+实验手册+原始数据

2021-08-29

云计算代码+实现手册.zip

ubuntu+Docker+Consul分布式集群搭建,python前端实现虚拟机可视化管理(增加、删除、停止、创建虚拟机操作),实现knn算法并行计算。并能够实现断网容错机制。

2021-08-29

MFC学生成绩管理系统C++代码.zip

mfc界面,实现查询、排序、增加、删除、绘图功能

2021-08-13

大数据综合实习完整报告+代码.rar

基于厦门租房详细分析展示,包括爬虫、预处理、大数据存储与管理、大数据分析、大数据可视化

2021-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除