Deep-learning
YOLOv11 - C2PSA Block
Sims.
2024. 11. 14. 21:00
728x90
https://sims-solve.tistory.com/128
지난번에는 YOLOv8과 달라진 부분인 C3K2 Block에 대해 알아보았다.
이번에는 연장선으로 모델 중 한번만 거치는 블럭이지만, v11에 추가된 Block인 C2PSA를 살펴보도록 하겠다.
일단, C2PSA Block을 들어가기 전 input shape은 (1,256,8,8) 로 가정하겠다.
위는 실제 C2PSA 코드이다. 어텐션 메커니즘을 사용하여 피쳐 추출과 처리를 향상시켰다고 한다.
어텐션 메커니즘이 들어있어서 조금 더 복잡한 계산 과정이 필요하다.
어텐션을 사용하면 연산량이 늘어나 속도가 감소하는 부분이 있는데, 이를 고려해 C2PSA 블럭 한부분에서만 사용한 것 같다.
직접 손으로 shape을 구해보면 이러하다.
손으로 계산해보면.. 굉장히 복잡한 과정을 걸치는 것을 볼 수 있다.
여기서 핵심이라고 판단되는건 역시 Attention 과정이라고 할 수 있다.
Q,K,V 각각으로 Split하고, 부가적인 연산을 통해 어느 부분이 중요한지 찾아나가는 과정이라 생각하면된다.
어텐션같은 경우는 따로 정리하여 글을 작성하고자하여, 여기서는 이정도로 생략하겠다.
그 외에는 Skip Connection과 같은 v8에서도 사용되고 있는 방식을 똑같이 채택하고 있다.
어탠션 메커니즘이 들어가 이해하기가 조금 어려웠지만, 천천히 살펴보면서 추가적으로 공부를 해 나가야 겠다.
다음에는 Block을 살펴보았으니, Yolov11의 BackBone의 과정을 살펴보겠다.
반응형