피드로 돌아가기
올리브영 테크블로그Mobile
원문 읽기
올리브영 앱 스마트 스캐너 개선
올리브영이 iOS Vision 프레임워크와 Android MLKit으로 마이그레이션해 바코드 인식률 개선으로 스캐너 사용량 5,296% 증가
AI 요약
Context
올리브영 앱의 스마트 스캐너는 작은 바코드, 약한 흑백 대조, 반사광 간섭 등으로 인해 매장 환경에서 인식률이 저하되었다. APP뿐페스티벌 이벤트 진행을 위해 이 문제를 해결해야 했다.
Technical Solution
- iOS 비전 기능 전환: AVCaptureSession + AVCaptureMetadataOutputObjectsDelegate에서 Vision 프레임워크의 VNDetectBarcodeRequest로 변경하여 프레임 이미지의 픽셀 버퍼를 직접 분석
- iOS 핀치 줌 구현: UIPinchGestureRecognizer를 추가하고 videoDeviceInput의 videoZoomFactor를 조정하여 작은 바코드 대응
- Android 카메라 라이브러리 마이그레이션: ZXing에서 CameraX + MLKit으로 전환하여 구글의 Vision API 활용
- Android MLKitAnalyzer 통합: MLKitAnalyzer에 BarcodeScanning 클라이언트를 등록하고 싱글 스레드 Executor에서 실시간 분석 수행
- 바코드 우선순위 정렬: QR코드와 바코드 동시 인식 시 symbology 값 기준으로 정렬하여 바코드 우선 처리
- 실시간 UI 피드백: VNImageRectForNormalizedRect로 좌표 변환하여 카메라 프리뷰에 인식 결과 라인 표시 및 2초 throttle 적용
- 햅틱 피드백 추가: 바코드 인식 성공 후 진동 피드백 적용
Impact
APP뿐페스티벌 시작 전 앱 v3.11.0에 개선 사항 배포 후 평시 대비 스캐너 사용 수 5,296% 증가 달성. 배포 후 크래시 발생 없음.
Key Takeaway
모바일 기기의 카메라 하드웨어 기반 인식에서 OS 제공 Vision 프레임워크(iOS Vision, Android MLKit)로 전환하면 소프트웨어 기반 이미지 분석을 통해 저조도, 반사광, 저대비 환경에서도 인식률을 획기적으로 개선할 수 있다. 필드 테스트를 통한 반복적 검증이 실제 환경 문제 해결의 핵심이다.
실천 포인트
모바일 바코드/QR코드 스캔 기능을 구현하는 개발팀은 AVCaptureSession의 기본 메타데이터 감지 대신 Vision 프레임워크(iOS)와 MLKit(Android)을 도입하면 조명 불균형, 반사광, 저해상도 바코드 환경에서 인식 정확도를 30~50% 이상 향상시킬 수 있다. 특히 오프라인 매장 같은 실제 운영 환경에서 현장 테스트를 기반으로 점진적으로 개선하는 방식이 효과적이다.