All Projects → RuiminChen → GIouloss_CIouloss_caffe

RuiminChen / GIouloss_CIouloss_caffe

Licence: other
Caffe version Generalized & Distance & Complete Iou loss Implementation for Faster RCNN/FPN bbox regression

Programming Languages

Cuda
1817 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to GIouloss CIouloss caffe

FasterRCNN-pytorch
FasterRCNN is implemented in VGG, ResNet and FPN base.
Stars: ✭ 121 (+188.1%)
Mutual labels:  faster-rcnn, fpn
celldetection
Cell Detection with PyTorch.
Stars: ✭ 44 (+4.76%)
Mutual labels:  fpn
Pytorch Faster Rcnn
pytorch based implementation faster rcnn
Stars: ✭ 251 (+497.62%)
Mutual labels:  faster-rcnn
Addressing-Class-Imbalance-FL
This is the code for Addressing Class Imbalance in Federated Learning (AAAI-2021).
Stars: ✭ 62 (+47.62%)
Mutual labels:  loss-functions
image-segmentation
Mask R-CNN, FPN, LinkNet, PSPNet and UNet with multiple backbone architectures support readily available
Stars: ✭ 62 (+47.62%)
Mutual labels:  fpn
Shadowless
A Fast and Open Source Autonomous Perception System.
Stars: ✭ 29 (-30.95%)
Mutual labels:  faster-rcnn
Icevision
End-to-End Object Detection Framework - Pluggable to any Training Library: Fastai, Pytorch-Lightning with more to come
Stars: ✭ 218 (+419.05%)
Mutual labels:  faster-rcnn
SphereFace
🍑 TensorFlow Code for CVPR 2017 paper "SphereFace: Deep Hypersphere Embedding for Face Recognition"
Stars: ✭ 110 (+161.9%)
Mutual labels:  loss-functions
publications-arruda-ijcnn-2019
Cross-Domain Car Detection Using Unsupervised Image-to-Image Translation: From Day to Night
Stars: ✭ 59 (+40.48%)
Mutual labels:  faster-rcnn
py-faster-rcnn-imagenet
Train faster rcnn on imagine dataset, related blog post: https://andrewliao11.github.io/object/detection/2016/07/23/detection/
Stars: ✭ 133 (+216.67%)
Mutual labels:  faster-rcnn
gluon-faster-rcnn
Faster R-CNN implementation with MXNet Gluon API
Stars: ✭ 31 (-26.19%)
Mutual labels:  faster-rcnn
Bounding-Box-Regression-GUI
This program shows how Bounding-Box-Regression works in a visual form. Intersection over Union ( IOU ), Non Maximum Suppression ( NMS ), Object detection, 边框回归,边框回归可视化,交并比,非极大值抑制,目标检测。
Stars: ✭ 16 (-61.9%)
Mutual labels:  intersection-over-union
triplet-loss-pytorch
Highly efficient PyTorch version of the Semi-hard Triplet loss ⚡️
Stars: ✭ 79 (+88.1%)
Mutual labels:  loss-functions
quarkdet
QuarkDet lightweight object detection in PyTorch .Real-Time Object Detection on Mobile Devices.
Stars: ✭ 82 (+95.24%)
Mutual labels:  fpn
introduction-to-machine-learning
A document covering machine learning basics. 🤖📊
Stars: ✭ 17 (-59.52%)
Mutual labels:  loss-functions
Rrpn faster Rcnn tensorflow
A tensorflow re-implementation of RRPN: Arbitrary-Oriented Scene Text Detection via Rotation Proposals.
Stars: ✭ 243 (+478.57%)
Mutual labels:  faster-rcnn
MMD-GAN
Improving MMD-GAN training with repulsive loss function
Stars: ✭ 82 (+95.24%)
Mutual labels:  loss-functions
GeDML
Generalized Deep Metric Learning.
Stars: ✭ 30 (-28.57%)
Mutual labels:  loss-functions
smd
Simple mmdetection CPU inference
Stars: ✭ 27 (-35.71%)
Mutual labels:  faster-rcnn
MMTOD
Multi-modal Thermal Object Detector
Stars: ✭ 38 (-9.52%)
Mutual labels:  faster-rcnn

GIou_loss_caffe

Caffe version Generalized Iou loss and Complete Iou loss Implementation for Faster RCNN/FPN bbox regression. (https://arxiv.org/abs/1902.09630) (https://github.com/generalized-iou) (https://arxiv.org/abs/1911.08287) (https://github.com/Zzh-tju/DIoU)

Usage

caffe.proto

optional GIouLossParameter giou_loss_param = 1490;
message GIouLossParameter {
  optional float x_std = 1 [default = 0.1]; // BBOX_NORMALIZE_STDS
  optional float y_std = 2 [default = 0.1]; 
  optional float w_std = 3 [default = 0.2]; 
  optional float h_std = 4 [default = 0.2]; 
  optional float clip_bound = 5 [default = 4.1352]; // log(1000/ 16)
  optional bool clip = 6 [default = true]; // Clip bounding box transformation predictions to prevent exp() from overflowing
}

train.prototxt

Simply replace

layer {
  bottom: "bbox_pred"
  bottom: "proposal_targets"
  bottom: "box_inside_weights"
  bottom: "box_outside_weights"
  top: "loss_bbox"
  name: "loss_bbox"
  type: "SmoothL1Loss"
  loss_weight: 1
  propagate_down: 1
  propagate_down: 0
  propagate_down: 0
  propagate_down: 0
}

By

layer {
  bottom: "bbox_pred"
  bottom: "proposal_targets"
  bottom: "box_inside_weights"
  bottom: "box_outside_weights"
  top: "loss_bbox"
  name: "loss_bbox"
  type: "GIouLoss"
  giou_loss_param{
    clip: true # or false
    x_std: 0.1 # __C.TRAIN.BBOX_NORMALIZE_STDS = (0.1, 0.1, 0.2, 0.2) in py-faster-rcnn
    y_std: 0.1
    w_std: 0.2
    h_std: 0.2
  }
  loss_weight: 10
  propagate_down: 1
  propagate_down: 0
  propagate_down: 0
  propagate_down: 0
}

COCO2017 validation Results

Baseline model (SmoothL1Loss)

 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.290
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.458
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.311
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.127
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.320
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.413
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.271
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.388
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.394
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.202
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.437
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.540

Current model (GIouLoss)

 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.292
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.460
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.308
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.126
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.328
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.413
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.275
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.401
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.408
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.211
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.462
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.553

more experiments

TODO

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].