当前位置:网站首页>Rotating box target detection mmrotate v0.3.1 getting started
Rotating box target detection mmrotate v0.3.1 getting started
2022-06-30 05:24:00 【qq_ forty-one million six hundred and twenty-seven thousand six】
1、 Definition of rotating target monitoring
Benefit from the vigorous development of general object detection , At present, most rotating object detection models are based on the classical universal object detection model . With the development of detection task , The horizontal box can no longer meet the needs of researchers in some sub fields . By redefining the object representation , Increase the degree of freedom of regression , Realize rotating rectangle 、 quadrilateral , Even arbitrary shape detection , We call it rotating object detection
2、 What is a rotating box
The most significant difference between rotating object detection and general detection is that the rotating box annotation replaces the horizontal box annotation . They are defined as follows :
Horizontal box: A rectangle with the width along the x-axis and height
along the y-axis. Usually, it can be represented by the coordinates of
2 diagonal vertices (x_i, y_i) (i = 1, 2), or it can be represented by
the coordinates of the center point and the width and height,
(x_center, y_center, width, height).
Rotated box: It is obtained by rotating the horizontal box around the
center point by an angle, and the definition method of its rotated box
is obtained by adding a radian parameter (x_center, y_center, width,
height, theta), where theta = angle * pi / 180. The unit of theta is
rad. When the rotation angle is a multiple of 90°, the rotated box
degenerates into a horizontal box.
The rotated box annotations
exported by the annotation software are usually polygons, which need
to be converted to the rotated box definition method before training
stay MMRotate in , The angle parameter is in radians .
3、Rotation direction( Direction of rotation )
Rotate the horizontal box clockwise or counterclockwise around the center point , You can get a rotating box .
Rotate the horizontal box clockwise or counterclockwise around the center point , You can get a rotating box . The rotation direction is closely related to the selection of coordinate system . Right hand coordinate system is used in image space (y, x), among y For the sake of -> Next ,x To the left -> Right . There are two opposite directions of rotation :
3.1 clockwise (CW)


3.2 Anti-clockwise (CCW)


stay MMCV The operators that can set the rotation direction in are :
box_iou_rotated (Defaults to CW)
nms_rotated (Defaults to CW)
RoIAlignRotated (Defaults to CCW)
RiRoIAlignRotated (Defaults to CCW).
MMRotate in , The rotation direction of the rotated box is CW.
3、 Three kinds of shape selection box definitions
because theta The scope of the definition of , In rotating object detection , The following three definitions of rotating boxes have emerged :
For details, please refer to Rotating frame target detection ———— About the definition and solution of the rotation box
1、Doc’ OpenCV Definition
angle∈(0, 90°], theta∈(0, pi / 2], The angle between the width of the rectangle and the positive semi-axis of x is a positive acute angle. This definition comes from the cv2.minAreaRect function in OpenCV, which returns an angle in the range (0, 90°].
2、Dle 135 Long Edge Definition (135°)
: Long Edge Definition (135°),angle∈[-45°, 135°), theta∈[-pi / 4, 3 * pi / 4) and width > height.
3、Dle90
Long Edge Definition (90°),angle∈[-90°, 90°), theta∈[-pi / 2, pi / 2) and width > height
4、MMRotate form


MMRotate consists of 4 main parts, datasets, models, core and apis.
1、 datasets
is for data loading and data augmentation. In this part, we support various datasets for rotated object detection algorithms, useful data augmentation transforms in pipelines for pre-processing image.
For data loading and data enhancement . In this part , We support a variety of datasets for rotating object detection algorithms , This is a useful data enhancement transform in the image preprocessing pipeline .
2、models
contains models and loss functions.
Contains models and loss functions .
3、core
provides evaluation tools for model training and evaluation.
Provide assessment tools for model training and assessment .
4、apis
provides high-level APIs for models training, testing, and inference.
Train for the model 、 Testing and inference provide advanced api.

detecror

neck

rpn head

roi_head

bbox_head

loss

Assigner

MaxConvexIoUAssigner: Assign a corresponding... To each box gt Box or background . Each proposal will be assigned to ’ -1 ', Or a half positive integer to represent the real index of the ground .
-1: Negative samples , Not allocated gt
- Semi positive integer : Positive sample , The distribution of gt The index of ( be based on 0 Start )
Samplers( Random sampler )

post_processing(nms)

iou_calculator

Be careful
Due to the different definitions of the rotation box , The following points need to be noted :
Loading annotations
Data augmentation
Assigning samples
Evaluation
边栏推荐
- Virtual and pure virtual destructions
- Responsive layout
- Chapter 7 vertex processing and drawing commands of OpenGL super classic (7th Edition)
- GoLand No Tests Were Run : 不能使用 fmt.Printf() <BUG>
- Unity project hosting platform plasticscm (learn to use 1)
- Chapter 10 of OpenGL super classic (7th Edition) calculation shader
- C. Divan and bitwise operations
- 终端便捷ssh(免密)连接
- PWN Introduction (2) stack overflow Foundation
- Summary of common loss functions in pytorch
猜你喜欢

Unity + hololens2 performance test

Records of some problems encountered during unity development (continuously updated)

Introduction to mmcv common APIs

Delete the repeating elements in the sorting list (simple questions)

遥感图像/UDA:Curriculum-Style Local-to-Global Adaptation for Cross-Domain Remote Sensing Image Segmentat

VFPBS上传EXCEL并保存MSSQL到数据库中

Bev instance prediction based on monocular camera (iccv 2021)

Records of problems encountered in unity + hololens development

Database base (Study & review for self use)

使用码云PublicHoliday项目判断某天是否为工作日
随机推荐
Unity mobile end sliding screen rotation
Unity Catmull ROM curve
Very nervous. What should I do on the first day of software testing?
14x1.5cm vertical label is a little difficult, VFP calls bartender to print
Intellj idea jars projects containing external lib to other project reference methods - jars
MinGW-w64下载文件失败the file has been downloaded incorrectly!
Chapter 9 of OpenGL super classic (version 7): fragment processing and frame buffering
Revit secondary development - use panel function without opening the project
Pytorchcnn image recognition and classification model training framework
Unity C trigonometric function, right triangle corner calculation
Unity scroll view element drag and drop to automatically adsorb centering and card effect
After reading who moved my cheese
【 VCS + Verdi joint simulation】 ~ Taking Counter as an Example
Display steerable 3D model in front of unity UI
Wechat applet training 2
The fourth day of learning C language for Asian people
Fifty years ago, the go code first submitted by the inventor of Hello world was as long as this
[Motrix] download Baidu cloud files using Motrix
[note] usage model tree of the unity resource tree structure virtualizingtreeview
El table lazy load refresh