(一)学习目标检测的第1个月

*打工人的第一周之软件安装和环境搭建*

  • 安装python 

  • 安装anaconda

  • 安装vs code

  • 搭建python环境

  • 搭建yolo环境

 

 

## Python

  • 大致了解python

渠道:两个网址和一本书
https://www.liaoxuefeng.com/wiki/1016959663602400
https://www.runoob.com/python/python-tutorial.html

《python基础教程》

 

  •  掌握dict、 list、 tuple等基本的数据结构,主要用于txt、json、 xml等文件的转换和处理

python中的list、tuple、set、dict用法简析:
https://www.cnblogs.com/webary/p/5187217.html

 

  • python实战1:txt, json,xml等文件的转换

https://blog.csdn.net/qq_34885993/article/details/116013225

 

参考的网址:

https://blog.csdn.net/no__matter/article/details/107865378

https://blog.csdn.net/mary_0830/article/details/103361664

https://blog.csdn.net/mary_0830/article/details/108776419?spm=1001.2014.3001.5501

 

为什么要进行格式的转换???

因为目标检测,需要大量的数据集作为数据源,而这些数据集一般来自几个平台,但是标注文件格式不同。在进行标注操作时,需要格式转换。

比如 json是coco等数据集的标注格式,xml是voc数据集的标注格式,txt是yolo和大部分数据集的标注格式。

其中voc和coco数据集的介绍如下:https://blog.csdn.net/bestrivern/article/details/88846977

 

  • python实战2:使用python-opencv读图、显示、画框、裁剪

渠道:两个网址和一个博主
https://jingyan.baidu.com/article/d5a880ebdd962f13f147ccb9.html(读图,显示,画框)
https://blog.csdn.net/lly1122334/article/details/104945976(裁剪)
https://blog.csdn.net/weixin_43170082/article/details/115383629(该博主主要讲解opencv用法)


关键字:roi
ROI(region of interest),感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。

如果你设置了图像了ROI,那么在使用OpenCV的函数的时候,会只对ROI区域操作,其他区域忽略。

 

  • python实战3:利用python做图片解析

渠道:两个网址

http://aiskyeye.com/  

https://github.com/VisDrone

 

此次实战的数据集来自visdrone, Visdrone其实是一个竞赛。   

补充:①visdrone=visual drone 视觉无人机  ②gt框,即正确打标记的数据框 ground truth box

③GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。

Github已经成为了管理软件开发以及发现已有代码的首选方法,有点像代码的云。

 

将visdrone的数据集中的训练集的txt文件转换成xml文件:

https://blog.csdn.net/mary_0830/article/details/108776419?spm=1001.2014.3001.5501

数据集画框:

 https://blog.csdn.net/mary_0830/article/details/109284020?spm=1001.2014.3001.5501

 

  • 重编程,轻算法

老师今天看到我的周报,又跟我强调了以上六个字!

我突然有些迷惑,何为编程,何为算法?

链接:https://blog.csdn.net/zag666/article/details/90374855

简单来讲,算法是理论方法,编程能力就是用程序将算法实现。老师的意思应该是不用太过于研究算法,能编程解决问题才是硬实力。

 

  • python实战4:切图切标注 、合图合标注

何为切图?

图像分辨率大,样本中小目标居多的情况下,如果reshape成小图再送进网络训练的话,目标会变得非常小,识别难度大。

直接大图训练GPU显存又顶不住,太大的原图会消耗太多的cpu时间,导致极度拖慢训练时间,而且推理速度会很慢。

这里实现一种离线切图的形式把原图按一定的宽高,切成很多个小图进行训练。切标注同理。

 

了解链接:

https://zhuanlan.zhihu.com/p/343207954
https://blog.csdn.net/zengwubbb/article/details/115800477

 

如何用python语言实现?

简单的图片分割和合并:https://blog.csdn.net/qq_40608730/article/details/109190493

 

  • python实战5:评测指标(如:如何算map)

理解指标:

https://blog.csdn.net/weixin_45250844/article/details/94592491

https://blog.csdn.net/h1yupyp/article/details/80842172?spm=1001.2014.3001.5501

 

理解map:

https://blog.csdn.net/xiezongsheng1990/article/details/89608923?spm=1001.2014.3001.5501

