이력서, 제품 사진, SNS 프로필용 이미지에 필수적인 배경 제거, remove.bg 같은 무료 서비스는 접속, 업로드, 다운로드 과정이 번거롭고 해상도 제한이나 워터마크 같은 제약이 있습니다.
이런 불편함을 해결하고자 저는 클릭 한 번으로 고품질 배경 제거가 가능해 이력서 사진부터 프로젝트 이미지까지 쉽고 빠르게 처리할 수 있었습니다.
BackClear는 ComfyUI의 강력한 이미지 처리
투명 배경 PNG 생성: 복잡한 설정 없이 이미지만 업로드하면 자동으로 배경 제거 다양한 배경에 자유롭게 합성 가능한 투명 배경 이미지 제공
고품질 출력: RMBG-1.4 모델을 활용한 정교한 배경 분리
로컬 처리: 외부 서비스에 의존하지 않고 내 컴퓨터에서 처리 가능
ComfyUI: 강력한 AI 이미지 처리 프레임워크
ComfyUI는 Stable Diffusion을 기반으로 한 노드 기반 GUI 인터페이스로, 복잡한 AI 이미지 처리 워크플로우를 직관적으로 설계하고 실행할 수 있게 해줍니다. 텍스트-이미지 생성, 이미지 편집, 그리고 우리 시스템에서 활용하는 배경 제거와 같은 다양한 작업을 강력하게 지원합니다.
ComfyUI의 주요 장점:
노드 기반 인터페이스로 복잡한 워크플로우 시각적 설계 가능
API를 통한 외부 애플리케이션 연동
다양한 모델과 플러그인 지원
커스텀 워크플로우 저장 및 공유 가능
RMBG-1.4: 고성능 배경 제거 모델
BackClear 시스템에서는 easy imageRemBg 노드를 통해 RMBG-1.4 모델을 사용합니다. 이 모델은 다양한 배경과 조명 조건에서 인물이나 객체를 정확하게 분리하는 데 특화되어 있습니다.
Python FastAPI: 효율적인 백엔드 구현
시스템의 백엔드는 Python과 FastAPI를 사용하여 구현했습니다. FastAPI는 비동기 처리를 기본으로 지원하기 때문에 이미지 처리와 같은 무거운 작업을 효율적으로 처리할 수 있습니다.
배경 제거 워크플로우 설계
ComfyUI에서 BackClear 워크플로우는 다음과 같은 단계로 구성됩니다:
이미지 로드 (LoadImage 노드): 사용자가 업로드한 이미지를 시스템에 로드합니다.
이미지 크기 조정 (ImageResize+ 노드): 최적의 처리를 위해 이미지를 512x512 크기로 조정합니다.
배경 제거 (easy imageRemBg 노드): RMBG-1.4 모델을 사용하여 배경을 제거합니다.
결과 저장 (SaveImage 노드): 배경이 제거된 이미지를 저장합니다.
워크플로우 JSON 구성을 살펴보면

이 워크플로우의 핵심은 easy imageRemBg 노드입니다.
이 노드는 'RMBG-1.4' 모델을 사용하여 이미지에서 배경을 제거하고, 투명한 배경(알파 채널이 있는 PNG)을 가진 이미지를 생성합니다.
image_output이 "Preview"로 설정되어 있어 결과를 즉시 확인할 수 있고, add_background가 "none"으로 설정되어 배경이 투명하게 유지됩니다.
backclear.py 파일을 통해 Python 백엔드 구현을 살펴보겠습니다. 이 코드는 ComfyUI API와 통신하여 워크플로우를 실행하고 결과를 처리합니다.
핵심 기능
1. 이미지 업로드

이 함수는 이미지 바이너리 데이터를 ComfyUI 서버에 업로드합니다.
비동기 방식으로 구현되어 효율적인 처리가 가능합니다.

이 함수는 주어진 프롬프트 ID에 대한 처리 상태를 주기적으로 확인하고, 처리가 완료되면 결과를 반환합니다.
이 함수는 백엔드 로직의 핵심으로, 이미지 데이터를 받아 배경 제거 과정을 조율합니다:
1.워크플로우 JSON 파일을 로드
2.이미지를 ComfyUI 서버에 업로드합니다.
3.워크플로우의 LoadImage 노드를 업데이트하여 방금 업로드한 이미지를 사용하도록 합니다.
4.워크플로우를 ComfyUI 서버에 전송하여 실행합니다.
5. 처리 결과를 확인하고 생성된 이미지 파일명을 반환합니다.
비동기 처리와 FastAPI의 장점
BackClear 시스템의 효율성에 있어 핵심 요소는 FastAPI 프레임워크의 비동기 처리 능력입니다. FastAPI는 Python에서 가장 빠른 웹 프레임워크 중 하나로, Starlette와 Pydantic을 기반으로 구축되어 자동 문서화, 타입 검증, 그리고 무엇보다 비동기 처리를 기본으로 지원합니다.
Python의 asyncio와 aiohttp 라이브러리를 FastAPI와 함께 사용하면 여러 요청을 동시에 효율적으로 처리할 수 있습니다.
특히 ComfyUI API와의 통신, 이미지 업로드와 다운로드 같은 I/O 작업은 비동기 방식으로 처리함으로써 블로킹을 최소화하고 시스템 리소스를 더 효율적으로 활용할 수 있습니다.
결과적으로 ComfyUI와 Python을 활용한 BackClear 시스템은 복잡한 배경 제거 작업을 단순화하고 자동화합니다. 노드 기반 워크플로우의 유연성과 Python 백엔드의 확장성 덕분에 다양한 사용 사례에 맞게 시스템을 조정하고 확장할 수 있습니다.
특히 RMBG-1.4 모델의 높은 품질과 FastAPI의 비동기 처리 능력을 결합하여, 사용자에게 빠르고 정확한 배경 제거 서비스를 제공할 수 있습니다.