The code for “Oriented RepPoints for Aerail Object Detection”

Overview

Oriented RepPoints for Aerial Object Detection

图片

The code for the implementation of “Oriented RepPoints”, Under review. (arXiv preprint)

Introduction

Oriented RepPoints employs a set of adaptive points to capture the geometric and spatial information of the arbitrary-oriented objects, which is able to automatically arrange themselves over the object in a spatial and semantic scenario. To facilitate the supervised learning, the oriented conversion function is proposed to explicitly map the adaptive point set into an oriented bounding box. Moreover, we introduce an effective quality assessment measure to select the point set samples for training, which can choose the representative items with respect to their potentials on orientated object detection. Furthermore, we suggest a spatial constraint to penalize the outlier points outside the groundtruth bounding box. In addition to the traditional evaluation metric mAP focusing on overlap ratio, we propose a new metric mAOE to measure the orientation accuracy that is usually neglected in the previous studies on oriented object detection. Experiments on three widely used datasets including DOTA, HRSC2016 and UCAS-AOD demonstrate that our proposed approach is effective.

Installation

Please refer to install.md for installation and dataset preparation.

Getting Started

This repo is based on mmdetection. Please see getting_started.md for the basic usage.

Results and Models

The results on DOTA test set are shown in the table below(password:aabb). More detailed results please see the paper.

Model Backbone MS Rotate mAP Download
OrientedReppoints R-50 - - 75.68 model
OrientedReppoints R-101 - 76.21 model
OrientedReppoints R-101 78.12 model

The mAOE results on DOTA val set are shown in the table below(password:aabb).

Model Backbone mAOE Download
OrientedReppoints R-50 5.93° model

Note:

  • Wtihout the ground-truth of test subset, the mAOE of orientation evaluation is calculated on the val subset(original train subset for training).
  • The orientation (angle) of an aerial object is define as below, the detail of mAOE, please see the paper. The code of mAOE is mAOE_evaluation.py. 微信截图_20210522135042

Visual results

The visual results of learning points and the oriented bounding boxes. The visualization code is show_learning_points_and_boxes.py.

  • Learning points

Learning Points

  • Oriented bounding box

Oriented Box

Citation

@article{Li2021oriented,
  title={Oriented RepPoints for Aerial Object Detection},
  author={Wentong Li and Jianke Zhu},
  journal={arXiv preprint arXiv:2105.11111},
  year={2021}
}

Acknowledgements

We have used utility functions from other wonderful open-source projects, we would espeicially thank the authors of:

MMdetection

DOTA_devkit

AerialDetection

BeyoundBoundingBox

