自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CNN(九):Inception v3算法实战

总体而言,Inception v3主要提出了分解卷积,将大卷积因式分解成小卷积核非对称卷积,体现在数学上就是矩阵的分解,即一个大矩阵可以分解成多个小矩阵相乘。由于简单的增大Inception网络的规模是不可行的,这样会导致计算效率变低,Inception v3在v2的基础上去除低层辅助分类器,高层辅助分类器加入BN层作为正则化器。将较大的卷积核分解为串联的小卷积核,能够进行维度缩减,同时小卷积核在多次串联后,并不会缩小感受野,进而提取的特征所代表的感受野不受影响。而并联卷积核池化,避免了表征瓶颈。

2023-09-22 21:13:58 727

原创 CNN(八):Inception V1算法实战与解析

大部分流行的CNN是将网络的卷积层堆叠的越来越多,网络越来越深,同时channel越来越宽,网络越来越宽,以此来希望提取更高层的特征,从而得到更好的性能。但单纯的网络堆叠和加宽会带来副作用,包括梯度爆炸和数据量剧增而导致的训练困难的问题等。而Inception的提出,改善了此种现象。Inception是用多路分支来并行采用不同的卷积核大小,来提取不同大小感受野所代表的特征。这种分支结构,将单路改变为多路,并行计算,使得网络运行速度更快。

2023-09-15 16:40:19 1203 1

原创 CNN(七):ResNeXt-50算法的思考

(1)1个block(conv_shortcut=True):conv_shortcut=True,结合代码可知,在进行Add操作时,是将进行了Conv+BN操作的特征图(filters=2*128),与后续[(Conv+BN+ReLU)+ 分组卷积 + (Conv+BN) ]的一系列操作后得出的特征图(filters=2*128)进行Add操作,此时Add的两部分的通道数均是2*128,即256,之后再进行ReLU操作;下面以filters=128,blocks=2的入参来说明原因。

2023-09-06 10:26:47 478

原创 CNN(六):ResNeXt-50实战

总而言之,ResNeXt是在ResNet的网络架构上,使用类似于Inception的分治思想,即split-tranform-merge策略,将模块中的网络拆开分组,与Inception不同,每组的卷积核大小一致,这样其感受野一致,但由于每组的卷积核参数不同,提取的特征自然不同。然后将每组得到的特征进行concat操作后,再与原输入特征x或者经过卷积等处理(即进行非线性变换)的特征进行Add操作。这样做的好处是,在不增加参数复杂度的前提下提高准确率,同时还能提高超参数的数量。

2023-08-31 11:41:26 1004

原创 CNN(五):DenseNet+SE-Net实战

普通的卷积实际上是对局部区域进行的特征融合,因此其感受野不大,若设计出更多的通道特征来增加这个,不可避免的将导致计算量大大的增加。而SENet网络的创新点在于关注channel之间的关系,希望模型可以自动学习到不同channel特征的重要程度。简而言之,在每个channel上将整个特征图浓缩成一个值,即在Squeeze步骤中通过averagepooling的操作计算每个通道的特征,此时每个通道只有一个特征,即size为c;

2023-08-18 09:40:48 500

原创 CNN(四):ResNet与DenseNet结合--DPN

但又由独特之处,就是在两个模块中,无论是直接shortcut还是经过一个Conc2d+BN,与ResNet的直接进行sum处理不同,这里将两条支路的特征分别进行截取,如图中红框和蓝框中所示,将其特征分别截取成①和②部分,以及③和④部分,其中①③的尺寸一致,②④的尺寸一致,然后将①和③进行sum操作后再与②④进行concat操作,这样便引入了DenseNet中的直接在channel维度上进行concat的思想。这里使用模型DPN92,输出结果如下图所示(由于结果太大,只截取前后部分)

2023-08-09 15:39:24 1183

原创 经典CNN(三):DenseNet算法实战与解析

在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如GoogleNet,VGG-16,Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确率。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcut, skip connection),进而训练出更深的CNN网络。

2023-08-03 09:50:59 1678 1

原创 经典CNN(二):ResNet50V2算法实战与解析

根据说明可知,右图的实线表示测试误差,对应右边y轴的Test Error,虚线表示训练损失,对应左边y轴的Train Loss,x轴表示迭代次数Iterations。+(Conv2D+BN+ReLU)+ZeroPad+(Conv2D+BN+ReLU)+Conv2D,右边分支有所差异,因此在编写代码的时候,可以共用一个函数,根据传入参数的不同而产生相应的Residual block。使用不同的激活函数进行尝试,由此可见,最好的结果是full pre-activation,其次是original。

