ARBEON(알비언)은 현실기반 AR SNS 서비스를 개발하는 회사입니다. 눈 앞의 사물을 AR-SCAN을 통해 Social Media, Commerce, Advertisement, Contents 등 여러가지 서비스를 제공합니다. 저는 이곳에서 AR-SCAN 원천 기술 중 하나인 “Unseen Object Detection” 모델 개발 업무를 수행하였습니다. 개발 목표는 아래와 같습니다.
Multi-modal baseline 모델을 테스트 하고 효과성을 확인 한 후 이를 모바일에 동작할 수 있도록 경량화하였습니다. iPhone 13 Pro 에서 20ms와 97.12의 Top1 정확도 를 달성하였습니다.
동일모델이라도 안드로이드는 아이폰 보다 훨씬 속도가 느렸습니다 (아이폰 30ms, 안드로이드 400ms). 동시에 발열 문제도 있었습니다. 안드로이드 최적화의 핵심은 uint8 quantization과 NNAPI 입니다. 문제는 아이폰과 달리 안드로이드는 multi-head attention의 BatchMatMul을 NNAPI가 지원하지 않기 때문에 개발했던 모델을 제대로 적용 할 수 없었습니다. 이를 해결하기 위해 uint8 quantization과 NNAPI 사용 가능하도록 모델 구조를 변경하였습니다. 또한 약간의 성능 하락을 감수하고 모델을 좀 더 경량화 진행하였습니다. 그 결과 Galaxy s22 에서 12ms 와 95.54% Top1 정확도를 달성하였습니다.
기존 모델의 동작 방식은 모든 객체를 검출한 후 Top1 알고리즘을 통해 가장 적합한 1개의 객체를 검출하게 됩니다. 문제는 객체를 검출했음에도 불구하고 Top1 알고리즘을 통과할 때 사용자가 원하는 객체를 리턴하지 않아 급격한 성능하락이 발생합니다. Segment Anything Model의 points embedding에 영감을 얻어 새로운 모델과 학습 전략을 개발 하였습니다. 그 결과 iPhone 13 Pro에서 43ms 와 98.10% Top1 정확도를 달성하였습니다.
—Model— | —mAR50-95— | —Top1 Accuracy (Conf:0.3, iou:50)— | —Speed— |
---|---|---|---|
Class-agonstic yolov8n | 0.4675 | 69.90 | 10ms |
google MLKit | - | 87.00 | - |
Android용 multi-modal (our) | 0.6665 | 95.54 | 12ms |
ios용 multi-modal (our) | 0.7063 | 97.12 | 20ms |
ios용 multi-modal with points (our) | 0.7814 | 98.10 | 43ms |