zizi7的专栏

私信 关注
zizi7
码龄10年
  • 476,128
    被访问量
  • 136
    原创文章
  • 11,344
    作者排名
  • 294
    粉丝数量
  • 于 2011-03-28 加入CSDN
获得成就
  • 获得134次点赞
  • 内容获得51次评论
  • 获得381次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #深度学习#算法#PyTorch#图像处理#Python#机器学习#神经网络#视觉/OpenCV#TensorFlow
TA的专栏
  • 点云处理
  • 图像处理
    47篇
  • 机器学习
    41篇
  • 数据挖掘
    7篇
  • C++基础
    24篇
  • 编程艺术
    1篇
  • Linux c++ 编程
    8篇
  • web 编程
    9篇
  • 机器人ROS
    8篇
  • Python
    10篇
  • 自动驾驶
    4篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

【计算机网络】网络层(3)

目录网际协议IPIPv4地址解析协议ARPIP数据报的格式IP层转发分组的流程划分子网和构造超网划分子网构造超网(无分类编址CIDR)路由表查找网际控制报文协议ICMPICMP的两个重要应用网络层解决网络间的互连问题,其核心是网际协议IP网络层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务也就是说网络层传输的分组(帧)有可能出错、丢失、重复和失序。通信的可靠性由运输层负责网际协议IPIPv4IP地址给互联网上每一台主机的每个接口分配一个在全世界范围内唯一的32位标识符IP地址可以分
原创
162阅读
0评论
0点赞
发布博客于 2 月前

【计算机网络】数据链路层(2)

目录点对点信道数据链路层讨论分组怎样从一台主机传送到另一台主机,不经过路由器转发(多个网络互连)数据链路层主要使用两种类型的信道:1)点对点信道:一对一2)广播信道:一对多点对点信道链路:从一个结点到相邻结点的一段物理线路数据链路:实现数据传输协议的软硬件,其中协议数据单元称为帧数据链路协议主要解决以下3个问题封装成帧数据链路层将网络层的IP数据报作为数据部分,前后加上首尾部构成一帧        
原创
42阅读
0评论
0点赞
发布博客于 3 月前

【计算机网络】网络体系结构(1)

本系列笔记基于谢希仁编著的《计算机网络》第7版目录网络基础机构互联网通信方式互联网核心-路由器计算机网络体系结构物理层数据通信系统传输媒介信道复用网络基础机构当前互联网已经形成了多层次ISP的结构互联网服务提供商(ISP)从互联网管理机构申请大量IP,用户向某个ISP缴纳费用获取某个IP的使用权(IP只能租不能“零售”)在我国,大的ISP就是电信、联通和移动了。最近中国广电也加进来了,但还是通过和移动合作,目测成不了气候。根据服务覆盖面积,ISP可以分为主干ISP、地区ISP和本地ISP三个
原创
217阅读
1评论
0点赞
发布博客于 4 月前

[图像拼接]APAP算法及相关问题研究

目录APAP算法思路几个问题SVD在最小二乘中的应用DLT求单应性矩阵HMoving DLT求局部单应性矩阵实现的小细节文献图像拼接首先通过一些手段(标定、SIFT等特征点、其他传感器等)获取图像间的对应关系(2D-2D)。这个对应关系可以用单应性矩阵HHH(也称透视变换)描述[x′y′w′]=[h00h01h02h10h11h12h20h21h22][xyw]=H[xyw](1)\begin{aligned}\left[\begin{matrix}x'\\y'\\w'\end{matrix}\ri
原创
155阅读
2评论
0点赞
发布博客于 4 月前

OpenCV+nginx-rtmp-module实现图像推流

本方案实现对单帧图像处理后的RTMP推流参考资源《Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器》、《jkuri/opencv-ffmpeg-rtmp-stream》、《Linux下编译安装ffmpeg(修改-简单复杂最终版本)》搭建nginx服务器下载nginx1.8.1、nginx-rtmp-module安装nginx依赖库sudo apt-get install libpcre3 libpcre3-devsudo apt-get install open
原创
279阅读
0评论
0点赞
发布博客于 9 月前

线性代数(5)

特征值和特征向量对nnn阶方阵AAA,如果满足Ax=λx(1)Ax=\lambda x \tag{1}Ax=λx(1)其中xxx为nnn维非0向量,λ\lambdaλ为常数(可以为复数)则称λ\lambdaλ为AAA的特征值,xxx为AAA属于λ\lambdaλ的特征向量式(1)的几何意义是:向量xxx经过转换矩阵AAA后,依然保持原来的方向,只有λ\lambdaλ倍伸缩的变化特征向...
原创
126阅读
0评论
0点赞
发布博客于 1 年前

线性代数(4)

行列式行列式是对方阵的求值:det(A)=∣A∣det(A)=|A|det(A)=∣A∣行列式十条性质单位矩阵的行列式为1det(I)=1(1)det(I)=1 \tag{1}det(I)=1(1)每交换一次方阵的行,其行列式的正负改变一次常数乘以方阵某一行的行列式,等于常数乘以方阵的行列式∣tatbcd∣=t∣abcd∣(2)\left|\begin{matrix}ta&a...
原创
105阅读
0评论
0点赞
发布博客于 1 年前

线性代数(3)

目录Ax=bAx=bAx=b无解时的求解空间投影最小二乘上的应用正交矩阵Gram-Schmidt正交化A=QR分解A=QR分解A=QR分解Ax=bAx=bAx=b无解时的求解从线性代数(1)列空间的讨论可知,如果bbb不在AAA的列空间C(A)C(A)C(A)内,那么Ax=bAx=bAx=b无解在实际应用中这种无解的情况很多:1)因为观察/测量的数据总会有误差,无法保证每个bib_ibi​...
原创
98阅读
0评论
0点赞
发布博客于 1 年前