2023-07-21 21:36:32 1085

原创 经典CNN(一):ResNet-50算法实战与解析

残差网络是为了解决神经网络隐藏层过多时,而引起的网络退化问题。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和,然后急剧退化,而且这个退化不是由于过拟合引起的。拓展:深度神经网络的“两朵乌云”梯度弥散/爆炸简单来讲就是网络太深了,会导致模型训练难以收敛。这个问题可以被标准初始化和中间层正规化的方法有效控制。网络退化随着网络深度增加,网络的表现先是逐渐增加至饱和,然后迅速下降,这个退化不是由于过拟合而引起的。

2023-07-13 11:30:58 8693 1

原创 pytorch(九):YOLOv5-Backbone模块实现

YOLOv5是目标检测算法,本次课题尝试将其网络结构用在目标识别上,或进行改进形成一个全新的算法。下图为YOLOv5_6.0版本的算法框架图。

2023-07-05 13:39:53 629 1

原创 pytorch(八):YOLOv5-C3模块实现

●🍨 本文为中的学习记录博客●🍦 参考文章:Pytorch实战 | 第P8天:YOLOv5-C3模块实现(训练营内部成员可读)

2023-06-23 13:16:41 1913

原创 pytorch(七):咖啡豆识别

若运行时出现No module named ‘torchsummary’,说明没有没有安装torchsummary,直接pip install torchsummary即可。由于原本训练时,其测试集的正确率已达到100%,因此优化将集中在轻量化网络方向。将卷积块3、4、5中的三层卷积层改为两次卷积层,并去除相应的ReLU层,如下所示。之前使用集成显卡的电脑,训练速度很慢,更换带2080显卡的PC,因此这里可设置device为GPU。在epoch10时,其测试集准确率同意达到了100%。

2023-06-15 14:13:33 105

原创 pytorch(六):好莱坞明星识别

K同学啊。

2023-06-09 11:27:29 192

原创 pytorch(五):运动鞋识别

电脑系统:Windows 10编译器:Jupter Lab语言环境:Python 3.8深度学习环境:Pytorch。

2023-06-02 20:51:47 145

原创 pytorch(四):猴痘病识别

相比上一个课题项目(pytorch(三):天气识别_放鹿的散妃的博客-CSDN博客),本次课题在网络结构上没有任何变化,但是增加指定图片预测与保存并加载模型这两个模块。

2023-05-14 11:40:37 176

原创 pytorch(三):天气识别

本节与前面两个课题相比,差别不大,除了数据集不同,另外网络稍微有一点差异外,基本没有太大变化。

2023-05-11 18:40:49 355 3

原创 深度可分离卷积减少参数量和计算量的本质

对深度可分离卷积的个人理解

2023-05-05 15:44:50 541

原创 pytorch(二):彩色图片识别

本节与上一个minist手写数字识别项目相比,差别不大,除了数据集和网络稍微复杂一点(增加了一组Conv2d+MaxPool2d+Dropout)外,基本没有太大变化。

2023-05-04 23:12:03 896

原创 pytorch(一):实现mnist手写数字识别

Pytorch的入门训练--CNN手写mnist识别

2023-04-21 20:50:40 5903

原创 (六)yolov5:模型修改和训练

根据分析,将yolov5s.yaml文件进行如上所示修改,注意由于删除了两个层,在Head中,部分输入层需要进行相应的修改。以上仅为测试,查看之前的修改是否正确,从训练结果看,mAP值很低,需要增加训练。另外,C2的实现已在之前的文章中有作详细说明。(1)将第4层C3*2修改为C2*2。(2)将第6层C3*3修改为C3*1。经过修改后,执行以下命令进行训练,(3)去除第7、8层。

2023-04-12 16:08:42 2751 5

原创 (五)Yolov5--yolo.py文件解读

参考网址:https://blog.csdn.net/qq_27889941/article/details/128443507上次对common.py文件进行了解读,这次将对yolo.py文件进行代码解读。如下所示为部分库的解读和说明。

2023-04-05 21:21:25 2963 2

原创 (四)yolov5--common.py文件解读

