ML 프로젝트별 최적의 데이터 어노테이션 타입을 선택하는 방법

ML 프로젝트별 최적의 데이터 어노테이션 타입을 선택하는 방법

머신러닝이나 컴퓨터 비전 모델을 만드는 것은 어느 팀에게나 힘들고 귀찮은 일입니다. 특히 처음이라면 고난의 연속일 수 밖에 없죠. 하지만 시작이 반이라고, 어디서부터 시작해야 하고 어떤 라벨링 타입을 채용할지 결정하면 반은 온 것이나 다름 없습니다.

프로젝트를 어떻게 진행할지는 이 프로젝트에 얼마나 많은 디테일, 예산, 데이터, 시간이 필요한지에 따라 완전히 달라집니다. 그리고 각 객체가 얼마나 정밀하게 라벨링되어야 하는지에 따라서도 달라지죠. 예를 들어, 만약 여러분의 팀에서 암 발병 위험이 높은 환자의 특정 세포 병리를 탐지하는 모델을 학습시키려고 한다면 바운딩 박스만으로는 충분하지 않을 것입니다. 반면 주민 거주지역의 일상적인 객체의 위치를 파악하려고 한다면 바운딩 박스 정도로도 충분하겠죠.

그러니 머신러닝 프로젝트의 최종 목표가 무엇인지를 명확히 정하는 것이 어떤 라벨링 방식을 채용할지를 결정하는 첫 걸음이 되는 것입니다. 그러면 정확히 어떻게 해야 하는 걸까요?

데이터 라벨링의 세계를 이미 경험해 보신 분들이라면 머신러닝 모델에 사용할 데이터를 라벨링하고 모델을 구축하고 개선해나가려면 무엇이 필요한지 이미 익히 알고 계실 겁니다. 반대로 이제 갓 이 세계에 발을 들이시는 초심자라면 바로 프로젝트를 진행하기 전에 몇 가지 알아두어야 할 것들이 있습니다. 그 중에서도 가장 중요한 것이 바로 여러분의 프로젝트에 어떤 라벨링 타입이 가장 적절한지를 파악하는 것입니다.

그러기 위해서는 아래 요소들을 고려해야 합니다.

1. 시간

컴퓨터 비전 모델을 제대로 만들려면 매뉴얼 및 자동 라벨링을 수천 시간 진행해야 합니다.

그리고 모델 구현에 얼만큼의 시간을 쓸 수 있는지, 테스트에는 몇 시간이 필요한지, 그리고 모델 업데이트가 자주 필요할 것인지도 모두 고려해야 합니다.

2. 예산

FAANG과 같은 일부 유수 기업의 팀들은 예산과 자원이 무제한이어서 원하는 만큼의 인력, 외부 툴, 아웃소싱 매뉴얼 라벨링 서비스를 활용할 수 있겠습니다만, 대부분의 팀들은 그렇지 않습니다. 훨씬 규모가 작고, 재정적인 여유도 부족하고, 라벨링 플랫폼에 쓸 수 있는 자금도 한정적입니다.

3. 프로젝트 목표

정확히 어떤 목표를 달성하고 싶은지 확실히 정하면 어떤 접근법을 취해야 하는지도 빠르게 감이 잡힙니다. 어느 정도의 디테일이 필요한지를 평가하고 최종 결과물에 기대하는 바를 확실히 정하고 나면 프로젝트를 진행하면서 방향을 잃을 걱정은 덜 수 있을 것입니다.

바운딩 박스

가장 쉬운 라벨링 타입으로 흔히 언급되는 것이 바로 바운딩 박스입니다. 작업자는 그리기 도구를 이용해 특정 객체를 감싸는 박스를 그리게 되는데, 이 때 주의할 점은 박스가 정확히 목표 객체만 포함하고 모서리까지 타이트하게 감싸야 한다는 것입니다. 바운딩 박스는 분류 작업이나 디테일이 별로 필요하지 않은 객체 위치 식별과 같은 작업에 아주 적합합니다.