线性代数(2)

线性相关性给定一组向量x⃗1,x⃗2,x⃗3,...,x⃗n\vec{x}_1,\vec{x}_2,\vec{x}_3,...,\vec{x}_nx1​,x2​,x3​,...,xn​,如果存在不全为0的数c1,c2,c3,...,cnc_1,c_2,c_3,...,c_nc1​,c2​,c3​,...,cn​,使得c1x⃗1+c2x⃗2+...+cnx⃗n=0c_1\vec{x}_1+c_2...
原创
122阅读
0评论
0点赞
发布博客于 1 年前

线性代数(1)

目录方程组的“行图像”与“列图像”逆矩阵LU分解向量空间与子空间零空间列空间秩方程组的“行图像”与“列图像”对一个二元二次方程组2x−y=0−x+2y=3(1)2x-y=0\\-x+2y=3 \tag{1}2x−y=0−x+2y=3(1)可以记为AX=bAX=bAX=b的行图像形式[2−1−12][xy]=[03](2)\left[\begin{matrix}2 & -1\...
原创
127阅读
0评论
0点赞
发布博客于 1 年前

图像增强(3)-- 暗通道去雾

这是图像去雾方向的一个里程碑式方法【1】,简单有效,是何凯明成名作(CVPR09 best paper)                        &nb...
原创
548阅读
0评论
0点赞
发布博客于 1 年前

图像增强(2)-- 3GGMM

这是文章《Restoration of Unevenly Illuminated Images》【1】提出的一种方法,经过测试没有MSRCR的方法好(也有可能是我复现的问题)。但思路比较有意思所以记录一下这种方法认为光照不均匀图像的灰度直方图可以用一个高斯混合模型拟合,该模型包含3个高斯分布,分别代表过暗、过曝和正常3部分内容 – (3GGMM) a three-component genera...
原创
228阅读
0评论
0点赞
发布博客于 1 年前

高斯混合模型GMM

高斯混合模型(Gaussian Mixed Model)是多个高斯分布函数的线性组合,理论上可以拟合出任意类型的分布,通常用于无监督聚类问题设随机变量XXX,高斯混合模型如下所示p(x)=∑k=1KπkN(x∣μk,Σk)p(x)=\sum_{k=1}^K{\pi_k}N(x|\mu_k,\Sigma_k)p(x)=k=1∑K​πk​N(x∣μk​,Σk​)其中N(x∣μk,Σk)N(x|\...
原创
2065阅读
0评论
0点赞
发布博客于 1 年前

图像增强(1)-- Retinex

Retinex方法Retinex是由 Retina 和 Cortex 两个词组成,该理论认为物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的。由此观察者看到的图像S是由物体表面对入射光L反射得到的,反射率R由物体本身决定与入射光L无关:S(x,y)=R(x,y)L(x,y)S(x,y) = R(x,y)L(x,y)S(x,y)=R(...
原创
288阅读
0评论
0点赞
发布博客于 2 年前

二维码的生成细节和原理&源码

转载自 《二维码的生成细节和原理》二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等基础知识首先,我们先说一下二维码一共有40个尺寸。官方叫版本Version。Version 1是21 x 21的矩阵,Version 2是 25...
转载
642阅读
0评论
0点赞
发布博客于 2 年前

一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉

作者:史丹利复合田来源:CSDN原文:https://blog.csdn.net/tsyccnh/article/details/79163834版权声明:本文为博主原创文章,转载请附上博文链接!关于交叉熵在loss函数中使用的理解交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。以前做一些分类问题的时候,没有过多的注意,直接调用现成的库...
转载
189阅读
0评论
2点赞
发布博客于 2 年前

Kabsch算法求解旋转矩阵

Kabsch算法【1】由W.Kabsch在1976年提出的,用于求解最优旋转,在分子生物学,特别是比较蛋白质的相似性方面有重要的应用。文章【2】将其应用在传感器外参标定上,即对属于同一目标的两批三维点,通过Kabsh算法求得其旋转矩阵R。方法推导设PPP和QQQ是同一个目标在不同坐标系下的两组点,pip_ipi​和qiq_iqi​是集合内的第iii个点。令两个坐标系的旋转为RRR,平移为T...
原创
2706阅读
0评论
3点赞
发布博客于 2 年前

灰度相机与彩色相机的成像原理

无论是CCD还是CMOS,其原理都是将光子转换为电子,其中光子数目与电子数目成比例。对每个像素,统计其电子数目就形成反映光线强弱的灰度图像。                                     图1. 根据电子数目得到灰度图像但是在这里,光子的波长,即颜色信息丢失了。为了获得彩色图像,可以首先将光线过滤为红、绿、蓝三种光子,然后使用三个CCD(CMOS)分别感光,最后成...
原创
5837阅读
2评论
4点赞
发布博客于 3 年前

三维空间刚体旋转描述

三维空间中通常可以用旋转矩阵、旋转向量、欧拉角和四元数来描述旋转旋转矩阵先回顾下向量的内积和外积 ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a⋅b=aTb=∑3i=1aibi=|a||b|cos(a,b)a×b=⎡⎣⎢ia1b1ja2b2ka3b3⎤⎦⎥=⎡⎣⎢a2b3−a3b2a3b1−a1b3a1b2−a2b1⎤⎦⎥=⎡⎣⎢0a3−a2−a30a1a2−a10⎤⎦⎥b=a^b(1){a⋅...
原创
1556阅读
0评论
1点赞
发布博客于 3 年前

从源码编译安装OpenCV并支持GPU加速

环境Ubuntu16.04 x64 NVIDIA 1080Ti,driver 390.59,CUDA 9.0,cudnn 7.0.5 OpenCV 3.4.1安装依赖包参考文章《Ubuntu16.04下安装OpenCV3.2.0》$ sudo apt-get install build-essential$ sudo apt-get install cmake g...
原创
3488阅读
0评论
0点赞
发布博客于 3 年前

KITTI双目数据集使用

KITTI是面向自动驾驶的标准测试数据集,这里关注其中双目数据 如图1所示,KITTI使用4个相机采集图像数据,两个为灰度相机,另外两个为彩色相机。                   图1. 双目系统包含两个灰度相机和两个彩色相机数据格式KITTI目前有2012和2015两个双目数据集stereo2015里可以下载立体校正后的图像对和标定文件;raw data里可以下载...
原创
8765阅读
1评论
1点赞
发布博客于 3 年前

Docker入门与基本操作(2)

Docker镜像使用 pull 从仓库中拉取镜像docker pull NAME:TAG// NAME 为仓库名称,如 registry.hub.docker.com/ubuntu:14.04// TAG 为镜像的标签,用来区分版本信息 查看本机已有镜像每一项的意义见文章《 Docker入门与基本操作(1)》docker images为镜像添加标签...
原创
252阅读
0评论
0点赞
发布博客于 3 年前

Docker入门与基本操作(1)

由于不同应用依赖的环境不同,迁移到其他环境(服务器)时往往需要重新部署和调试Docker通过容器打包应用,解耦应用和运行平台,这样在迁移的时候只需要在新服务器上启动需要的容器即可,无需再配环境Docker容器技术也是操作系统虚拟化的一种,传统方式(VMware)是在硬件层面实现虚拟化,Docker是在操作系统层面上实现虚拟化,因此更加轻量级                    表1...
原创
610阅读
0评论
0点赞
发布博客于 3 年前

C++ 单例模式

在看Apollo代码时发现一个写法奇怪的Singleton类,查了查发现很有来头// @brief Thread-safe, no-manual destroy Singleton templatetemplate <typename T>class Singleton { public: // @brief Get the singleton instance ...
原创
304阅读
0评论
1点赞
发布博客于 3 年前

Ubuntu使用vscode写C++

visual studio code 本质上是个编辑器,并不是IDE,因此需要自己配编译器。不过vscode会推荐一些官方插件,还是比较方便的。vscode 需要改写 .vscode/launch.json 和 .vscode/tasks.json,前者描述调试工程环境,如何启动任务,后者定义编译方法工程示例参考文章《在Linux中使用VS Code编译调试C++项目》 假定...
原创
8227阅读
1评论
0点赞
发布博客于 3 年前

【Python】C++ & Python 混合编程(5)-- Python 调用 C++(ctypes)

ctypes 是 python 内建的模块,可以实现 python 直接调用动态链接库提供了一套数据类型,实现 C 类型到 python的映射对C++支持较差,特别是复杂类型当手头只有第三方动态链接库时,ctypes 比较方便(否则建议用SWIG包装)使用方法1)加载DLLfrom ctypes import *# 针对 WinDLL 类的对象objdll ...
原创
1392阅读
0评论
2点赞
发布博客于 3 年前

【Python】C++ & Python 混合编程(4)-- Python 调用 C++(SWIG)

SWIG 是一个帮助使用C或C++编写的软件能与其他各种高级语言进行嵌入链接的工具SWIG支持多种语言:Python,Java,PHP,Perl,Tcl和Ruby相比较使用 python 自带扩展方法和Cython方法,SWIG不要求修改C/C++代码,根据C/C++的声明,对其进行包裹使得其他语言可以访问使用方法参考文章《使用SWIG实现Python调用C/C++代码》...
原创
934阅读
0评论
0点赞
发布博客于 3 年前

【Python】C++ & Python 混合编程(3)-- Python 调用 C++(Cython)

如文章《加速python,保护你的源代码 》所述,”Cython是Python的一个扩展模块,主要功能是将Python代码编译成C/C++,然后再编译成Python扩展(Windows下为.pyd,Linux下为.so)”其主要作用是:隐藏 Python 源代码加速Cython 可以通过 cdef、cpdef等声明静态变量,获得更高的效率提升 详细的官方开发文档使用...
原创
1652阅读
0评论
1点赞
发布博客于 3 年前

【Python】C++ & Python 混合编程(2)-- Python 调用 C++

比C/C++调用Python更有意义:先用 Python 快速开发出大部分功能,需要性能优化的部分再优化到C/C++基本思路是,将C/C++封装为动态链接库(windows下为 .pyd,linux下为 .so)供 Python 调用将分4篇介绍Python扩展的方法、Cython方法、SWIG方法、ctypes方法Python 扩展方法封装若干函数到动态链接库1)...
原创
985阅读
0评论
1点赞
发布博客于 3 年前

【Python】C++ & Python 混合编程(1)-- C++使用Python

使用 Python 官方接口实现 C++内调用 Python 代码 两篇不错的文章:《浅析 C++ 调用 Python 模块》,《C++中嵌入python程序——使用API接口,从函数到类》C++环境配置Windows下以VS为例,配置包含目录和库目录                                  图1. 目录设置编译平台(x64和win32
原创
1414阅读
0评论
1点赞
发布博客于 3 年前

【Python】多线程 & 多进程(3)

concurrent.futures在Python3.2 后被引入是对 threading 和 multiprocessing 的高级别抽象包含两个类:ThreadPoolExecutor 和 ProcessPoolExecutor,分别实现多线程和多进程的 Pool 管理速度会比threading 和 multiprocessing 慢一些,文章《使用Python进行并发编程-Poo
原创
461阅读
0评论
0点赞
发布博客于 3 年前

【Python】多线程 & 多进程(2)

多进程Python 多进程和多线程的使用方式非常类似,同样也支持 Lock、RLock、Condition、Semaphore、Event这几种同步方式但每个进程享有独立的内存数据,因此需要用到 Manage、Queue、Pipe、Value 和 Array 实现数据共享# 摘自: http://www.cnblogs.com/kaituorensheng/p/4445418.html
原创
232阅读
0评论
0点赞
发布博客于 3 年前

【Python】多线程 & 多进程(1)

由于GIL(全局解释器锁)的机制,Python同一时刻只有一个线程在跑。 因此 Python 的多线程实际仍然是串行执行,只对IO密集型程序有意义,对于CPU密集型程序,建议多进程如果不确定多线程还是多进程,可以用 multiprocessing 的 dummy,他以多进程的API实现了多线程的机制#多进程from multiprocessing import Pool#多线程
原创
251阅读
0评论
0点赞
发布博客于 3 年前

【Python】正则表达式

元字符常见正则表达式符号 符号 描述 示例 literal 匹配文本字符串的字面值literal py re1|re2 匹配 re1 或 re2 foo|bar . 匹配任意字符(除
) py.n ^ 匹配字符串起始部分 ^Dear $ 匹配字符串终止部分 .*.jpg$ * 匹
原创
205阅读
0评论
0点赞
发布博客于 3 年前

【C++温故】(3)类的拷贝构造函数 & =重载函数

拷贝构造函数、重载赋值操作符
原创
356阅读
0评论
0点赞
发布博客于 4 年前

【C++温故】(2) 类的继承(二)

虚函数
原创
194阅读
0评论
0点赞
发布博客于 4 年前

【C++温故】(2) 类的继承(一)

类继承
原创
205阅读
0评论
2点赞
发布博客于 4 年前

【C++温故】(1) sizeof

sizeof
原创
181阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(8)- C#事件、Lambda

事件(Event)其实质就是具有特殊签名的委托,事件处理的就是委托链表的方法
原创
235阅读
0评论
0点赞
发布博客于 4 年前

Tensorflow fine-tunning AlexNet

包括Tensorflow下的 AlexNet 网络模型搭建、测试、使用自己的数据做 fine-tunning、批量测试训练结果主要参考文章《Finetuning AlexNet with TensorFlow》,文章《TensorFlow微调AlexNet》是对其的翻译tensorflow 比 caffe 要快很多。。。AlexNet网络搭建每个卷积和池化层后添加了输出尺寸
原创
717阅读
0评论
1点赞
发布博客于 4 年前

灰度共生矩阵GLCM

灰度共生矩阵GLCM主要用来描述图像的纹理特征
原创
713阅读
0评论
0点赞
发布博客于 4 年前

支持向量机(2)-应用

常用的SVM库实现有:libsvm、liblinear、svm-pref
原创
300阅读
0评论
0点赞
发布博客于 4 年前

Caffe Solver里参数解释

CAFFE SOLVER参数解释
原创
928阅读
0评论
0点赞
发布博客于 4 年前

支持向量机(1)-概念及推导

SVM概念及推导
原创
300阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(7)- C#泛型、委托

C# 泛型、委托
原创
337阅读
0评论
1点赞
发布博客于 4 年前

【C#与.NET程序设计】(6)- C#垃圾回收及接口类型

垃圾回收及接口类型
原创
299阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(5)- C#OOP

C# 的 OOP
原创
289阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(4)- C#类及OOP

c# 类及OOP
原创
335阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(3)- C#基本参数类型

C# 参数类型
原创
178阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(2)- C#基本数据类型及控制结构

c#基本数据类型
原创
353阅读
0评论
0点赞
发布博客于 4 年前

【C#与.NET程序设计】(1)- .NET

.NET概述
原创
879阅读
0评论
0点赞
发布博客于 4 年前

Socket 编程

分3个部分,首先介绍Socket基本概念(主要参考《Socket编程》);然后分别是基于MFC的Socket编程(参考《MFC socket网络编程(流程示例)》)和基于C#的Socket编程(参考《你得学会并且学得会的Socket编程基础知识》)
原创
373阅读
0评论
0点赞
发布博客于 4 年前

使用Halcon实现图像处理

Halcon的使用逻辑是:首先用 HDevelop 完成算法设计和验证,然后导出为 C/C++、VB、C# 完成算法实现
原创
12681阅读
1评论
6点赞
发布博客于 4 年前

图像语义分割(4)- DeepLab_v1

简单来说,DeepLab_v1【1】就是 FCN + CRF(条件随机场)
原创
1138阅读
0评论
0点赞
发布博客于 4 年前

图像区域特征

以 Halcon 里支持的 Region 特征为基础,做概念总结形状特征
原创
3382阅读
0评论
1点赞
发布博客于 4 年前

r-cnn系列代码编译及解读(4)

本文基于 Liu W 提出的 SSD 算法,针对其算法实现做以下工作: 1)完成代码的安装与编译 2)使用自己的数据训练 SSD 模型SSD 编译安装SSD 基于 CAFFE 实现,因此过程跟 faster-rcnn 差不多: 1)clone 工程git clone https://github.com/weiliu89/caffe.gitcd caffegit
原创
690阅读
0评论
0点赞
发布博客于 4 年前

