직원을 고객인 줄 안다고요? 메이아이는 구분해냅니다

더 정확한 매장 데이터를 위해: 메이아이의 직원 필터링 기술

안녕하세요, 메이아이의 Lead Researcher 박진우입니다.

메이아이에서는 매장 내 방문객들의 행동 데이터를 추출하고 있습니다. 하지만 사람의 행동을 정확하게 인식한다고 해도, 간혹 데이터가 정확하지 않게 나올 때가 있습니다. 매장에 상주하는 직원도 방문객으로 보고 행동 데이터의 일부로 측정되기 때문입니다.

일례로 저희가 분석하는 한 매장의 경우 직원에 의해 발생하는 입장 데이터가 전체 입장 622회 중 31회로, 실제 데이터의 5% 정도를 차지하고 있습니다. 이는 매장 내 데이터를 분석할 때, 실제값과 오차가 생길 수 있어 직원을 구분하여 데이터에서 제외하는 기술로 해결할 수 있습니다.

일반적으로 직원을 구분한다고 할 때 가장 쉬운 방법은 얼굴을 인식하는 것입니다. 하지만 이 방법은 직원 개인 감시 논란이 일 수 있는 주제이기도 하고, 기술적으로도 얼굴이 잘 보이지 않는 경우가 많은 오프라인 환경에서 이용하기 어려운 방법입니다.

따라서 메이아이에서는 데이터 오차를 없애기 위해 효율적으로 직원과 고객을 구분해 필터링하는 다양한 방법을 연구하고 있습니다. 이 글에서는 가장 기본적인 방법 몇 가지를 소개하고자 합니다.


유니폼을 입은 직원 구분 OK: 분류 모델

가장 일반적이고, 가장 효과적인 방법은 유니폼을 입은 직원을 구분하는 방법입니다. 대부분 매장의 고객 응대 직원들은 일반 방문객과 구분되기 위해 눈에 띄는 유니폼을 입고 있는 경우가 많습니다. 따라서 행동 데이터를 발생시킨 인물의 유니폼 착용 여부를 별도 AI 모델을 통해 확인하고, 이러한 인물들의 행동 데이터를 노이즈로 처리해 실제 데이터에서 제외할 수 있습니다.

이렇게 특정 유니폼을 구분해내는 작업은 AI 문제에서 가장 기본적인 ‘분류 문제(classification)’로 해결할 수 있습니다. 분류 문제란 주어진 이미지에 대해서 해당 이미지가 속한 분류 클래스를 추정하는 문제입니다. 유니폼을 구분하는 경우에는 일반 방문객인지 혹은 직원인지 둘 중 하나로 분류하는 ‘이진 분류 문제(binary classification)’, 혹은 직원의 유니폼이 여러 가지인 경우 유니폼 수만큼 분류 클래스를 나누는 ‘다중 분류 문제(multi-classification)’로 접근할 수 있습니다.

이런 식으로 이미지를 분류할 때는 데이터에 불균형이 생기는 점을 주의해야 합니다. 예를 들어 방문객과 직원 데이터가 동수로 수집되는 것이 아니라, 80:20으로 수집되는 것을 말합니다. 이러면 AI 모델이 데이터를 학습하는 과정이 잘 이뤄지지 않기도 하고, 특정 유니폼에서만 잘 동작하는 등의 문제가 발생할 수 있습니다.

따라서 직원 유니폼 데이터셋을 제작할 때는 직원 유니폼 이미지를 최대한 확보하도록 하고, 검증 과정에서도 Accuracy보다는 F1 score를 이용하는 등 불균형으로 인한 오류 발생 가능성을 최소화하고 있습니다.


유니폼이 자주 바뀌어도 OK: 재식별 모델

앞서 살펴본 유니폼 분류 방식은 간단하면서도 정확하지만, 유니폼을 이용해서 직원을 구분할 때는 추가로 고려할 점이 있습니다. 바로 실제 매장에서는 시기에 따라 직원 유니폼이 바뀌는 경우가 많다는 점입니다.

