이번 시간에는 와인 업계에서 가장 신기해하면서 궁금해 하는 것 중의 하나인 와인 라벨을 ‘인식’하는 메커니즘에 대해서 살펴보도록 하겠습니다. 이번에는 기술적인 내용이 많아 어려울 수 있지만, 가능하면 쉽게 설명해보도록 하겠습니다.

▲ 네이버 AI 랩 광고 모습. 일반 건물의 특징을 뽑아내고 이를 활용한 다양한 서비스에 적용하고 있는 모습. 라벨 인식도 이와 비슷한 맥락에서 검색 가능.

TV 광고에서 네이버AI 센터에 대한 내용이 나오면서 위와 같은 이미지가 나옵니다. 건물 위에 뭔가 표시를 한 것과 같은 것을 말이죠. 나중에 이러한 부분을 특징으로 잡아서 뭔가 재미있는 것들을 합니다. 

와인을 인식하는 것도 이와 비슷합니다. 와인의 병을 인식하고 다양한 것을 할 수 있지만, 오늘은 이 중에서 와인의 라벨을 인식하는 부분에 대해서 살펴보겠습니다.

사람이 와인을 인식하는 과정

여러분을 포함한 일반적인 사람이 와인을 인식하는 과정은 대략 다음과 같습니다.

  • 눈 앞에 놓인 병을 보고 와인인지 다른 주종인지 판단.

  • 병 모양에 따라 보르도 형태인지 부르고뉴 형태인지 등의 여부를 판단.

  • 와인의 라벨을 보고 그 내용을 파악. 색 > 모양 > 글자의 순서.

  • 색과 모양을 보면서 감성적인 느낌, 글자를 통해서 상세한 정보를 파악.

  • 글자는 가로/세로/대각선 등 다양하게 존재, 사람은 비교적 잘 파악.

  • 흘림체, 뒤집기 등 특수 경우도 있으나 경험적으로 잘 읽어내는 노하우 보유.

  • 이때, 다국어가 방해. 다국어로 인해 와인에 대한 정보 파악의 난이도를 결정.

  • 글자의 크기를 통해서 어떤 것이 중요한지 덜 중요한지 등을 파악.

  • 파악한 글자를 통해서 그동안 자신이 가지고 있는 지식을 바탕으로 와인에 대한 정보를 파악하려고 합니다. 예를 들어, ‘Bordeaux’ 라고 하는 단어는 와인에 대한 지식이 있는 사람은 이 단어를 통해서 생각보다 많은 정보를 얻을 수 있는 반면, 그렇지 않은 사람에게는 이름인지 품종인지 산지인지 모르는 단어가 됨.

  • 앞에 말한 종합적은 것을 통해 해당 와인이 어떤 와인인지 상당 부분 습득할 수 있고, 라벨에 적힌 부가적인 정보 이외에 와인 뒷면에 적힌 내용을 보고 대부분의 내용을 파악 가능.

  • 시음을 통해 해당 와인에 대한 ‘감각적인 데이터'를 얻을 수 있고, 이후 다양한 매체를 통해 해당 와인에 대한 유래나 와인메이킹 등의 기타 정보도 습득을 통해 와인에 대한 파악이 가능.

상기 내용보다 세세한 내용이 있을 수 있지만, 일반적인 경우라면 대략 이러한 형태로 와인에 대한 정보를 파악합니다.

아주 간단해 보이는 행위도 매 순간을 세세하게 나눠서 보면 아주 복합적인 내용을 수행하고 있으며, 와인은 많은 공부가 필요하다고 하는 이유가 ‘사전 지식' 존재 여부에 따라 와인을 쉽게도, 어렵게도 만들게 되는 부분이기 때문입니다.

와인 라벨 인식 과정 역시 이러한 과정과 상당 부분 비슷합니다. 다만, 사람과의 방식처럼 접근하는 것이 아닌 전혀 다른 방식으로 와인 라벨을 인식하고 이와 ‘연결된' 와인 정보를 연결하는 것에 그 차이가 있습니다.

다음 내용에서는 와인 라벨 인식을 하는 기술 방식에 대해서 설명해 보겠습니다.

구글(Google)의 'Vision AI' 기술

저는 구글Google이 세상을 ‘지배(?)’할 것이라고 예측하는 사람 중의 한 명입니다. 그들이 하고 있는 내용을 보면 경이롭기도 하고 무섭기까지 합니다. 

