CDIoU and CDIoU loss is like a convenient plug-in that can be used in multiple models. CDIoU and CDIoU loss have different excellent performances in several models such as Faster R-CNN, YOLOv4, RetinaNet and . There is a maximum AP improvement of 1.9% and an average AP of 0.8% improvement on MS COCO dataset, compared to traditional evaluation-feedback modules. Here we just use as an example to illustrate the code.

Overview

CDIoU-CDIoUloss

CDIoU and CDIoU loss is like a convenient plug-in that can be used in multiple models. CDIoU and CDIoU loss have different excellent performances in several models such as Faster R-CNN, YOLOv4, RetinaNet and . There is a maximum AP improvement of 1.9% and an average AP of 0.8% improvement on MS COCO dataset, compared to traditional evaluation-feedback modules. Here we just use as an example to illustrate the code.

Control Distance IoU and Control Distance IoU Loss Function

by Chen Dong, Miao Duoqian

Introduction

Numerous improvements for feedback mechanisms have contributed to the great progress in object detection. In* this paper, we first present an evaluation-feedback module, which is proposed to consist of evaluation system and feedback mechanism. Then we analyze and summarize the disadvantages and improvements of traditional evaluation-feedback module. Finally, we focus on both the evaluation system and the feedback mechanism, and propose Control Distance IoU and Control Distance IoU loss function (or CDIoU and CDIoU loss for short) without increasing parameters or FLOPs in models, which show different significant enhancements on several classical and emerging models. Some experiments and comparative tests show that coordinated evaluation-feedback module can effectively improve model performance. CDIoU and CDIoU loss have different excellent performances in several models such as Faster R-CNN, YOLOv4, RetinaNet and ATSS. There is a maximum AP improvement of 1.9% and an average AP of 0.8% improvement on MS COCO dataset, compared to traditional evaluation-feedback modules.

There are some potential defects in the current mainstream target detection

  • It relies too much on the deepening of the backbone to extract features, so as to improve the accuracy of target detection;

  • The deepening of neural network, especially the deepening of backbone and neck, results in huge parameters and flops of the model;

  • Compared with the evaluation system (IoUs, the common ones are IoU and GIoU). At present, some new model optimization focuses more on the feedback mechanism (IoU losses), such as IoU loss, smooth loss, GIoU loss,CIoU loss, DIoU loss.

We propose Control Distance IoU and Control Distance IoU Loss Function (CDIoU and CDIoU loss for short).

Analysis of traditional IoUs and loss functions

  • Analysis of traditional IoUs

  • IoU: Smooth L1 Loss and IoU Loss

  • GIoU and GIoU Loss

  • DIoU loss and CIoU Loss

For more information, see Control Distance IoU and Control Distance IoU Loss Function for Better Bounding Box Regression

Installation

CDIoU and CDIoU loss is like a convenient plug-in that can be used in multiple models. CDIoU and CDIoU loss have different excellent performances in several models such as Faster R-CNN, YOLOv4, RetinaNet and ATSS. There is a maximum AP improvement of 1.9% and an average AP of 0.8% improvement on MS COCO dataset, compared to traditional evaluation-feedback modules. Here we just use ATSS as an example to illustrate the code.

These models use different frameworks, and some even have versions, so no code is provided in this article.


This ATSS implementation is based on FCOS and maskrcnn-benchmark and the installation is the same as them. Please check INSTALL.md for installation instructions.

ATSS bridges the gap between anchor-based and anchor-free detection via adaptive training sample selection. Comparison tests on ATSS exclude the essential interference between anchor-based and anchor-free detection. In these tests, the interference of positive and negative sample generation is eliminated, which give tests based on ATSS more representativeness.

CDIoU and CDIoU loss functions

CDIoU

Turning

For more information, see Control Distance IoU and Control Distance IoU Loss Function for Better Bounding Box Regression

Experiments

In order to verify the effectiveness of CDIoU and CDIoU loss in object detection, experiments are designed and applied to numerous models in this paper. These models encompass existing classical models and emerging models, reflecting certain robustness and wide adaptability.