图像语义分割(3)- Dilated Convolutions

Dilated Convolutions【1】直接丢掉池化层,使用膨胀(空洞)卷积的方法实现
原创
10172阅读
3评论
7点赞
发布博客于 4 年前

图像语义分割代码实现(2)

针对《图像语义分割(2)- SegNet》介绍的 SegNet 算法,主要参考官方项目主页,在 CamVid 数据集上做训练和测试
原创
4707阅读
0评论
0点赞
发布博客于 4 年前

图像语义分割(2)- SegNet

SegNet【1】是FCN 的一个改进版,由 Cambridge 提出,旨在解决自动驾驶或智能机器人的图像语义分割
原创
3193阅读
0评论
2点赞
发布博客于 4 年前

图像语义分割代码实现(1)

针对《图像语义分割(1)- FCN》介绍的FCN算法,以官方的代码为基础,在 SIFT-Flow 数据集上做训练和测试。介绍了如何制作自己的训练数据数据准备
原创
14433阅读
4评论
4点赞
发布博客于 4 年前

图像语义分割(1)- FCN

在图像处理领域,图像的分割主要考虑像素灰度的变化,区分不同的前后景。之前的一个系列《图像分割技术(1)》对主流算法做了概述图像的语义分割则不仅是区分每个像素的前后景,更需要将其所属类别预测出来,属于计算机视觉领域
原创
26073阅读
7评论
7点赞
发布博客于 4 年前

