사진을 올리지 않고 배경을 지우는 원리
온라인 이미지 도구는 대부분 사진을 서버로 보내 처리합니다. 배경 지우개는 서버로 보내지 않고 이용자의 기기에서 처리합니다. 어떻게 가능한지, 무엇이 좋고 무엇이 아쉬운지 설명합니다.
서버 방식과 브라우저 방식
서버 방식에서는 사진을 업로드하면 회사의 GPU 서버가 처리해 결과를 돌려줍니다. 강력한 장비를 쓸 수 있고 기기 성능과 무관하지만, 사진이 남의 컴퓨터를 거칩니다. 약관에 따라 일정 기간 보관되기도 합니다.
브라우저 방식에서는 반대로 프로그램이 사용자에게 옵니다. 웹사이트는 AI 모델 파일과 실행 엔진을 내려보내고, 실제 계산은 이용자의 컴퓨터에서 이루어집니다. 사진은 기기를 떠나지 않습니다.
이것을 가능하게 하는 기술
- WebAssembly: 브라우저 안에서 프로그램을 빠르게 실행하는 표준입니다. GPU를 쓸 수 없을 때와 빠르게 모드는 이것으로 CPU에서 돌아갑니다.
- WebGPU: 웹페이지가 그래픽카드의 계산 능력을 쓰게 해 주는 표준입니다. 고화질 모델은 가능하면 이것으로 GPU에서 돌아가 처리 시간이 크게 줄어듭니다.
- ONNX Runtime Web: AI 모델을 위의 두 기술로 실행해 주는 공개 소프트웨어입니다.
직접 확인하는 방법
말만 믿을 필요는 없습니다. 다음 두 가지 방법으로 직접 확인할 수 있습니다.
방법 1: 인터넷을 끊어 보기
- 사진을 한 장 처리해 모델을 받아 둡니다.
- 페이지를 연 채로 Wi-Fi를 끕니다.
- 다른 사진을 넣습니다. 인터넷 없이 배경이 지워집니다.
방법 2: 네트워크 기록 보기
- 컴퓨터의 Chrome이나 Edge에서
F12로 개발자 도구를 열고 Network 탭을 고릅니다. - 사진을 넣고 처리하면서 목록을 봅니다.
- 모델과 프로그램 파일을 받는 요청만 보이고, 사진을 담아 보내는 요청은 없습니다. 광고가 표시되면 광고 관련 요청이 보일 수 있지만 사진은 포함되지 않습니다.
좋은 점
- 개인정보. 신분증, 가족사진, 고객 사진, 출시 전 상품 사진도 부담이 적습니다.
- 제한 없음. 서버 비용이 사진 수에 비례하지 않아 장수나 해상도를 제한할 이유가 없습니다.
- 대기 없음. 업로드 시간과 서버 대기열이 없습니다.
아쉬운 점
- 첫 다운로드. 고화질 모델은 실행 엔진까지 약 225MB입니다. 받아 둔 뒤에는 다시 받지 않지만, 데이터 요금제에서는 Wi-Fi를 권합니다.
- 기기에 따른 차이. GPU를 쓰면 몇 초지만 CPU로는 1~3분 이상 걸립니다. 고화질 모델은 메모리도 약 3GB를 쓰므로, 휴대폰이나 오래된 컴퓨터에서는 더 가벼운 모델로 처리하게 되어 품질이 떨어집니다.
- 모델 크기의 한계. 내려받을 수 있는 크기의 모델을 쓰므로, 대형 서버 모델보다 어려운 사진에서 품질이 떨어질 수 있습니다.
사진이 전송되지 않더라도 저장한 결과를 어디에 올리는지는 별개의 문제입니다. 민감한 이미지는 저장한 파일의 관리에도 주의하세요.