自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

crazyeden的博客

改变,从现在开始~

  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

原创 负数的逻辑非

负数的逻辑非

2022-07-19 09:49:31 649 1

原创 不使用采集卡,实现相机手机多机位直播

背景因为直播需求,现在想实现使用一台相机和一台手机完成直播的两个机位设定,搜了很多视频都是要购买采集卡,违背了性价比这一原则,搜索半天之后,根据当前的设备完成了任务。硬件材料苹果手机一部佳能单反所需软件1 OBS:主要是用来集成各个视频来源,然后给直播平台推流;下载地址:OBS官网2 EOSWebcamUtility:佳能的软件工具,可以实现相机接入电脑USB,直接得到画面,无需视频采集卡,适用型号和下载链接见以下地址:佳能官方直播支持网站支持型号非常多,比如我的70D,开始

2022-05-02 15:48:54 9298 1

原创 极路由3HC5861刷openwrt

这里写自定义目录标题刷机步骤开启SSH传入固件添加USB WAN口刷机步骤开启SSH将电脑网口和路由器LAN口连接,无线网络应该可以上网,然后进入 链接,可以看到类似如下界面:点获取 uuid 打开的网页里找UUID:后面的字符串点获取 locad token把2 3 步获取的uuid和locad token 填入第一步对应值,提交可获取到 cloud token;把cloud token值复制到第三步开启调试工具的对应框中,点提交,就会出现开启22端口的提示,不行多试几次传入固件

2022-02-25 14:37:05 7674 4

原创 测距论文Integrated Vehicle and Lane Detection with Distance Estimation

该论文是2014年的一篇会议论文,主要分为两部分:检测和测距。1 传统方法进行车道线和车辆的检测车道线检测使用了ROI,Canny边缘检测和霍夫变换来检测检测车道线;同时利用了patch id的思想,寻找一对斜率相反,距离相近的patch。车辆检测也是用了传统算法,HOG based 的,以SVM作为分类器,这里没有介绍详细的细节。2 基于上述结果进行的单目测距。首先估计消失点,这里是基于别人的论文方案,有了消失点可以得到内参矩阵,然后再根据先验知识,和检测到的图像中的车道线的宽度和

2022-01-25 14:23:03 2332

原创 小米4A千兆刷OpenWrt_Win10

在Linux上试了一下,最终telnet 196.168.31.1失败,网上找了一些教程,改到win10下刷成功了。1 先安装Pthon3 和pip3,然后pip3 install requests,不然会报错2 win10开启telnet,方法简单自行百度;3 路由器开启,lan口和电脑相连,同时路由器需要联网;下载一些资料链接:打开网络适配器把IP配置成静态IP,地址为:192.168.31.88 其次确定路由器LAN口已经和电脑连接,并且管理地址是:192.168.31.1 如

2022-01-24 19:44:28 5612

原创 函数宏和可变参数

最近用到spdlog记录日志,组里的同事做了一层封装,做了自己的logger还用到了单例模式,然后对外接口写成了函数宏的方式,这样方便调用。查了一些资料原来是继承了C语言中的函数宏和可变参数的写法。下面是简单的例子,感受一下。函数宏示例#include<stdio.h>#define XNAME(n) x##n #define PSQR(x) printf("the squre of " #x " is %d.\n", x*x);#define PX(n) printf("x

2022-01-20 16:14:57 506

原创 NTFS signature is missing解决linux无法挂载windows硬盘问题

背景:手上有两块之前给windows用过的SSD,每块都自带系统目的:将这两块SSD格式化,然后给ubuntu当做普通硬盘使用本来觉得挺简单的一件事,搞了半个多小时,中间搜索了很多网页,大概流程如下首先 扩展分区和文件系统_Linux数据盘 - 云服务器 ECS - 阿里云https://help.aliyun.com/document_detail/25452.html利用其选项一的内容 :扩展已有MBR分区fdisk删除了一些分区,但是有dos系统的分区删除不掉。最后都只剩下

2021-09-11 10:12:41 8709 1

原创 KLT光流法