Comments
  • AttributeError: 'OrientedRepPointsHead' object has no attribute 'show_points'

    AttributeError: 'OrientedRepPointsHead' object has no attribute 'show_points'

    I have splited my DOTA dataset by using prepare_dota1_ms.py,then i tried to test OrientedRepPoints. But something doesnot work,can you help me?


    root@train-orientedreppoints-0:/data1/OrientedRepPoints# python tools/test.py configs/dota/orientedrepoints_r50_demo.py work_dirs/orientedreppoints_r50_demo/epoch_40.pth --out work_dirs/orientedreppoints_r50_demo/results.pkl loading annotations into memory... Done (t=0.00s) creating index... index created! [ ] 0/4, elapsed: 0s, ETA:Traceback (most recent call last): File "tools/test.py", line 170, in main() File "tools/test.py", line 148, in main outputs = single_gpu_test(model, data_loader, args.show) File "/data1/OrientedRepPoints/mmdet/apis/test.py", line 19, in single_gpu_test result = model(return_loss=False, rescale=not show, **data) File "/usr/local/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call result = self.forward(*input, **kwargs) File "/usr/local/miniconda3/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 150, in forward return self.module(*inputs[0], **kwargs[0]) File "/usr/local/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call result = self.forward(*input, **kwargs) File "/data1/OrientedRepPoints/mmdet/core/fp16/decorators.py", line 49, in new_func return old_func(*args, **kwargs) File "/data1/OrientedRepPoints/mmdet/models/detectors/base.py", line 149, in forward return self.forward_test(img, img_metas, **kwargs) File "/data1/OrientedRepPoints/mmdet/models/detectors/base.py", line 130, in forward_test return self.simple_test(imgs[0], img_metas[0], **kwargs) File "/data1/OrientedRepPoints/mmdet/models/detectors/orientedreppoints_detector.py", line 38, in simple_test bbox_list = self.bbox_head.get_bboxes(*bbox_inputs) File "/data1/OrientedRepPoints/mmdet/models/anchor_heads/orientedreppoints_head.py", line 644, in get_bboxes scale_factor, cfg, rescale, nms) File "/data1/OrientedRepPoints/mmdet/models/anchor_heads/orientedreppoints_head.py", line 717, in get_bboxes_single cfg.max_per_img, multi_reppoints=mlvl_reppoints if self.show_points else None) File "/usr/local/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 576, in getattr type(self).name, name)) AttributeError: 'OrientedRepPointsHead' object has no attribute 'show_points'

    opened by hukaixuan19970627 6
  • Train with dota-train-dataset(1024,14384files),the mAP on dota-val-dataset is 70.84

    Train with dota-train-dataset(1024,14384files),the mAP on dota-val-dataset is 70.84

    Thank you for your code, I'm learning how to use it, but I've had some problems and hope to get your help. config: orientedreppoints_r50_demo.py changes: img_per_gpu=2 -> img_per_gpu=4 workers_per_gpu=2 -> workers_per_gpu=4 lr=0.01 -> lr=0.005 environment: 2 gpu(Tesla P40) about mAP on val: 70.84. classaps:[89.43 73.79 40.19 66.33 73.53 82.06 88.16 90.86 60.59 86.46 65.51 64.86 71.29 57.60 51.94 ] my question: I use your checkpoints(form trainval-dataset) to detect dota-val-dataset and the mAP is about 82. But the mAP 70.84(checkpoints form train-dota-dataset, test on val) feels lower than I expected(73 ~ 75). Is this normal?

    opened by hukaixuan19970627 5
  • About “Sample Selection for Point Set Representation” and “The differentiability of convex IoU”

    About “Sample Selection for Point Set Representation” and “The differentiability of convex IoU”

    请问作者有相关博客仔细介绍一下这一部分吗?我有点没搞懂具体流程,大致流程论文里讲的比较清楚: point assigner先分配初始正样本点 -> 先进行一次梯度不更新的前向传播计算这些正样本的分类loss + 定位loss + 方向loss -> 再根据这些loss值从小到大排序取topk,其余的质量太低重新标为负样本 -> 重采样后的正样本点正常进行训练 但是配置文件中point assigner每个gt分配一个初始正样本点,后续的topk再怎么取也是1吧,岂不是重采样没有作用? 然后我debug的时候,训练初期gt可能为10,num_total_pos_init可能为9(这个我明白,物体挨得比较紧的话,后面的gt会把前面的gt匹配到的正样本覆盖掉),重采样后的num_pos可能为9. 训练后期,gt可能为10,num_total_pos_init为9,num_pos可能为50,这个重采样后的正样本数量是怎么升上去的? 希望作者能帮忙解惑

    opened by hukaixuan19970627 3
  • The environment cannot suit for swin-tiny  training.

    The environment cannot suit for swin-tiny training.

    I tried to train a swin-tiny detector, but I have got errors. If it is possible, could you please provide the corresponding environment for swin-tiny training. Thanks! 2022-11-24 15:54:27,351 - mmdet - INFO - load model from: pretrained/swin_tiny_patch4_window7_224.pth Traceback (most recent call last): File "tools/train.py", line 154, in <module> main() File "tools/train.py", line 127, in main cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg) File "/home/zhangyt/OrientedRepPoints/mmdet/models/builder.py", line 43, in build_detector return build(cfg, DETECTORS, dict(train_cfg=train_cfg, test_cfg=test_cfg)) File "/home/zhangyt/OrientedRepPoints/mmdet/models/builder.py", line 15, in build return build_from_cfg(cfg, registry, default_args) File "/home/zhangyt/OrientedRepPoints/mmdet/utils/registry.py", line 79, in build_from_cfg return obj_cls(**args) File "/home/zhangyt/OrientedRepPoints/mmdet/models/detectors/orientedreppoints_detector.py", line 22, in __init__ pretrained) File "/home/zhangyt/OrientedRepPoints/mmdet/models/detectors/single_stage.py", line 31, in __init__ self.init_weights(pretrained=pretrained) File "/home/zhangyt/OrientedRepPoints/mmdet/models/detectors/single_stage.py", line 35, in init_weights self.backbone.init_weights(pretrained=pretrained) File "/home/zhangyt/OrientedRepPoints/mmdet/models/backbones/swin_transformer.py", line 595, in init_weights load_checkpoint(self, pretrained, strict=False, logger=logger) File "/home/zhangyt/OrientedRepPoints/mmcv_custom/checkpoint.py", line 306, in load_checkpoint checkpoint = _load_checkpoint(filename, map_location) File "/home/zhangyt/OrientedRepPoints/mmcv_custom/checkpoint.py", line 282, in _load_checkpoint checkpoint = torch.load(filename, map_location=map_location) File "/home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/serialization.py", line 527, in load with _open_zipfile_reader(f) as opened_zipfile: File "/home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/serialization.py", line 224, in __init__ super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer)) RuntimeError: version_ <= kMaxSupportedFileFormatVersion INTERNAL ASSERT FAILED at /opt/conda/conda-bld/pytorch_1579022060824/work/caffe2/serialize/inline_container.cc:132, please report a bug to PyTorch. A$tempted to read a PyTorch file with version 3, but the maximum supported version for reading is 2. Your PyTorch installation may be too old. (init at /opt/conda/conda-bld/pytorch_1579022060824/work/caffe2/serialize/inline_container.cc:132) frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x47 (0x7efc0602d627 in /home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/lib/libc10.so) frame #1: caffe2::serialize::PyTorchStreamReader::init() + 0x1f5b (0x7efc0a8fe9ab in /home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/lib/libtorch.so) frame #2: caffe2::serialize::PyTorchStreamReader::PyTorchStreamReader(std::string const&) + 0x64 (0x7efc0a8ffbc4 in /home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/lib/libtorch.so) frame #3: <unknown function> + 0x6d2146 (0x7efc3855e146 in /home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/lib/libtorch_python.so) frame #4: <unknown function> + 0x28ba06 (0x7efc38117a06 in /home/zhangyt/miniconda3/envs/orientedreppoints/lib/python3.7/site-packages/torch/lib/libtorch_python.so) <omitting python frames> frame #6: python() [0x4d4352] frame #8: python() [0x4d0e59] frame #10: python() [0x4ba1a9] frame #14: python() [0x4d0c7e] frame #16: python() [0x4ba1a9] frame #20: python() [0x4ba06f] frame #24: python() [0x4ba06f] frame #28: python() [0x4ba06f] frame #32: python() [0x4ba06f] frame #36: python() [0x4ba06f] frame #40: python() [0x4ba06f] frame #44: python() [0x4d0c7e] frame #45: python() [0x4bbe28] frame #50: python() [0x4ba06f] frame #54: python() [0x4ba06f] frame #58: python() [0x4ba06f] frame #61: python() [0x4ba06f]

    opened by Leeinsn 2
  • Implementation details on the DIOR-R dataset

    Implementation details on the DIOR-R dataset

    Hi, thanks for the interesting work. I am interested in the detailed training setting on the DIOR-R dataset, I wonder if multi-scale training is used in this dataset to get the reported performance?

    opened by Chasel-Tsui 2
  • 训练时在计算giou时报错

    训练时在计算giou时报错

    在训练时一个epoch没有跑完就会出现计算giou的错误,但是检查了下数据集应该没有问题。在有的数据集会出现这种问题,在大部分数据集上都能正常训练,请问这可能是什么原因呢?应该怎么解决呢?谢谢~

    Traceback (most recent call last):
      File "tools/train.py", line 154, in <module>
        main()
      File "tools/train.py", line 150, in main
        meta=meta)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/apis/train.py", line 112, in train_detector
        meta=meta)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/apis/train.py", line 245, in _non_dist_train
        runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/mmcv/runner/runner.py", line 373, in run
        epoch_runner(data_loaders[i], **kwargs)
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/mmcv/runner/runner.py", line 275, in train
        self.model, data_batch, train_mode=True, **kwargs)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/apis/train.py", line 75, in batch_processor
        losses = model(**data)
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in __call__
        result = self.forward(*input, **kwargs)
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 150, in forward
        return self.module(*inputs[0], **kwargs[0])
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in __call__
        result = self.forward(*input, **kwargs)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/core/fp16/decorators.py", line 49, in new_func
        return old_func(*args, **kwargs)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/detectors/base.py", line 147, in forward
        return self.forward_train(img, img_metas, **kwargs)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/detectors/orientedreppoints_detector.py", line 36, in forward_train
        *loss_inputs, gt_rbboxes_ignore=gt_rbboxes_ignore)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/anchor_heads/orientedreppoints_head.py", line 465, in loss
        rbox_weights_list_refine, pos_inds_list_refine)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/core/utils/misc.py", line 24, in multi_apply
        return tuple(map(list, zip(*map_results)))
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/anchor_heads/orientedreppoints_head.py", line 567, in points_quality_assessment
        reduction_override='none')
      File "/home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in __call__
        result = self.forward(*input, **kwargs)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/losses/iou_loss.py", line 134, in forward
        self.loss_weight)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/models/losses/iou_loss.py", line 78, in forward
        convex_gious, grad = convex_giou(pred, target)
      File "/home/f523/guazai/sdb/zhoujunfeng/OrientedRepPoints-main/mmdet/ops/iou/iou_wrapper.py", line 13, in convex_giou
        convex_giou_grad = convex_giou_cuda.convex_giou(pred, target)
    RuntimeError: cuda runtime error (700) : an illegal memory access was encountered at mmdet/ops/iou/src/convex_giou_kernel.cu:856
    terminate called after throwing an instance of 'c10::Error'
      what():  CUDA error: an illegal memory access was encountered (insert_events at /opt/conda/conda-bld/pytorch_1573049304260/work/c10/cuda/CUDACachingAllocator.cpp:569)
    frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x47 (0x7f3b4d9a5687 in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libc10.so)
    frame #1: <unknown function> + 0x17044 (0x7f3b4dbe1044 in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libc10_cuda.so)
    frame #2: <unknown function> + 0x1cccb (0x7f3b4dbe6ccb in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libc10_cuda.so)
    frame #3: c10::TensorImpl::release_resources() + 0x4d (0x7f3b4d992e9d in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libc10.so)
    frame #4: <unknown function> + 0x1c86c9 (0x7f3b4eb2d6c9 in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libtorch_python.so)
    frame #5: <unknown function> + 0x4aff6b (0x7f3b4ee14f6b in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libtorch_python.so)
    frame #6: <unknown function> + 0x4affa6 (0x7f3b4ee14fa6 in /home/f523/anaconda3/envs/redet/lib/python3.6/site-packages/torch/lib/libtorch_python.so)
    <omitting python frames>
    frame #26: __libc_start_main + 0xf0 (0x7f3b53406840 in /lib/x86_64-linux-gnu/libc.so.6)
    
    已放弃 (核心已转储)
    
    opened by windyjunfeng 2
  • 报错

    报错

    from mmrotate.ops.chamfer_2d import chamfer_2d
    

    File "/home/gs/anaconda3/envs/torch/lib/python3.7/site-packages/mmrotate/ops/chamfer_2d/init.py", line 1, in from .dist_chamfer_2d import chamfer_2d File "/home/gs/anaconda3/envs/torch/lib/python3.7/site-packages/mmrotate/ops/chamfer_2d/dist_chamfer_2d.py", line 5, in from . import chamfer_2d ImportError: cannot import name 'chamfer_2d' from 'mmrotate.ops.chamfer_2d' (/home/gs/anaconda3/envs/torch/lib/python3.7/site-packages/mmrotate/ops/chamfer_2d/init.py) 请问这个from . import chamfer_2d是从哪里导入的,跟源码不太一样。以及我这个报错有什么解决方法吗?

    opened by GisRookie 2
  • 数据集处理

    数据集处理

    请问dota数据集的处理是用prepare_dota1_ms.py处理数据集吗?我在您的代码里还看到一个prepare_dota1_train_val.py的一个脚本呢?这个脚本里面的没有DOTA2COCO.py呢。我将我的dota数据集 分成train/val/test进行裁剪,但是split过程中出现libpng error read error然后就出错了,您能帮助我一下吗?

    opened by yzk-lab 1
  • random_rotate.py

    random_rotate.py

    debug的时候发现len(results['gt_labels']) > len(results['gt_bboxes']),看了下代码发现问题发生在旋转增强这一部分,虽然不影响训练过程,但可能会影响网络对类别的学习。 另一个地方是希望旋转增强rate的设置和其他数据增强一样,设为1.0的时候100%触发旋转增强,原先的似乎写反了。 第三个地方results['gt_labels']的数据类型设为uint的话,训练时会触发数据类型不匹配的问题,所以保持数据类型不变。

    opened by hukaixuan19970627 1
  • RuntimeError: cuda runtime error (700) : an illegal memory access was encountered at mmdet/ops/iou/src/convex_giou_kernel.cu:853

    RuntimeError: cuda runtime error (700) : an illegal memory access was encountered at mmdet/ops/iou/src/convex_giou_kernel.cu:853

    How to solve 'RuntimeError: cuda runtime error (700) : an illegal memory access was encountered at mmdet/ops/iou/src/convex_giou_kernel.cu:853' ?Thanks alot

    opened by ReusJeffery 2
  • the classes num in dataset doesn't correspond to the parameter (bbox_head)

    the classes num in dataset doesn't correspond to the parameter (bbox_head) "num_classes" in config file. Could you explain it :)

    for example, i find you use "wordname_15" dataset, the num classes of this dataset is 15, but in your config file, the parameter “num_classes" is 16. The values ​​of these two numbers always seem to differ by 1...

    opened by Xiloy 3
  • 预训练模型不匹配

    预训练模型不匹配

    2022-07-08 10:56:37,311 - mmdet - INFO - load model from: work_dirs/swin_tiny_patch4_window7_224_torch1_4.pth 2022-07-08 10:56:37,507 - mmdet - WARNING - The model and loaded state dict do not match exactly

    unexpected key in source state_dict: norm.weight, norm.bias, head.weight, head.bias, layers.0.blocks.1.attn_mask, layers.1.blocks.1.attn_mask, layers.2.blocks.1.attn_mask, layers.2.blocks.3.attn_mask, layers.2.blocks.5.attn_mask

    missing keys in source state_dict: norm1.weight, norm1.bias, norm2.weight, norm2.bias, norm3.weight, norm3.bias

    加载该预训练模型不完全匹配 且精度为76.2%达不到论文里的77.6% 请问一下是啥问题吗

    opened by zack2020-star 1
