1.
AVA dataset은 하나의 center frame에 대해서 여러 bbox가 있고, 거기에 또 multi-label이다.
그러면 일반적인 AVA 모델들의 경우 output이 어떻게 생겼나?
지금 내가 구현중인건 중간 부분을 바꿨지, GAP, FC같은거 들어있는 뒷단은 손대지 않아서 모르겠다.
evaluation은 bbox단위로 하는 것 같은데 코드가 복잡해보여서 확인 해봐야 안다.
-> 확인함
2.
long term feature bank 논문을 아직 안읽었는데 대략적인 내용이 궁금하다.
아래 그림처럼 한다는건, 원래 3DConv 기반의 backbone에 들어가는 Input보다 더 많은 프레임을 본다는 얘기인가?
성능이 오를 수 밖에 없군
그런거면 주어진 input만 가지고 활용하는 방법과는 언제든 융합해서 적용할 수 있겠구나
그럼 어떻게 구현했는지 궁금한데, transformer의 attention 구조이다. (이거 self-attention이라고 불러도 되나?)
query는 short tem feature를 넣어주고, key value로는 long term features를 넣음.
아래와 같은 NL block을 좀 바꾼걸 3번 쌓으면 된다. 채널은 512.
이후, classifier에 이것과 S의 피쳐가 같이 들어간다.
그런데 궁금해진게, 그 긴 RGB 프레임들을 512채널의 input으로 바꿔줘야하는데, long 클립에 무슨 연산을 적용하는지 모르곘다.
-> 논문 3.4 참고: resnet같은 간단한 백본 거침.
short, long 각각을 위한 백본이 따로 있으며 파라미터는 공유하지 않는다는 것 같다.
결국 아키텍쳐 하나 더 있는 셈이니 연산이 많이 들겠군...;;
3. 그러면 결국...
뭔가 논문들 보면 연산이 거의 비슷한데 어떻게 쓰느냐에 따라 다른 것 같다.
ACAR은 second order가 self attention 구조.
코드보면 conv로 구현되어있긴 한데 뜯어보면 걍 self attention 연산. 헤드를 나누진 않음
LFB도 NL이라고 했으나 막상 설명을 까보면 self attention이다. 구현이 pytorch가 아니라서 코드를 안봤지만
저렇게 고친걸 NonLocal Block이라고 부를 수 있나 살짝 애매하긴 한데... (NL은 맨날 보고 까먹어서 잘 모르지만 암튼)
전에 리뷰한 애플논문도 transformer 구조로 동일.
그리고 이 논문은 동일조건에서 ACAR 이겼다고는 하는데, ACFB랑 HRRO 뺐으면 그냥 기존의 ACRN 논문이다. first order relation은 ACRN의 contribution인데, first order만 비교해놓고 (SOTA논문인) ACAR과 비교했다고 인용해버리면 이건 잘못된거 아닌가 싶다. CVPR 워크샵 어케 붙은거람;
결국 같은 연산에 정보를 뭘 넣었느냐의 차이일 뿐이다.
뭔가 좀 새로운거 없나... 흠
근데 paperswithcode에 나온 순위권 모델들의 (트랜스포머가 싹쓸었음) AVA 성능도 ACAR보다 안좋아서... ACAR이 괜히 챌린지 우승한게 아니다.
지금 구현하고 실험중인 것도 이 생각의 틀에서 벗어날수가 없는 것 같다. 음...
'AIML 분야 > Video Classification & Detection' 카테고리의 다른 글
AVA action 학습이 이해 안가서 주절거리는 글 (0) | 2021.11.01 |
---|---|
Action Localization (Spatial Temporal Action Detection) 서베이 2 (0) | 2021.07.19 |
Action Localization (Spatial Temporal Action Detection) 서베이 1 (0) | 2021.07.16 |
[Action Detection] ACAR Net (0) | 2021.05.11 |
Action Recognition보다 디테일한 Video 인식분야 조사 (0) | 2021.04.23 |
댓글