image-20210315210941666

image-20210315214303929

For more information, see Control Distance IoU and Control Distance IoU Loss Function for Better Bounding Box Regression

Models

For your convenience, we provide the following trained models. All models are trained with 16 images in a mini-batch and frozen batch normalization (i.e., consistent with models in FCOS and maskrcnn_benchmark).

Model Multi-scale evaluation system feedback mechanism AP (val) AP (test-dev) pth
ATSS R 50 FPN 1x + CDIoU & loss NO CDIoU CDIoU loss 39.5 39.4 ATSS R 50 FPN 1x + CDIoU & loss
ATSS dcnv2 R 50 FPN 1x + CDIoU & loss NO CDIoU CDIoU loss 43.1 43.1 ATSS dcnv2 R 50 FPN 1x + CDIoU & loss
ATSS dcnv2 R 101 FPN 2x + CDIoU & loss NO CDIoU CDIoU loss 46.3 46.4 ATSS dcnv2 R 101 FPN 2x + CDIoU & loss
ATSS X 101 32x8d FPN 2x + CDIoU & loss NO CDIoU CDIoU loss 45.1 45.2 ATSS X 101 32x8d FPN 2x + CDIoU & loss
ATSS dcnv2 X 101 32x8d FPN 2x + CDIoU & loss NO CDIoU CDIoU loss 48.1 47.9 ATSS dcnv2 X 101 32x8d FPN 2x + CDIoU & loss
ATSS dcnv2 X 101 32x8d FPN 2x(MS) + CDIoU & loss YES CDIoU CDIoU loss 50.9 50.7 ATSS dcnv2 X 101 32x8d FPN 2x(MS) + CDIoU & loss

[1] The testing time is taken from FCOS, because our method only redefines positive and negative training samples without incurring any additional overhead. [2] 1x and 2x mean the model is trained for 90K and 180K iterations, respectively. [3] All results are obtained with a single model and without any test time data augmentation such as multi-scale, flipping and etc.. [4] dcnv2 denotes deformable convolutional networks v2. Note that for ResNet based models, we apply deformable convolutions from stage c3 to c5 in backbones. For ResNeXt based models, only stage c4 and c5 use deformable convolutions. All models use deformable convolutions in the last layer of detector towers. [5] The model ATSS_dcnv2_X_101_64x4d_FPN_2x with multi-scale testing achieves 50.7% in AP on COCO test-dev. Please use TEST.BBOX_AUG.ENABLED True to enable multi-scale testing.

MSCOCO test-dev

image-20210315222453294

Tips to improve performances

  • Floating learning rate

It is a consensus that the learning rate decreases as the iterative process in the experiment. Further, this paper proposes to check the loss every K iterations and increase the learning rate slightly, if the loss function does not decrease continuously. In this way, the learning rate will decrease and float appropriately at regular intervals to promote the decrease of the loss function.

  • Automatic GT clustering analysis

It is well known that AP can be effectively improved by performing cluster analysis on GT in the original dataset. We adjust anchor sizes and aspect ratios parameters based on the results of this cluster analysis. However, we do not know the number of clusters through the current approach. The main solution is to keep trying the number of clusters N , and then judge by the final result AP. Obviously, this exhaustive method takes a lot of time.

Contributing to the project

Any pull requests or issues are welcome.

CItations

Please cite our paper in your publications if it helps your research: And is not true!!

<_>This reference stuff is for fun only!!!!!!!!!

@inproceedings{chen2021CDIoU,
  title     =  {Control Distance IoU and Control Distance IoU Loss Function for Better Bounding Box Regression},
  author    =  {Chendong, Miaoduoqian.},
  booktitle =  {ICCV},
  year      =  {2021}
}
Owner
Alan D Chen
UJN : bachelor : MATH &CS | TONGJI : PhD : CV
Alan D Chen
Simple integrate of API musixmatch.com with python

Python Musixmatch Simple integrate of API musixmatch.com with python Quick start $ pip install pymusixmatch or $ python setup.py install Authenticatio