Owner
WentongLi
WentongLi
This project modify tensorflow object detection api code to predict oriented bounding boxes. It can be used for scene text detection.

This is an oriented object detector based on tensorflow object detection API. Most of the code is not changed except for those related to the need of

Dafang He 30 Oct 22, 2022
YOLOv5 in DOTA with CSL_label.(Oriented Object Detection)(Rotation Detection)(Rotated BBox)

YOLOv5_DOTA_OBB YOLOv5 in DOTA_OBB dataset with CSL_label.(Oriented Object Detection) Datasets and pretrained checkpoint Datasets : DOTA Pretrained Ch

null 1.1k Dec 30, 2022
Source code of RRPN ---- Arbitrary-Oriented Scene Text Detection via Rotation Proposals

Paper source Arbitrary-Oriented Scene Text Detection via Rotation Proposals https://arxiv.org/abs/1703.01086 News We update RRPN in pytorch 1.0! View

null 428 Nov 22, 2022
An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Oriented Scene Text Detection

InceptText-Tensorflow An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Orien

GeorgeJoe 115 Dec 12, 2022
RRD: Rotation-Sensitive Regression for Oriented Scene Text Detection

RRD: Rotation-Sensitive Regression for Oriented Scene Text Detection For more details, please refer to our paper. Citing Please cite the related works

