CSP(Cross Stage Partial) Net

FSA·2023년 10월 19일
0

Object detection

목록 보기
16/23
post-thumbnail

문제 요약

  • 기존 object detection: 연산량 많음, inference time 길다.
  • 연산량을 완화시키고, inference time 줄이는 모델이 Cross Stage Partial Network(CSPNet)
  • 연상량이 많아지는 이유: 네트워크가 optimaization하는 과정에서 gradients의 정보 중복

해결책


  • base layer에서 두개의 파트로 나눈 다음 마지막 cross-stage 계층에서 합침으로써 실현
  • base layer를 일부로 쪼개 일부만 convolution연산을 진행한 다음 나머지 일부는 그저 합칠 뿐이니,
    • 일부만 이용하기 때문에 convolution 연산의 연산량은 당연히 줄어들 수 밖에 없다.
    • 제안하는 네트워크가 gradients의 다양성을 -> 시작단과 끝 단의 통합 과정을 통해 respect

CSPnet의 장점

  • 정확도를 유지하면서 경량화
  • 각 layer의 연산량을 균등하게 분배해서 연산 bottleneck을 없애고, CNN layer의 연산 활용을 업그레이드
    • YOLO-v3 모델에서 bottleneck을 80%가량 줄였다고 소개
  • 메모리 cost를 효과적으로 줄일 수 있다고 하는데, cross-channel pooling이 feature 피라미드 작업을 압축

CSPnet의 멋있는 점

  • 다양한 backbone 모델들을 전혀 건들지 않는다는 점
  • 모든 backbone에 해당 아이디어를 적용시킬 수 있다는 점
  • 그럼에도 유명 모델들이 성능 향상을 이루어 냈다는 점

Method

Cross Stage Partial Network

  • 우리가 익히 알고 있는 DenseNet을 짧게 설명하자면
    • ResNet은이전 레이어와 현재 레이어를 합산을 통해 ResNet block이 이루어지는 반면,
    • DenseNet은 이름과 같이 연결을 통해 이전 레이어와 현재레이어를 합쳐 Dense block을 이룬다.
  • 이 DensNet의 forward pass와 backward pass의 과정에서 수많은 gradient정보가 재사용 되고 있다고 말하고 있다. 이는 결국 복사된 gradient정보를 반복적으로 학습할 뿐이다.

Exact Fusion Model(EFM)

  • 1-stage VS 2-stage: https://velog.io/@hsbc/one-stage-detector-VS-two-stage-detector
  • 2-stage는 localization먼저 하고 -> 해당 box의 이미지 classify를 진행한다.
  • 하지만 1-stage는 localization과 classify를 동시에 진행하기 때문에
    • 전체 image-level에서 critical한 information을 찾기 힘들다
  • EFM은 FoV(field of view)를 적절하게 캡처하여 one-stage detector(yolo 나 SSD 같은)를 강화
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글