🚀 완전 관리형 Milvus인 Zilliz Cloud를 무료로 체험해보세요—10배 더 빠른 성능을 경험하세요! 지금 체험하기>>

milvus-logo
LFAI
  • Home
  • Blog
  • IP 보호의 Milvus: Milvus로 상표 유사성 검색 시스템 구축하기

IP 보호의 Milvus: Milvus로 상표 유사성 검색 시스템 구축하기

  • Scenarios
December 10, 2021
Zilliz

최근 지식재산권 침해에 대한 사람들의 인식이 높아짐에 따라 지식재산권 보호 문제가 각광받고 있습니다. 특히 다국적 기술 대기업인 Apple은 상표권, 특허권, 디자인 침해 등 다양한 기업을 상대로 IP 침해 소송을 활발히 제기하고 있습니다. 가장 악명 높은 사례 외에도 Apple Inc.는 2009년 호주 슈퍼마켓 체인인 울워스(Woolworths Limited)의 상표권 출원에 대해 상표권 침해를 이유로 이의를 제기하기도 했습니다. Apple. Inc는 호주 브랜드의 로고인 양식화된 "w"가 자사의 사과 로고와 유사하다고 주장했습니다. 따라서 Apple Inc는 울워스가 해당 로고로 판매하기 위해 신청한 전자 기기를 포함한 다양한 제품에 대해 이의를 제기했습니다. 이 이야기는 울워스가 로고를 수정하고 Apple이 반대를 철회하는 것으로 끝납니다.

Logo of Woolworths.png 울워스 로고.png

Logo of Apple Inc.png 애플 로고.png

브랜드 문화에 대한 인식이 날로 높아짐에 따라 기업들은 지적 재산(IP) 권리를 해칠 수 있는 모든 위협을 면밀히 주시하고 있습니다. IP 침해에는 다음이 포함됩니다:

  • 저작권 침해
  • 특허 침해
  • 상표권 침해
  • 디자인 침해
  • 사이버 스쿼팅

앞서 언급한 애플과 울워스 간의 분쟁은 주로 상표권 침해, 즉 두 기업의 상표 이미지가 유사하다는 점에 관한 것입니다. 또 다른 울워스가 되지 않으려면 상표 출원 전과 상표 출원 검토 과정에서 철저한 상표 유사성 검색이 신청자에게 매우 중요한 단계입니다. 가장 일반적인 방법은 활성 및 비활성 상표 등록 및 출원이 모두 포함된 미국 특허청(USPTO) 데이터베이스에서 검색하는 것입니다. 이 검색 프로세스는 그다지 매력적이지는 않지만, 이미지를 검색하기 위해 단어와 상표 디자인 코드(디자인 특징의 수작업 주석 레이블)에 의존하기 때문에 텍스트 기반이라는 점에서 심각한 결함이 있습니다.

8.png 8.png

따라서 이 글에서는 오픈 소스 벡터 데이터베이스인 Milvus를 사용하여 효율적인 이미지 기반 상표 유사도 검색 시스템을 구축하는 방법을 소개하고자 합니다.

상표를 위한 벡터 유사도 검색 시스템 구축하기

상표에 대한 벡터 유사도 검색 시스템을 구축하려면 다음 단계를 거쳐야 합니다:

  1. 방대한 로고 데이터 세트를 준비합니다. 시스템에서 이와 같은 데이터 세트를 사용할 수 있습니다.)
  2. 데이터 세트와 데이터 기반 모델 또는 AI 알고리즘을 사용하여 이미지 특징 추출 모델을 훈련합니다.
  3. 2단계에서 학습된 모델 또는 알고리즘을 사용하여 로고를 벡터로 변환합니다.
  4. 벡터를 저장하고 오픈 소스 벡터 데이터베이스인 Milvus에서 벡터 유사도 검색을 수행합니다.

Nike.png Nike.png

