
진열대에 놓인 상품을 정확히 인식하는 것은 컴퓨터 비전 분야에서 가장 어려운 문제 중 하나입니다. 카메라로 촬영한 영상에서 각 상품이 무엇인지를 파악하고 어디에 위치하며 어떤 각도로 배치되어 있는지를 알아내야 하는데, 이 과정에서 겹침, 반사, 조명 변화, 패키지의 다양성 등 무수한 변수가 작용합니다. 일반적인 물체 인식과 달리 진열대의 상품들은 매우 가까이 붙어 있어서 경계선이 모호하고, 같은 상품이라도 진열되는 각도가 천차만별이며, 손상되거나 불완전하게 보이는 패키지도 있습니다.
이런 복잡한 환경에서도 정확한 상품 인식이 가능해진 이유는 딥러닝 기술의 발전 때문입니다. 수백만 개의 상품 이미지로 훈련된 신경망은 인간의 직관으로는 포착하기 어려운 미묘한 패턴을 학습합니다. 패키지의 색상, 텍스트, 모양뿐만 아니라 빛의 반사 방식, 그림자의 형태, 주변 상품과의 상대적 위치까지도 인식 기준이 됩니다. 이렇게 학습된 모델은 실제 매장의 복잡한 환경에서도 높은 정확도로 상품을 식별할 수 있게 됩니다.
상품 진열 인식 기술이 중요한 이유는 그것이 매장의 모든 다른 분석의 기초가 되기 때문입니다. 정확한 상품 인식 없이는 진열 위치를 파악할 수 없고, 진열 위치를 모르면 판매 성과와 진열의 상관관계를 분석할 수 없습니다. 따라서 상품 인식의 정확도가 1퍼센트 높아지는 것이 전체 분석 시스템의 신뢰도를 크게 향상시킵니다.
상품 진열 인식의 중심은 머신비전 기술과 딥러닝 알고리즘의 결합에 있습니다. 머신비전은 카메라로부터 획득한 2차원 이미지를 분석하여 물체의 특성을 추출하는 기술이고, 딥러닝은 이렇게 추출된 특성들로부터 패턴을 학습하는 인공지능 기법입니다. 둘이 함께 작동할 때 진열대의 복잡한 영상을 의미 있는 정보로 변환할 수 있습니다.
이미지 전처리는 첫 번째 단계인데, 원본 영상의 노이즈를 제거하고 명암비를 조정하며 해상도를 정규화하는 과정입니다. 이 단계를 거친 영상은 후속 분석에 훨씬 적합한 상태가 됩니다. 특징 추출은 다음 단계로, 이미지에서 색상, 에지, 텍스처 같은 저수준 특징부터 시작하여 상품의 모양이나 로고 같은 고수준 특징까지 단계적으로 추출합니다. 이렇게 추출된 특징들은 딥러닝 모델의 입력으로 사용되며, 모델은 이 특징들의 조합으로부터 상품의 종류와 위치를 판정합니다.
컨볼루셔널 신경망(CNN)은 상품 인식에 가장 널리 사용되는 딥러닝 아키텍처입니다. 이 신경망은 이미지의 국소적 패턴을 감지하는 필터들로 구성되어 있으며, 계층을 거치면서 점점 더 추상적인 개념을 학습합니다. 초기 계층은 직선이나 곡선 같은 기본적인 모양을 인식하고, 중간 계층은 그런 기본 요소들이 조합된 부분 패턴을 인식하며, 최종 계층은 전체 상품의 정체를 판단하게 됩니다.

단일 카메라로는 진열대의 모든 상품을 정확히 인식하기 어렵습니다. 한 카메라의 시야각은 제한되어 있고, 깊이 정보가 부족하며, 특정 각도에서는 상품이 가려질 수 있습니다. 따라서 현대의 고급 상품 인식 시스템은 여러 각도에서 동시에 촬영하는 다중 카메라 시스템을 사용합니다.
다중 카메라 시스템에서는 각 카메라로부터 얻은 2D 이미지들이 3D 공간 정보로 통합됩니다. 이를 통해 상품의 정확한 위치, 크기, 방향을 3차원 좌표로 파악할 수 있게 되며, 겹쳐 있는 상품들도 개별적으로 인식할 수 있습니다. 깊이 센서(RGB-D 카메라)를 함께 사용하면 3D 재구성이 더욱 정밀해지는데, 각 픽셀의 깊이값을 직접 측정함으로써 상품의 표면 구조까지도 파악할 수 있습니다.
카메라들 사이의 기하학적 관계를 정확히 캘리브레이션하는 것은 매우 중요합니다. 여러 카메라의 좌표계를 통일하지 않으면 3D 재구성이 왜곡되기 때문입니다. 현대의 시스템은 자동 캘리브레이션 기능을 갖추고 있어서 설치 후에도 지속적으로 카메라 간의 정렬을 유지합니다.

