自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 收藏
  • 关注

原创 反向传播四个基本方程

定义zjl=∑kwjklakl−1+bjl(1.1)ajl=σ(zjl)(1.2)C=12∑j(yj−ajl)2(1.3)\begin{aligned}z_j^l&=\sum_kw_{jk}^la_k^{l-1}+b_j^l&(1.1)\\a_j^l&=\sigma(z_j^l)&(1.2)\\C&=\frac{1}{2}\sum_j(y_j-a_j^l)^2&(1.3)\end{aligned}zjl​ajl​C​=k∑​wjkl​akl−1​+b

2021-05-19 22:32:50 406 1

原创 常用优化方法总结

目录梯度下降及其变体基于梯度下降的优化方法动量NesterovAdagradAdadeltaRMSpropAdam梯度下降及其变体包含梯度下降、随机梯度下降、小批量梯度下降梯度下降GDwk+1=wk−γk∇f(wk)(1)w_{k+1}=w_k-\gamma_k\nabla f(w_k) \tag{1}wk+1​=wk​−γk​∇f(wk​)(1)每次更新参数需要计算整个数据集优点:对凸问题可以保证取得全局最小,非凸问题局部极小缺点:计算量大,可能造成内存不足,无法在线更新模型随机梯度下

2021-04-26 22:43:46 472

原创 【计算机网络】网络音视频服务(8)- end

目录流式存储音视频实时流式协议RTSP交互式音视频(以IP电话为例)目前互联网提供的音视频服务可分为三种类型:流式存储音视频将已录制好的音视频文件存储在服务器上,用户边下载文件边播放流式实况音视频音视频由发送方边录制边发送,是一对多的通信交互式音视频用户与其他人进行实时交互式通信,如互联网电话、互联网电视会议互联网音视频最大的特点是:传输过程非等时,信号播放等时(固定帧率)。因此接收端需要设置适当大小的缓存确保恒定速率播放流式存储音视频目前流行的方法是使用万维网服务器和媒体服务器

2021-04-18 18:06:48 498

原创 【计算机网络】网络安全(7)

目录数据加密对称秘钥密码体制公钥密码体制数字签名鉴别报文鉴别密码散列函数基于散列函数的报文鉴别实体鉴别重放攻击中间人攻击秘钥分配对称秘钥的分配公钥的分配互联网使用的安全协议网络层安全协议运输层安全协议应用层安全协议防火墙与入侵检测 被动攻击 主动攻击 篡改 恶意程序 拒绝服务Dos 攻击者从网络上截获他人通信内容,不干扰信息流 攻击者篡改、彻底中断或完全伪造网络上传送的报文 计算机病毒 计算机蠕虫 特洛伊木马 逻辑炸弹 后门入侵 流氓软件

2021-04-17 19:30:42 379

原创 【计算机网络】应用层(6)

目录域名系统DNS域名服务器文件传送协议FTP协议TFTP协议远程终端协议TELNET万维网WWWURLHTTPHTTP报文CookieHTML电子邮件简单邮件传送协议SMTP邮件读取协议POP3和IMAP各种应用进程通过应用层协议来使用网络提供的通信服务域名系统DNSDNS实现主机域名与IP地址的转换DNS被设计成一个联机分布式数据库系统,以确保单个域名服务器故障不妨碍整个DNS运行当某个应用程序需要将主机名解析为IP地址时,调用解析程序并成为DNS的一个客户将待解析域名放在DNS请求

2021-04-05 11:45:50 223

转载 非线性优化库ceres入门

目录新手村-Ceres简易例程第一部分:构造代价函数结构体第二部分:通过代价函数构建待求解的优化问题第三部分:配置问题并求解问题进阶-更多的求导法再进阶-曲线拟合再再进阶-鲁棒曲线拟合参考资料:版权声明:本文为CSDN博主「福尔摩睿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/cqrtxwd/article/details/78956227Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的

2021-03-23 17:21:03 904

原创 【计算机网络】运输层(5)

目录端口用户数据报协议UDP传输控制协议TCP滑动窗口协议网络层实现的是两台主机之间的通信但数据实际是需要从一台主机的某个进程到另一台主机某个进程运输层就是提供应用进程间的逻辑通信,其满足复用:发送方不同的应用进程都可以使用同一个运输层协议传送数据分用:接收方的运输层在解析报文首部后能把数据正确交付目的应用进程根据应用程序的不同需求,运输层有2种不同的运输协议:面向连接的TCP、无连接的UDP端口运输层通过协议端口号来确定应用进程运输层将报文送到特定端口,剩下的工作由TCP或UD

