Coder Social home page Coder Social logo

arc's People

Contributors

yifanpu001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

arc's Issues

The problem of train

Thanks for your impressive work!
When I use the command " python tools/train.py configs/obb/arc/arc_orcnn_r50fpn1x_ss_dota10_RxFFF_n4.py" for training,it will appear the error"File "/home/amax/anaconda3/envs/arc/lib/python3.7/site-packages/mmcv/utils/registry.py", line 44, in build_from_cfg f'{obj_type} is not in the {registry.name} registry')KeyError: 'OrientedRCNN is not in the models registry'"
Wonderng if it's a version issue with mmcv?Below is the version of the package I installed.
image

关于测试时命令行中的save_dir

python tools/test.py configs/obb/arc/arc_orcnn_r50fpn1x_ss_dota10_RxFFF_n4.py
YOUR_CHECKPOINT_PATH --format-only --options save_dir=YOUR_SAVE_DIR;

作者您好,感谢您的开源代码,我在执行测试命令时,其中的--options后跟的save_dir配置,我不是很明白它的功能是什么,想请您解答一下。

关于旋转矩阵的生成,有一些困惑

`def _get_rotation_matrix(thetas):
bs, g = thetas.shape
device = thetas.device
thetas = thetas.reshape(-1) # [bs, n] --> [bs x n]

x = torch.cos(thetas)
y = torch.sin(thetas)
x = x.unsqueeze(0).unsqueeze(0)  # shape = [1, 1, bs * g]
y = y.unsqueeze(0).unsqueeze(0)
a = x - y
b = x * y
c = x + y

rot_mat_positive = torch.cat((
    torch.cat((a, 1-a, torch.zeros(1, 7, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 1, bs*g, device=device), x-b, b, torch.zeros(1, 1, bs*g, device=device), 1-c+b, y-b, torch.zeros(1, 3, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 2, bs*g, device=device), a, torch.zeros(1, 2, bs*g, device=device), 1-a, torch.zeros(1, 3, bs*g, device=device)), dim=1),
    torch.cat((b, y-b, torch.zeros(1,1 , bs*g, device=device), x-b, 1-c+b, torch.zeros(1, 4, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 4, bs*g, device=device), torch.ones(1, 1, bs*g, device=device), torch.zeros(1, 4, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 4, bs*g, device=device), 1-c+b, x-b, torch.zeros(1, 1, bs*g, device=device), y-b, b), dim=1),
    torch.cat((torch.zeros(1, 3, bs*g, device=device), 1-a, torch.zeros(1, 2, bs*g, device=device), a, torch.zeros(1, 2, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 3, bs*g, device=device), y-b, 1-c+b, torch.zeros(1, 1, bs*g, device=device), b, x-b, torch.zeros(1, 1, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 7, bs*g, device=device), 1-a, a), dim=1)
), dim=0)  # shape = [k^2, k^2, bs*g]

rot_mat_negative = torch.cat((
    torch.cat((c, torch.zeros(1, 2, bs*g, device=device), 1-c, torch.zeros(1, 5, bs*g, device=device)), dim=1),
    torch.cat((-b, x+b, torch.zeros(1, 1, bs*g, device=device), b-y, 1-a-b, torch.zeros(1, 4, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 1, bs*g, device=device), 1-c, c, torch.zeros(1, 6, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 3, bs*g, device=device), x+b, 1-a-b, torch.zeros(1, 1, bs*g, device=device), -b, b-y, torch.zeros(1, 1, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 4, bs*g, device=device), torch.ones(1, 1, bs*g, device=device), torch.zeros(1, 4, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 1, bs*g, device=device), b-y, -b, torch.zeros(1, 1, bs*g, device=device), 1-a-b, x+b, torch.zeros(1, 3, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 6, bs*g, device=device), c, 1-c, torch.zeros(1, 1, bs*g, device=device)), dim=1),
    torch.cat((torch.zeros(1, 4, bs*g, device=device), 1-a-b, b-y, torch.zeros(1, 1, bs*g, device=device), x+b, -b), dim=1),
    torch.cat((torch.zeros(1, 5, bs*g, device=device), 1-c, torch.zeros(1, 2, bs*g, device=device), c), dim=1)
), dim=0)  # shape = [k^2, k^2, bs*g]

mask = (thetas >= 0).unsqueeze(0).unsqueeze(0)
mask = mask.float()                                                   # shape = [1, 1, bs*g]
rot_mat = mask * rot_mat_positive + (1 - mask) * rot_mat_negative     # shape = [k*k, k*k, bs*g]
rot_mat = rot_mat.permute(2, 0, 1)                                    # shape = [bs*g, k*k, k*k]
rot_mat = rot_mat.reshape(bs, g, rot_mat.shape[1], rot_mat.shape[2])  # shape = [bs, g, k*k, k*k]
return rot_mat`

在这个生成旋转矩阵的函数中,我不太理解得到rot_mat_positive 和rot_mat_negative这两个矩阵 的拼接原理。这只适用于旋转3x3标准卷积,我希望理解这段代码以试图将其扩展到更大的卷积上。
能否提供一些理论上的支持,非常感谢

reresnet18

Can the ARC module be applied to REResNet-18?

pretrained backbone

I want to request how to use pretrained backbone?
At the test code,I can see the load_checkpoint to load the model.
But when training, can I how to use pretrained backbone?

mmpycocotools安装问题

image
请问如何正确安装mmpycocotools库,查询资料后说安装cpython=0.29.33,但依旧无法解决,希望有好心人可以帮忙解决,真心的感谢。

关于Merging patch bboxes into full image阶段task速度变为0的问题

image

您好,我执行测试命令时,在Merging patch bboxes into full image阶段task处理速度变为0,如图所示。
我在github上搜索相关issues,有解决方案提到“在--options后面增加nproc=1或直接在代码中将nproc改为1,我看到ARC仓库的代码中已经有相关的修改了,实际执行的时候也是single processing。
image
(https://github.com/jbwang1997/OBBDetection/blob/master/mmdet/datasets/obb/dota.py#L76)

我的电脑显卡是3060 laptop版本,请问作者在执行的时候有碰到过这种问题吗?这种问题是否是因为电脑配置低问题引起的?
我观察到从task从7到9是在缓慢执行的,但是速度实在是太慢了,到9就基本上卡住很长时间。

安装mmcv问题

当我的CUDA版本为12.2时似乎无法按照你的方法安装mmcv,有什么解决办法吗

The details of pretraining ARC

Thanks for your impressive work!
I wonder that how many epochs are needed to train Imagenet and then use the pretrain model to train the DOTA dataset? And is the results in Table. 3 under single-scale training ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.