피드로 돌아가기
Dev.toAI/ML
원문 읽기
ONNX Runtime Web 기반 Client-side AI 배경 제거 시스템 설계
I Open-Sourced a Browser-Based AI Background Remover — Here's the Full Architecture
AI 요약
Context
서버 기반 AI 처리 모델의 개인정보 유출 위험과 서버 비용 발생 문제를 해결하기 위한 접근 방식 필요. 이미지 업로드-처리-다운로드로 이어지는 기존 파이프라인의 네트워크 오버헤드 및 데이터 프라이버시 제약 사항을 분석.
Technical Solution
- @imgly/background-removal 라이브러리를 통한 ONNX Segmentation 모델의 브라우저 내 로컬 로드 구조 설계
- WebAssembly 기반 ONNX Runtime Web 채택을 통한 Client-side Inference 구현으로 서버 round-trip 제거
- AI 결과물의 Alpha 채널을 Grayscale Mask로 변환하여 사용자 수정이 가능한 Editable Canvas 레이어 구축
- 디스플레이 좌표와 실제 이미지 해상도 간의 Coordinate Mapping을 통한 고정밀 수동 리파인먼트 로직 적용
- requestAnimationFrame을 이용한 Mask-to-Preview 실시간 렌더링 파이프라인 구성으로 즉각적인 시각적 피드백 제공
- Browser Cache를 활용한 약 40MB 모델 가중치의 1회성 다운로드 및 재사용 전략 수립
Impact
- 노트북 기준 추론 시간 2~5초, 모바일 기기 기준 8~15초의 로컬 처리 성능 확보
- 4000x3000 해상도 이미지 처리 시 약 144MB의 메모리 점유율 발생 확인
Key Takeaway
AI 모델의 경량화와 WebAssembly 최적화를 통해 무거운 연산 작업을 클라이언트로 이관함으로써 인프라 비용 절감과 프라이버시 보호를 동시에 달성한 Edge Computing 사례.
실천 포인트
1. 대용량 모델 로드 시 Browser Cache 전략을 세워 초기 진입 장벽을 낮추었는가?
2. AI 결과물의 불완전함을 보완할 수 있는 Human-in-the-loop 기반의 수정 인터페이스를 설계했는가?
3. 고해상도 이미지 처리 시 Canvas 메모리 점유율에 따른 저사양 기기 런타임 제약 사항을 고려했는가?
4. WebGPU 등 최신 브라우저 가속 API 도입을 통해 Inference 속도를 추가 개선할 여지가 있는가?