深度残差网络 ResNet

作为 CVPR2016 的 best paper,何凯明的文章【1】针对深层网络梯度弥散导致的SGD优化难题,提出了 residual(残差)结构,很好的解决了模型退化问题,在50层、101层、152层甚至1202层的网络上测试均获得了很好的效果。
原创
5097阅读
0评论
1点赞
发布博客于 4 年前

【R-CNN系列目标检测】(7)SSD算法

【1】SSD(Single Shot MultiBox Detector)算法可以理解为 YOLO + Faster R-CNN 的进化方法。
原创
1373阅读
0评论
0点赞
发布博客于 4 年前

r-cnn系列代码编译及解读(3)

本文基于 Joseph Redmon 提出的 YOLO2 算法,针对其算法代码实现做以下工作: 1)完成代码的安装与编译 2)使用自己的数据训练 darknet 模型 3)修改源代码(C代码),增加检测功能的python接口
原创
692阅读
0评论
0点赞
发布博客于 4 年前

【R-CNN系列目标检测】(6)YOLO2算法

算法【1】以 YOLO 为基础,从准确度和速度上做改进,最终在保持原有速度的同时将精度提升到了76%左右;提出了联合训练(同时训练目标检测和分类)的方法,在COCO和ImageNet上得到一个能实现9000种目标实时检测的网络
原创
5260阅读
0评论
3点赞
发布博客于 4 年前