다만, 와인 분야에 있어서는 아직 그 시간이 좀 더 필요하거나 와인 부분은 아직 그들의 주된 관심사는 아닌 것 같아 아직은 그 완성도가 떨어지는 편입니다.

▲ 구글에서 제공하고 있는 Vision AI 화면 모습. 구글이 와인에 대한 데이터베이스를 지식 그래프 형태로 구축하고 이와 연결하면 그 정확도는 극적으로 향상될 것으로 기대.

위의 화면은 구글이 제공하는 Vision AI(https://cloud.google.com/vision?hl=ko) 화면입니다. 여기서는 와인만을 대상으로 하지 않고 어떤 이미지라도 해당 이미지가 무엇인지 알려주는 서비스를 제공합니다.

여기서 위와 같은 와인 이미지를 업로드하면 와인 라벨에 있는 글자를 인식하고 해당 이미지가 몇 퍼센트의 확률로 무엇인지 알려주는 부분을 제공합니다. (드링크 94%, 샴페인 94%, 와인 92% 등)

와인을 잘 아시는 사람들이 보면 아직은 그 정확도가 낮은 것 같지만, 아직 와인에 대한 데이터베이스와 연결되지 않아서 생기는 문제입니다. 나중에 와인에 대한 정보가 체계적으로 작성이 되고 이와 연결되면 즉, ‘샴페인(Champagne)’과 ‘프로세코(Prosecco)’의 차이를 인지하는 순간이 오면 그 정확도는 극적으로 향상됩니다.

현재 구글에서는 이러한 지식을 체계적으로 정리하기 위해 모든 데이터를 ‘지식 그래프(Knowledge Graph)’ 라는 형태로 구축하고 있고, 이와 같은 형태가 완성이 되면 해당 부분과 연결되어 해당 이미지가 무엇인지 정확하게 인식하게 될 것입니다.

구글은 이러한 작업을 위해서 다양한 서비스 제공을 통해서 수많은 이미지를 습득하고 ‘학습(Learning)’하고 있는 인프라를 가지고 있습니다. 전 '시간의 문제'라고 생각합니다. 그리고 현재 구글에서 제공하고 있는 프로그램 사용 방식 및 이용 형태 그리고 금액 역시 상당히 경쟁력 있는 형태로 제공하고 있습니다. 특히, 사물을 구성하고 있는 색 분석이라던가 하는 부분은 나중에 다양하게 활용 가능할 것으로 기대됩니다.

다만, 우리가 필요로 하는 기능 역시 아직 완벽하지 않고 (네 그 대단한 구글 컴퓨터(?)도 공부가 더 필요), 와인에 대한 데이터베이스 역시 아직 그 형태를 갖추려면 시간이 더 필요할 것으로 보입니다.

최고의 글자 인식, 네이버 글자 인식 서비스

네 그렇습니다. 우리에게는 네이버가 있습니다. 네이버도 최근 AI 관련된 부분에서 많은 투자를 하고 있고, 글자 인식 분야 대회에서 세계 1등을 하기도 합니다.

▲ 네이버에서 현재 베타 서비스 중인 클로바 글자 인식. 아직 와인 관련 사전 데이터와 연결되지 않아 다소 잘못된 결과와 이를 보정할 방법이 없지만, 시간이 해결해줄 것으로 기대.

위의 화면은 네이버 클로바 서비스 데모 화면(https://demo.ocr.clova.ai/)으로 구글에서 하는 것과 같은 글자 인식을 실제로 해볼 수 있습니다. 

위의 화면에서처럼 와인 업계에 계신 분이라면 잘 알고 계신 ‘크룩(Krug)’ 샴페인을 넣고 인식을 시키면 녹색 선에 있는 부분을 글자라고 인식을 하고 해당 부분을 인식하는 기능을 제공합니다. 실제로 인식된 내용을 살펴보면

KRUG
GRANDE CUVEE
CHAMPAGNE
R UGC
GRANDE CUVEE
164EME EDITION
BRUT
Alc. 12% by Vol. PRODUCTOFFRANCE
PRODUCED BYCHAMPAGNE.KRIG-REMS FRANCE- NM-549-001
750ml

와인의 이름인 KRUG을 ‘K R U G’ 이라고 되어 있다고 잘 인식 못해서, ‘R UGC’ 라고 하고 약간의 띄어쓰기와 특정 단어의 인식이 부족하긴 합니다만 그래도 기대 이상으로 잘 인식합니다.

다만, 이렇게 취득한 정보를 그대로 사용할 수는 없어서 약간의 '후처리'를 한 후에 사용하는 것이 일반적입니다. 예를 들어, ‘R UGC’를 ‘KRUG’으로 바꿔주거나 하는 작업 등이죠.

실제로 해보면 이렇게 글자를 인식하는 것도 아직은 ‘학습’이 부족해서 이를 보정해주는 작업이 필요합니다. 보통의 경우에는 해당 결과를 사람이 틀린 부분을 고쳐주고 다음에는 잘 할 수 있도록 하는 형태를 취합니다. 물론, 네이버 내부에서는 더 좋은 방법을 적용했을 수도 있습니다.

내추럴 와인의 등장

앞선 구글과 네이버의 경우를 살펴보면 동일한 이미지 소스를 놓고 비교해보면 어떤 부분은 구글이 낫고, 어떤 부분은 네이버가 좋은 성능을 보여줍니다. 그래서 이 둘을 적절히 조합해서 사용해서 준비 중인 서비스에 적용했습니다.

▲ 내추럴 와인의 대두로 라벨에 글자 하나 없는 와인들이 대거 출현해서 방식 자체를 바꿔야만 했을 때 대표적인 와인 중의 하나. 본 와인은 따론자, 수입사 타이거인터내셔날.

그러던 어느 날 갑자기 위의 그림과 같은 와인이 대거 등장합니다. 와인의 뒷 부분(Back Label)을 보지 않으면 아는 사람 아니면 어떤 와인인지 전혀 모르는 상황들이 발생하게 됩니다. 내추럴 와인의 대두로 라벨에 아무런 정보도 없이 사람이 봐도 알 수가 없는 라벨들이 나오기 시작합니다.

당연히 기존의 방식으로는 와인 라벨을 인식할 수가 없습니다. 아무런 글자가 없으니 말이죠. 이런 방식으로는 안되겠다고 생각해서 와인 라벨 인식 방식을 전면적으로 바꾸게 됩니다.

그래서 생각해 낸 방식이 글자 인식이 아닌 이미지 그 자체의 특징을 잡아내고 이를 기록하고 이러한 값으로 와인을 인식하는 방식으로 전환을 하게 됩니다.

▲ 와인 라벨의 특징을 찾아내고 이를 비교하는 메커니즘에 대해서 설명한 블로그 이미지. (출처 - https://medium.com/open-knowledge/label-recognition-with-orb-da2b0260f4e4)

좌측 상단은 레퍼런스가 되는 와인 라벨입니다. 와인 라벨을 ‘특징(Features)’를 인식시켜서 기억합니다. 이 부분은 해당 와인에 대한 정보와 매핑합니다.

우측 상단은 실제로 사용자가 검색하고자 하는 와인의 이미지입니다. 사진의 예는 좋지 않은 예이지만, 스마트폰으로 검색하고자 하는 와인 라벨을 찍어 거기서 와인 라벨의 특징을 찾아냅니다.

좌측 하단은 이 둘의 비교 부분을 선으로 연결합니다. 어떤 점이 어떤 점과 연결되는지 연결하는 부분으로 비교합니다. 다소 많아 보이는데 이것은 찾고자 하는 이미지에서 불필요한 정보가 많기 때문에 발생하는 부분입니다.

우측 하단은 실제로 이 둘의 비교 부분에서 불필요한 제거하고(와인 병 주위의 쓸모 없는 특징), 둘을 비교해서 해당 와인이 비슷하다고 판단해서 좌측 상단에 있는 레퍼런스가 되는 이미지와 연결하고 해당 와인에 매핑된 와인 정보를 제공하게 됩니다.

실제로 와인 라벨을 인식하는 모습

▲ 와인 라벨을 촬영하면 레퍼런스가 되는 라벨에서 특징과 비교해서 해당 와인이 데이터베이스의 어떤 라벨과 비슷한지 매치해서 와인에 대한 정보를 주는 모습. 수입사 올드앤레어와인, 와인명 조르쥬 쎄슈.

실제로 와인 라벨을 인식하는 화면은 위의 그림과 같은 형태로 됩니다. 좌측의 모습은 일반적으로 와인 라벨을 촬영하는 모습이고, 우측은 레퍼런스가 되는 미리 준비되어 있는 와인 라벨의 특징입니다. (본 칼럼 맨 앞 부분의 네이버 광고에서 나오는 건물 부분에 + 마크와 비슷하죠?)

실제로 좌측에서 스마트폰으로 와인 라벨을 촬영한 후, 라벨의 특징을 찾아내고 그 결과가 우측에 있는 특징과 비슷하다고 판단되면, 우측 라벨에 연결된 와인의 정보를 보여주는 방식인 것입니다.

이와 같은 방식이 제대로 동작하기 위해서 2가지 조건이 선행되어야 합니다.

  • 와인 라벨을 촬영할 때 와인 라벨 이외의 부분이 나오지 않도록 해야 함

  • 레퍼런스가 되는 와인 라벨은 가능하면 실제 와인 라벨과 비슷해야 함

이 2가지만 제대로 지켜준다면 큰 문제 없이 와인 라벨을 인식하고 원하는 결과를 얻을 수 있지만, 세상은 그렇게 호락호락 하지 않습니다.

와인 라벨 인식을 못하는 이유

와인 라벨 인식이 제대로 안되는 이유는 매우 다양합니다.

첫번째, 가장 대표적인 경우가 와인 라벨 촬영을 할 때 너무 어둡거나 불필요한 영역을 많이 잡아서 생기는 문제입니다. 그로 인해 와인 라벨 특징이 왜곡되어 찾고자 하는 와인 레퍼런스와 맞지 않아서 생기는 문제입니다. 실제로 우리가 보통 와인을 마시는 공간은 비교적 어두운 공간이다 보니 라벨 촬영 시에 어둡게 나오는 경우가 많습니다. 다만, 최근의 스마트폰은 어두운 곳에서 밝게 촬영해주는 경우가 많아서 이러한 문제는 비교적 자연스럽게 해결되고 있습니다.

두번째, 레퍼런스가 되는 와인 라벨의 이슈입니다. 통상 와인 이미지(Bottle)의 모습은 실제로 우리가 보는 모습과는 다소 다릅니다. 또한, 평면이 아니고 원통형이고, 보통 인터넷에 배포하는 이미지와는 해상도 차이가 있어서 레퍼런스로 사용하기 조악한 경우가 많습니다. 최소 수준이 600 x 600 픽셀 이상(권장 1,500 x 1,500)이 되어야 하는데, 이보다 적은 경우가 많아서 이미지는 구분하는데 어려움이 많이 있습니다. 그래서 사용자가 잘 촬영한 이미지가 필요한 경우가 많습니다.

셋째, 동일 라벨에 품종만 다른 경우 종종 문제가 발생합니다. 이 부분은 두번째 레퍼런스가 되는 와인 라벨의 해상도와도 관계가 있는데, 좋지 못한 해상도의 와인 라벨을 인식하다 보니 종종 전체 라벨에서 품종의 작은 차이를 인지하지 못해서 생기는 문제입니다. 이 경우는 고해상도 이미지 (스마트폰에서 촬영한 이미지도 고해상도) 1장 정도만 있으면 대부분 해결됩니다.

▲ 양윤주 소믈리에가 브랜드 앰버서더로 있는 마르께스 카사 콘차의 라인업. 품종 별로 큰 차이를 보이지 않는 라벨이지만, 1장 정도의 학습 데이터만 입력하면 각각을 구분하는 것이 가능.

넷째, 로제Rose와 같은 투명 병의 존재는 굉장히 난이도가 높습니다. 와인 병 자체가 투명이다 보니 특이점을 찾아내거나 글자 부분을 잡아내는 부분이 매우 어렵습니다. 또한, 투명 병을 잡는 손의 위치라던가 조명이라던가 하는 부분에 의해서 상당히 많은 왜곡이 발생합니다. 이런 경우 레퍼런스가 되는 많은 이미지를 준비해야 처리가 가능하거나 상황에 따라서는 불가능한 경우도 있습니다.

처음에는 실패할 수 있습니다. 하지만, 그 실패를 통해서 그 다음에 성공할 수 있다면 그것도 나쁘지 않은 방법이라고 할 수 있습니다. '학습'을 통해서 '진화' 합니다.

와인 라벨을 촬영할수록 진화하는 와인 라벨 검색

비비노를 비롯한 모든 와인 라벨 검색은 처음에는 그 정확도가 낮습니다. 레퍼런스가 되는 보통의 와인 이미지와 실제 와인 라벨 촬영 이미지가 차이가 나는 부분과 해상도 등의 이유로 인해서 작은 차이를 인지하지 못해 생기는 문제가 대부분입니다.

그러나, 현재 결과가 나오지 않더라도 계속해서 사용하다 보면 기존에 찍었던 이미지를 학습 데이터로 사용해서 후 처리를 하게 되고, 점점 그 결과는 나아지게 됩니다. 보통 라벨 촬영을 하면 그 이미지는 해당 서비스의 서버에 저장이 되게 되고 이를 '강화학습'의 기초 '학습 데이터'로 활용하게 됩니다.

와인 검색 서비스 내부에서 소비자가 촬영한 이미지를 살펴보고, 관리자가 '이 와인은 이 와인이야' 라고 하는 형태로 지정을 하는 것으로 소비자가 촬영한 이미지를 '학습' 시키는 과정이 이뤄지게 되면, 처음에는 실패하더라도 그 다음부터 그 이미지와 비슷한 이미지가 들어오게 되면 정상적으로 결과를 보여주는 것이 됩니다.

실제로 와인 라벨 인식 부분을 테스트 해보면 잘 찍은 1장 정도의 실제 이미지만 있으면 해당 이미지를 ‘학습' 시킨 후에는 대부분 잘 나오게 되고, 특이한 경우라 하더라도 보통 ‘좌-중-우-상-하’ 5장 정도의 이미지만 확보되면 거의 대부분 잘 인식됩니다.

▲ 카보드에서 수입하고 있는 그롤로로 내추럴 와인. 심의 문제로 스티커를 적용한 모습과 삼성동 와인수입사 엔포라에서 멋지게 적용한 모습. 학습이 지속되면 이러한 와인도 문제 없이 인식 가능.

실제로 이렇게 와인 라벨을 ‘학습'을 지속하게 되면 위와 같은 와인 이미지처럼 와인 라벨에 어떠한 ‘문제'가 발생해도 해당 라벨을 인식할 수 있게 됩니다. 그래서 어두운 곳에서의 와인이거나, 찢어진 와인 라벨 혹은 젖은 와인 라벨까지도 인식할 수 있으리라 생각합니다.

산을 올라가는 방법은 여러 가지

이번 칼럼에서는 와인 라벨을 인식하는 다양한 방법에 대해서 살펴보았습니다. 

비닛의 경우 준비하고 있는 서비스에서 실제로 많은 시행착오를 겪으면서 다양한 방식으로 와인 라벨을 인식하려고 했고, 각각의 방법은 모두 장단점이 존재하기 때문에 서로 보완하는 형태로 활용할 수 있으리라 봅니다. 산을 올라가는 방법은 하나가 아닌 여러 개가 있을 수 있기에, 현재의 방식이 언제까지 통용되지는 않으리라 보고 지속적으로 연구개발을 해야 한다고 생각하고 있습니다.

다만, 지금의 이러한 방식이 현재 가장 많은 숫자의 와인을 찾아낼 수 있는 방식이고, 이 방법은 비단 와인만이 아닌 다양한 분야에도 적용 가능하다고 생각하고 있습니다.

▲ 와인만이 아닌 다양한 주류에 적용한 모습. 한국와인을 비롯한 전통주, 니혼슈, 위스키 등 다양한 분야에 적용해본 모습.

마지막으로 수입사에 부탁 드릴 부분이 하나 있는데, 수입사 웹사이트나 블로그 등에 현재 수입하고 계신 와인의 병 이미지(Bottle)를 고해상도로 준비해주시면 보다 많은 소비자가 해당 와인에 대한 접근이 용이해지지 않을까 생각합니다. 비용이 다소 들더라도 고해상도 이미지는 꼭 준비해주시길 부탁 드리겠습니다.

다음 시간에는 상황에 맞는 와인 추천이라는 부분에 대해서 살펴보도록 하겠습니다.

▲ 양재혁 대표

필자는 한메소프트, 아이온커뮤니케이션즈 등 IT 분야에서 비정형 데이터 관리와 일본 전문가로 활동하다 2019년에 와인과 IT의 결합을 주제로 (주)비닛 창업하여 서비스 준비 중인 스타트업 대표이다. WSET Level 2를 수료했다.

소믈리에타임즈 칼럼니스트 양재혁 iihi@vinit.io

저작권자 © 소믈리에타임즈 무단전재 및 재배포 금지

관련기사