여름 프로모션 시즌에 맞춰 새 유니폼을 입었다고 가정합시다. 이 경우 AI는 해당 유니폼 이미지를 처음 보는 것이므로, 이미지를 다시 학습해 데이터 오염을 최소화해야 합니다. 이런 식의 유니폼 교체는 주기적으로 일어납니다. 그때마다 AI의 학습이 늦어 데이터 오염도가 높아지면 안 되기 때문에, AI가 유니폼 이미지를 재학습하는 과정을 빠르고 효과적으로 할 수 있도록 대비해야 합니다.

메이아이에서는 AI가 새 유니폼 이미지를 빠르고 효과적으로 재학습할 수 있도록 ‘재식별 모델’을 이용합니다. 재식별 모델은 많은 사람의 외형 데이터를 보고 학습을 진행해둔 모델로, 새로운 외형 데이터를 입력했을 때 기존 데이터를 근거로 외형 특징을 잘 구분할 수 있습니다. 백지상태에서 직원인지 아닌지 학습하기보다는, 재식별 모델을 활용해 새 유니폼을 입었는지 구분하고, 이 정보를 바탕으로 ‘새 유니폼=직원’ 하는 식으로 인식하게 하는 것입니다.

이러면 백지상태에서 학습하는 것에 비해 정확도가 높아지며, 학습에 수초~수분 정도밖에 걸리지 않아 효율이 높아지는 등의 장점이 있습니다.


유니폼이 없어도 OK: 동선 추적 기능

지금까지 살펴본 것처럼, 대다수의 매장에서는 유니폼을 인식하는 것으로 직원을 매우 효과적으로 구분할 수 있습니다. 하지만 몇몇 매장의 경우 유니폼이 없거나, 혹은 유니폼이 일반 옷차림과 잘 구분되지 않는 경우도 있습니다.

그러한 경우를 위해 메이아이에서는 직원을 구분하는 방안을 꾸준히 연구하고 있는데, 그중 하나는 ‘동선 추적 기능’을 이용하는 것입니다.

기본 개념은 간단합니다. 몇몇 매장에는 직원용 휴게실처럼 직원만 출입할 수 있는 공간이 있습니다. 이를 이용해서, AI가 직원 전용 공간에 출입한 인물의 복장(외형)을 기억하도록 합니다. 그러면 해당 복장을 한 인물이 다른 장소에서 나타날 때 직원으로 간주할 수 있습니다.

메이아이에서는 동선 추적 기능을 통해 서로 다른 시점에 등장한 인물의 복장이 동일한지 여부를 파악합니다. 이러면 유니폼이 없거나 일반 옷차림과 큰 차이가 없는 공간에서도 직원을 구분하는 작업을 진행할 수 있습니다.

물론 이 과정의 경우, 모든 직원이 해당 공간을 이용한다고 보장할 수 없는 등 특정 유니폼을 이용해 식별하는 것보다는 구분 정확도가 떨어질 수는 있습니다. 다만, 유니폼이 없는 상황에서 데이터 오염을 최소화하기 위해서라면, 차선책으로 충분히 선택할 수 있을 것입니다.


더 정확한 매장 데이터, 직원 분류 기술로 OK

이번 포스트에서는 메이아이의 직원 구분 기술에 대해 알아보았습니다. 메이아이의 서비스를 이용한다면, 직원 구분 기술로 더 정확하게 방문객 데이터를 분석하실 수 있습니다. 매쉬 도입을 고민하고 있다면 아래 소개서를 받아 더 많은 분석 기술을 확인해보셔도 좋겠습니다.


You've successfully subscribed to 메이아이 공식 블로그
Great! Next, complete checkout to get full access to all premium content.
Error! Could not sign up. invalid link.
Welcome back! You've successfully signed in.
Error! Could not sign in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.