最近在复习光流相关知识,从基础的LK 到 KLT光流,都需要求解图像的梯度问题,仔细查了一下CV中图像求解梯度是用的三个几点算子,详细的介绍参考以下这篇文章:https://www.it610.com/article/1292155635277832192.htm文章写的比较详细,但是我怀疑他在解释用soble算子求解垂直方向梯度时,卷积核没有旋转。可以从如下文章得到验证:CV学习笔记(十三):图像梯度 - 知乎 (zhihu.com)在原始图像上叠加这些卷积算子,即可完成 图像的一阶导数或

2021-07-26 21:13:10 634

原创 darknet权值剪枝工具

这是之前读研的时候写过的工具,当时用了作为毕设的一部分。因为时间很久了,最近因为各种原因要重新翻出来咀嚼一下。先献出源码https://github.com/Sunyouteng/darknet_prune_yoloV3开发的过程种需要注意一下几点1 weights中权值的存储顺序,需要先fread 偏移 和BN的相关参数,然后再加载卷积核的权重值;2 权值的保存顺序是按照卷积核进行保存的,单个卷积核内部又是按照通道一层层进行保存;3 剪切完某一层之后,一定要记得对其下一层的卷积核也要剪

2021-07-18 21:22:46 477 3

原创 Apodization 变迹

Apodization去脚化或者变迹,图像处理中用于去除图像中的由于光的衍射和干涉出现的一些次高峰。或者改变一个数学函数的图像,比如下图:Airy disk就是艾里斑,就是小孔衍射产生的一个个圆环。去脚化之后就可以去除周围的次高峰,Since side lobes of the Airy disk are responsible for degrading the ima...

2019-12-15 13:12:43 4392 1

原创 论文Robust Range Estimation with a Monocular Camera for Vision-Based FCW System解读

左边是假设相机为理想状态下,右侧为相机带有角度拍摄。左右两种情况相差不大,因此使用左侧情况进行讨论,对距离进行估计:Yb表示汽车下边缘的坐标,可以通过检测得到。现在只有Yh不知道,否则就可以求出d。此方法可以适用于当车道线无法检测到时,使用这种方法可以估计出水平线的位置(也可以使用车道线延长线的交点作为水平线的位置)。本文主要推荐了一种距离估计方法当检测到多个物体时,加横...

2019-07-09 08:37:10 695 2

原创 论文Forward CollisionWarning with a Single Camera解读

这篇论文介绍了MobilEye的基于视觉的前车碰撞预警算法。不去进行3D建模,直接去计算TTC(Time-to-Contact)。情况一 相对速度恒定时由相机模型的几何关系进行推理S表示时间间隔内同一物体连续两张图片的宽度比例。表示连续两帧的时间差。做这个实验是,需要的数据为,前后两帧检测到的物体在图片中宽度比值。情况二 相对速度变化,存在加速度时Z表示时间...

2019-07-08 20:04:59 914

转载 解决使用ZCU102时SD卡变filesystem has been set read-only的问题

可以解决问题:https://www.cnblogs.com/coding-way/p/4243331.html

2019-06-10 10:30:51 1222

原创 边用边学QT(一):接触QT

开始使用QT,让我想起来了多年前使用的VB。最开始对程序建立起来的概念就是始于VB,一边建立控件,一边写代码来确定这些控件相应的事件。使用QT的主要原因是,用CPP编写一个视频回放分析工具,来分析我们的前车检测及追踪算法的效果。工具的框架基本上完成了。目前就是再在当前的UI的基础上,增加一些显示功能。从jason格式的日志文件中,提取数据,放到UI中进行显示。目前经历的一个大坑就是QL...

2019-04-29 16:40:34 520

原创 回锅C++(一) explicit关键字

之前对C++有一些了解,但是没怎么有实战经验,现在需要重新拾起来,作为吃饭的工具。因此,在此 记录一些每天的学习和收获。https://www.cnblogs.com/rednodel/p/9299251.html这里解释的比较好。简单说就是 C++构造函数默认不使用explicit关键字,默认使用implicit关键字,即支持隐式类型转换。添加了explicit之后,就不可...

2019-04-16 14:59:14 126

原创 写论文常用word技巧(一)如何在word中插入漂亮代码

这种方法简单,插入之后的代码格式类似于nodepad++,但是需要注意的是一定要用chrome浏览器打开,我最开始的使用的是firefox,结果粘贴到word中之后,总是无法保留nodepad++中的格式,非常不好看。重要的事情,再重复一遍,一定要用chrome浏览器打开网页 http://www.planetb.ca/syntax-highlight-word然后就可以得到以下...