다시 말하지만 모델이 얼만큼의 디테일을 요하는지 확인하는 것이 중요합니다. 만약 객체의 윤곽선을 명확히 알 필요 없이 전체적인 객체를 식별할 수 있는 수준만 되어도 된다면 바운딩 박스를 추천합니다.

실제 적용 사례

경험상 작업마다 잘 어울리는 라벨링 타입이 따로 있는데요. 바운딩 박스는 리테일, 제조, 로보틱스 산업 등에서 모든 일상적인 객체를 어노테이션 할 때 자주 사용됩니다. 예를 들어, 많은 상점들이 셀프 체크아웃 스테이션을 운영하는데, 계산하지 않고 도망치는 사람들을 잡기 위한 카메라와 같은 보안 설비를 적용하는 경우가 많습니다. 머신러닝 모델을 통해 카메라를 학습시키고 나면 카메라 영상 기록을 통해 손님들이 가져가는 객체를 쉽게 식별할 수 있습니다.

각 객체는 수천 번씩 어노테이션 되어야 하기 때문에 바운딩 박스를 많이 활용하게 됩니다. 또 선반의 재고를 채우는 로봇 역시 각 통로에 어떤 객체가 위치해야 하는지 이해해야 합니다. 그러니 여기도 마찬가지죠. 로봇이 각 제품과 제품의 위치를 정확히 인식할 수 있어야 하고, 이런 유즈 케이스에는 바운딩 박스가 가장 적합합니다.

또 바운딩 박스는 우리 주변에 너무나 흔해서 보통 깊이 생각하지 않는 부분에도 많이 사용되고 있습니다. 예를 들어볼까요? 최근 기술에 관심이 많거나 사진을 전문적으로 찍는 사람들 사이에서 드론에 대한 관심이 커졌습니다. 일반 소비자들이 고화질 사진이나 영상에 익숙해졌기 때문인데요, 덕분에 좋아하는 스포츠 게임을 볼 때 고화질 영상으로 감상하기를 기대하는 것이 보통이죠.

이런 영상은 머리 위에서, 사람이 조작하여 촬영합니다. 하지만 이제 머신러닝이 발달함에 따라 드론이 사람의 도움 없이 비행하며 자체적으로 영상을 촬영할 수 있게 됐습니다. 다만 사전에 사람, 나무, 새와 같은 일상적인 객체를 학습, 인지해서 회피하며 비행할 수 있는 능력이 있어야 하는데요, 바운딩 박스를 사용하면 드론 모델이 수천 종 이상의 일상적인 객체를 인식하고 충돌을 회피하도록 학습시킬 수 있습니다.


폴리곤 어노테이션

섬세한 디테일이 요구되는 복잡한 머신러닝 및 컴퓨터 비전 모델을 구축하려는 팀에게는 바운딩 박스와 같은 간단한 어노테이션 테크닉은 충분치 않을 수 있습니다. 대신 바운딩 박스보다 더 섬세한 라벨링 방법인 폴리곤 어노테이션이 필요할 가능성이 높죠. 폴리곤 어노테이션은 라벨러가 객체의 외곽선을 픽셀 단위로 섬세하게 그려야 하는 작업입니다.

형태가 불규칙한 사물에 적합하고, 어노테이션에 오로지 객체만 포함되기 때문에 불필요한 정보는 제외시킬 수 있습니다. 폴리곤은 특정 객체와 해당 객체의 어노테이션에 포함된 한정적인 정보만을 모니터링하고 싶을 때 필수적인 어노테이션 타입이라고 할 수 있습니다.

유즈 케이스 및 예시

폴리곤 어노테이션은 과학계에서 많이 사용되는 방식으로, 의료 관련 유즈 케이스에 자주 활용됩니다. 예를 들어 특정 질병이나 병리를 인식하고 진단하는 모델은 이미지 정보를 굉장히 정밀하게 분석할 줄 알아야 합니다. 단순히 종양의 외곽을 바운딩 박스로 표시하게 되면 바운딩 박스와 객체 사이의 여분의 공간에 불필요한 정보들이 포함되지만, 의료 스캔 데이터의 특정 부분을 확대해서 정밀하게 분석하게 되면 모델이 특정 부분이 비정상적인지 모호한지를 더 쉽게 판별할 수 있게 됩니다.