매장의 조명 환경은 시간대에 따라 극도로 달라집니다. 아침 개점 직후의 밝은 조명, 오후의 자연광 유입, 저녁의 인공조명만의 환경에서 같은 상품이 완전히 다르게 보일 수 있습니다. 더 복잡한 것은 스팟라이트의 반사, 창문의 밝은 빛, 진열대 자체의 조명 등이 뒤섞여 있다는 점입니다.
AI 시스템이 조명 변화에 강하려면 여러 조명 조건에서 훈련되어야 합니다. 실제로 데이터셋을 구성할 때는 다양한 조명 환경에서 촬영한 상품 이미지를 포함시켜서, 모델이 조명 변화를 품질 변화로 해석하지 않도록 합니다. 추가적으로 이미지 정규화 기법을 적용하면 조명 조건의 영향을 더욱 줄일 수 있습니다. 적응형 히스토그램 균등화나 감마 보정 같은 전처리 기법들은 입력 이미지를 더 균일한 조명 상태로 변환하여 모델의 일관된 성능을 보장합니다.
더 나아가 일부 고급 시스템은 조명 조건 자체를 인식하고 그에 따라 인식 파라미터를 동적으로 조정합니다. 이렇게 하면 극단적인 조명 변화에서도 안정적인 성능을 유지할 수 있습니다.

소매점에서 판매되는 같은 상품도 여러 가지 변형이 존재합니다. 패키지 디자인이 계절에 따라 바뀌기도 하고, 프로모션 버전과 일반 버전이 다르게 보이며, 제조 시기에 따라 색상이나 인쇄가 미묘하게 달라질 수 있습니다. 개별 제품의 패키지 손상이나 변형도 흔히 일어납니다.
이런 변이에 대응하기 위해 현대의 인식 시스템은 상품의 바코드, 형태, 배치된 위치 등 여러 정보를 종합적으로 활용합니다. 바코드는 가장 신뢰할 수 있는 식별자이지만 항상 카메라에 보이지는 않으므로, 패키지 모양과 색상 같은 시각적 특성도 중요한 역할을 합니다. 또한 시스템은 "이 위치에는 보통 이런 상품이 진열된다"는 맥락 정보도 활용합니다. 맥락 정보와 시각 정보가 충돌할 때는 신뢰도를 기준으로 판단하거나 사람의 개입을 요청합니다.
머신러닝 모델을 지속적으로 재훈련하여 새로운 상품 변형에 대응하는 것도 중요합니다. 새로운 디자인의 패키지가 나타나면 그것을 훈련 데이터에 포함시켜서 모델이 학습하도록 합니다.
진열대의 가장 큰 도전은 상품들이 서로 겹쳐 있다는 점입니다. 상품 하나를 정확히 인식하려면 그것의 경계가 명확해야 하는데, 진열대에서는 상품 간의 경계가 흐릿하거나 완전히 가려질 수 있습니다.
경계 감지를 위해 사용되는 기법 중 하나는 인스턴스 분할(instance segmentation)입니다. 이 기법은 이미지의 각 픽셀을 분류하는 것을 넘어서 개별 상품의 윤곽선을 정확히 그어내는 작업을 수행합니다. 같은 카테고리의 상품이라도 개별 인스턴스로 구분되므로 겹쳐 있는 상품들도 따로 인식할 수 있습니다. 또한 3D 정보를 활용하면 깊이에 기반한 경계 감지가 가능해져서, 2D 이미지에서 가려진 부분도 깊이 정보로부터 추론할 수 있습니다.
머신러닝 모델이 경계를 정확히 감지하려면 세밀한 주석이 달린 훈련 데이터가 필수적입니다. 겹쳐 있는 상품들의 정확한 경계를 수동으로 표시하는 작업은 시간이 많이 걸리지만, 모델의 성능을 크게 좌우합니다.

상품 진열 인식은 매장의 모든 순간에 진행되어야 하므로 실시간 처리가 필수입니다. 하지만 고해상도 영상의 딥러닝 분석은 매우 계산량이 많아서, 처리 속도와 정확도 사이의 균형을 맞춰야 합니다.
엣지 컴퓨팅을 활용하면 이 문제를 부분적으로 해결할 수 있습니다. 매대 근처의 소형 컴퓨터에서 기본적인 전처리와 경량화된 모델을 실행하고, 복잡한 분석은 클라우드로 전송하는 방식입니다. 이렇게 하면 응답성은 빠르면서도 높은 정확도를 유지할 수 있습니다. 또한 모델의 경량화도 중요한데, 원래 모델을 축소하거나 양자화하여 계산량을 줄이는 기법들이 사용됩니다.
배치 처리도 효율성 향상의 방법입니다. 모든 순간에 완벽한 분석이 필요한 것은 아니므로, 중요한 순간(새로운 고객의 접근, 상품의 이동 감지)에만 고정밀 분석을 수행하고 나머지 시간에는 경량 분석으로 충분할 수 있습니다.
진열 인식 시스템을 실제 매장에 배포한 후에도 모니터의 성능 저하가 발생할 수 있습니다. 새로운 상품 출시, 진열 방식의 변경, 계절에 따른 환경 변화 등이 모두 인식 정확도에 영향을 미칩니다.
배포 후 모니터링은 주기적으로 인식 결과를 검증하는 과정입니다. 시스템이 인식한 상품 목록을 실제 진열 상태와 비교하여 오류를 찾아내고, 그 오류가 특정 상품이나 특정 위치에 집중되어 있는지를 분석합니다. 오류가 발견되면 해당 상품이나 환경 조건의 데이터를 추가로 수집하여 모델을 재훈련합니다.
피드백 루프도 중요합니다. 사람이 발견한 오류를 시스템에 입력하면, 그 정보가 다음 훈련에 반영되어 모델이 점점 개선됩니다. 이런 지속적 개선을 통해 배포 초기의 불완전한 모델도 시간이 지나면서 매우 정확한 인식 시스템으로 발전합니다.