https://blog.csdn.net/hsqyc/article/details/81702437?spm=1001.2014.3001.5501

 

如何用python语言实现?

此次选用voc数据集

voc数据集下载地址:https://pjreddie.com/projects/pascal-voc-dataset-mirror/

voc数据集的介绍:https://www.jianshu.com/p/2cc1b0577d85

 

https://blog.csdn.net/Guo_Python/article/details/113366278

https://blog.csdn.net/weixin_36474809/article/details/86517885

 

## 了解图像处理,像素连接等概念

  • 图像处理

图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。

渠道:两个网址和一本书
https://blog.csdn.net/u013088062/article/details/50425018(这是网址介绍的很详细,这个博主也是宝藏博主,爱了爱了)

https://blog.csdn.net/wakatipu/article/details/50966098?spm=1001.2014.3001.5501(数字图像处理框架)

《数字图像处理》

 

  • 像素连接

在数字图像处理领域,存在着空间域和变换域的概念。无论在空间域还是在变换域,像素都是根本。在大多数的数字图像处理中,像素之间在运算时都是要发生关系的,这是因为多个像素构成了图像中的一个对象。了解相邻像素,邻接性、连通性,像素的通路等。

渠道:两个网址
https://blog.csdn.net/ddiicey/article/details/73864470
https://blog.csdn.net/u012627502/article/details/19753517

 

## 神经网络的学习

  • 了解基础知识

人工智能,机器学习,深度学习的关系:

https://zhuanlan.zhihu.com/p/103373260

 

  •  深度学习和目标检测的关系

目标检测需要定位出物体的位置并识别出物体的类别。目前通用目标检测以R-CNN、Faster-RCNN、R-FCN、R-FCN-3000框架为主。

该系列框架核心思想在于在图像上选出候选框,并且通过CNN(卷积神经网络)进行学习。

R-CNN框架在VOC2007数据集测试中取得了58.5%的平均精确度均值(mean Average Precision,mAP),

Faster-RCNN框架在VOC2007上mAP能达到73%,

利用NVIDIA Tesla K40GPU速度可以达到5fps(画面每秒传输帧数,Frame Per Second),深度学习的目标检测识别方法成为当前算法主流。

 

  • CS231n公开课

斯坦福课程:https://www.bilibili.com/video/av13260183/#page=1

官方笔记:https://cs231n.github.io/ (ca231n全称:面向视觉识别的卷积神经网络)

博主的课程总结:https://zhuanlan.zhihu.com/p/21930884

https://zhuanlan.zhihu.com/p/76514213

 

其他:

Andrej Karpathy的博客:http://karpathy.github.io/
GitHub的Andrej karpathy的网址:https://github.com/karpathy

某博主的概念总结:https://blog.csdn.net/mary_0830/article/details/107730289

 

  • 目标检测综述(包括神经网络发展)

看另一篇总结:https://blog.csdn.net/qq_34885993/article/details/116147577

 


## 了解yolo和darknet

 

  • 基础了解

渠道:三个网址

https://github.com/AlexeyAB/darknet(C语言)
https://github.com/ultralytics/yolov5(pytorch)
https://github.com/BBuf/Darknet 

 

补充知识点(三个都是神经网络框架):

何为pytorch:https://blog.csdn.net/bestrivern/article/details/89433023

何为darknet:https://blog.csdn.net/u010122972/article/details/83541978

何为caffe:https://blog.csdn.net/qq_27923041/article/details/77431833

 

  • 看yolo综述和相关论文

综述:https://blog.csdn.net/zandaoguang/article/details/109664610

 

补充:学习算法的一般学习过程

①看完相关综述(可以搭配哔哩哔哩的视频讲解)有个大致了解,看完综述,基础薄弱可以先看bilibili博主的视频加深理解,然后再看论文会很晦涩难懂。

②开始看论文(yolov1,v2,v3,v4的顺序看)

③阅读源码时根据read me 跑通代码

④结合论文看网络搭建,数据预处理和损失函数(后面两个部分更重要)

 

  • yolo实践

看另一篇总结博文:https://blog.csdn.net/qq_34885993/article/details/116484625

 


## 下一阶段了解目标检测在无人机领域的应用

 

##下下阶段自学C++

 

 

 

你可能感兴趣的:(深度学习,神经网络,计算机视觉,算法)