Image
안녕하세요, 이번 글에서는 데이터헌트가 데이터 가공 작업에 Image Segmentation 기술을 어떻게 활용했는지, 구체적으로는 마스크, 폴리곤 을 어떻게 사용하는지, 마지막으로 그 효과는 어땠는지 실제 사례를 들어 소개하도록 하겠습니다.
Image Segmentation이란 이미지 내 객체 또는 배경을 픽셀 단위로 분류하는 기술입니다. 이미지의 가장 작은 단위인 픽셀 수준에서 레이블링을 하기 때문에 Dense label이라는 표현을 하기도 합니다. 그리고 이 기술은 영역을 분리하는 방식에 따라 Semantic segmentation, Instance segmentation, Panoptic segmentation으로 나눌 수 있습니다.
각각을 짧게 설명하자면,
그리고 레이블링 된 각각을 마스크(mask)라고 부릅니다.
그렇다면 위의 마스크는 사람이 어떻게 만들 수 있을까요? AI의 도움이 없다면 손수 만들 방법은 크게 2가지가 있습니다.
하지만 브러쉬 기능을 쓴다면 하나하나 색칠해야 하는 번거로움이 있으며, 폴리곤을 만든다고 해도 많은 점을 찍어야 하기 때문에 번거롭습니다.
둘 중 어느 기능을 활용하는게 더 나을까요? 브러쉬와 폴리곤 두 기능을 모두 고려하여 많은 실험을 수행한 결과, 폴리곤 작업이 정확도나 시간 측면에서 낫다고 판단했습니다. 하지만 비교적 괜찮았을 뿐, 자동차 하나에도 많은 점을 찍어야 하기 때문에 수만 수십만장의 이미지를 작업하려면 AI의 도움이 절실했습니다.
AI를 통해 마스크 또는 폴리곤을 얻는 방법은 여러가지가 있습니다. 몇가지를 소개드리자면
마스크를 얻는 방법
폴리곤을 얻는 방법
등이 존재합니다. 데이터헌트에는 위의 방법 중 여러가지가 탑재되어 있지만 이번에 소개해드릴 방법은 얻은 마스크를 폴리곤으로 변환하는 알고리즘입니다. 그 이유는 앞서 설명했듯, 작업자 입장에서는 브러쉬보다 폴리곤 작업이 보다 쉬웠다는 통계를 얻었기 때문에 AI를 통해 더 좋은 폴리곤을 전달하는 것이 가장 효과적이라고 판단했습니다.
하지만 AI도 만능일 수는 없습니다. 위 그림과 같이 AI를 통해 자동차를 둘러싸는 폴리곤을 얻을 수 있었지만 그 정확도는 둘째치고 문제는
이었습니다.
친절하게 많은 점을 찍어준 건 좋은데, 그만큼 손이 많이 가는 작업이 되어버렸습니다. 따라서 점의 개수를 효과적으로 줄이는 방안이 필요했습니다.
첫번째는 기울기의 변화를 활용하여 점의 개수를 줄이는 방법입니다.
위의 그림과 같이 초기에는 거의 직선으로 보이는 구간 안에 점이 6개나 찍혀있는 것을 알 수 있습니다. 하지만 이렇게나 많이 필요하지 않겠죠. 임의의 시작 위치부터 하나씩 기울기를 참조해가며 그 변화량이 적은 구간은 과감하게 점을 삭제해버렸습니다.
다음 방법은 객체의 사이즈와 곡률을 고려하여 점의 개수를 직접적으로 줄이는 비율 기반 필터링입니다.
위의 두가지 필터링을 거쳐 어떤 결과물이 나올까요? 분명한 점은 점의 개수를 줄였음에도 폴리곤이 객체를 잘 둘러싸고 있다면 성공일 것입니다. 아래는 왼쪽부터 마스크를 얻고, 폴리곤으로 변환한 후 점의 개수를 줄이는 과정을 보여주는 그림입니다.
겉보기에도 많은 점을 줄인 것에 반해 작업의 퀄리티는 거의 변함 없는 모습입니다. 데이터헌트에서는 이런 과정을 거쳐 작업자들에게 더 나은 폴리곤을 전달하고 있습니다.
위와 같은 과정이 폴리곤 작업에 얼마나 도움이 됐을까요? 실제 작업을 통해서 AI를 도입했을 때와 그렇지 않았을 때의 시간을 직접 비교함으로써 작업 효율을 측정했습니다.
결과는 평균적으로 50% 수준의 작업 시간의 단축을 보였습니다. 작업 시간을 절반 가까이 줄임으로써 같은 시간에 더 많은 작업을 함과 동시에 데이터 품질에 할애할 시간이 늘어나게 되었습니다.
이렇게 만든 AI 모델은 데이터헌트와 삼성전자가 현재 함께 진행하고 있는 과제에 도입되어 더욱 우수한 결과물 산출에 기여하고 있습니다. 수만장에 달하는 이미지에 자체 개발한 AI가 적용되어 작업 시간 단축은 물론 더욱 작업물에 대한 철저한 검수가 이루어지고 있습니다.
본 과제에서는 객체마다의 다양한 기준과 기타 정책이 있어 위의 실험과 같은 작업 시간 단축은 어려웠습니다. 그래도 상당한 수준의 개선이 있고 작업자들의 AI 활용에 대한 만족도가 높습니다.
이번 글에서는 Image Segmentation 및 마스크와 폴리곤이 무엇인지, 그리고 그 과정과 실제 사례를 소개했습니다. 그리고 데이터헌트에서 AI를 활용해 어떤 방법으로 작업을 효율화했으며 그 정량적 수준까지 설명드렸습니다.