参考网址:https://blog.csdn.net/qq_38251616/article/details/124665998上次对yolov5s.yaml文件进行了解读,这次在对common.py文件解读之前,先放上yolov5s.yaml对应的网络结构图,如下图所示。对于网络结构图中的各个模块,其定义则在common.py文件中。

2023-03-25 14:39:10 2824

原创 (三)Yolov5--模型文件(yolov5s.yaml)解读和模型修改

解读yolov5的模型文件和如何修改模型

2023-03-12 16:20:15 14456 17

原创 Yolov5学习第二周--训练数据集

在安装好yolov5并测试成功后,可以来尝试训练数据集。可以完全是自己的数据集,通过标注工具(如labelme)来进行标准,也可以是公开数据集,这里先暂时采用公开数据集(后续将完整走一步训练自己的数据集)。

2023-03-10 21:29:41 1699

原创 Yolov5学习第一周--Win10系统yolov5环境搭建全过程

刚接触yolov5,搭建好环境后进行测试

2023-02-25 00:39:03 2985 1

原创 SIFT算法原理

SIFT

2023-01-17 10:55:36 62

原创 pyqt5耗时线程阻塞界面

参考网址1:https://blog.csdn.net/xyisv/article/details/88292870参考网址2:https://ask.csdn.net/questions/8118741.问题及原因描述:在使用pyqt5编写UI的时候,正如参考网址1所述,我们一般会将后台任务与界面区分,但我自己在实现的时候发现即使使用后台线程,但仍然会阻塞界面的操作,类似问题在参考网址2中也有提到。通过对比我自己的代码和参考网址1的代码,发现原因在于这个后台线程是否为该类的成员函数。.

2020-11-12 10:20:31 3071 1

原创 BeyondCompare4无阻碍使用方法

平台:win10版本:beyond compare 4.3.41. 打开C:\Users\用户名\AppData\Roaming\Scooter Software\Beyond Compare 4路径下的BCState.xml,删除下图蓝色部分。若该路径下有BCState.xml.bak,则删除该备份文件。注意,若该备份文件不删除,则BeyondCompare会根据备份文件中的内容读出你最早使用时间,所以一定要删掉。2. 打开C:\Users\用户名\AppData\Roaming\Scoot

2020-10-21 17:05:48 1223 1

原创 nanopi(RK3399)使用VideoCapture无法获取USB摄像头1080P视频流的问题

系 统:Ubuntu 18.04语 言:python问题描述:在使用nanopi(RK3399)时,采用opencv的VideoCapture进行USB摄像头的视频捕捉时,刚开始都可以获取1920×1080分辨率的视频图像,但使用一段时间后,有一天突然获取不了,在调用read函数时均返回False。同时在使用set函数来设置视频格式和分辨率时,返回均为False,说...

2019-07-02 16:20:03 2174 1

原创 打包Python程序为so文件及其调用方法

参考资料:https://blog.csdn.net/qq_16912257/article/details/80161112 https://blog.csdn.net/linshenyuan1213/article/details/726772461.编写setput.py文件: setup.py文件内容如下:from distutils.core import set...

2019-06-17 18:51:25 5268

原创 GPIO口控制步进电机(3399板子)

在3399上控制步进电机,即控制GPIO口,需要使用库WiringPi,其相关资料和使用方法参考http://wiki.friendlyarm.com/wiki/index.php/WiringPi_for_RK3399/zh和http://wiki.friendlyarm.com/wiki/index.php/WiringPi-Python_for_RK3399/zh,这里只记录重点和我遇到的问...

2019-06-17 18:49:23 1947

转载 python中yield讲解(链接)

https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/

2019-05-17 14:42:16 161

原创 face_recognition和dlib的安装(ubuntu16.04+python3.6)

在虚拟环境中安装dlib、face_recognition(ubuntu)(参考https://blog.csdn.net/gf_lvah/article/details/79482585 http://www.cnblogs.com/whenyd/p/7721989.html)不同的环境安装的细节可能会不同,这里只针对如下环境:操作系统:ubuntu16.04python...

2019-04-08 09:24:41 994

原创 在python2.7.6的虚拟环境中安装opencv2.4.9

1.创建虚拟环境py276_cv249并激活环境(参考https://www.jianshu.com/p/c7e6ee21484f) conda create -n py276_cv249 python=2.7.6(版本号可根据自己需要修改) source activate py276_cv2492.在虚拟环境py276_cv249中安装opencv2.4.9(参考https:/...

2019-04-04 15:44:26 795

空空如也

空空如也

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

TA关注的人

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