Minghui Liao 102 Jun 29, 2022
Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation

This is the official implementation of "Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation". For more details, please

Pengyuan Lyu 309 Dec 6, 2022
A novel region proposal network for more general object detection ( including scene text detection ).

DeRPN: Taking a further step toward more general object detection DeRPN is a novel region proposal network which concentrates on improving the adaptiv

Deep Learning and Vision Computing Lab, SCUT 151 Dec 12, 2022
Morphological edge detection or object's boundary detection using erosion and dialation in OpenCV python

Morphologycal-edge-detection-using-erosion-and-dialation the task is to detect object boundary using erosion or dialation . Here, use the kernel or st

Tamzid hasan 3 Nov 25, 2022
An Implementation of the seglink alogrithm in paper Detecting Oriented Text in Natural Images by Linking Segments

Tips: A more recent scene text detection algorithm: PixelLink, has been implemented here: https://github.com/ZJULearning/pixel_link Contents: Introduc

dengdan 484 Dec 7, 2022
An Implementation of the FOTS: Fast Oriented Text Spotting with a Unified Network

FOTS: Fast Oriented Text Spotting with a Unified Network Introduction This is a pytorch re-implementation of FOTS: Fast Oriented Text Spotting with a

GeorgeJoe 171 Aug 4, 2022
TensorFlow Implementation of FOTS, Fast Oriented Text Spotting with a Unified Network.