다음 섹션에서는 상표에 대한 벡터 유사도 검색 시스템을 구축하는 두 가지 주요 단계, 즉 이미지 특징 추출을 위한 AI 모델 사용과 벡터 유사도 검색을 위한 Milvus 사용에 대해 자세히 살펴보겠습니다. 저희의 경우 이미지 특징을 추출하고 이를 임베딩 벡터로 변환하기 위해 컨볼루션 신경망(CNN)인 VGG16을 사용했습니다.

이미지 특징 추출에 VGG16 사용

VGG16은 대규모 이미지 인식을 위해 설계된 CNN입니다. 이 모델은 이미지 인식이 빠르고 정확하며 모든 크기의 이미지에 적용할 수 있습니다. 다음은 VGG16 아키텍처의 두 가지 그림입니다.

9.png 9.png

10.png 10.png

VGG16 모델은 이름에서 알 수 있듯이 16개의 레이어를 가진 CNN입니다. VGG16과 VGG19를 포함한 모든 VGG 모델은 5개의 VGG 블록을 포함하며, 각 VGG 블록에는 하나 이상의 컨볼루션 레이어가 있습니다. 그리고 각 블록의 끝에는 입력 이미지의 크기를 줄이기 위해 최대 풀링 레이어가 연결됩니다. 커널의 수는 각 컨볼루션 레이어 내에서 동일하지만 각 VGG 블록에서는 두 배가 됩니다. 따라서 모델의 커널 수는 첫 번째 블록에서 64개에서 네 번째와 다섯 번째 블록에서 512개로 증가합니다. 모든 컨볼루션 커널은33개 크기인 반면 풀링 커널은 모두 22개 크기입니다. 이는 입력 이미지에 대한 더 많은 정보를 보존하는 데 도움이 됩니다.

따라서 VGG16은 이 경우 대규모 데이터 세트의 이미지 인식에 적합한 모델입니다. 파이썬, 텐서플로우, Keras를 사용하여 VGG16을 기반으로 이미지 특징 추출 모델을 훈련할 수 있습니다.

VGG16 모델을 사용하여 이미지 특징을 추출하고 로고 이미지를 임베딩 벡터로 변환한 후에는 방대한 데이터 세트에서 유사한 벡터를 검색해야 합니다.

Milvus는 높은 확장성과 탄력성을 갖춘 클라우드 네이티브 데이터베이스입니다. 또한 데이터베이스로서 데이터 일관성을 보장할 수 있습니다. 이와 같은 상표 유사도 검색 시스템의 경우, 최신 상표 등록과 같은 새로운 데이터가 실시간으로 시스템에 업로드됩니다. 그리고 이렇게 새로 업로드된 데이터는 즉시 검색에 사용할 수 있어야 합니다. 따라서 이 글에서는 오픈소스 벡터 데이터베이스인 Milvus를 사용하여 벡터 유사도 검색을 수행합니다.

로고 벡터를 삽입할 때 상표 등록을 위한 상품 및 서비스 분류 체계인 국제(니스) 상품 및 서비스 분류에 따라 로고 벡터의 종류별로 Milvus에서 컬렉션을 만들 수 있습니다. 예를 들어 Milvus에서 의류 브랜드 로고 벡터 그룹을 "의류"라는 컬렉션에 삽입하고 다른 기술 브랜드 로고 벡터 그룹을 "기술"이라는 다른 컬렉션에 삽입할 수 있습니다. 이렇게 하면 벡터 유사도 검색의 효율성과 속도를 크게 높일 수 있습니다.

Milvus는 벡터 유사도 검색을 위한 여러 인덱스를 지원할 뿐만 아니라 DevOps를 용이하게 하는 풍부한 API와 도구도 제공합니다. 다음 다이어그램은 Milvus 아키텍처를 설명하는 그림입니다. Milvus에 대한 자세한 내용은 소개글에서 확인할 수 있습니다.

11.png 11.png

더 많은 리소스를 찾고 계신가요?

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

계속 읽기