2019-03-13 19:15:01 94741 35

原创 Zynqnet(六) fpga_top解析(二)

Zynqnet(五) fpga_top解析(一) https://blog.csdn.net/crazyeden/article/details/86654922按照算法流程图,将会进行以下模块的计算,按照 y-&gt;x-&gt; ch_in-&gt;ch_out-&gt;window_compute.以下用保留主要演示代码:// Y Loopfor (y = 0; y &l...

2019-02-03 17:41:29 677

原创 Zynqnet(五) fpga_top解析(一)

论文地址:https://github.com/dgschwend/zynqnet/blob/master/zynqnet_report.pdf项目地址:https://github.com/dgschwend/zynqnet背景:该函数取自FIRMWARE中,该部分代码是运行在异构开发板上的代码,既可以使用FPGA进行加速,也可以选择只在ARM端运行。核心函数是fpga_top,这个函数...

2019-02-01 11:41:51 1155

原创 HLS学习(三)pipeline指令的使用和line buffer

该部分内容来在UG998 Data Rate Optimization  HLS产生的模块只能连接一个单端口,一个clock只能收发数据,因此必须避免输入数据带宽限制,使用HLS自己综合出的内存。因为PL综合出来的,相对于PL 部分可以叫做internal memory。类似于处理器的片上缓存。这图像处理领域这个叫做line buffer.在UG998 P48中对line buff...

2019-01-31 15:44:21 4755

原创 HLS学习(二)Using AXI4 Interfaces

第一部分 AXI4-Stream Interfaces  暂时不细看。第二部分AXI4-Lite Interface作用:use an AXI4-Lite interface to allow the design to be controlled by a CPU or microcontroller。 HLS会自动给各个使用axilite接口的port分配地址,会在驱动文件...

2019-01-24 10:47:55 6089 3

原创 HLS学习(一)接口管理

来源:UG902 第一章 第五节  Managing Interfaces接口不仅涉及到数据的输入输出效率,还涉及到生成IP之后,如何进行和PS的连接等问题,所以这个地方还是要仔细做个笔记。#include "sum_io.h"dout_t sum_io(din_t in1, din_t in2, dio_t *sum) {dout_t temp;*sum = in1 + in2 ...

2019-01-24 10:47:37 4329

原创 Zynqnet(四)fgpa_top模块的weights.bin和input.bin的结构 VS darknet中权值和输入的结构

背景:对于FPGA加速模块的使用,除了知道如何设置一些宏变量和全局变量之外,对于卷积核权值的存储和输入数据的存储顺序是另外一个非常重要的问题。为了尽快将其源码移植到自己的项目中,需要构造这两个部分,原论文中是使用的python脚本将caffermode转化成相应的weight.bin。那么,如果对于非caffemodel,或者想对自己的CNN程序进行局部加速,怎么办?这里就需要搞清楚weights...

2019-01-17 20:36:20 746

原创 Zynqnet(三)HLS_CODE解析

介绍:该部分是作者对自己实现的卷积加速部分fpga_top函数进行测试的示例代码,在HLS中这称为testbench。net_CPU = get_network_config();该函数为网络模型的配置函数,看一下函数定义:首先进行网络初始化,这里是默认构造函数进行初始化。最大层数为该网络的所有层数,论文中为27。论文中缓存的最多的权重的数目为2528800,这里应该是权值文件所有参...

2019-01-15 16:18:25 1182

原创 Zynqnet(二)算法设计

论文地址:https://github.com/dgschwend/zynqnet/blob/master/zynqnet_report.pdf摘要:该论文核心内容从第三章开始依次介绍了CNN的优化分析和训练,第四章FPGA加速器的设计和实现,第五章实验结果和分析。关于cnn的优化分析和训练部分,不是本博文介绍的重点,需要一些深度学习知识支撑,重点介绍一下FPGA端的实现知识。4.2算法设...

2019-01-14 16:04:54 669

原创 Zynqnet(一)CNN优化训练

论文地址:https://github.com/dgschwend/zynqnet/blob/master/zynqnet_report.pdf论文简介:介绍如何使用HLS将卷积计算的C/C++代码进行综合为硬件电路,实现神经网络计算的FPGA移植。本文简介:用FPGA实现CNN网络计算,需要对网络进行一定的更改,使其具有一些适配FPGA计算的特点。本文主要介绍第三章在CNN训练阶段使用了...