Hudson Brendon 79 Dec 20, 2022
VaccineAlarm is a simple python script that allows user to get notified when their desired vaccine doses are available at vaccine centers near them.

Introduction VaccineAlarm is a simple python script that allows user to get notified when their desired vaccine doses are available at vaccine centers

Ankit Tripathi 5 Nov 26, 2021
Work with the AWS IP address ranges in native Python.

Amazon Web Services (AWS) publishes its current IP address ranges in JSON format. Python v3 provides an ipaddress module in the standard library that allows you to create, manipulate, and perform ope

AWS Samples 9 Aug 25, 2022
An Python SDK for QQ based on mirai-api-http v2.

Argon 一个基于 graia-broadcast 和 mirai-api-http v2 的 Python SDK。 本项目适用于 mirai-api-http 2.0 以上版本。 目前仍处于开发阶段,内部接口可能会有较大的变化。 The Stasis / 停滞 为维持 GraiaProject

BlueGlassBlock 1 Oct 29, 2021
Whatsapp-APi Wrapper From rzawapi.my.id

Whatsapp-APi Wrapper From rzawapi.my.id

Rezza Priatna 2 Apr 19, 2022
This is RequestTrackerBot and it used for tracking request made by user in a group

This is a Request Tracker Bot repo, It is for those who upload content like movies, anime, etc. It can be used for tracking request of content that your members asked for.

Abhijeet 27 Dec 29, 2022
This very basic script can be used to automate COVID-19 vaccination slot booking on India's Co-WIN Platform.

COVID-19 Vaccination Slot Booking Script This very basic CLI based script can be used to automate covid vaccination slot booking on Co-WIN Platform. I

605 Dec 14, 2022
A telegram user and chat info extractor with pyrogram python module

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Telegram-Info/blob/main/LICENSE

Fayas Noushad 8 Dec 22, 2021
The Python client library for the Tuneup Technology App.

Tuneup Technology App Python Client Library The Python client library for the Tuneup Technology App. This library allows you to interact with the cust

Tuneup Technology 0 Jun 29, 2022
Python wrapper for the Sportradar APIs ⚽️🏈

Sportradar APIs This is a Python wrapper for the sports APIs provided by Sportradar. You'll need to sign up for an API key to use the service. Sportra

John W. Miller 39 Jan 01, 2023
Cogs for Red-DiscordBot

Redbot cogs for Red-DiscordBot authored by Kreusada This is my repository for Red Discord-Bot. I built these cogs because these were the features that

Kreus Amredes 26 Nov 07, 2022
Ark API Wrapper in Python

Pythark Ark API Wrapper in Python. Built with Python Requests Installation Pythark uses Arky to create a new transaction, if you want to use this feat

Jolan 14 Mar 11, 2021
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

2 Aug 18, 2022
Powerful Telegram bot to countdown to your important events in any group chat.

Powerful Telegram bot to countdown to your important events in any group chat. Live countdown timer.

118 Dec 30, 2022
A in-development chatbot.

BackBot A in-development chatbot. How the chatbot works This is a simple chatbot that relies on the user input. It already has a (small) set of genera

1 Dec 03, 2021
Discord Webhook Proxy for Roblox payloads.

RoProxy A Discord webhook proxy passthrough for roblox. Setup Your port and endpoint are in the config.json, make sure both app.py and config.json are

PythonSerious 2 Nov 05, 2021
New discord token grabber, password and general information

New discord token grabber, password and general information

Monstered 6 Nov 09, 2022
An API or getting Optifine VersionsList/Version/Download-URL.

Optifine-API An API for getting Optifine VersionsList/Versions/Download-URL. Table of contents Get Versions List Get Specify Versions Download Optifin

2 Dec 04, 2022
A code that can make an account bump your discord server 24/7!

BumpCord A code that can make an account bump your discord server 24/7! The main.py is the main file. keep_alive.py prevents your repl from going to s

Phantom 28 Aug 20, 2022
A python library to interact with the EarnApp API

EarnApp.py Table of contents General info Documentation Setup General info A python library to interact with the EarnApp API. Documentation First, imp

3 Dec 14, 2022