Tennis 포스팅에 앞서...

학부시절에 영상처리 관련된 프로젝트들을 많이 진행한 적이 있었다. 그 당시 영상처리에 미쳐있을 때라 무작정 Opencv 라이브러리를 외우고 관련 서적이나 이론 및 논문들을 읽어나간 기억이 새록새록 떠오른다. 한방 침 인식, 화이트보드 인식, 손바닥 인식, 차선 인식 등등 지금은 널리 이용되는 것들이었는데 당시에는 직접 눈으로 과정을 볼 수 있던 영상처리가 매우 흥미롭고 나에겐 가치 있는 분야였다.

하지만 영상처리란 분야는 수학적인 부분과 연구 성격이 강한 탓인지 학부생보단 석 박 위주로의 취업이 잘 되었고
학부 출신인 나에게는 취업 후 해당 분야로의 업무는 잘 주어지지 않았던 거 같다.
또한 딥러닝의 등장은 기존 영상처리 기술을 구시대적 기술로 바꿀 수 있을 정도로 높은 인식률을 보여주었고
그렇게 내 영상처리 기술은 머릿속에 완전히 잊혀 가는듯하였다.

그렇게 6년이란 세월이 흘러 회사에서 영상처리를 개발해 볼 기회가 주어졌는데 바로 이번에 개인으로 맡게 된 테니스 프로젝트이다. 테니스 프로젝트는 테니스 유저들이 자신의 플레이 영상을 휴대폰으로 찍어두면 테니스 코트 및 볼 등을 인식하고 인식된 것들을 Visualization 해주는 프로젝트이다.

대략 1~2달 정도의 개발 기간을 가졌는데 그중 한 달 정도 영상처리 개발을 진행한듯하다.
프로젝트를 진행하면서 학부 때 써보았던 라이브러리 등을 다시금 보았고 조금 더 고도화된 기술들을 찾아보고 도입하면서 나름 재밌게 진행하였다.

이 진행사항들을 한번 되새김해 보는 시간과 혹시라도 테니스 프로젝트를 진행하는 사람이 있다면 도움이 되고자 포스팅하게 되었다.

Tensorflow? OpenCV?

딥러닝이 발달한 현대 시대에서 딥러닝의 결과물들은 거의 무적에 가까운 인식률을 보여주고 있다.
영상처리 분야에서 Detection 하는 과정들은 미세한 Segmetation이 가능할 정도로 대부분 딥러닝으로 소화가 가능하다. 또한 사물 인식 또한 사람을 뛰어넘을 수 있는 수준까지 왔다고 한다.

하지만 이번 프로젝트의 주 처리는 딥러닝을 사용하지 않을 것이다.
이유는 간단히 말해 짧은 시간혼자서 진행해야 하기에 인식률을 높일 데이터 수집 그리고 모델학습환경이 잘 갖춰지지 않았다.
그렇다고 딥러닝을 사용하지 않는 것이 아니다 프로젝트 코드 중간에 머신러닝을 도입하면 좋은 곳들을 남겨둘 것이고 필요한 부분이 어디인가도 알아볼 예정이다.

테니스 프로젝트

이번 테니스 프로젝트의 중요하게 생각되는 부분은 아래와 같다.

코드는 아주 심플하게 제작할 것이고 최대한 OpenCV 라이브러리를 이용하여 최소한 코딩 작업으로 진행할 것이다.