【R-CNN系列目标检测】(5)YOLO算法

YOLO【1】是RBG挂名的目标检测算法。YOLO不再套用R-CNN的思路,而是将目标检测转换为回归问题,极大提升了检测速率:标准版达到45fps,简化版达到155fps
原创
1108阅读
0评论
0点赞
发布博客于 4 年前

r-cnn系列代码编译及解读(2)

本文针对RBG的 faster rcnn 代码,做以下工作: 1)完成安装及配置 2)使用自己的数据做训练和测试
原创
1166阅读
0评论
1点赞
发布博客于 4 年前

ubuntu下安装nvidia驱动、cuda、cudnn

问题主要出在nvidia驱动的安装上,主要由于双显卡的原因 主要内容:安装 nvidia驱动、安装 cuda、安装 cudnn;      解决t470网卡不识别问题,系统备份方法      环境硬件:thinkpad t470p(940mx) 软件:ubuntu 14.04.5、显卡驱动版本375.66、cuda8.0、cudnn5.1安装nvidia驱动简单的方法是 在“附加驱动”里更新
原创
9275阅读
1评论
2点赞
发布博客于 4 年前

【R-CNN系列目标检测】(4)FASTER R-CNN算法

faster r-cnn【1】是Ross Girshick对 fast r-cnn 算法的改进。简单网络(ZF)目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%;复杂网络(VGG-16)达到5fps,准确率78.8%
原创
2630阅读
0评论
0点赞
发布博客于 4 年前

