Skip to content

ming71/mmdetection-annotated

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dc25243 · Dec 1, 2020

History

70 Commits
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Apr 16, 2019
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Aug 1, 2019
Jul 12, 2020
Aug 1, 2019
Aug 1, 2019
Jun 30, 2019
Dec 1, 2020
Aug 1, 2019

Repository files navigation

Notes!!

MMDetection-annotations have been update to latest version 1.0. I'll continue updating but may not chase after upgrades for latest version.

mmdetection-annotated

Introduction

Refer to the execllent implemention here:https://github.com/open-mmlab/mmdetection ,and thanks to author Kai Chen.
Open-mmlab project , which contains various models and implementions of latest papers , achieves great results in detection/segmentataion tasks , and is kind enough for rookies in CV field.

Getting started

More information about installation or pre-train model downloads , pls refer to officia mmdetection or blog here

  • Test on images
    You can test on Faster RCNN demo by running the script demo.py. I have just rewritten the demo file to detect on single image or a folder as follow:
import os
from mmdet.apis import init_detector, inference_detector, show_result

if __name__ == '__main__':
	config_file = 'configs/faster_rcnn_r50_fpn_1x.py'
	checkpoint_file = 'weights/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth'
	# checkpoint_file = 'tools/work_dirs/mask_rcnn_r101_fpn_1x/epoch_1200.pth'
	img_path = '/home/bit/下载/n07753592'
	model = init_detector(config_file, checkpoint_file, device='cuda:0')
	# print(model)
	# 输入可以为文件夹或者图片
	if os.path.isdir(img_path):
		imgs= os.listdir(img_path)
		for i in range(len(imgs)):
			imgs[i]=os.path.join(img_path,imgs[i])
		for i, result in enumerate(inference_detector(model, imgs)):	# 支持可迭代输入imgs
			print(i, imgs[i])
			show_result(imgs[i], result, model.CLASSES, out_file='output/result_{}.jpg'.format(i))

	elif os.path.isfile(img_path):
		result = inference_detector(model, img_path)
		show_result(img_path, result, model.CLASSES)


  • Debug
    You can debug by setting breakpoint with method of adding ipdb.set_trace().Before that , make sure of the success installment and import of ipdb package.
  • Hook
    If you want to inspect on intermediate variables , hook.py can be a provision served as a reference for your work.

Annotations

Annotations are attached everywhere in the code(surely only the part I have read , and the not finished part will be completed as soon as possible). Beside , annotation folder contains some interpreting documents as well.

  • Dataset Example
    Provide a simple small sample data set for testing (segmentation && detection) .More details referrd to instruction here

  • CUDA related code
    I've delete files in folder mmdet/ops cause no annotations attached inside.However it's a good news that specific notes are made about RoIAlign here .

  • Model visualization
    Take Mask-RCNN for example , the model can be visualized as follow:(more details refere to model-structure-png)

  • notes

  • Configuration
    Explicit describtion on config file , take Mask RCNN for example , refer to mask_rcnn_r101_fpn_1x.py

  • MMCV&MMDET
    Specification of mmcv lib and a partial of mmdet(more details about various models will be updated later ).

Detection Results

Test on Mask RCNN model:

Training

dataset

  • You can just use COCO dataset , refer here.
  • If you want to train on your customed dataset labeled by labelme , you need first convert json files to COCO style , this toolbox may help you ;
  • If you want to train on your customed dataset labeled by labelImg , you need first convert xml files to COCO style , this toolbox may also help you .
  • I have tested on these tools recently to make sure them still work well, if questiones still arised , desrcibe on issue please or contact me , thanks.

learning rate

Remember to set lr in config file according to your own GPU_NUM !!!!(eg.1/8 of default lr for 1 GPU)