JacobYuan7 / DIN-Group-Activity-Recognition-Benchmark

[ICCV 2021] A new codebase containing various methods for Group Activity Recognition. Paper title: Spatio-Temporal Dynamic Inference Network for Group Activity Recognition.
MIT License
52 stars 15 forks source link

请问MCA和MPCA指标是否有详细说明? #14

Closed Kev1n3zz closed 1 year ago

Kev1n3zz commented 2 years ago

作者你好,感谢你精彩的工作。 我在读论文的时候尝试寻找MCA和MPCA指标的相关信息

请问MCA就是代码benchmark中注释部分展示的群体行为识别准确率吗? 请问想要得到接近论文的准确率超参数应该如何设置? 另外MPCA指标应该从什么地方找到指标介绍呢?

另外是否可以讲解一下#Params参数量计算的方法?

JacobYuan7 commented 2 years ago

作者你好,感谢你精彩的工作。 我在读论文的时候尝试寻找MCA和MPCA指标的相关信息

请问MCA就是代码benchmark中注释部分展示的群体行为识别准确率吗? 请问想要得到接近论文的准确率超参数应该如何设置? 另外MPCA指标应该从什么地方找到指标介绍呢?

另外是否可以讲解一下#Params参数量计算的方法?

Hi, Thanks for your interest in our work!

  1. With respect to MCA and MPCA, I think you can refer to the codes for details of the calculation of these two metrics. Briefly, MCA is the overall accuracy, and MPCA is the accuracy that is averaged across different classes.
  2. With respect to the hyper-parameter setting, you can also refer to my codebase, which should produce the reported result.
  3. With respect to #Params, I use fvcore package: from fvcore.nn import activation_count, flop_count, parameter_count, parameter_count_table
Kev1n3zz commented 2 years ago

非常感谢您的回复 请问对论文中Dynamic Walk和代码中Dynamic_Person_Inference是否有较详细的参考资料呢? 只通过公开发表在ICCV2021上的论文我还是不太能看懂代码T_T

JacobYuan7 commented 2 years ago

非常感谢您的回复 请问对论文中Dynamic Walk和代码中Dynamic_Person_Inference是否有较详细的参考资料呢? 只通过公开发表在ICCV2021上的论文我还是不太能看懂代码T_T

Hi, I think a good reference is Deformable Convolutional Networks.

Kev1n3zz commented 2 years ago

感谢回复,我也注意到了DCN这篇文章。 再次感谢您的这篇有意思的论文.

Kev1n3zz commented 2 years ago

请问在考虑代码的时候是否有考虑过针对视频的bbox引入deformable_roi_pooling呢?

JacobYuan7 commented 2 years ago

请问在考虑代码的时候是否有考虑过针对视频的bbox引入deformable_roi_pooling呢?

I think it is worth trying, and you could design Dynamic Pooling (it should follow the design of Dynamic Inference Network). However, for a fair comparison, you may need to perform controlled experiments to demonstrate its efficacy compared to average pooling.

Kev1n3zz commented 1 year ago

你好,请问可以请教一下在计算FLOPs的时候 flop_count方法用在什么地方了吗?

E:\code\DIN\infer_module\dynamic_infer_module.py:315: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  k2, T, N = offset.shape[3] // 2, offset.shape[1], offset.shape[2]  # 9,10,12
Unsupported operator aten::softmax encountered 1 time(s)
Unsupported operator aten::meshgrid encountered 2 time(s)
Unsupported operator aten::mul encountered 15 time(s)
Unsupported operator aten::add encountered 22 time(s)
Unsupported operator aten::sub encountered 14 time(s)
Unsupported operator aten::abs encountered 8 time(s)
Unsupported operator aten::rsub encountered 8 time(s)
Unsupported operator aten::sum encountered 2 time(s)
Unsupported operator aten::mean encountered 1 time(s)
FLOPs: 11397120.0

我在DPI方法前加入不能得到正确的结果。

JacobYuan7 commented 1 year ago

我在DPI方法前加入不能得到正确的结果。

@Kev1n3zz Try codes below:

if __name__=='__main__':
    DPI = Dynamic_Person_Inference(
            in_dim = 128,
            person_mat_shape = (10,12),
            stride = 1,
            kernel_size = [3, 3],
            dynamic_sampling = True,
            sampling_ratio = [1],
            group = 1,
            scale_factor = True,
            beta_factor = False,)

    person_features = torch.randn((1, 10, 12, 128))
    macs, params = profile(DPI, inputs = (person_features, ))
    MAC2FLOP(macs, params, module_name = 'DPI')
Kev1n3zz commented 1 year ago

感谢回复,请问我在CAD下仅使用res18就获得了96.x%以上的1阶段准确率(完全按照您的代码),请问CAD是否还适合作为GAR任务的通用评估数据集吗?另外如您在另外一个问题里的回复,模型在CAD数据集上存在严重过拟合,这让我认为在CAD上是否取得良好的表现是随机而没有道理的。

JacobYuan7 commented 1 year ago

感谢回复,请问我在CAD下仅使用res18就获得了96.x%以上的1阶段准确率(完全按照您的代码),请问CAD是否还适合作为GAR任务的通用评估数据集吗?另外如您在另外一个问题里的回复,模型在CAD数据集上存在严重过拟合,这让我认为在CAD上是否取得良好的表现是随机而没有道理的。

I agree with you. CAD is insufficient to serve as a good benchmark for GAR currently as the model capacity grows larger and larger. Thus, I give three suggestions: i) run multiple times to get a series of results in that you can calculate the mean and standard deviation of your method; ii) make your pytorch code deterministic; iii) use other benchmarks, like Volleyball and the newly-proposed NBA dataset.

Kev1n3zz commented 1 year ago

感谢回复,谢谢。