ICT第二周实习报告
总览:这一周的时间主要是从了解图像领域基本的算法开始,逐渐去了解目标识别算法的各种优缺点以及Faster-RCNN算法,阅读了提出Faster-RCNN算法的那篇论文,对其中提到的RPN算法也做了一定的学习与实践,然后搭建自己的anaconda虚拟环境,然后进行相关的配置,成功跑通了样例代码,然后下一步要进行通过标记自己的数据集进行相关的任务工作,虽然标记数据集而言,不是一件轻松的工作,但是对后续工作还是充满动力的。
1, 关于CNN
Why CNN for Image?
Question 1: some patterns are much smaller than the whole image
Question 2: the same pattern appear in different regions
Question 3: Subsampling the pixels will not change the object
CNN的总体步骤:
An image(cat) -> convolution ->max pooling -> convolution -> max pooling -> ……… -> Flatten -> Fully Connected Feedforward network -> result : a cat or a dog
其中convolution和max pooling可以重复好多次
然后convolution 可以解决Question1 and Question2,max pooling 可以解决Question3
图示:
2, 从RCNN,F-RCNN到Faster-RCNN
R-CNN:
Problems:
Ad hoc training objectives
Training is slow , takes a lot of disk space
Inference(detection) is slow
F-RCNN:
Problems:
Training is slow and the processing of the proposal needs a lot of time
Faster-RCNN:
关于Faster-RCNN,阅读了2015年发表的一篇论文:Faster R-CNN Towards Real-Time Object Detection with Region Proposal Networks
关于Faster-RCNN最重要的一个改变就是,候选框的算法即RPN(Region Proposal Network)
3, 环境的搭建
Annaconda 基准环境:
环境名 说明
Baseline-pytorch1.1.0 pytorch 1.1 + torchvision + cuda 10.0
Baseline-tf1.13.1 tensorflow-gpu 1.13.1 + tensorboard + cuda 10.0
1, 创建自己的一个虚拟环境
cd ~/
conda create –n hml –clone baseline-tf1.13.1
conda activate hml
等等
2, 在自己的虚拟环境下安装各种所需要的pakage
conda install opencv 等等
3, 修改各种的配置文件,修改程序的各种BUG,这一步是最耗时间的一步,从配置服务器开始,到基本环境的完全搭建好耗费了数天的时间。
等等
4, 样例程序的running
样例程序的result:
CUDA_VISIBLE_DEVICES=“0”
5, 下一步的规划
在搭建了基本的Faster-RCNN框架之后并且Running the based examples ,下一步的工作是,将自己的一部分数据集标记成为目标检测VOC2007格式的数据集的格式,然后利用这个模型去跑自己的数据集。