【R-CNN系列目标检测】(3)FAST R-CNN算法

重点参考《读DL论文心得之Fast RCNN》fast r-cnn【1】是Ross Girshick在2015年对上一年的SPP-Net算法做的改进。作者在VGG16网络的测试表明:fast r-cnn在训练阶段比r-cnn快了9倍,比spp-net快了3倍;在测试阶段比r-cnn快了213倍,比spp-net快了10倍;同时精度也有一定提升r-cnn和spp-net的不足1)r-cnn 和 spp
原创
1150阅读
0评论
0点赞
发布博客于 4 年前

r-cnn系列代码编译及解读(1)

本系列针对RBG在github上的fast r-cnn代码,做安装配置及解读工作 本文解决由于CAFFE版本的更新导致的fast r-cnn编译失败的问题
原创
3614阅读
0评论
0点赞
发布博客于 4 年前

【R-CNN系列目标检测】(2)SPP-Net算法

重点参考《深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测》SPP-Net(Spatial Pyramid Pooling)是何凯明2014年提出的方法【1】,通过解决传统CNN无法处理不同尺寸输入的问题对同年的R-CNN算法做改进,实验结果表明SPP方法比R-CNN快了近100倍从算法架构上,SPP-Net与R-CNN相似:通过Selective Search获取候选区域,最后也是使用SV
原创
2793阅读
0评论
0点赞
发布博客于 4 年前

【R-CNN系列目标检测】(1)R-CNN算法

重点参考《深度学习(十八)基于R-CNN的物体检测》和《RCNN学习笔记(1):Rich feature hierarchies for accurate object detection and semantic segmentation》R-CNN(Regions with Convolutional Neural Network Features)【1】是RBG大神将CNN引入目标检测领域的开
原创
2432阅读
0评论
0点赞
发布博客于 4 年前

Selective Search 算法

由[Uijlings J R R在2012年的IJCV][1]上提出。 方法以[P. F. Felzenszwalb在2004年的IJCV发表的基于图的图像分割][2]为基础,考虑色彩、纹理和尺寸的相似度,输出所有可能目标的位置,为后续的目标识别提供基础。算法分析算法使用[图像分割方法][2]对图像做初始分割,提出分层分组方法(图1)对分割的结果做筛选和归并,最终输出所有可能位置。step1:计算区
原创
10494阅读
1评论
1点赞
发布博客于 4 年前

Python2.x上使用freetype实现OpenCV2.x的中文输出

OpenCV2.x的putText是无法处理中文的(OpenCV3.x中集成了freetype实现中文输出),同样,Python2.x对中文的支持也很差(同样这一情况在Python3.x中得到了改善)。 所以最方便的方法是,两个都换成3.x版本的。。。[捂脸]freetype的安装计算机上显示文本的过程大体上是,先将文本转换成一个一个的bitmap,然后再用图形系统将这些bitm
原创
9098阅读
0评论
0点赞
发布博客于 4 年前

