- 博客(34)
- 资源 (4)
- 收藏
- 关注
原创 pytorch模型转tflite【以EfficientNet-BTS为例】
步骤使用pytorch转tflite需要经过:pytorch -> onnx -> tensorflow -> tflite配置环境# ONNX-TensorFlow: 1.8.0 [pip install onnx-tf==1.8.0]# ONNX: 1.8.0 [pip install onnx==1.8.0]## TensorFlow: 2.4.0 [pip install tensorflow==2.4.0]#
2022-02-25 22:59:59
2951
1
原创 DDAD 数据集开发日志
DDAD是一个自动驾驶数据集,有6个摄像头的RGB数据、lidar点云数据,以及相应的Pose、内参、外参、2d 3d box标注、2d semantic标注。DDAD数据集:GitHub - TRI-ML/DDAD: Dense Depth for Autonomous Driving (DDAD) dataset.DDAD数据集调用demo: https://github.com/TRI-ML/DDAD/blob/master/notebooks/DDAD.ipynb调用DDAD数.
2022-01-19 09:49:22
3759
5
原创 深度估计-04-Deep Ordinal Regression Network for Monocular Depth Estimation
这是一篇有监督深度估计的文章。在2018年Kitti排行榜上Rank1参考code (pytorch):https://github.com/dontLoveBugs/DORN_pytorch/本文做出两方面的贡献:将深度估计这个回归问题转化为多个离散的二分类问题。 使用ASPP网络融合多尺度信息一、Spacing-Increasing Discretization作者认为,在单目深度估计时,深度越远处,信息量会越少,因此深度大的地方,预测的误差变大的容忍度是比较高的。这可以通过..
2021-12-13 17:01:35
2663
3
原创 细粒度识别-01-Graph-based High-Order Relation Discovery for Fine-grained Recognition
CVPR2021提出了一种注意力机制,建模不同channel上的semantic 注意力,然后引入GCN的方法,降维特征,并采用分组学习的方法学习类内特征。1) Channel-aware relation map先类似于bilinear attention,特征转置相乘,中间加了几层conv和线性映射,得到HW * HW的postion attention weights. 然后和原有特征做加权,得到C * H* W的Position aware attention,然后和原有特征
2021-11-07 20:13:10
1037
原创 深度估计-03-MonoIndoor: Towards Good Practice of Self-SupervisedMonocular Depth Estimation for Indoor En
MonoIndoor: Towards Good Practice of Self-Supervised Monocular Depth Estimation for Indoor EnvironmentsICCV 2021Paper:https://arxiv.org/pdf/2107.12429.pdf
2021-10-19 23:13:16
623
原创 深度估计-02-Feature-metric Loss for Self-supervised Learning of Depth and Egomotion
ECCV2020提出问题1、目前的自监督深度估计大多采用光度误差作为约束方式,当存在低纹理区域时,由于在低纹理区域,即使深度图和位姿矩阵估计得不好,算出来的光度误差也会小,因此,光度误差在此时容易陷入局部最小。Contribtion1、提出Feature-metric loss,优化深度估计网络和位姿估计网络。2、采用FeatureNet, 优化输入深度估计网络的特征。结合正则化损失,优化低纹理区域和局部最小区域。Related W...
2021-10-18 20:56:10
1745
原创 深度估计-01-Digging Into Self-Supervised Monocular Depth Estimation
ICCV 2019 [paper] [code]Overview本文介绍一种自监督的深度估计方法Monodepth2。太长不看版:1、提出minmum loss在解决multi-view时存在的遮挡问题,指出应该取multi-view中的最小的光度误差,而不是对误差取平均,这是因为当合成图像某处存在遮挡时候,会造成合成图像产生较大的光度误差,而影响模型训练。2、提出一种multi-scale采样的方法,对low-level的深度图,采用先upsample到原图大小再进行变换的方法,这样.
2021-10-13 11:42:06
1485
原创 增量学习-01-Learning a Unified Classifier Incrementally via Rebalancing (CVPR2019)
写在前面目前已经是研一下班学年行至末尾了,感觉自己看了很多方向的论文,但又缺乏梳理,希望以这篇论文作为开始,养成记录、总结的好习惯。目录OverviewMotivationContributionMethodPerformancecode:https://github.com/mmasana/FACILhttps://github.com/hshustc/CVPR19_Incremental_LearningOverview(一句话概括文章方法).
2021-10-11 20:47:41
2605
2
原创 增量学习-03-Riemannian Walk for Incremental Learning:Understanding Forgetting and Intransigence
也许阅读这篇文章需要先阅读EWC 和PI 两篇文献。We present RWalk, a generalization of EWC++ (our efficient version ofEWC[7]) and Path Integral [26] with a theoretically grounded KL-divergence based perspective.一些概念:EWC: regularized by a second-order approximation of the K
2021-10-10 22:43:10
960
原创 论文笔记 Fine-Grained Few Shot Learning with Foreground Object Transformation
Overview提出了一种前景提取和姿态变形的方法,可以通过4张输入图像,提取其前景,并重新生成新的姿态图片,从而实现数据增强,构造更多的数据集。方法用于小样本细粒度分类问题。Related Work现有的小样本学习方法:1)initialization based。更好的初始化权重,在新数据上微调。2)metric learning based。基于度量学习,学习一个相似性度量函数。3)hallucination based methods。通过生成器,生成新样本进行数据增强.
2021-09-29 10:30:39
497
原创 二维数组矩阵与一维数组转换后,index索引变化问题
题目:给定H * W的一维数组,指定index,求reshape成二维矩阵后,对应的二维矩阵index(x, y)。>>> import torch>>> x = torch.tensor([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])>>> xtensor([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])>>
2021-08-24 23:37:44
477
原创 增量学习-02-Essentials for Class Incremental Learning-CVPR2021
Essentials for Class Incremental Learning-CVPR2021Poster:https://www.youtube.com/watch?v=B2HJH5HGLPw
2021-07-04 23:23:57
850
1
原创 opencv与numpy中的坐标
结论:opencv 中 rectangle函数的x,y坐标与numpy中是相反的。numpy中image.shape = (h, w)第一维度代表x,第二维度代表y的话。即横轴是y轴,纵轴是x轴。而在cv2.rectangle(image, pt1, pt2)函数中,pt1和pt2的坐标也是(x,y),但是这里的x,y是横轴,纵轴。与numpy相反。其中pt1是左上角顶点,pt2是右下角顶点。if __name__ == '__main__': import cv2 imp
2021-01-29 22:35:10
1366
原创 yolov4中route层理解
route层是yolo中提出的一个层级概念,在一些文章中也叫做路由层。它的作用是在当前层引出之前卷积所得到的特征层。以yolov4-relu.cfg文件中route层定义为例。相当于中转作用,不涉及卷积计算。例如上图中的route层,layer = -2代表引出前两层的conv输出的特征图。(之前一直困惑的是,这个route引出之前的featuremap,那它前一个卷积的输出接到哪里去呢?直接不要了么?在yolov3.cfg文件中,route层前的卷积是yolo层,所以不用考虑接到哪去的问题。)
2020-07-19 09:11:53
4434
3
原创 Pytorch填坑
记录实验中遇到的pytorch可能的问题及解决办法,持续更新,欢迎大家在评论区补充。1、UserWarning: Using a target size (torch.Size([64])) that is different to the input size (torch.Size([64, 1])). This will likely lead to incorrect resul...
2020-04-11 15:36:34
11442
18
原创 【Pytorch】分割的mask 独热编码转换 scatter 参数理解
scatter_(input, dim, index, src)将src中数据根据index中的索引按照dim的方向填进input中。用于将数据转换为 one hot 独热编码时,代码如下def to_one_hot(mask, n_class): """ Transform a mask to one hot change a mask to n * h*...
2020-02-12 09:58:07
1931
原创 RuntimeError错误的几个可能原因记录和解决方法
在训练时,常遇到RuntimeError错误,提示Memory或者RAM不足,甚至受到buy an new RAM的嘲笑!记录一下所遭遇的报错的原因和解决办法,希望对大家有所帮助,也欢迎大家在评论区补充和纠正。【Q】DataLoader 函数num_workers 设置过大,线程过多,过多占用Cpu,导致报错memory不足。【A】改小num_workers 即可, 参考值4 ,8 ...
2020-01-15 11:24:53
24727
1
原创 pytorch拼接与保存图片
在深度学习训练时,我们常需要对某层的输出或最终模型的预测结果进行输出查看,如featmap、output、predict结果等。在pytorch的设定中有tensor类型变量,不可直接查看和保存图片。虽然有torchvision.utils.save_image 方法可以方便地保存tensor类型图片,调用方法如下:from torchvision.utils import save...
2020-01-15 11:04:36
6909
1
原创 Python中graphviz库的简单用法
import VisualizeGraph as vizx = Variable(torch.randn(1, 3, args.inWidth, args.inHeight)) # 产生随机Xif args.onGPU == True: x = x.cuda()y = model.forward(x) #传入网络模型g =...
2020-01-09 21:12:05
835
原创 Python所有关键字含义及用法、数据类型、转义序列
如题,本文讲解所有关键字。注重全而不详解。也是给自己做一个笔记。全局地浏览有助于了解自己有哪里还不知道的。先放一张图关键字 and:逻辑与操作 del: 关键字del在python中是用来删除变量或者是索引,而不是删除数据本身。而且在Python中del不是方法,而是类似于and,not等系统提供的操作命令。 from:用于导入模块,如from…impor...
2019-01-10 23:30:11
2767
原创 稀疏表示、字典学习、压缩感知的简单理解
注意:本文不涉及任何公式推导,仅对大致原理和作用进行介绍,不当之处欢迎指正。 为什么要稀疏?1)特征选择稀疏规则化能实现特征的自动选择,当Xi存在与输出Yi没有关系的特征(冗余特征)时,在最小化损失函数的时候要额外考虑这些特征,会加大计算量,而且可能对输出Y产生干扰。稀疏化可以自动选择特征,通过把冗余特征的权重置0来去掉冗余特征。2)可解释性。如果有X有1000维,那会存在...
2018-12-01 19:18:11
6930
原创 【论文解读】深度残差网络去雨模型cvpr_Removing rain from single images via a deep detail network
摘要:作者基于残差ResNet能通过改变映射范围加强深度学习、把输入分为高频细节层和基础层、通过输入的直接映射到输出加强图像特征等操作构建网络。能很好地区分边缘和雨纹。paper、数据集、代码下载地址:https://xueyangfu.github.io/projects/cvpr2017.html 说明:本博客基于对个人对该论文及其源码的详细解读,有不当指出欢迎指正,希望能对自己和...
2018-11-30 08:54:56
7535
5
原创 Robotics与机器人基础(一):正逆运动学与机械臂搭建
摘要:本文基于Robotics工具箱,结合机器人运动基础,用matlab搭建一个机械臂,并讲述其所需要的运动学知识。所用环境:Robotics_10.3 matlab_2018a 一、坐标系建立与位姿态计算每一个连杆具有两个坐标系(注意:坐标系的搭建不是唯一的,不同的坐标系可能导致不同的计算结果,但是都对),我们用一个4x4的齐次变换矩阵来描述不同连杆间的位姿(这里命名为矩阵A)...
2018-11-23 21:52:59
8744
1
原创 解决matplotlib.pyplot无法导入的问题
【问题环境】1、anaconda3、 Python3.5.0 【问题描述】import matplotlib.pyplot时候报错1、首先报错 "No module named PyQt4"网上解释的原因是matplotlib默认使用的是PyQt4,而anconda3配置的库是PyQt5。部分博客给出的方法是修改Agg,或者强行降级为PyQt4等等。尝试后没有解决,反而报出了...
2018-11-03 23:17:17
37725
原创 基于Numpy的手写数字识别神经网络(不用tensorflow等框架)
之前用tensorflow写了一遍手写数字识别,但部分函数都是调用的封装函数,总感觉没有摸清楚计算推导的原理,遂重新写了一遍。准确度和计算速度没有Tensorflow的高,但是应该是自身算法问题。就不深究啦,原理正确就行。说明只要数学原理正确,什么语言都是能实现的。纪念一下:#实现手写数字识别import numpy as npimport pickleimport gzip...
2018-11-02 00:30:03
2433
原创 tensorflow入门:利用全连接神经网络实现手写数字识别(四)
本节代码NumReco.py 利用minist_trian中训练好的模型识别本地图片首先是图像预处理操作,对输入的图片进行灰度化,并处理得到二值化图片矩阵,即构成后来神经网络的输入向量。def imageprepare(file_name): im = cv2.imread(file_name,0) print(file_name) pixels = [] ...
2018-10-30 02:55:51
784
原创 tensorflow入门:利用全连接神经网络实现手写数字识别(三)
本节代码:mnist_train.py该代码实现MNIST数据集训练模型、并持久化模型(即保存到本地) 首先调用刚才写的mnist_inference库文件,在tensorflow的例程中引用mnist的数据集tensorflow.examples.tutorials.mnist import input_data。该数据集包括55000个训练数据、10000条测试数据。impo...
2018-10-30 01:55:31
868
原创 tensorflow入门:利用全连接神经网络实现手写数字识别(二)
在上篇我们介绍了tensorflow搭建全连接神经网络的基本原理,接下来开始用python实现在线推理、训练模型、在UI界面上实现预测识别。代码清单为:mnist_inference.py、mnist_train.py、NumReco.py、simpleUi.py本节介绍mnist_inference.py。实现前向传播相关函数(即在线推断) (一)定义神经网络节点数本次只用了...
2018-10-30 01:21:16
974
原创 tensorflow入门:利用全连接神经网络实现手写数字识别(一)
一、简介全连接神经网络可简单理解为每一个节点都互相连接。如下图 程序实现的基本思想是:通过提取图片特征作为输入向量,通过前向传播算法得到输出向量,再通过反向传播算法更新权重W和偏置b,不断训练得到最优解。 二、前向传播算法前向传播可以简单地理解为从输入到输出的计算过程。计算前向传播结果需要三部分信息:1、神经网络的输入即输入特征向量x1、x2等,在手写...
2018-10-30 00:47:17
3485
1
原创 【tkinter】填坑 解决Entry、Label不能修改text、image等属性的问题
tkinter中定义一个输入,如:input =Entry(root).pack()不等于以下定义input =Entry(root) input.pack()后者定义后直接布局,返回的不是Entry()控件本身,没有entry所有的一些方法如get()等 按照前者定义 input =Entry(root).pack() 后,可利用input.get() 获得输入框的文本信息...
2018-10-24 21:08:50
8859
2
原创 【QT】写一个全局类 在界面显示调试信息
例如QT或者许多IDE自带的编译输出中,可以在界面输出调试信息。效果如下:定义一个globalmessageprinter全局对象类,并定义方法调用Mainwindow的ui控件输出显示。在程序中,只需在其他类中调用globalmessageprinter这个全局对象类,便可以实现界面输出调试信息。#globalmessageprinter头文件#ifndef GLOBALMES...
2018-10-24 21:03:19
1298
原创 一行命令解决read-only file system问题
mount -o remount -w /factory (factory为文件夹所在分区名,这里替换成你的) 报错read-only file system的原因是你所在的分区只有读权限, 没有写权限mount为挂载分区命令,mount -o remount -w 重新挂载分区并增加写权限,增加读写权限即为 -rw 接下来就可以在分区内文件夹里自由读写啦~ ...
2018-07-26 17:19:49
130124
7
原创 解决树莓派外接HDMI无法显示屏幕的问题
网上说树莓派外接屏幕不显示要配置config文件很多东西,其实并不是大多数情况,底层的文件我们通常不需要去动。先看看自己属于哪种情况,这里放出解决黑屏的帖子网址:https://www.jianshu.com/p/1b5f21fbb928如果你是像我一样,接电容、电阻屏幕能进入开机画面,但HDMI无法进入桌面的,那可以参考以下方法解决。在正常使用LCD的情况下,外接HDMI是没有显
2018-01-31 01:17:12
31260
4
原创 opencv+zbar二维码检测及扫描
通过子函数zbar_find()检测图片中二维码的位置并用矩形框标出通过zbar_detect()函数调用zbar库对Roi进行扫描,并输出扫描结果因为图片中二维码数目多,且二维码分布有一定规律(均在图片下部,类似于书柜中书籍排列),所以采用截取图片中roi传递给子函数进行检测扫描的方式。代码如下:#include "core/core.hpp" #include "zbar.h
2018-01-26 23:46:26
3829
单片机课设 数码管滚动显示控制 代码+仿真
2018-10-27
单片机课设 简易按键操作游戏 仿真+代码(代码含详细注释 课设实物已验证)
2018-10-10
Multism交通灯定时系统课设仿真(可直接运行)及课程设计报告
2018-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人