将数据结构中一些经典的链表问题做一个总结归纳。
C++异常机制
C++异常机制用于处理程序中的异常事件,是一种有效处理运行错误的强大且灵活的工具。
C++智能指针
C++中智能指针(auto_ptr、unique_ptr、shared_ptr)的简单总结。
Deep Learning -- Normalization
Normalization可理解为归一化、标准化或者规范化,广泛应用于诸多领域。整体来讲,Normalization扮演着对数据分布重新调整的角色。在图像处理领域,不同形式的归一化可以改变图像的灰度、对比度信息;在机器学习和神经网络中,Normalization可用于对数据去相关,加速模型训练,提高模型的泛化能力。
Deep Learning -- Regularization
在训练神经网络时,为了缓解网络规模较大、训练数据较少而可能导致的过拟合(Overfitting)问题,通常会采取正则化(Regularization)方法,以提高模型的泛化能力。
Deep Learning -- Dropout
训练神经网络模型时(Nerual Network),如果网络规模较大,训练样本较少,为了防止模型过拟合,通常会采用Regularization(正则化,e.g. L2-norm、Dropout)。Dropout的基本思想是在模型训练时,让某些神经元以一定的概率不工作。
Deep Learning -- Activation Function
神经网络的激活函数(activation function)通过引入非线性因素,使得网络可以逼近任何非线性函数,提高网络模型的表达能力,更好地解决复杂问题。
Faster R-CNN论文及源码解读
R-CNN是目标检测领域中十分经典的方法,相比于传统的手工特征,R-CNN将卷积神经网络引入,用于提取深度特征,后接一个分类器判决搜索区域是否包含目标及其置信度,取得了较为准确的检测结果。Fast R-CNN和Faster R-CNN是R-CNN的升级版本,在准确率和实时性方面都得到了较大提升。在Fast R-CNN中,首先需要使用Selective Search的方法提取图像的候选目标区域(Proposal)。而新提出的Faster R-CNN模型则引入了RPN网络(Region Proposal Network),将Proposal的提取部分嵌入到内部网络,实现了卷积层特征共享,Fast R-CNN则基于RPN提取的Proposal做进一步的分类判决和回归预测,因此,整个网络模型可以完成端到端的检测任务,而不需要先执行特定的候选框搜索算法,显著提升了算法模型的实时性。
Linux服务器下安装TensorFlow
简单介绍在Linux服务器的个人目录下安装TensorFlow。TensorFlow的安装方式有多种,基于Pip的安装、基于Docker的安装、基于VirtualEnv的安装、基于Anaconda的安装,以及从源码编译安装,这些在官网均有介绍,这里简单记录下基于Anaconda安装的方法。
图像局部特征描述总结
局部图像特征描述是计算机视觉的一个基本研究问题,在寻找图像中的对应点以及物体特征描述中有着重要的作用。它是许多方法的基础,因此也是目前视觉研究中的一个热点,每年在视觉领域的顶级会议ICCV/CVPR/ECCV上都有高质量的特征描述论文发表。同时它也有着广泛的应用,举例来说,在利用多幅二维图像进行三维重建、恢复场景三维结构的应用中,其基本出发点是要有一个可靠的图像对应点集合,而自动地建立图像之间点与点之间的可靠对应关系通常都依赖于一个优秀的局部图像特征描述子。又比如,在物体识别中,目前非常流行以及切实可行的方法之一是基于局部特征的,由于特征的局部性,使得物体识别可以处理遮挡、复杂背景等比较复杂的情况。