폴리라인 어노테이션에 대해 얼마나 알고 계신가요? 컴퓨터 비전 초심자를 위한 가이드
기술, 인공 지능, 컴퓨터 비전의 세계에서 과학자와 엔지니어를 위시한 모든 사람들이 가장 뜨거운 논의를 펼치는 주제가 바로 자율주행 자동차입니다. 테슬라나 우버와 같은 회사에서 기술이 진보하는 걸 목도한 사람들은 이게 앞으로 우리의 이동 계획을 얼마나 바꾸게 될지, 나아가 앞으로 다양한 산업과 일자리에는 어떤 영향을 미치게 될지 궁금해하게 되었죠.
독립적인 운행이 가능한 자동차나 트럭을 만드는 건 결코 쉬운 업적이 아닙니다. 수십만 개의 데이터 포인트를 학습해 차선과 표지판을 정확하게 해석하는 동시에 사람처럼 빠르고 정밀하게 주행할 수 있어야 하니까요.
하지만 정확히 어떻게 이런 데이터를 구축하고 기계가 이해할 수 있는 방식으로 어노테이션 할 수 있을까요? 컴퓨터 비전과 자율주행 자동차 업계는 이 문제를 해결하기 위해 폴리라인을 사용합니다.
폴리라인은 무엇이고 어떻게 써야 하나요?
머신러닝과 컴퓨터 비전의 핵심은 수십만 장의 이미지와 비디오 프레임입니다. 기계는 이 데이터들을 해석해 적절한 하나의, 또는 일련의 액션을 취합니다. 이 데이터를 어노테이션 하기 위한 방법론은 결국 이 데이터가 어떤 분야, 또는 어떤 목적에서 활용되느냐에 따라 달라집니다.
여러분의 모델이 가장 집중하는 부분이 길이나 도로라면, 선형으로 길과 도로의 구조를 추적하고 각각의 꼭짓점을 연결해 주는 폴리라인을 사용하면 됩니다.
스플라인
현실에서는 완벽하게 일직선인 선은 거의 존재하지 않기 때문에 폴리라인을 별도의 조작 없이 모든 데이터셋에 적용할 수는 없습니다. 그래서 폴리라인 대신 보다 곡선이 많은 표지의 외곽선을 따기 위해서는 스플라인을 사용합니다. 스플라인은 폴리라인과 비슷한 형태를 지니고 있고 동일한 도구로 만들 수 있습니다. 유일한 차이가 있다면 슈퍼브 플랫폼에서 제공하는 것과 같은 선택 도구를 활용해 외곽선을 구부려 곡선을 표현할 수 있다는 거죠.
폴리라인 활용 사례
도로 표지판
운전자들은 자기 자신과 타인을 안전하게 보호하기 위해 도로 위의 다양한 표지판이나 표시들에 주목해야 합니다. 그리고 자율주행 자동차도 마찬가지로, 충돌을 피하려면 기본적이지만 아주 중요한 도로의 규칙들을 반드시 이해하고 있어야 합니다. 이런 거리의 표시들을 알고 있느냐 아니냐의 차이는 마치 안전하게 항해하느냐 침몰하느냐의 차이와도 같습니다.
자전거 도로, 버스 정류장, 횡단보도 등은 사람들에게는 모두 익숙하고 기본적인 것들이지만 기계에게는 반드시 가르쳐야 하는 것들입니다. 심지어 각 도시나 국가는 서로 다른 교통 법규를 따르고 있습니다. 예를 들어, 영국에서는 미국과는 반대 차선으로 주행합니다. 이런 차이들은 전 세계 곳곳에 존재하기 때문에 우리 모델은 이런 차이에 반드시 적응할 줄 알아야 합니다.
폴리라인을 사용하면 우리의 자율주행 자동차도 다양한 도로 표시들을 읽고 이해하여 법규를 준수하며 주행할 수 있습니다.
차선 감지
도로 표지들과 마찬가지로 자율주행 자동차들은 도로를 구성하는 차선들도 인식할 줄 알아야 합니다. 예를 들어, 두 줄의 선이 붙어 있으면 중앙선이고, 중앙선을 기준으로 차들이 주행하는 방향이 달라지며, 점선으로 된 흰 차선은 일방 통행이죠. 차로변경 보조를 생각해 보세요. AI가 운전자가 갑자기 차선을 넘나들지 않고 차선 안에 머무르도록 보조하죠.
자동차 회사들이 AI에 익숙해짐에 따라 운전자들은 이런 기술의 혜택을 누릴 수 있게 되었습니다. 그리고 이게 가능해진 이유는 바로 폴리라인 어노테이션 덕분입니다. 차선의 경계와 도로의 표지들을 이해하는 능력은 자동차를 운행하는 데 핵심적입니다. 이게 없다면 반드시 사고가 발생하고 전체적인 혼잡이 야기되겠죠.
차선은 기본적으로 직선의 형태를 지니고 있기 때문에 이런 상황에서는 폴리라인을 사용해 어노테이션 하는 것이 가장 이상적입니다. 너무 많은 디테일을 잡지 않으면서 차선의 방향을 추적할 수 있고, 또 아주 효율적으로 작업할 수 있어 어노테이션 작업자에게 큰 도움이 됩니다.
장애물 감지
차를 운전할 때 장애물을 만나는 건 그다지 드문 일이 아닙니다. 여러 방해 요소를 만나는 것도 주행 경험의 일부니까요. 사람은 자라면서 마치 제 2의 본능과도 같이 이런 방해 요소들을 잘 회피하는 방법을 익히게 됩니다.
하지만 자율주행 자동차는 이런 도로 위의 장애물들을 인식하고 회피하는 법을 별도로 학습해야 합니다. 그런 점에서 폴리라인 어노테이션은 과도한 디테일 없이 이런 표지들을 간결하게 라벨링 할 수 있는 좋은 어노테이션 방식입니다.
로보틱스
산업용 로봇들은 주로 물류창고에서 사물을 옮기거나 정확한 위치에 배치시키는 용도로 많이 사용됩니다. 예를 들면, 로봇이 대표적으로 많이 활용되는 분야가 물품 재입고입니다. 효율적이고 많은 시간과 돈을 아낄 수 있는 좋은 방법이죠.
이런 모델을 만들 때는 확실히 바운딩 박스가 좋은 어노테이션 타입이겠지만, 특정 객체를 정해진 위치에 배치하고 싶다면 폴리라인으로 두 선 사이에 “타겟 존”을 생성하는 것이 더 쉬운 방법일 수도 있습니다.
농업
농축산업에서는 대부분 개별 과일, 잎 등 식물의 구성 요소의 외곽선을 따기 위해 세그멘테이션을 활용합니다. 하지만 반드시 이 정도로 자세하게 어노테이션해야 할 필요는 없는 경우도 있지요.
어떤 경우에는 밭고랑이 중요할 수도 있고, 이 때는 라벨링 기술 중 폴리라인이나 스플라인을 사용하는 것이 가장 좋습니다. 게다가 농업은 비단 식물에 국한되는 것이 아니지요.
농부들은 병충해 방지를 위해 해충의 등장 여부를 추적해야 할 수도 있습니다. 이 때 폴리라인을 사용하면 손쉽게 해충들의 다리 모양을 본딸 수 있습니다.
최적의 활용 방법
클래스 설정하기
한 이미지에 있는 서로 다른 라벨들은 각기 아주 다른 것을 의미할 수도 있습니다. 뻔한 소리 같겠지만, 이렇게 생각해 보세요. 만약에 여러 종류의 동물이 있는 이미지 한 장을 어노테이션 한다면, 각각의 객체를 일반적인 생명체로 분류하시겠어요, 또는 서로 다른 종으로 구분하시겠어요? 예를 들어 기린은 코끼리와 아주 다르기 때문에 서로 다른 종으로 구분하고 싶으실 수도 있죠.
당연한 소리 같겠지만, 도로 이미지를 라벨링할 때는 이런 차이가 훨씬 줄어듭니다. 도로 가운데에 색칠된 차선은 적절한 교통 흐름이 어떤 것인지, 예를 들면 이 길이 일방통행인지 양방통행인지를 알려줍니다.
슈퍼브 플랫폼 같은 어노테이션 툴을 사용하면 손쉽게 이미지 클래스를 추가할 수 있어 모델이 도로를 원활하게 이해할 수 있습니다.
데이터 편향 피하기
앞서 언급했듯이 세계 각지의 교통법이 모두 다릅니다. 한 곳에서는 멀쩡해 보이는 일이 다른 곳에서는 큰 사고를 일으킬 수도 있습니다. 그래서 전 세계에서 통용되는 AI 모델을 만들고 싶다면 서로 다른 교통 규칙을 이해하고 적응할 수 있게 만드는 것이 아주 중요합니다. 서로 다른 지역에 적응해야 한다는 이야기죠.
이와 더불어 더 효과적인 컴퓨터 비전을 위해 이미지를 적절히 사용하는 게 좋습니다. 차선 종류나 도로 뿐 아니라 날씨나 기후까지 다양한 이미지들을 사용한다면 다재다능한 모델을 구현하기 훨씬 쉽습니다.
섬세하게 그리기
이미지 어노테이션이 엄청난 정밀함과 정확도를 요하는 일임은 익히 아실 겁니다. 그렇지 못한 어노테이션으로 학습한 모델은 성능이 떨어지고 테스트 중에도 원하는 결과를 생산하지 못할 겁니다. 아무렇게나 차선의 외곽선을 그린다면 모델이 어디로 주행해야 하는지 정확히 해석하지 못해 사고로 이어질 가능성이 있습니다.
반대로 라벨을 부정확하게 분류하는 것도 성능 저하로 이어질 수 있습니다. 그렇기 때문에 폴리라인으로 효과적인 ML 모델을 구축하려면 우수한 QA 팀이나 주제 전문가가 있는 것이 좋습니다.
마치며
폴리라인 어노테이션은 차선, 도로, 고랑, 로봇을 위한 물류창고 내 타겟 존 등과 같이 선형의 표면을 라벨링할 때 사용하기 좋은 간단한 어노테이션 방식입니다. AI가 우리 일상에 더 깊이 스며들게 되면서 라벨링을 빠르게 할 수 있는 솔루션을 찾는 것이 업무 부담을 줄이는 데 크게 중요해졌습니다.
폴리라인을 사용하면 ML 전문가들은 서로 다른 길이나 도로를 구분하기 위한 경계선을 손쉽게 그릴 수 있습니다. 고성능의 자율주행 자동차를 개발하려면 수십만 개의 폴리라인 어노테이션과 객체 탐지 기술을 활용해 운전자들의 안전을 보장해 줄 수 있어야 합니다.
그러려면 결국 모델이 얼마나 차선 종류, 장애물, 다가오는 자동차 등을 잘 구분할 수 있는지가 중요해지겠죠. 따라서 적절히 라벨링 된 강건한 데이터셋을 구축하는 것이 모든 모델의 기본이 되어야 하고, 이 작업의 중요도를 과소평가해서는 안 될 것입니다.
어떻게 머신러닝 기술을 사용해서 더 빠르게 더 효과적인 모델을 구축할 수 있는지 더 많은 내용이 궁금하시다면 저희 웹사이트에 방문하시거나 세일즈팀에 문의해 주세요.