2019-01-14 16:04:30 2378

原创 深度学习之物体检测(二)图像卷积的程序实现

首先用图来说明基本概念:矩阵乘法的概念理解在神经网络全连接的使用情况为:此时,输出为K个神经元,每个神经元有一个输出,后接的全连接层,对每个神经元都有一个系数,又有n个这样的神经元,所以权值矩阵为k*n,输出为1*n维,则保证每个输出神经元都有一个输出。在神经网络卷积的使用情况为:输入有Depth维度,则卷积核也应该是depth维度。图示为卷积的原理,每个卷...

2018-10-13 09:47:20 610 2

原创 深度学习之物体检测(一)R-CNN

作者Rgb在这之前大部分物体检测算法都是基于传统的图像处理方法,这是第一篇将深度学习用到物体检测上的文章,直接影响是2012年ALEXNET在比赛中的重大成功。简单来说,RCNN使用以下四步实现目标检测:a. 在图像中用slective search 方法 确定约1000-2000个候选框具体为什么使用这个方法,原文在第三页中有说While R-CNN is agnostic to...

2018-09-30 22:18:49 922

原创 C语言字符串 char* char[] char**与char* []

首先针对一位字符数组即字符串的情况进行说明。char * s = "hello"; 等价于 char str []= "hello";原因是常量字符串在编译器眼里就是它第一个字符的地址。如图所示,复现的时候需要注意s的值会变,s是一个指针变量,整形,它的值就是字符串第一个字符所在的地址,*s 就是 china中的c,printf函数的原理就是,把s的值即第一个字符的地址传进去,然后...

2018-07-19 23:49:21 23077 3

原创 ZCU102初体验

从官方下载CNN模型想在ZCU102上运行一下。但是看了runreadme之后,并不是很清楚怎么操作。以下为尝试:使用串口调试1电脑USB 接 板上 USB UART口2win7下使用putty. 3注意开发板 DIP sw6的设置在 UG1182中。4到1 分别为 off off off on。这是设置从SD卡启动4电脑端始终检测不到COM口。怀疑驱动没有装好。于是调出来xilinx infor...

2018-03-30 17:07:43 7362 2

原创 python中带类和main 的程序执行顺序

因为没有看教材,只是从程序调试中总结出来的。1 对于  if __name__ == '__main__': 的解释相关博客已经给出了说明,意思就是        当此文件当做模块被调用时,不会从这里执行,因为此时name属性就成了模块的名字,而不是main。        当此文件当做单独执行的程序运行时,就会从main开始执行。但是发现,前边有类的声明的时候,函数时如何执行的?2 对于带有类的...

2018-03-29 11:44:15 9797

原创 机器学习入门(五):coursera 之 deep learning 课程

寒假的时间,没做成什么事,就把deeplearning.ai在coursera上深度学习系列课程,完成第一个课程和第二个课程的第一周。第一个课程的主要内容为神经网络及多层神经网络的前向传播计算和反向传播计算。重点讲解了如何用python实现,前向传播过程,计算过程中,将一些中间量存为cache。然后在BP的时候,用于计算,主要推导了单层网络,两层网络和多层网络的情况下,各个梯度值如何计算。这是重点...

2018-02-25 21:33:20 382

原创 windows-caffe VS2015 无GPU配置小结

https://github.com/BVLC/caffe/tree/windows 下载。已经编译完成,但是有个问题是build_win.cmd如何和外部的python下载依赖文件的命令联系在一起的,就是关于依赖包的下载与否的问题。知情人士,请留言。谢谢。相关过程如下:直接打开C:\Projects\caffe\scripts\build_win.cmd进行编辑。

2018-02-01 15:42:27 479

原创 DeepID实现之论文总结

这里的deepid我是指一代。真的想吐槽论文写得感觉逻辑有点混乱,可能也是我水平太差,前后总要跳着看。我认为好的文章,应该是反复看反复修改,所以我会不定期的更新自己以前写过的文章,一是在复习自己过去的知识,二是进行升华。本文需要对deepid原论文有一定的了解,我忽略了一些基础部分,直接给出自己的总结或者疑惑。论文主要思想:对一个训练样本来进行判断10000个类中的哪一个,