폴리곤 어노테이션은 이렇게 높은 정밀성을 요구하는 작업에 아주 유용하지만, 동시에 엄청난 시간과 노력이 필요한 것도 사실입니다. 그러다보니 규모가 작고 예산과 자원이 한정적인 팀에는 다소 부담스러운 방법일 수 있습니다. 하지만 장기적으로 봤을 때는 폴리곤 어노테이션으로 훈련된 모델로 절약한 시간과 노동력이 라벨링 단계에서 겪었던 고통을 크게 상회할 것입니다.

폴리곤 어노테이션은 의료 뿐 아니라 농업 유즈 케이스에도 필수적입니다. Agriculture technology, 즉 농업 기술의 약자인 애그테크 분야에 종사하고 있는 사람들은 데이터를 활용해 농경지를 더 현명하게 운영하고자 하는데요. 여기에서 현명하게라 함은 식물의 병충해를 탐지하고, 강수량이나 가뭄을 모니터링하고, 생장 패턴을 추적하는 등 다양한 방법을 의미합니다.

농업 분야의 머신러닝은 일반적으로 해충의 유무나 과실의 숙성도와 같이 자연에서 발생하는 몇 가지 시나리오를 학습합니다. 그래서 농경 유즈 케이스를 학습하는 모델은 우리의 통제를 벗어나는 다양한 변수에 반드시 적응할 수 있어야 하며, 따라서 상당히 정밀해야 합니다.


폴리라인

컴퓨터 비전용 폴리라인 어노테이션 예시

💡
슈퍼브에이아이의 컴퓨터 비전 툴로 손쉽게 폴리라인을 어노테이션 하세요.


AI 업계의 뜨거운 감자가 바로 자율주행 자동차 AI인데요. 인공지능을 언급할 때 사람들이 가장 먼저 떠올리곤 하는 분야이기도 합니다. 물론 충분히 그럴 만한 이유도 있죠. 스스로 주행하는 자동차라는 개념이 좋은 소식이든 아니든 신문의 헤드라인을 장식한 것은 사실이고, 기술이 발전함에 따라 점차 현실화되어가고 있으니까요. 그런데 차들이 도대체 어떻게 얼만큼의 속도로 어느 쪽으로 주행하고 어떤 차선을 유지해야 하는지 알 수 있는 걸까요?


ML 엔지니어들은 머신러닝과 컴퓨터 비전을 활용해 모델이 사람같이 생각하고 주행하도록 학습시킵니다. 그렇게 하려면 모델의 도로와 다양한 교통 신호에 대한 이해가 충분히 깊어야 합니다. 아시다시피 자동차가 자율주행하려면 차선, 정지선, 통과하는 타이밍을 정확히 이해해야 합니다. 이런 상황에서는 객체가 일직선일 때 사용하는 어노테이션 타입인 폴리라인이 아주 적절하죠.

작업자는 폴리라인 데이터셋을 구축할 때 도로나 통로의 방향을 보여줄 수 있는 일직선들을 그리게 됩니다. 자동차는 일방통행인 도로나 정지선의 차이, 또는 언제 통과해도 되고 언제 정지해야 하는지를 이해해야 합니다. 사람이 운전할 때는 경험과 감으로, 그리고 운전 면허 시험에서 익힌 내용을 바탕으로 알게 되는 것들이 있습니다. 반대로 자율주행 자동차는 수십만 장의 어노테이션 된 이미지를 바탕으로 이를 익혀야 합니다. 게다가 교통 신호 체계는 국가마다 다르니 모델은 이런 다양한 시나리오에서도 신호를 적절히 해독하고 올바른 결정을 내릴 수 있어야 합니다. 이럴 때 폴리라인을 사용하게 되면 불필요한 정보를 많이 포함시키지 않고도 중요한 도로와 차선을 쉽게 따라 그릴 수 있습니다.


키포인트

컴퓨터 비전용 키포인트 어노테이션 예시