Jacobian矩阵和Hessian矩阵

转自 http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9%98%B5/1. Jacobian在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入
转载
335阅读
0评论
0点赞
发布博客于 4 年前

windows下编译protobuf的python接口

由于某些原因这种方式安装失败pip install protobuf因此只能下载源码编译生成接口
原创
1707阅读
0评论
0点赞
发布博客于 4 年前

MFC edit控件实现控制台式滚动输出

EDIT控件实现多行滚动输出
原创
1407阅读
0评论
0点赞
发布博客于 4 年前

使用libcaffe为工程添加深度学习功能

很多时候需要在自己的解决方案里添加caffe的功能,基本思路是在工程(x64)里添加编译好的libcaffe.lib(使用windows版本)。
原创
3295阅读
1评论
1点赞
发布博客于 4 年前

树莓派使用nginx+rtmp搭建直播服务器

可以作为家用网络监控器的一种廉价解决方案 基本思路是:使用avconv/GStreamer读取摄像头并生成flv视频流 -> Strobe Media Playback接受视频流 -> nginx服务器页面嵌入Strobe的flash播放器 -> nginx的rtmp模块实现直播。安装nginx+rtmp参考使用 nginx 和 rtmp 插件搭建视频直播和点播服务器
原创
12156阅读
2评论
1点赞
发布博客于 4 年前

基于距离变换的图像匹配

之前一直以为距离变换的意义就在于骨架抽取,看到一篇论文用距离变换的方式来实现匹配,配合倒角距离变换(Chamfer Distance Transform)可以达到快速匹配的效果
原创
2574阅读
0评论
1点赞
发布博客于 4 年前

人脸识别(3)--EBGM

EBGM(Wiskott L, Fellous J M, Kuiger N, et al. Face recognition by elastic bunch graph matching[J]. IEEE Transactions on pattern analysis and machine intelligence, 1997, 19(7): 775-779.)
原创
919阅读
0评论
0点赞
发布博客于 5 年前

Ubuntu14.04安装libfreenect2使用kinect2

kinect2出来时OpenNI已被水果公司收购,第三方的驱动支持只剩下libfreenect2了。
原创
6089阅读
1评论
0点赞
发布博客于 5 年前

Gabor滤波器

Gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,因此十分适合纹理分析。
原创
16173阅读
6评论
10点赞
发布博客于 5 年前

人脸识别(2)--fisherface

人脸识别--fisherface
原创
3660阅读
0评论
2点赞
发布博客于 5 年前

人脸识别(1)--eigenface

Eigen是MIT于1991年提出的人脸识别算法,后来与归一化协相关量方法一起成为人脸识别的性能测试基准算法。1. 算法描述Eigenface的基本思想非常简单:以图像像素点为原始维度单位(如320*240的图,其维度为76800*1),试图找到一种变换将其转到另一个描述空间,在目标空间里,每种人脸能得到最好的区分。具体的算法步骤如下:1)将所有人脸图像reshape成
原创
2591阅读
0评论
3点赞
发布博客于 5 年前

c++构造函数成员初始化中赋值和初始化列表两种方式的区别

先总结下:由于类成员初始化总在构造函数执行之前1)从必要性:     a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数     b. 成员是常量或引用:成员无法赋值,只能被初始化2)从效率上:    如果在类构造函数里赋值:在成员初始化时会调用一次其默认的构造函数,在类构造函数里又会调用一次成员的构造函数再赋值    如果在类构造函数使用
转载
13428阅读
1评论
8点赞
发布博客于 5 年前

ubuntu14.04 安装SVN

服务端1. 安装subversionsudo apt-get install subversion2. 创建版本库sudo mkdir /home/svn sudo svnadmin create /home/svn/repos3. 配置版本库1)主配置文件 /home/svn/repos/conf/svnserve.conf[general]anon-
原创
568阅读
0评论
0点赞
发布博客于 5 年前

树莓派apt方式安装opencv

1. 安装opencv网上很多介绍是从源码编译安装opencv的,比较折腾。文章树莓派学习笔记——apt方式安装opencv给出了apt的安装方式:sudo apt-get updatesudo apt-get install libopencv-devsudo apt-get install python-opencv2. QT上使用opencv先安装QT C
原创
3330阅读
0评论
0点赞
发布博客于 5 年前

MinGW编译Zbar修复中文乱码

项目中需要用到Zbar解析二维码,但由于编码的问题,Zbar扫描出的中文信息是乱码。解决思路很简单:修改源码里 zbar/qrcode/qrdectxt.c 62行开始的转码函数即可(参考这里,但文章的函数用法错了,后面详述)。因此本文的工作就是(重点参考Zbar二维码解析库编译):安装MinGW(最新的zbar没有VS工程),修改Zbar源码,重新编译LIB。1. 安装配置MinGW
原创
3731阅读
3评论
3点赞
发布博客于 5 年前

树莓派3首次安装环境配置