2021-03-21 18:26:45 203

原创 【计算机网络】网络层(4)

目录互联网路由选择协议内部网关协议IGP路由信息协议RIP开放最短路径优先OSPF外部网关协议BGP互联网路由选择协议路由算法可以分为:静态路由选择策略、动态路由选择策略,其中动态路由可以自适应网络状态变化,但开销较大互联网采用的路由策略主要是动态的、分布式(分层次)的:1)内部网关协议IGP2)外部网关协议EGP内部网关协议IGPIGP用于一个内部使用的自治系统里,源主机与目的主机都处于该系统内IGP有多种具体协议,主要是RIP和OSPF路由信息协议RIPRIP是一种分布式

2021-03-08 21:18:45 220

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

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

2020-12-20 22:13:42 970

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

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

2020-11-16 21:46:31 222

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

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

2020-10-23 22:25:56 956 1

原创 [图像拼接]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

2020-10-10 08:31:04 3779 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

2020-05-28 17:21:51 1708

原创 线性代数(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λ倍伸缩的变化特征向...

2020-02-29 13:09:24 657

原创 线性代数(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...

2020-02-24 13:23:49 397

原创 线性代数(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​...

2020-02-19 11:33:00 309

原创 线性代数(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...

2020-02-12 11:44:00 259

原创 线性代数(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\...

2020-02-06 19:16:44 396

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

这是图像去雾方向的一个里程碑式方法【1】,简单有效,是何凯明成名作(CVPR09 best paper)                        &nb...

2020-01-14 13:41:07 1787

原创 图像增强(2)-- 3GGMM

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

2020-01-06 14:33:12 857 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|\...

2020-01-06 14:29:43 2398

原创 图像增强(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(...

2019-12-16 13:45:15 1202

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

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

2019-12-05 15:24:16 3221

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

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

2019-04-26 11:27:30 310

原创 Kabsch算法求解旋转矩阵

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

2019-03-22 09:15:29 8432

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

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

2018-11-27 17:25:14 12303 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⋅...

2018-06-26 18:08:10 2236

原创 从源码编译安装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...

2018-06-01 16:29:47 4349

原创 KITTI双目数据集使用

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

2018-05-28 14:42:39 13179 2

原创 Docker入门与基本操作(2)

Docker镜像使用 pull 从仓库中拉取镜像docker pull NAME:TAG// NAME 为仓库名称,如 registry.hub.docker.com/ubuntu:14.04// TAG 为镜像的标签,用来区分版本信息 查看本机已有镜像每一项的意义见文章《 Docker入门与基本操作(1)》docker images为镜像添加标签...

2018-04-11 16:34:57 366

原创 Docker入门与基本操作(1)

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

2018-03-28 11:11:40 697

原创 C++ 单例模式

在看Apollo代码时发现一个写法奇怪的Singleton类,查了查发现很有来头// @brief Thread-safe, no-manual destroy Singleton templatetemplate <typename T>class Singleton { public: // @brief Get the singleton instance ...

2018-03-27 16:44:09 439

原创 Ubuntu使用vscode写C++

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

2018-03-16 10:07:13 9173 1

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

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

2018-02-11 10:14:32 1698

原创 【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++代码》...

2018-02-10 09:03:03 1136

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

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

2018-02-08 14:55:27 2168

原创 【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)...

2018-02-08 12:58:36 1353

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

使用 Python 官方接口实现 C++内调用 Python 代码 两篇不错的文章:《浅析 C++ 调用 Python 模块》,《C++中嵌入python程序——使用API接口,从函数到类》C++环境配置Windows下以VS为例,配置包含目录和库目录                                  图1. 目录设置编译平台(x64和win32

2018-01-19 11:01:07 1867

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

concurrent.futures在Python3.2 后被引入是对 threading 和 multiprocessing 的高级别抽象包含两个类:ThreadPoolExecutor 和 ProcessPoolExecutor,分别实现多线程和多进程的 Pool 管理速度会比threading 和 multiprocessing 慢一些,文章《使用Python进行并发编程-Poo

2018-01-17 16:44:34 563

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

多进程Python 多进程和多线程的使用方式非常类似,同样也支持 Lock、RLock、Condition、Semaphore、Event这几种同步方式但每个进程享有独立的内存数据,因此需要用到 Manage、Queue、Pipe、Value 和 Array 实现数据共享# 摘自: http://www.cnblogs.com/kaituorensheng/p/4445418.html

2018-01-17 15:52:45 290

空空如也

空空如也

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

TA关注的人

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