Skip to main content

Featured

YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors review

 YOLO 버전이 v7 버전으로 논문이 발표되었다. papers with code에서 쉽게 확인할 수 있으며 이 논문은 모듈 최적화 기법 위주이다. CSPNet이라던지 RepVGG 같은 관련 네트워크들을 간단하게 공부하고 논문을 이해하는 것을 추천한다. 아래는 official github이며 ReadMe를 보면 쉽게 사용 방법을 알 수 있다. https://github.com/wongkinyiu/yolov7 또한 본 논문은 아래와 같다. Wang, Chien-Yao, Alexey Bochkovskiy, and Hong-Yuan Mark Liao. "YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors." arXiv preprint arXiv:2207.02696 (2022). 그렇다면 간략하게 논문에 대해 알아보도록 한다. - Abstract YOLOv7이 알려진 모든 detector들보다 정확도와 속도 면에서 성능을 능가하고 있다고 설명한다. 또한 이 네트워크를 오직 COCO 데이터셋으로만 훈련했다고 설명한다. 다른 네트워크들보다 확실히 좋은 성능을 내고 있다는 것으로 abstract에서 소개하고 있다. - Introduction  이 논문에서 제안한 real-time detector는 주로 mobile GPU나 GPU 장치를 지지할 수 있다는 것을 희망한다고 한 것을 보아 GPU가 필요하다는 것으로 이해하였다. 또한 이 논문에서 제안된 방법들의 개발 방향을 현재 real-time detector들의 개발 흐름과 다르다고 설명한다. 훈련 과정의 최적화에 집중했다고 한다. 그래서 중점적인 것이 정확도를 향상시키기 위한 훈련 cost를 강화화는 최적화된 모듈과 최적 기법이라고 설명한다.  논문의 제목에서 나오는데 제안된 모듈들과 최적 기법들을 trainable bag-of-freebies라고 칭한다. 최근에, model re-pa...

What is Euler angle

최근 드론과 같은 무인기에 관련된 각종 뉴스등이 많기 때문에 "오일러 각"이라는 것은 한번쯤은 지나가다 들어봤을 것이다. 오일러 각도는  Leonhard Euler가 도입한 강체의 회전 시스템이다. 여기서 강체란 힘을 가해도 변하지않으며 어떠한 좌표축 기준으로 평행이동과 회전운동만 가능한 물체 라고 생각하면 쉽다.

그러면 어떠한 강체가 3차원 공간 상에 있다고 가정해보자. 이 강체의 위치와 회전각도를 수학적 또는 어떠한 기준으로 수치적으로 위치나 회전을 정의하려한다. 예를들어 위치는 많이 사용되고 있는 Cartesian 좌표계를 이용해 위치를 (0,0,0)라고 쉽게 정의할수 있다. 그리고 회전은 어떻게 정의하면 좋을지 생각해보자 "x축, y축 그리고 z축을 기준으로 정하면 되지않을까?"란 생각이 들면 이미 어느정도 알고있는 사람이 아닐까란 생각이든다.

그렇다 이 방법이 오일러가 제시한 "오일러 각"이다. 이러한 발상은 막상 들어보니 그렇게 어렵지 않게 다가오기도 한다. 이러한 이유로 오일러 각은 생각보다 직관적이다 라는 장점이 있다(그래서 많이들 자세를 논할 때 사용된다).

오일러 각은 yaw( \psi), pitch( $theta$) 그리고 roll($phi$)로 나뉜다. 아래 그림을 확인해보자[2], 사실 다소 복잡 해 보인다. 하지만 잘 따라가 보면 그저 각도 회전마다 죄표계를 다른게 정의했지 때문에 문자가 많아서 압도되는 듯 할 것이지만 잘 따라가면 이해할 수 있을 것이다. 


Fig 1. Representation of the Euler Angles


1. $X$, $Y$ 그리고 $Z$를 확인해보자 -> 회전을 정하기위한 기준 좌표계이다


2. $x'$, $y'$ 그리고 $z'$를 확인해보자 -> 기준 좌표계에서 yaw($\psi$)만큼 회전한 좌표계이다. 그러므로 $z'$과 $Z$는 동일 한 것 이다.


3. $x''$, $y''$ 그리고 $z''$를 확인해보자 ->  2번 좌표계에서 $y'$ 축 기준으로 pitch$\theta$만큼 회전한 좌표계임을 알 수 있다.


4. $x$, $y$ 그리고 $z$를 확인해보자 ->  이는 3번 좌표계에서 $x''$ 축 기준으로 roll$\phi$만큼 회전한 좌표계이다.


이것이 바로 3(yaw)-2(pitch)-1(roll) 회전이라고 하고 Rotation Sequence이다. 항공기의 자세를 표현하는데 많이 사용된다. Rotation Sequence는 다른 글에서 오일러 각도의 김발락 현상과 같이 다룬다.


Reference - 

[1] https://en.wikipedia.org/wiki/Euler_angles

[2] https://www.autonomousrobotslab.com/frame-rotations-and-representations.html

[3] https://edward0im.github.io/engineering/2019/11/12/euler-angle/

Comments