2018-01-26 22:06:35 1775 2

原创 机器学习入门(四):关于卷积运算量和参数数量的计算

卷积层的运算量公式num(MAC)=I*J*M*N*K*LI J 为卷积核大小M N为卷积之后输出特征的大小K表示输入通道个数L表示输出通道个数(这里的通道数可以理解为单样本特征图的个数)以lenet中的参数为示例:layer {  name: "conv1"  type: "Convolution"  bottom: "data"  top: "con

2018-01-24 22:08:14 11610 1

原创 机器学习入门(三):caffe训练过程概况和caffe.bin命令选项

分析训练日志,可以得到如下训练过程:1 打印出来solver.prototxt2打印出来train_val.prototxt3根据网络模型的描述文件,按照各个层的顺序确定训练时,各个层之间如何连接计算,各个层输出的blob的维度,和所需内存大小,最后一层为loss。4根据网络描述文件,确定测试时,各个层之间如何连接计算和所需内存大小, 维度。5以上确定了训练网络和测试网络如何搭

2018-01-24 20:59:33 622

原创 机器学习入门(二):caffe训练proto配置文件解析

LeNet-5 train_val.prototxt文件解释和 solver.prototxt文件解释name: "LeNet"//网络名称layer {//定义一个层 name: "mnist"//层的名字 type: "Data"//输入层的类型为lmdb,如果输入数据格式为图片,则此处应该是imagedata top: "data"//输出为两层,一层是数据一层是标签

2018-01-24 15:40:48 566

原创 pycharm使用环境配置

1 安装好python2命令行下在python /scripts文件夹下使用easyintasll pip安装pip3命令行下在使用pip安装各种包。4把python和C:\Python27amd64\Lib\site-packages都添加到环境变量中。以上部分为本机python环境配置。打开pycharm-file-setting-project_interpr

2018-01-20 09:00:56 20483

原创 菜鸟读caffe源码(四):caffe大厦之设计图-Net

Net数据结构应该对应一个完整的CNN模型,它包含若干个layer实例。这里是展示一个Net的基本用法自己实现一个读取net内容的实例,输出模型内的blob,layer的名称。#include#include#include#include"head.h"using namespace caffe;using namespace std;int main(){ std:

2018-01-01 14:36:36 329

原创 菜鸟读caffe源码(二):caffe大厦之砖瓦

元旦假期已经开始了,今天是17年最后一天,连续两天独自一人在实验室学习,其实也并没有什么了不起,平常心,宠辱不惊。相对于tensorflow里边的tensor同等地位,caffe的blob就是数据存储和流动的单元。这也是为什么和很多教材里一样,称之为房屋的砖块,是构成整个架构的基本元素。看了书和一些技术博客,写了个简单的例子,跑跑感受一些,如何使用blob,blob的功能作用。#i

2017-12-31 11:02:33 236

原创 菜鸟读caffe源码(一):protoc.exe的使用

caffe感觉都是别人玩剩下的东西,但是结合目前项目和以后对工作的设想,caffe源码还是有很好的学习价值。参考入门书籍《深度学习21天实战caffe-赵永科》学习protobuffer相关知识,了解如何读取proto.txt等相关参数文件。路线下载protobuffer源码-》protoc.exe,然后按照参数格式,对proto文件进行编译生成pb.cc和pb.h文件。注意:

2017-12-29 11:57:09 5586 2

安装包,包含脚本和固件程序

安装包,包含脚本和固件程序

2022-01-24

conv_relu_40000.weights

将yolov2中的leaky-relu激活函数换成relu函数之后,重新对网络进行训练,得到的权值。在VOC2012上进行验证,准确率为68.85 % 。

2019-06-09

YOLOV2函数调用图

使用工具生成的yolov2进行预测时的函数调用关系图。如果需要相关工具,可以私信。

2018-09-20

iptables 用于Ubuntu16下

ubuntu系统升级或者安装机器学习依赖库时,用这个可以防止劫持

2017-11-03

一天搞懂深度学习

台湾大牛 一天搞懂机器学习

2017-07-26

Gibbons 博弈论基础

博弈论基础 经典教材

2017-07-21

空空如也

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

TA关注的人

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