Benchmarks for Object Detection in Aerial Images

Overview

Benchmarks for Object Detection in Aerial Images

Introduction

This codebase is created to build benchmarks for object detection in aerial images. It is modified from mmdetection. The master branch works with PyTorch 1.1 or higher. If you would like to use PyTorch 0.4.1, please checkout to the pytorch-0.4.1 branch.

detected_results

Main Features

To adapt to object detection in aerial images, this repo has several unique and new features compared to the original mmdetection

  • Support Oriented Object Detection

    In aerial images, objects are usually annotated by oriented bounding box (OBB). To support oriented object detection, we implement OBB Head (OBBRoIHead and OBBDenseHead). Also, we provide functions to transfer mask predictions to OBBs.

  • Cython Bbox Overlaps

    Since one patch image with the size of 1024 × 1024 may contain over 1000 instances in DOTA, which make the bbox overlaps memroy consuming. To avoid out of GPU memory, we calculate the bbox overlaps in cython. The speed of cython version is close to the GPU version.

  • Rotation Augmentation

    Since there are many orientation variations in aerial images, we implement the online rotation augmentation.

  • Rotated RoI Warping

    Currently, we implement two types of rotated RoI Warping (Rotated RoI Align and Rotated Position Sensitive RoI Align).

License

This project is released under the Apache 2.0 license.

Benchmark and model zoo

Installation

Please refer to INSTALL.md for installation.

Get Started

Please see GETTING_STARTED.md for the basic usage of mmdetection.

Contributing

We appreciate all contributions to improve benchmarks for object detection in aerial images.

Citing

If you use DOTA dataset, codebase or models in your research, please consider cite .

@misc{ding2021object,
      title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges}, 
      author={Jian Ding and Nan Xue and Gui-Song Xia and Xiang Bai and Wen Yang and Micheal Ying Yang and Serge Belongie and Jiebo Luo and Mihai Datcu and Marcello Pelillo and Liangpei Zhang},
      year={2021},
      eprint={2102.12219},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