1. 系统烧录首先需要到这里下载系统,我选择全功能的官方维护版本RASPBIAN JESSIE。然后需要将下载的系统解压缩(.img),烧录到SD卡中(推荐64G)。这里提供了Windows、Linux、Mac OS平台的烧录方法。P.S.系统烧录成功后windows平台默认只显示SD卡的boot分区(我这里只有64M,当时还以为买到假SD卡了。。。)2. 修改密码Ra
原创
5218阅读
0评论
1点赞
发布博客于 5 年前

正则表达式

转自 廖雪峰的官方网站字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,
转载
350阅读
0评论
0点赞
发布博客于 5 年前

表示和描述(3)

接上篇 表示和描述(2)主分量描述主分量描述适用于边界和区域。用在区域(图像)上可以抽取方差最大的分量(主分量),用在边界上可以对其做缩放、平移和旋转的归一化。主分量(PCA)一般用于数据降维,因为大特征值对应图像细节(高频)。主分量的计算过程可归纳为(具体分析参考):由多组特征向量计算均值向量m,由此得到协方差矩阵,计算该矩阵(实对称)的特征值,按从大到小排列,选择前
原创
677阅读
0评论
0点赞
发布博客于 5 年前

表示和描述(2)

接上篇 表示和描述(1)边界描述主要讨论边界的形状数描述、傅里叶描述和其他简单的描述。1)基础描述边界长度:边界的像素数粗略近似边界直径:相隔最远的两个点的距离(链码一节介绍的长短轴)边界偏心率:长轴/短轴其他规范化近似:外接圆、外接矩形、外接凸包2)形状数描述参考表示和描述(1)的Freeman编码,图1-2形状编号的长度即为形状数的阶。这
原创
8594阅读
0评论
1点赞
发布博客于 5 年前

表示和描述(1)

表示和描述应该是个递进的关系,表示旨在以更(精确/方便/高效)的方式组织数据,而描述旨在从表示中总结某种模式以便于任务的完成。前者更贴近数据,后者更贴近应用。表示部分:边界表示描述部分:边界描述、区域描述、关系描述、主分量描述边界表示主要分2个阶段:边界追踪(轮廓提取)、基于特定目标(精确/方便/高效)的边界表示。边界追踪部分主要介绍Moore算法;边界表示部分主要介绍Free
原创
2020阅读
0评论
0点赞
发布博客于 5 年前

图像分割技术(3)

接上篇 图像分割技术(2)5. 基于运动的分割严格说来这部分应该属于运动检测,是计算机视觉的内容,有光流,卡尔曼,meanshift。。。对于图像处理,更侧重的是通过分析和转换,突出运动特征。这里从空间域和频率域上介绍5.1 空间域基本思路是帧间做差,按参考帧的不同,又分为帧差法和累积差值。前者使用相邻帧做差,后者固定一帧作为参考,所有后续帧与之做差。帧差:按对
原创
1013阅读
0评论
1点赞
发布博客于 5 年前

CMake使用总结

转自 CMake使用总结总结CMake的常用命令,并介绍有用的CMake资源。CMake意为cross-platform make,可用于管理c/c++工程。CMake解析配置文件CMakeLists.txt生成Makefile,相比直接用Makefile管理工程,CMake更灵活和简单。简单的例子一个完整的Demo可参考这里。假设当前目录的结构为
转载
1597阅读
0评论
0点赞
发布博客于 5 年前

ROS图像相关包

1. 摄像头图像采集有2个思路,一个是使用ROS现有的包(主流方法);一个是利用OpenCV提供的VideoCapture方法,然后通过ROS提供的cv_bridge转为sensor_msgs/Image消息(cv_bridge的例程)。对于第一个思路,ROS有个官方提供的驱动包:libuvc_camera,但《ROS By Example》一书出于使用便利性推荐第三方包:usb_cam。
原创
1560阅读
0评论
0点赞
发布博客于 5 年前

VS里调用DLL内存问题

调了好长时间,先是解决DLL版本问题(调用的DLL是VC6编译的,找到源码用VS重新编译),然后就遇到了匪夷所思的运行时崩溃。。。期间认真考虑过换行。。。问题描述程序(release版)在调用DLL的函数时会随机崩溃;但单步调试崩溃的概率较低,而且即使崩溃,每次也不在一个地方,只能确定大致在调用DLL的时候(尼玛),一般会定位在VS自带DLL的堆栈free等函数。debug版倒
原创
819阅读
0评论
0点赞
发布博客于 5 年前

坐标系旋转关系描述 -- 四元数

在看ROS的TF时发现其描述旋转关系有2种方式:欧拉角和四元数感觉四元数和罗德里格斯变换有点像,都是直接用一个向量描述旋转轴,不过后者用向量的模表示旋转角度,因此只有3个值。以下内容转自 半闲居士的视觉SLAM中的数学基础 第二篇 四元数***********************************************************************
转载
9579阅读
0评论
3点赞
发布博客于 5 年前