BigBasket SuperMart — AI 기술
오늘날 인도의 대부분의 슈퍼마켓과 실제 상점은 청구 카운터에서 수동 청구를 제공합니다. 여기에는 두 가지 문제가 있습니다.
- 규모가 커짐에 따라 추가 인력, 스티커 및 매장 내 운영팀을 위한 반복 교육이 필요합니다.
- 대부분의 매장에서 청구 카운터는 고객의 구매 여정에 마찰을 더하는 계량 카운터와 다릅니다. 우리는 계산대에서 스티커를 몇 번이나 잃어버리고 계량기로 다시 달려갔습니까?
고객을 위해 원활한 셀프 청구 및 셀프 체크아웃 경험을 제공했습니다. 청구 시점에 과일, 채소 및 FMCG 카테고리의 포장 풀기/포장/풀림 항목 감지에 컴퓨터 비전 딥 러닝 모델을 사용했습니다.
이를 통해 장바구니에 항목과 무게를 모두 추가하는 원활한 경험을 할 수 있습니다.
다음 다이어그램은 고객이 자체 청구 카운터를 사용하는 방법을 보여줍니다.
다음 비디오는 셀프 계산대에서 청구가 어떻게 이루어지는지 보여줍니다.
당사의 추론 엔진은 SKU를 식별하기 위한 라이브 이미지를 감지하는 데 사용되는 클라우드 기반 솔루션입니다. 라이브 이미지의 압축된 형식을 전송하고 응답으로 SKU Id를 반환하는 상점 터미널에 의해 호출됩니다. 이 SKU ID는 이름, 설명, 가격 등과 같은 SKU 세부 정보를 로드하기 위해 내부 서비스에서 조회합니다.
인사이트
- 현재 AI 모델은 FNV 및 FMCG 항목에서 약 5000개 이상의 SKU를 지원합니다.
- 3개 도시의 20개 이상의 Big Basket 매장에서 AI 기반 체크아웃 기술을 사용하고 있습니다.
- 하루에 약 30K+ 탐지가 발생하며 이는 시간당 평균 약 2K+ 탐지이며 사용량이 많은 시간에는 약 3.3K+ 탐지입니다.
- 모든 탐지는 SLA < 300ms로 클라우드에서 발생합니다.
- 약 700만 개의 이미지가 모델 학습에 사용됩니다.
우리는 파이프라인에서 세 가지 딥 러닝 모델을 사용했습니다. 각 모델의 요약은 아래에 설명되어 있습니다.
FMCG 모델
- FMCG 제품 감지를 위해 이미지 기반 분류를 사용했습니다.
- 우리의 모델 네트워크는 RESNET 152 [2] 아키텍처와 전체 클래스를 기반으로 하는 완전히 연결된 레이어로 구성됩니다.
- 6600만 개의 매개변수 중 2300만 개의 매개변수가 훈련 가능한 매개변수로 설정되고 나머지는 동결됩니다. 이것은 우리가 훈련할 때 더 적은 수의 이미지를 사용하는 데 도움이 되었습니다.
- Pytorch 프레임워크가 사용되었습니다. 초기 매개변수는 이미지넷 모델의 전이 학습 [3]을 사용하여 얻습니다 . 이를 통해 수렴 속도가 빨라지고 총 교육 시간이 단축되었습니다.
- FnV 및 FnV 포장 제품 감지를 위해 물체 인식을 사용했습니다. 많은 SKU의 경우 개수가 필요합니다.
- 우리의 모델 네트워크는 다크넷 프레임워크가 있는 Yolov4 아키텍처로 구성됩니다. 이는 추론 시간을 단축하는 데 도움이 되었습니다.
다양한 제품과 조합을 고려하여 탐지 메커니즘을 개선하기 위해 상당한 수의 문제를 해결해야 했습니다. 이러한 문제를 해결하기 위해 "부모-자식" 관계에서 유사한 항목을 연결하는 데 사용되는 독점 알고리즘을 개발했습니다. 알고리즘은 각 이미지 분류와 함께 제품 라벨의 무게 정보와 텍스트를 사용하여 올바른 제품을 결정합니다. 아래의 도전 과제 목록을 찾아보고 다음 섹션에서 예제와 함께 설명하고 설계를 통해 이를 처리하는 방법을 설명했습니다.
- 제품의 일부 텍스트를 제외하고 제품은 거의 모든면이 매우 유사합니다.
- 전면을 제외한 대부분의 표면이 유사한 시야를 가진 제품
- 제품은 시각적으로 매우 유사하며 가중 변형이 있습니다.
- 제품은 모든 표면에서 거의 동일하게 보입니다.
맛이 다른 동일한 브랜드의 제품은 거의 비슷한 포장을 가지고 있으며 이미지의 작은 텍스트만 차이가 있습니다. 몇 가지 예가 아래에 나열되어 있습니다.
예
훈련 중
이 시나리오를 처리하기 위해 유사한 SKU 이미지를 결합하는 새 상위 클래스를 만듭니다.
위의 예에서 모든 하위 SKU ID는 상위 클래스 ID Nivea Men에 매핑되고 모든 하위 SKU ID 이미지는 Nivea Men 클래스 교육에 사용됩니다.
추론 중
추론 시 텍스트 감지 알고리즘을 사용하여 올바른 하위 SKU를 매핑합니다. Amazon Rekognition API[1]를 사용하여 이미지에서 텍스트를 추출했습니다.
전면을 제외한 대부분의 표면이 유사한 시야를 가진 제품
이 시나리오의 주요 과제는 사용자가 특정 제품을 전면에 배치할 것을 항상 기대할 수는 없다는 것입니다. 이러한 시나리오에서 사용자가 제품을 뒷면에 놓으면 고객에게 "죄송합니다. 제품을 앞면으로 돌려주세요!"라는 피드백 메시지를 보내야 합니다. 몇 가지 예가 아래에 나열되어 있습니다.
예
훈련 중
이 시나리오를 처리하기 위해 새 클래스를 만들고 표면 이미지에 직면한 문제로 모델을 교육합니다.
위의 SKU에 대해 이슈 클래스 ID 유제품 우유를 생성했습니다. 뒷면, 모든 뒷면 이미지는 모델 교육에 사용됩니다.
추론 중
모델이 새로운 문제 클래스를 감지하면 고객에게 적절한 피드백 메시지를 보냅니다.
제품은 시각적으로 매우 유사하며 가중 변형이 있습니다.
동일한 브랜드 및 동일한 종류의 제품은 수량 변형이 다르지만 패키지 크기가 약간 다를 뿐 시각적으로 매우 유사해 보입니다. 여기도 텍스트가 비슷합니다. 크기 변화로 실제 SKU ID를 식별하는 카운터 전체에서 카메라 높이에 약간의 변화가 있을 것이라는 점을 고려하면 매우 어려울 것입니다. 몇 가지 예가 아래에 나열되어 있습니다.
예
훈련 중
이 시나리오를 처리하기 위해 해당 하위 SKU의 상위 클래스라는 새 클래스를 만듭니다. 여기서는 모든 하위 SKU ID 이미지를 상위 클래스라는 하나의 클래스로 학습합니다.
추론 중
모델이 상위 클래스를 감지하면 가중치 정보를 사용하여 올바른 하위 SKU ID를 매핑합니다.
제품은 모든 표면에서 거의 동일하게 보입니다.
모든 표면에서 거의 동일하게 보이는 제품은 거의 없으며 무게와 모양 등이 비슷할 수 있습니다. 이러한 시나리오에서는 비전 기반 감지가 불가능하며 해당 SKU 항목을 청구하기 위해 외부 장치가 필요할 수 있습니다. 몇 가지 예가 아래에 나열되어 있습니다.
예
이러한 시나리오에서는 컴퓨터 비전을 사용하여 실제 SKU ID를 식별할 수 없으며 이 항목을 청구하기 위해 외부 장치가 필요합니다.
훈련 중
혼란스러운 모든 SKU로 새 클래스를 만들고 모델을 교육합니다.
추론 중
모델이 새로운 상위 클래스를 감지하면 적절한 피드백 메시지를 보냅니다.
용어 사전
FMCG — 빠르게 움직이는 소비재
FnV — 과일 및 채소
SKU — 재고 보관 단위
SLA — 서비스 수준 계약
참조
[1]https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html
[2]https://pytorch.org/vision/main/models/generated/torchvision.models.resnet152.html
[삼]https://en.wikipedia.org/wiki/Transfer_learning

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































