영상 분석이 필요한 개인 프로젝트를 구상한지 오래 되었다. 완결된 뭔가가 나온 적은 없지만 그동안 꾸준히, 자전거로 치자면 뒷바퀴 바퀴살은 무슨 재질로 몇 개나 붙여야 주행에 좋을지, 체인은 어느 정도 팽팽해야 하는지, 핸들은 평평해야 할지 구부려야 할지, 혹시 앞바구니를 당장은 아니지만 나중에는 붙이고 싶은데 미래를 위해 프레임 모양을 어떻게 만들어야 할지 부분부분 구상과 기술 검토는 해왔다.
영상 분석에서 초반에 문제가 됐던 건 결국 그 정확도였다. 흥미로 하는 개인 프로젝트고 다뤄야할 영상이 폭발적으로 늘지는 않기 때문에 속도는 크게 중요하지 않았다. 초기에는 TensorFlow에 있는 이미지 분류 같은 걸 돌려서 거기서 나온 텍스트 더미로 그 다음 단계를 어떻게 해야 하나 궁리하는 정도였다. 텍스트 결과물이 만족스럽거나 하진 않았지만 어쨌든 일단 다음 진행단계를 밟아야 유의미한 진척이 생기기 때문에 한 눈 질끈 감고 정확도가 낮으면 나중에 다시 돌아보자고 생각했었다.
그리고 얼마 전 드디어 (나로서는) 놀라운 결과물을 내주는 도구를 찾았다. AI 모델을 로컬에서 실행해주는 ollama에 qwen25vl:7b 모델을 붙여서 일련의 이미지를 먹이면 내가 얻고자 했던 이미지의 특성들을 착착 뽑아준다. 이 비전 모델을 실행하려면 갖춰야될 GPU 메모리 크기가 약간 장벽이지만 원하는 결과물이 나오는 이상 그 정도는 문제가 안 된다.
ollama를 처음 접했을 때 느꼈던 가능성, AI 관련 각종 기술과 용어들을 따라가지 못해서 어쩌지 하는 막막함이 ollama 같은 걸 그냥 블랙박스로 두고 그동안 쭉 해왔던 것처럼 API로 호출해서 잘 활용해주면 업무 현장에 여전히 내 역할이 있겠구나 하는 납득으로 바뀐 그 느낌이 이번에도 비슷하게 온다. 이거라면 예전에 텍스트까지만 수작업으로 직접 구현하고 이미지는 적당한 검사 서비스 제공자를 못 찾아서 결국 포기했던 성인물 검사도 상당한 수준으로 만들어낼 수 있을 것 같다.
물론 모든 난관이 한방에 해소된 건 아니다. 영상 분석의 앞뒤로 이어져야 할 프레임 추출 등의 작업들을 위해 MCP를 활용하려고 찾아봤는데 비전 모델이 MCP 연동까지 지원하지 않기도 하고, 요즘 추세가 여러 모델을 혼합해서 쓴다고도 하고, 아예 A2A라고 기능 단위의 에이전트들끼리 통신하는 게 필요하다고도 한다. 아주 단순화해서 이해하자면 사람이 수동으로 하는 걸 MCP라는 이름으로 모델에서 넘기고 필요하면 IPC 같은 게 되게 한다는 거다. 그럴듯하게 들리긴 하는데 아직 필수라고 느껴지진 않아서 일단 수동으로 때워야 할 부분 같다.
또 ollama는 임베딩 기능을 텍스트에만 지원해서 영상으로 다른 비슷한 영상을 찾게 하는 건 다른 구현을 통해야 할 것 같다. ollama 같이 모델 돌려주는 역할을 하는 다른 동네에서는 된다는 얘기가 보이니 찾아보면 해결은 될 것 같다.