오늘은 깃허브에 배포한 구도 가이드 AI 모델 VAPNet과 구도 평가 AI 모델 CSNet에 관한 글이다.
프로젝트에 사용하기 위해 구도 가이드에 관한 선행 연구를 찾아보다 보니 다음과 같은 논문을 발견했다.
Camera View Adjustment Prediction for Improving Image Composition
내가 정리한 CSNet
내가 정리한 VAPNet
해당 논문에서 다룬 딥러닝 모델이 우리 프로젝트에 적합하다고 생각해서 코드를 찾아보았지만 공개된 코드는 없었다. 그래서 모델과 학습, 테스트 과정의 코드를 직접 작성하고, 논문에서 사용된 데이터를 수집해 모델 학습과 테스트를 거쳤다.
그리고 코드를 좀 정리하고 README.md를 추가하여 깃허브 레포지토리에 pretrained된 모델과 함께 배포하였다.
CSNet-Pytorch
구도 평가 모델인 CSNet이다. 성능 지표가 논문에 나와있지 않아서 자체적으로 정확도를 측정하여 게시하였다.
VAPNet-Pytorch
구도 가이드 모델인 VAPNet이다. 원래 논문과 같이 8가지 구도 변경(상, 하, 좌, 우, 줌인, 줌아웃, 시계방향 회전, 반시계 방향 회전)으로 학습된 Version1과 4가지 구도 변경(상, 하, 좌, 우)으로 학습된 Version2가 있다.
성능은 Version1의 경우 학습된 데이터의 양이 원래 논문보다 적다보니 몇가지 지표에서는 성능이 떨어진 모습을 보였지만, 종합적인 평가 지표인 IoU의 경우 비슷한 수준을 달성하였다.
Version2의 경우 구도 변경 종류가 줄었기 때문에 구도 변경 종류 예측 성능 지표가 증가한 모습을 확인할 수 있었다.
남들이 배포해놓은 오픈소스만 보다가 직접 해보니 상당히 준비해야할 것도 많았고, README를 쓰기도 쉽지 않았다. 논문이 시간이 좀 지난 논문(2021년 arXiv 게시)이라 사용할 지는 모르겠지만, 아무쪼록 누군가에게 도움되었으면 좋겠다. 참고로 직접 카메라에 탑재해서 구도 가이드를 받아 봤을 때는 성능이 꽤 괜찮았다.