폴리라인과 더불어 키포인트 어노테이션 역시 이미지의 자세한 외곽선이나 박스 형태의 어노테이션이 아닌 직선 형태의 어노테이션을 사용해 객체를 라벨링합니다. 이 때 작업자의 목표는 객체의 뼈대를 표시하는 것이며, 따라서 움직임에 있어 중요한 부분들을 어노테이션 하게 됩니다.

예를 들어, 운동 자세를 이해하도록 고안된 머신러닝 모델의 경우 신체 관절의 움직임에 집중할 것입니다. 반대로 안면 인식 기술을 학습한 모델은 눈, 코, 입 등 얼굴의 중요한 부분들을 위주로 인식할 것입니다. 키포인트는 중요하지 않은 정보는 생략하고 관심 영역만 쉽게 어노테이션 하고자 할 때 유용한 방법입니다.


유즈 케이스

위에 언급했듯이 키포인트 어노테이션은 관절이나 이목구비와 같이 신체의 중요한 교차 지점들에 집중합니다. 그렇기 때문에 움직임 감지 기술을 연구하는 ML 엔지니어들이 흔히 채용하는 방법이기도 합니다. 토날(Tonal)이나 미러(Mirror)같은 최신 홈트레이닝 기계는 실시간으로 사람의 자세를 탐지하고 어떻게 교정해야 할지 제시해주어 건강한 운동 습관을 기르고 부상을 예방할 수 있도록 도와줍니다.


물론, 움직임 탐지는 이런 구체적이고 특수한 유즈 케이스에만 적용되는 것이 아닙니다. 예를 들어 의료 분야에서도 의사들과 과학자들이 다양한 질병들을 관찰하고 치료하기 위해 걸음걸이 분석 및 측정을 연구하고 있습니다. 스포츠에서도 스카우터들이 선수들의 향후 성적과 드래프트를 결정하기 위해 그들의 움직임을 분석합니다.

키포인트는 사실 우리가 매일 사용하는 얼굴로 잠금해제(핸드폰 화면을 바라보면 얼굴을 인식해 잠금 해제)에도 사용됩니다. 스냅챗(Snapchat)이나 인스타그램과 같이 재미있는 필터를 제공하는 앱들도 역시 동일한 기술을 활용했죠. 그리고 보안 기술에도 나라에서 규정한 범죄자들의 얼굴을 인식하도록 학습된 모델들이 적용되어 있습니다. 키포인트의 장점은 얼굴이나 신체의 일부만을 어노테이션하기 때문에 ML 모델이 그 중요한 부분에만 집중할 수 있다는 점입니다. 폴리곤과 같은 다른 라벨링 기술과는 다르게 중요하지 않은 정보는 모두 생략하는 것이죠. 그래서 이런 시나리오나 유즈 케이스에 아주 적합합니다.



마치며

머신러닝과 컴퓨터 비전이라는 망망대해에서 길을 잃지 않으려면 각 프로젝트와 실제 적용에 어떤 관점으로 접근해야 하는지를 이해하는 것이 아주 중요합니다. 식물의 건강과 병충해를 관찰하려는 농업 유즈 케이스라면 상당히 자세한 라벨이 필요하기 때문에 폴리곤 세그멘테이션을 활용해야 합니다. 또는 자율주행 자동차라면 도로면, 경계, 그리고 각각의 의미를 이해해야 하기 때문에 폴리라인을 사용해야 합니다. 간단한 분류 작업이 필요하다면 바운딩 박스가 적절하고, 움직임을 탐지하거나 얼굴을 인식해야 하는 소프트웨어라면 키포인트가 좋습니다.
프로젝트의 최종 목표를 설정하면 어떤 어노테이션 타입이 최적의 결과를 만들 수 있는지 이해하기 쉽습니다. 거기서부터 어떤 툴을 사용하고, 어떤 인력을 배치하고, 어떻게 모델을 학습시킬지 결정해 나가면 됩니다. 슈퍼브에이아이는 이런 복잡한 어노테이션 과정을 간단하고 효율적으로 만들도록 고안된 종합적인 데이터 라벨링 툴과 플랫폼을 제공합니다. 더 자세히 알고 싶으시다면 저희 세일즈팀(https://www.superb-ai.com/contact)에 문의해 주세요.