FOTS: Fast Oriented Text Spotting with a Unified Network I am still working on this repo. updates and detailed instructions are coming soon! Table of

Masao Taketani 52 Nov 11, 2022
TextBoxes++: A Single-Shot Oriented Scene Text Detector

TextBoxes++: A Single-Shot Oriented Scene Text Detector Introduction This is an application for scene text detection (TextBoxes++) and recognition (CR

Minghui Liao 930 Jan 4, 2023
Total Text Dataset. It consists of 1555 images with more than 3 different text orientations: Horizontal, Multi-Oriented, and Curved, one of a kind.

Total-Text-Dataset (Official site) Updated on April 29, 2020 (Detection leaderboard is updated - highlighted E2E methods. Thank you shine-lcy.) Update

Chee Seng Chan 671 Dec 27, 2022
(CVPR 2021) Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds

BRNet Introduction This is a release of the code of our paper Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds,

null 86 Oct 5, 2022
Scale-aware Automatic Augmentation for Object Detection (CVPR 2021)

SA-AutoAug Scale-aware Automatic Augmentation for Object Detection Yukang Chen, Yanwei Li, Tao Kong, Lu Qi, Ruihang Chu, Lei Li, Jiaya Jia [Paper] [Bi

Jia Research Lab 182 Dec 29, 2022
(CVPR 2021) ST3D: Self-training for Unsupervised Domain Adaptation on 3D Object Detection

ST3D Code release for the paper ST3D: Self-training for Unsupervised Domain Adaptation on 3D Object Detection, CVPR 2021 Authors: Jihan Yang*, Shaoshu

CVMI Lab 224 Dec 28, 2022
OCR, Object Detection, Number Plate, Real Time

README.md PrePareded anaconda env requirements.txt clova AI → deep text recognition → trained weights (ex, .pth) wpod-net weights (ex, .h5 , .json) ht

Kaven Lee 7 Dec 6, 2022
deployment of a hybrid model for automatic weapon detection/ anomaly detection for surveillance applications

Automatic Weapon Detection Deployment of a hybrid model for automatic weapon detection/ anomaly detection for surveillance applications. Loved the pro

Janhavi 4 Mar 4, 2022
Shape Detection - It's a shape detection project with OpenCV and Python.

Shape Detection It's a shape detection project with OpenCV and Python. Setup pip install opencv-python for doing AI things. pip install simpleaudio fo

null 1 Nov 26, 2022