/RetinaNet-PyTorch-Tutorial

a tutorial of RetinaNet for beginner.

Primary LanguagePython

RetinaNet-PyTorch-Tutorial

这是一个为初学者准备的,目标检测模型RetinaNet的实现讲解。(未完待续)

This is a tutorial (Only Chinese for now) for the Object Detection model —— RetinaNet for beginners. To be continue.

你需要:

  1. 了解CNN
  2. 了解Anchor概念
  3. 了解目标检测的classification以及localization模型结构
  4. 掌握Python编程,以及PyTorch、numpy等框架
  5. 最后也是最重要的,如果你比较专业(看过若干paper,看过若干code,甚至实现过若干模型),或者想要直接运行看看结果,可以去下文中提到的链接,那个代码很完备,随便跑coco哒^_^。。

看别人写的代码是件很痛苦的事(呜呜呜),因为看了很多深度学习模型的代码实现,有时我真的会很头疼。因此,我在进行模型实现时,虽然代码比较冗长、繁琐,但是可读性很强,你可以比较轻松的看出代码的意图,神经网络的结构(一些CVPR大神的代码光是看懂网络结构就要很长时间,菜是原罪啊。。)。

代码会有很多注释。

我在实现的过程中很注意模型实现的顺序,我们可以一个文件一个文件地看下去,看看怎么编码实现神经网络模型的构建,Anchor的实现,Loss的实现,训练的实现以及预测是实现。

几乎每个文件都可以单独运行,看看该文件实现的功能是什么样子的。

最后要声明一下,这个代码是我看了别人代码之后写出来的,链接在这里:https://github.com/yhenon/pytorch-retinanet ,该代码是我比较喜欢的类型,思路比较清晰,或者说是,和我对目标检测模型实现的理解比较吻合吧。如果你比较专业,或者想要直接运行,跑个coco看看结果的,你可以直接去这个链接,极力推荐!!

2020.04.08

由于疫情的关系,我被困在家里没法去学校,所以代码还没试过,但是基本的debug还是做过了的,目前就先放在这吧^_^。。等去了学校在做进一步的调整,后续也会更新讲解。。啦啦啦