@inproceedings{xia2018dota,
  title={DOTA: A large-scale dataset for object detection in aerial images},
  author={Xia, Gui-Song and Bai, Xiang and Ding, Jian and Zhu, Zhen and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages={3974--3983},
  year={2018}
}

@article{chen2019mmdetection,
  title={MMDetection: Open mmlab detection toolbox and benchmark},
  author={Chen, Kai and Wang, Jiaqi and Pang, Jiangmiao and Cao, Yuhang and Xiong, Yu and Li, Xiaoxiao and Sun, Shuyang and Feng, Wansen and Liu, Ziwei and Xu, Jiarui and others},
  journal={arXiv preprint arXiv:1906.07155},
  year={2019}
}

@InProceedings{Ding_2019_CVPR,
author = {Ding, Jian and Xue, Nan and Long, Yang and Xia, Gui-Song and Lu, Qikai},
title = {Learning RoI Transformer for Oriented Object Detection in Aerial Images},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}

Thanks to the Third Party Libs

Pytorch

mmdetection

Comments
  • Running  ./compile.sh  gives an error

    Running ./compile.sh gives an error

    /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:314:13: note: declared here inline void deprecated_AT_CHECK() {} ^ In file included from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/core/Device.h:5:0, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:6, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/extension.h:4, from src/poly_nms_cuda.cpp:1: /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:339:40: warning: ‘void c10::detail::deprecated_AT_CHECK()’ is deprecated [-Wdeprecated-declarations] ::c10::detail::deprecated_AT_CHECK();
    ^ src/poly_nms_cuda.cpp:3:23: note: in expansion of macro ‘AT_CHECK’ #define CHECK_CUDA(x) AT_CHECK(x.type().is_cuda(), #x, " must be a CUDAtensor ") ^ src/poly_nms_cuda.cpp:8:5: note: in expansion of macro ‘CHECK_CUDA’ CHECK_CUDA(dets); ^ In file included from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/core/Device.h:5:0, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:6, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4, from /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/extension.h:4, from src/poly_nms_cuda.cpp:1: /home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:314:13: note: declared here inline void deprecated_AT_CHECK() {} ^ /usr/local/cuda/bin/nvcc -I/home/kyq/anaconda3/lib/python3.7/site-packages/torch/include -I/home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/TH -I/home/kyq/anaconda3/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/kyq/anaconda3/include/python3.7m -c src/poly_nms_kernel.cu -o build/temp.linux-x86_64-3.7/src/poly_nms_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options '-fPIC' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=poly_nms_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 creating build/lib.linux-x86_64-3.7 g++ -pthread -shared -B /home/kyq/anaconda3/compiler_compat -L/home/kyq/anaconda3/lib -Wl,-rpath=/home/kyq/anaconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.7/src/poly_nms_cuda.o build/temp.linux-x86_64-3.7/src/poly_nms_kernel.o -L/usr/local/cuda/lib64 -lcudart -o build/lib.linux-x86_64-3.7/poly_nms_cuda.cpython-37m-x86_64-linux-gnu.so copying build/lib.linux-x86_64-3.7/poly_nms_cuda.cpython-37m-x86_64-linux-gnu.so -> Building cpu_nms... running build_ext skipping 'bbox.c' Cython extension (up-to-date)

    I used ubuntu16.04 cuda10 pytorch1.2

    opened by 237014845 6
  • Question about inference speed.

    Question about inference speed.

    R-RetinaNet can reach 24 fps when I conduct evaluation on HRSC dataset. However it dropped to 2fps when I inference on picture, why? They should have been almost same, right?

    opened by ming71 4
  • Faster-RCNN-R50-FPN 在TASK2 DOTAV1.0精度对不上

    Faster-RCNN-R50-FPN 在TASK2 DOTAV1.0精度对不上

    Hi, 作者您好。我用该框架的faster_rcnn_r50_fpn_1x_dota.py跑了DOTA V1.0的task2, 除了data文件,其余的配置比如模型、优化器等完全保持不变,没有做任何修改。下面是我的data config:

    # train
    
    trainval = []
    train = dict(
            type=dataset_type,
            ann_file=data_root + 'official_v10_train1024/train1024_v10.json',
            img_prefix=data_root + 'official_v10_train1024/images/',
            img_scale=(1024, 1024),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0.5,
            with_mask=True,
            with_crowd=True,
            with_label=True)
    trainval.append(train)
    val = dict(
            type=dataset_type,
            ann_file=data_root + 'official_v10_val1024/val1024_v10.json',
            img_prefix=data_root + 'official_v10_val1024/images/',
            img_scale=(1024, 1024),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0.5,
            with_mask=True,
            with_crowd=True,
            with_label=True)
    trainval.append(val)
    
    data = dict(
        imgs_per_gpu=2,
        workers_per_gpu=2,
        train=dict(
            # type='ConcatDataset',
            # dataset=trainval),
            type=dataset_type,
            ann_file=[data_root + 'official_v10_train1024/train1024_v10.json', data_root + 'official_v10_val1024/val1024_v10.json'],  # train+val训练
            img_prefix=[data_root + 'official_v10_train1024/images/', data_root + 'official_v10_val1024/images/'],
            img_scale=(1024, 1024),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0.5,
            with_mask=True,
            with_crowd=True,
            with_label=True),
        val=dict(
            type=dataset_type,
            ann_file=data_root + 'official_v10_val1024/val1024_v10.json',
            img_prefix=data_root + 'val1024/images',
            img_scale=(1024, 1024),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0,
            with_mask=False,
            with_crowd=True,
            with_label=True),
        test=dict(
            type=dataset_type,
            ann_file=data_root + 'official_v10_test1024/test1024_v10.json',
            img_prefix=data_root + 'official_v10_test1024/images',
            img_scale=(1024, 1024),
            img_norm_cfg=img_norm_cfg,
            size_divisor=32,
            flip_ratio=0,
            with_mask=False,
            with_label=False,
            test_mode=True))
    
    

    其中的训练集和验证集,测试集的分割使用DOTA_devikit脚本:

    split_train = ImgSplit_multi_process.splitbase(os.path.join(srcpath, 'train'),
                           os.path.join(dstpath, 'train1024'),
                          gap=512,
                          subsize=1024,
                          num_process=128
                          )
        split_train.splitdata(1)
    
        print('val...')
        split_val = ImgSplit_multi_process.splitbase(os.path.join(srcpath, 'val'),
                           os.path.join(dstpath, 'val1024'),
                          gap=512,
                          subsize=1024,
                          num_process=128
                          )
        split_val.splitdata(1)
    

    我对比了你们新的论文里提到了stride是824不一样以外,其余的完全一致。 在得到小图之后,我后续排除掉了训练集和验证集没有object的图片,训练集一共:19206张,验证集一共6179张,测试集一共20415张。

    我测试了四卡,batchsize=8时(2 images per GPU),epoch12的模型结果: 在NMS=0.3(也就是论文里提到的阈值): AP50=68.04 image

    在NMS=0.5时: AP50=67.49 image

    同时,我也测试了单卡,batchsize=2,NMS=0.5时测试结果: AP50=69.94 image

    不管是官方的8batchsize还是2batchsize,精度都对不上论文给的AP50=70.76,我不知道是我数据的问题(但不知道哪里有问题)。 求解答~~~

    opened by aiboys 3
  • I am getting horizontal BB rather than Oriented and I can't change Batch Size

    I am getting horizontal BB rather than Oriented and I can't change Batch Size

    Hey, I am trying to train on my custom dataset with 2 classes, both are rotated and are annotated in DOTA format.

    I tested using custom DOTA data and this cfg - faster_rcnn_RoITrans_r50_fpn_1x_dota to see results and got some txt files in work_dirs for each class, when I plotted the boxes with custom opencv I didn't get rotated bounding boxes but horizontal ones. I used test.py and set type = "OBB" while testing.

    Now, I want rotated bounding boxes on my custom dataset, so do I have to use any other cfg file for that like - /DOTA1_5/faster_rcnn_obb_r50_fpn_1x_dota1_5.py or the one I'm using will do the job of rotating. ?

    Also is there any option to increase batch size or is it still 1 like the mxnet version of ROI_trans? Thank you in advance. :)

    PS: love your work, I've used ROI_trans on mxnet also which helped me to learn a great deal, I'm a student exploring better CV techniques.

    opened by alaap001 3
  • ImportError: cannot import name 'poly_nms_cuda'

    ImportError: cannot import name 'poly_nms_cuda'

    Thanks for your code, but I met a mistake when training the model. ImportError: cannot import name 'poly_nms_cuda' I have installed the environment according to INSTALL.md and my CUDA version is 9.0. How should I do to solve it?

    opened by PURE-melo 3
  • How are the positive and negative angles defined

    How are the positive and negative angles defined

    Hello, thank you very much for posting the code. I was reading “roi_align_rotated_kernel.cu” and found that you made changes when you did "Rotate by theta around the center and translate". My understanding of this is that your definition of positive and negative angles is opposite to RRPN. I don't know if I understand it right.

    Looking forward to your reply

    opened by wnynotfaker 2
  • The detailed performance of Baselines ?

    The detailed performance of Baselines ?

    Thanks for your work, which helps me a lot! Could u provide the performance of each class in the Baselines? If I want to cite the results of some methods in this work, I just need following data:

    • the AP of each category?
    • the backbone network: RetinaNet-r50 ?
    • the GPU info for speed: NVIDIA 1080Ti * n ?

    Thanks.

    opened by Taotaoxu 1
  • ./compile.sh error

    ./compile.sh error

    when i run ./compile.shh, there are some problems. Can you help me?

    I have installed pytorch==1.1.0 cudatoolkit=10.0.

    Next is the code about error. Building roi align op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building roi pool op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building roi align rotated op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building ps roi align rotated op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building nms op... Traceback (most recent call last): File "setup.py", line 4, in import numpy as np ModuleNotFoundError: No module named 'numpy' Building dcn... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building sigmoid focal loss op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building masked conv op... Traceback (most recent call last): File "setup.py", line 2, in from torch.utils.cpp_extension import BuildExtension, CUDAExtension ModuleNotFoundError: No module named 'torch' Building poly_nms op... Traceback (most recent call last): File "setup.py", line 4, in import numpy as np ModuleNotFoundError: No module named 'numpy' Building cpu_nms... Traceback (most recent call last): File "setup_linux.py", line 18, in from Cython.Distutils import build_ext ModuleNotFoundError: No module named 'Cython'

    I have installed torch numpy and cython. But there are problems.

    opened by QxGeng 1
  • 技术细节

    技术细节

    Excuse me,sir.This project is very helpful to me,thanks a lot. However I still have abundant questions about the technical details,such as implementation method on DOTA by ‘faster-rcnn-h-obb’.May I have any related papers?:) By the way,what is the reference source of the form in ‘model_zoo.md’? Thank you again.

    opened by ZIQIWANG-X 1
  • compile failed

    compile failed

    when i ran /AerialDetection/mmdet/ops/dcn$ python setup.py build_ext --inplace in order to compile, a large amount of error codes appeared. it says RuntimeError: Error compiling objects for extension my env is python 3.7,pytorch 1.6,cuda 10.2. how could i do to solve the problem? thanks

    opened by ZIQIWANG-X 1
  • AttributeError: 'NoneType' object has no attribute 'shape'

    AttributeError: 'NoneType' object has no attribute 'shape'

    where I run tools/test.py ,I have the following problems: for i, data in enumerate(data_loader): File "/home/zjr/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 582, in next return self._process_next_batch(batch) File "/home/zjr/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 608, in _process_next_batch raise batch.exc_type(batch.exc_msg) AttributeError: Traceback (most recent call last): File "/home/zjr/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop samples = collate_fn([dataset[i] for i in batch_indices]) File "/home/zjr/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 99, in samples = collate_fn([dataset[i] for i in batch_indices]) File "/media/sdc/zjr/code/AerialDetection/mmdet/datasets/custom.py", line 197, in getitem return self.prepare_test_img(idx) File "/media/sdc/zjr/code/AerialDetection/mmdet/datasets/custom.py", line 378, in prepare_test_img img, scale, False, proposal) File "/media/sdc/zjr/code/AerialDetection/mmdet/datasets/custom.py", line 332, in prepare_single img, scale, flip, keep_ratio=self.resize_keep_ratio) File "/media/sdc/zjr/code/AerialDetection/mmdet/datasets/transforms.py", line 33, in call img, scale_factor = mmcv.imrescale(img, scale, return_scale=True) File "/home/zjr/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/mmcv/image/resize.py", line 132, in imrescale h, w = img.shape[:2] AttributeError: 'NoneType' object has no attribute 'shape'

    I'm sure the image exists and no Chinese path. If you have already identified the reason, you can provide the information here. Thanks

    opened by zhaojingru408 1
  • ValueError: need at least one array to concatenate

    ValueError: need at least one array to concatenate

    loading annotations into memory... Done (t=0.00s) creating index... index created! 2022-11-21 16:08:57,399 - INFO - Start running, host: pdrl@pdrl, work_dir: /home/pdrl/aerialdetection/AerialDetection/work_dirs/faster_rcnn_RoITrans_r50_fpn_1x_dota 2022-11-21 16:08:57,399 - INFO - workflow: [('train', 1)], max: 12 epochs Traceback (most recent call last): File "tools/train.py", line 95, in main() File "tools/train.py", line 91, in main logger=logger) File "/home/pdrl/aerialdetection/AerialDetection/mmdet/apis/train.py", line 61, in train_detector _non_dist_train(model, dataset, cfg, validate=validate) File "/home/pdrl/aerialdetection/AerialDetection/mmdet/apis/train.py", line 197, in _non_dist_train runner.run(data_loaders, cfg.workflow, cfg.total_epochs) File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/mmcv/runner/runner.py", line 359, in run epoch_runner(data_loaders[i], **kwargs) File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/mmcv/runner/runner.py", line 259, in train for i, data_batch in enumerate(data_loader): File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 278, in iter return _MultiProcessingDataLoaderIter(self) File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 709, in init self._try_put_index() File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 826, in _try_put_index index = self._next_index() File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 318, in _next_index return next(self.sampler_iter) # may raise StopIteration File "/home/pdrl/anaconda3/envs/AerialDetection/lib/python3.7/site-packages/torch/utils/data/sampler.py", line 200, in iter for idx in self.sampler: File "/home/pdrl/aerialdetection/AerialDetection/mmdet/datasets/loader/sampler.py", line 63, in iter indices = np.concatenate(indices) File "<array_function internals>", line 6, in concatenate ValueError: need at least one array to concatenate when i run train.py i get this

    opened by prayagpawar 0
  •  The URL scheme of

    The URL scheme of "modelzoo://" is deprecated, please use "torchvision "modelzoo://" is deprecated, please ' 2022-11-21 15:12:43,461 - WARNING - The model and loaded state dict do not match exactly

    lib/python3.7/site-packages/mmcv/runner/checkpoint.py:145: UserWarning: The URL scheme of "modelzoo://" is deprecated, please use "torchvision://" instead warnings.warn('The URL scheme of "modelzoo://" is deprecated, please ' 2022-11-21 15:12:43,461 - WARNING - The model and loaded state dict do not match exactly.

    opened by prayagpawar 0
  • epoch_12.pth is not a checkpoint file

    epoch_12.pth is not a checkpoint file

    when i run python demo.large.py i get this error. raise IOError('{} is not a checkpoint file'.format(filename)) OSError: work_dirs/faster_rcnn_RoITrans_r50_fpn_1x_dota/epoch_12.pth is not a checkpoint file i suppose this is where u put trained model

    opened by prayagpawar 0
  • 如何使用dota数据集的测试集?

    如何使用dota数据集的测试集?

    博主,您好,DOTA数据集中的测试集里面只有图片,没有标注文件.txt,这样的test能用于mmdetection的test.py测试吗?我看见论文里面好多都有dota数据集测试的结果,他们用的是测试集吗?还是验证集?为什么dota数据集的测试集没有标注文件官网还提供了生成测试集的json文件?生产的测试集的json文件真的有用吗?

    opened by LowPassFilter-phil 1
  • ImportError: cannot import name 'deform_conv_cuda' from 'mmdet.ops.dcn' (/content/drive/MyDrive/AerialDetection/mmdet/ops/dcn/__init__.py)

    ImportError: cannot import name 'deform_conv_cuda' from 'mmdet.ops.dcn' (/content/drive/MyDrive/AerialDetection/mmdet/ops/dcn/__init__.py)

    Hi,

    I am getting an error on running the following lines on google colab. May be someone else faced this issue before.

    1. !python tools/test.py configs/DOTA/faster_rcnn_RoITrans_r50_fpn_1x_dota.py work_dirs/faster_rcnn_RoITrans_r50_fpn_1x_dota/epoch_12.pth --out work_dirs/faster_rcnn_RoITrans_r50_fpn_1x_dota/results.pkl

    2. !python tools/train.py configs/DOTA/faster_rcnn_h-obb_r50_fpn_1x_dota.py --work_dir work_dirs/

    Error :

    ImportError: cannot import name 'deform_conv_cuda' from 'mmdet.ops.dcn' (/content/drive/MyDrive/AerialDetection/mmdet/ops/dcn/init.py)

    I am using :

    python : 3.7.12 pytorch : 1.10.0+cu111 cuda : 11.2 gcc : 7.5.0 nccl : 2.10.3 mmcv : 1.4.4

    I guess I followed the instructions based on the Github repository.

    opened by Nirkan 1
Owner
Jian Ding
Jian Ding
Tiny Object Detection in Aerial Images.

AI-TOD AI-TOD is a dataset for tiny object detection in aerial images. [Paper] [Dataset] Description AI-TOD comes with 700,621 object instances for ei

jwwangchn 116 Dec 30, 2022
YOLTv5 rapidly detects objects in arbitrarily large aerial or satellite images that far exceed the ~600×600 pixel size typically ingested by deep learning object detection frameworks

YOLTv5 rapidly detects objects in arbitrarily large aerial or satellite images that far exceed the ~600×600 pixel size typically ingested by deep learning object detection frameworks.

Adam Van Etten 145 Jan 1, 2023
A public available dataset for road boundary detection in aerial images

Topo-boundary This is the official github repo of paper Topo-boundary: A Benchmark Dataset on Topological Road-boundary Detection Using Aerial Images

Zhenhua Xu 79 Jan 4, 2023
Official code of the paper "ReDet: A Rotation-equivariant Detector for Aerial Object Detection" (CVPR 2021)

ReDet: A Rotation-equivariant Detector for Aerial Object Detection ReDet: A Rotation-equivariant Detector for Aerial Object Detection (CVPR2021), Jiam

csuhan 334 Dec 23, 2022
An image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testingAn image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testing

SVM Données Une base d’images contient 490 images pour l’apprentissage (400 voitures et 90 bateaux), et encore 21 images pour fait des tests. Prétrait

Achraf Rahouti 3 Nov 30, 2021
Official code for 'Robust Siamese Object Tracking for Unmanned Aerial Manipulator' and offical introduction to UAMT100 benchmark

SiamSA: Robust Siamese Object Tracking for Unmanned Aerial Manipulator Demo video ?? Our video on Youtube and bilibili demonstrates the evaluation of

Intelligent Vision for Robotics in Complex Environment 12 Dec 18, 2022
4st place solution for the PBVS 2022 Multi-modal Aerial View Object Classification Challenge - Track 1 (SAR) at PBVS2022

A Two-Stage Shake-Shake Network for Long-tailed Recognition of SAR Aerial View Objects 4st place solution for the PBVS 2022 Multi-modal Aerial View Ob

LinpengPan 5 Nov 9, 2022
Hybrid CenterNet - Hybrid-supervised object detection / Weakly semi-supervised object detection

Hybrid-Supervised Object Detection System Object detection system trained by hybrid-supervision/weakly semi-supervision (HSOD/WSSOD): This project is

null 5 Dec 10, 2022
Yolo object detection - Yolo object detection with python

How to run download required files make build_image make download Docker versio

null 3 Jan 26, 2022
[CVPR2021] UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicles

UAV-Human Official repository for CVPR2021: UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicle Paper arXiv Res

null 129 Jan 4, 2023
A 3D Dense mapping backend library of SLAM based on taichi-Lang designed for the aerial swarm.

TaichiSLAM This project is a 3D Dense mapping backend library of SLAM based Taichi-Lang, designed for the aerial swarm. Intro Taichi is an efficient d

XuHao 230 Dec 19, 2022
Aerial Single-View Depth Completion with Image-Guided Uncertainty Estimation (RA-L/ICRA 2020)

Aerial Depth Completion This work is described in the letter "Aerial Single-View Depth Completion with Image-Guided Uncertainty Estimation", by Lucas

ETHZ V4RL 70 Dec 22, 2022
An algorithm that handles large-scale aerial photo co-registration, based on SURF, RANSAC and PyTorch autograd.

An algorithm that handles large-scale aerial photo co-registration, based on SURF, RANSAC and PyTorch autograd.

Luna Yue Huang 41 Oct 29, 2022
HiFT: Hierarchical Feature Transformer for Aerial Tracking (ICCV2021)

HiFT: Hierarchical Feature Transformer for Aerial Tracking Ziang Cao, Changhong Fu, Junjie Ye, Bowen Li, and Yiming Li Our paper is Accepted by ICCV 2

Intelligent Vision for Robotics in Complex Environment 55 Nov 23, 2022
UAV-Networks-Routing is a Python simulator for experimenting routing algorithms and mac protocols on unmanned aerial vehicle networks.

UAV-Networks Simulator - Autonomous Networking - A.A. 20/21 UAV-Networks-Routing is a Python simulator for experimenting routing algorithms and mac pr

null 0 Nov 13, 2021
TCTrack: Temporal Contexts for Aerial Tracking (CVPR2022)

TCTrack: Temporal Contexts for Aerial Tracking (CVPR2022) Ziang Cao and Ziyuan Huang and Liang Pan and Shiwei Zhang and Ziwei Liu and Changhong Fu In

Intelligent Vision for Robotics in Complex Environment 100 Dec 19, 2022
Unsupervised Domain Adaptation for Nighttime Aerial Tracking (CVPR2022)

Unsupervised Domain Adaptation for Nighttime Aerial Tracking (CVPR2022) Junjie Ye, Changhong Fu, Guangze Zheng, Danda Pani Paudel, and Guang Chen. Uns

Intelligent Vision for Robotics in Complex Environment 91 Dec 30, 2022
Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera. This project prepares training and testing data for various deep learning projects such as 6D object pose estimation projects singleshotpose, as well as object detection and instance segmentation projects.

null 305 Dec 16, 2022