라벨링에 대한 고찰
Last updated
Last updated
어떤 데이터가 있다. 해당 데이터는 이미지나 글자, 소리 등이 될 수 있다. 해당 데이터는 자체적으로 정보(Information)를 나타내고 있다.
하지만 데이터 내 정보 속에 담긴 의미(Knowledge)는 정보를 보고 찾아야 한다. 데이터 속에 정보(Information)을 찾아 지식(Knowledge)를 만들어내거나 기입 또는 연결하는 것을 라벨링이다. 라벨링을 통해서 정보를 지식으로 가공하고 이를 컴퓨터가 머신러닝 학습하여 지식을 습득하여 지혜(Wisdom)으로 만들 수 있다.
DIKW 피라미드를 생각하면 좀 더 이해하기 쉽다. 데이터에서 나타나는 정보에 대해서 지식를 찾는 작업이 라벨링이다. 라벨링한 지식을 가지고 머신러닝 학습을 진행하고 나타나는 패턴을 찾는 것이 지혜(Wisdom)으로 볼 수 있다.
예시를 들어보면 아래의 그림으로 강아지 4마리가 사람과 같이 있고, 사람들이 뒤에 앉아있는 사진이 있다. 해당 사진에서 사람은 쉽게 강아지 4마리와 사람이 어디 위치에 있는 지 쉽게 찾을 수 있다.
하지만 이를 컴퓨터가 찾아야 한다면 이야기는 달라진다. 컴퓨터는 강아지와 사람을 특별하게 구별할 수 없다.
그렇기 때문에 강아지와 사람이 저 이미지 화소 중에 어디어디 부분을 가르키는 건지 라벨링을 해줘야 한다. 개개인이 갖고 있는 지식을 사용하거나 개와 사람에 대한 인지학습을 한 후 라벨링 진행한다.
라벨링은 얻고자 하는 정보를 데이터에서 취득 후 지식으로 변환하는 작업이다. 사람이 데이터를 이해하지 못하는 것은 얻고자 하는 정보를 찾지 못한다는 것과 동일한 이야기이다.
라벨링 작업 시 가장 중요한 것은 라벨링을 통해서 얻고자 하는 것이 어떤 것인지 분명하게 알아야 한다. 이를 알아야 목적에 맞게 라벨링을 할 수 있다.
라벨링 프로젝트에서 작업 수행 전 해당 데이터를 어떻게 사용하고 어떤 정책으로 라벨링을 하는 지에 대한 가이드라인을 작성해서 배포한다. 가이드라인 작성 시 데이터를 어떻게 사용하려는 지에 대한 내용이 녹여저서 제공이 된다. 이를 바탕으로 데이터에 대한 이해를 완료하고 작업을 시작해야 완성도 높게 작업이 완료된다.
얻고자 하는 목표가 무엇인 지 모르고 하는 라벨링은 밑빠진 독에 물붇는 격이다.
CVAT 2.13 버전 기준입니다.
위 링크에 접속을 하면 간단한 회원가입 후 우측 상단의 + 버튼을 하이라이트하여 Create a New Task를 누른다.
이름(Name)에 연습할 데이터를 대표하는 제목을 작성한다.
Labels 란에 기입하려는 라벨을 정의한다.
Select files
에 밑에 적힌 내용처럼 드래그하거나 눌려서 작업하려는 이미지를 선택한다.
선택이 완료되면 Submit
를 클릭한다. 작성한 내용에 맞게 작업공간(Tasks)가 생성되고, 완료되면 알림을 띄워준다.
완료 이후 좌측 상단의 Tasks를 클릭해서 만들어진 작업공간에 Open을 눌려 들어간다.
위에서 예시로 든 사진에서 가장 앞에 있는 강아지의 윤곽을 그려보았다.
복잡한 이미지의 윤곽을 라벨링할수록 난이도 및 시간이 많이 소요된다. 이미지 테스크에서 도형은 사각형, 폴리곤, 폴리라인, 포인트 등 여러가지 요소들이 들어갈 수 있다.
에서는 본인이 준비한 이미지 데이터를 가지고 직접 라벨링해볼 수 있다. 무료이고 간편하게 연습해볼 수 있어서 추천한다.