【연구용 가중치 공개】 Qwen-Image-2.1로 배경 제거가 가능할까? 투명 소재 4가지 후보 선택 방법
요약
Qwen이 공개한 Qwen-Image-2.1은 이미지 생성 과정에서 투명도(alpha)를 네 번째 채널로 포함하는 RGBA 이미지를 지원합니다. 이 모델은 7B 파라미터의 이미지 생성 트랜스포머와 최대 10장의 참조 이미지를 활용하며, 기존 배경 제거 방식보다 통합적인 접근을 제공합니다.
핵심 포인트
- Qwen-Image-2.1은 투명도를 네 번째 채널로 처리하는 RGBA 출력을 지원함.
- 7B 파라미터의 이미지 생성 트랜스포머와 Qwen3-VL 8B 인코더를 사용함.
- 최대 10장의 참조 이미지를 활용하여 편집 기능을 강화함.
- 모델은 투명 배경을 그리는 것이 아니라, 이미지 표현 자체에 알파 채널을 포함시킴.
투명 PNG를 만드는 사람들은, Qwen-Image-2.1의 '배경까지 생성하지 않아도 된다' 부분을 주목해야 한다.
이미지를 생성하고, 배경을 지우고, 머리카락이나 윤곽선을 수정하는 과정. 이 과정을 처음부터 투명도를 가진 이미지 생성을 하나로 통합할 수 있는 선택지가 나왔다.
Qwen이 2026년 9월 20일에 공개한 Qwen-Image-2.1은 이미지 생성 부분이 7B, 약 70억 파라미터이다. 게다가 다음 세 가지를 동일 모델로 다룬다.
RGB와 투명도를 가진 RGBA 이미지를 생성한다.
최대 10장의 참조 이미지를 사용하여 편집한다.
- 텍스트와 참조 이미지의 계산을,
여러 노이즈 제거 단계에서 재사용한다.
그것이 이번 Qwen-Image-2.1이다. 결정적인 것은 공개된 VAE 설정에 있는 이 두 줄이다.
"in_channels": 4,
"out_channels": 4
투명한 배경을 그리는 이야기가 아니다. 이미지 표현 자체에 네 번째 채널이 있다.
다만, 여기서 '상품 사진의 배경 제거도 전부 이걸로 괜찮겠지'라고 성급하게 결론 내리면 다른 문제에 부딪힌다. 원하는 것은 새로운 그림인가? 아니면 원래 사진의 색을 남긴 클리핑(切り抜き)인가?

색・투명도・윤곽 차이를 나타내는 AI 생성 일러스트. Qwen-Image-2.1의 생성 결과나 성능 실증이 아니다.
확인일은 2026년 10월 7일, 주제 공개일은 그보다 17일 전인 9월 20일이다. 사양 값은 Qwen 공식 자료를, 구현은 당일 참조한 Diffusers 소스를 기반으로 한다. 비교 대상에는 기존 모델도 포함한다. 코드는 구문, 산술, 간략화된 마스크 규칙을 확인했다. GPU 추론・Pillow 이미지 처리・화질 비교・VRAM 측량은 미실행이다.
공식 레포지토리의 사양과 모델 카드를 대조해 보면, 도입 판단에 필요한 정보는 다음과 같다.
| 항목 | 공개 값・조건 | 구현에서의 의미 |
|---|---|---|
| 이미지 생성 Transformer | 7B | 전체 컴포넌트의 합이 아니다 |
| Transformer의 깊이 | 32층 | Single-Stream DiT |
| 텍스트・이미지 조건의 Encoder | Qwen3-VL 8B | 생성 Transformer와 별도로 로드한다 |
| VAE의 입출력 | 4채널 | RGB와 alpha를 다룬다 |
| VAE의 잠재 표현 | 64채널, 공간 방향 16배 압축 | 픽셀 공간과 잠재 공간을 구분한다 |
| 기본 이미지 크기 | 2048×2048 | 4,194,304 화소. 값은 가로세로에서 산출 |
| 기본 추론 스텝 | 40 | 참조 정보를 반복 사용하는 장면이 있다 |
| 참조 이미지 수 | 최대 10장 | 조건을 늘릴 수 있지만, 순서도 입력의 일부 |
| 공개 가중치 라이선스 | Qwen Research License | Materials의 상업적 이용은 별 계약이 필요하다 |
여기까지는 '투명 이미지를 만들 수 있는 모델'에 대한 이야기다. 흥미로운 것은 그 너머이다.
1픽셀의 색을 RGB, 투명도를 alpha라고 부른다. alpha가 0이면 완전 투명, 1이면 불투명으로 배경 위에 겹치는 기본 형태는 다음과 같이 쓸 수 있다.
C = alpha * F + (1 - alpha) * B
F는 전경의 색, B는 배경의 색, C는 합성 후의 색이며, 각 RGB 성분에 동일한 식을 적용한다. 이는 공통의 선형 색 공간에서 생각한 비곱산(非乗算) 알파 공식이며, PNG의 sRGB 값에 그대로 적용하는 구현을 권장하는 공식은 아니다.
Qwen의 VAE 설정은 4채널의 입출력과 64채널의 잠재 표현을 가진다. 즉, 모델에게 요구되는 것은 색과 투명도를 포함한 이미지의 생성・편집이다.
한편, BiRefNet의 공식 예시는 추정된 마스크를 원본 이미지 크기로 되돌리고, image.putalpha(mask)로 적용한다. 이것은 로드된 RGB 값을 남겨두고 어디를 보여줄지 바꾸는 처리다.
이 차이는 상품 라벨의 1글자나 인쇄물의 색을 남기고 싶을 때 효과적이다.
| 일차 자료에서 확인할 수 있는 것 | 거기서 선택할 수 있는 처리 | 보장되지 않은 것 |
|---|---|---|
| Qwen의 VAE는 4채널을 입출력한다 | 새로운 색・모양・투명도를 생성한다 | 편집 전후의 RGB가 모든 화소에서 일치하는 것 |
| ... | ||
| 마지막 줄은 Qwen-Image-Layered에 대한 설명에 근거한다. 레이어 분해 후에 다른 층을 건드리지 않고 편집할 수 있다는 것과, 분해가 원본 이미지를 완전히 보존한다는 것은 별개의 주장이다. |
게다가 마스크 처리만으로는 한계가 있다. 사진의 윤곽에는 촬영 당시 배경색이 이미 섞여 있는 경우가 있기 때문이다. 그 RGB를 엄격하게 보존하더라도, 흰색 배경의 잔상이 남을 수 있다. RGB 보존과 경계 색상 오염 제거는 동시에 무조건적으로 요구될 수는 없다.
또 다른 메커니즘은 Mixed-Granularity Attention이다.
Qwen의 구현에서는 토큰 시퀀스의 전방에는 주의를 기울이고, 동일한 이미지 블록 내에서는 양방향으로 주의를 기울인다. 텍스트는 인과적(causal)이고, 이미지는 내부적으로는 양방향이며, 블록 간은 순서를 가진다.
조건을 앞에, 생성 대상을 뒤에 놓은 간단한 다이어그램은 다음과 같다.
| Query 측 | 선행 텍스트 | 참조 이미지 A | 후속 참조 이미지 B | 생성 대상 |
|---|---|---|---|---|
| 참조 이미지 A | 보기 | 내부적으로는 양방향 | 보지 않음 | 보지 않음 |
| ... | ||||
| 생성 대상이 다음 단계에서 바뀌더라도, 참조 측은 그것을 보지 않는다. 그래서 참조 측의 계산을 고정하기 쉽다. |
하지만, Attention의 방향만으로는 충분하지 않다.
노이즈 제거 모델에는 '지금 어느 시점의 노이즈를 처리하고 있는지'라는 조건도 들어간다. 참조 측까지 매번 다른 시점으로 변조한다면, 그곳도 매번 바뀌게 된다.
그래서 같은 구현의 주석에는 다음과 같이 적혀 있다.
Text and condition-image tokens take the
t = 0
텍스트와 참조 이미지에는 고정된 t=0, 생성 대상에는 현재 시점을 사용한다. causal_condition=True가 이 분리를 성립하게 한다.
미실행 개념용 유사 코드로 표현하면 다음과 같다. 실제 API는 아니다.
# 개념용 유사 코드・미실행. prefix의 계산은 각 레이어에서 수행한다.
cache = None
for t in denoising_times:
...
40단계라면, 최초에 참조 측의 K/V를 저장하고 나머지 39단계에서 재사용하는 구조가 된다. 다만, 생성 대상 측의 Query에서 참조 K/V를 보는 계산은 남아있다. 40회의 생성을 1회로 만드는 메커니즘은 아니다.
이 설계로부터, 참조 이미지를 많이 사용하는 편집은 캐시 효과를 조사할 강력한 대상이라고 생각되지만, 속도 배율은 실측 없이는 제시하기 어렵다.
당신이 원하는 것은 가상의 신소재와 기존 사진의 충실한 잘라내기 중 어느 쪽일까? 어떤 수요가 더 크다고 예상하는지, 당신의 예측도 댓글로 알려주세요.
아래는 연구 및 평가용 시도이다. 공식 Quick Start의 API와 모델 카드에서 권장하는 프롬프트 형식을 사용하고, 주제와 저장명을 변경했다. CUDA 환경을 가정하여 설치와 추론은 미실행 상태다.
python -m pip install 'torch>=2.4.0' 'transformers>=5.17' accelerate pillow
python -m pip install 'git+https://github.com/huggingface/diffusers'
비교 실험으로 진행할 때는, 동작 확인한 Diffusers의 커밋과 체크포인트 revision을 기록해야 한다. 위의 공식 절차는 개발 버전을 가져오기 위한 것이므로, 같은 명령어라도 미래에는 내용이 바뀐다.
배경을 지우는 것보다, 배경 없이 성립하는 구도를 만드는 것이 목적이다. 다음 코드를 Python으로 실행한다.
import torch
from diffusers import QwenImage21Pipeline
pipe = QwenImage21Pipeline.from_pretrained(
...
메모리 배치는 공식의 CPU offload 예시를 채택했다. CPU 측으로 퇴거하는 것을 사용하는 구성이며, 특정 GPU 용량에서 반드시 작동한다는 의미는 아니다.
예를 들어, 자신이 활용할 수 있는 참조 일러스트를 다른 질감의 소재에 전개한다. 위와 같은 Python 세션에서 공식 이미지 편집 API에 image를 전달한다.
from PIL import Image
reference = Image.open(
2(a)의 이용 허락은 이 범위로 제한되며, 2(b)는 Materials의 상업적 이용에 별도의 라이선스를 요구한다. 무상으로 다운로드할 수 있다는 것만으로는 업무 투입 조건을 충족하지 못한다.
**대책:** 평가와 상용 도입을 분리하고, 사용할 가중치(weights)의 LICENSE를 확인하는 것이 중요하다.
여기서 언급된 것은 모델 등의 Materials 이용 조건일 뿐이며, 생성물의 소유권이나 모든 출력 활용을 일률적으로 판단한 것은 아니다.
Architecture 항목에서는 7B의 생성 트랜스포머와 별개로 Qwen3-VL 8B를 언급하고 있다.
7B를 파라미터당 2바이트로 단순 계산하면, `7×10^9×2 = 14×10^9 byte`이며, 이는 약 13.0 GiB이다. 이것은 **반올림된 7B에서 계산한 생성 트랜스포머의 가중치에 해당하는 양**일 뿐이다.
텍스트 인코더(Text encoder), VAE, 활성화 값(activation), Attention용 버퍼(buffer), 캐시를 더하지 않았다. 배포 크기나 실제 피크 VRAM과 일치한다고 할 수 없다.
**대책:** 7B를 구매 GPU의 용량표에 직접 변환하기보다, 모든 컴포넌트와 해상도를 포함한 피크 메모리로 판단해야 한다.
Pillow의 `convert`와 `putalpha` 사양을 읽어보면, 채널을 추가하는 작업과 그 값을 검증하는 작업은 분리되어 있다.
RGB 이미지를 `convert("RGBA")`만 했다고 해도, 모든 픽셀이 불투명하더라도 RGBA가 된다. PNG 확장자나 체커보드 무늬 그림도 투명도의 증거가 될 수 없다.
**대책:** 변환 전 출력을 조사하고, alpha의 분포와 합성 결과 둘 다를 확인해야 한다.
다음은 8bit RGBA 출력 전용 검사 예시이다. Pillow 공식 API에 기반한 독자 코드로, 미실행 상태이다. `alpha_audit.py`로 저장하여 `python alpha_audit.py new_asset.png`로 사용한다.
import json
import sys
from pathlib import Path
...
이것은 합격 판정기가 아니다. 완전 투명 픽셀이 하나 있어도, 나머지 배경이 사라지고 있다고 할 수 없다. 반대로, 소재의 의도에 따라 반투명만 해도 올바를 수 있다.
흰색과 검은색 양쪽 배경에 겹쳐보면, 한쪽만으로는 놓치기 쉬운 윤곽선의 흰 잔여물이나 어두운 가장자리를 조사할 수 있다. 이 합성은 윤곽 점검용 간이 프리뷰이며, sRGB의 선형화나 색 관리(color management) 검증은 포함하지 않는다. 팔레트 투명 PNG 등은 이 코드의 대상이 아니며, 에러는 '투명하지 않다'는 판정이 아니다.
Diffusers의 Qwen-Image-2.1용 문서에서는 기본값이 40 스텝(steps)이며 guidance가 없다. `negative_prompt`와 `true_cfg_scale > 1`을 지정하면 CFG가 활성화되고, 1스텝당 작업량이 두 배가 된다.
캐시가 있다고 해서 이 추가 처리까지 사라지는 것은 아니다. 생성에 걸리는 시간이 반드시 2배가 된다는 의미도 아니지만, 기본 조건과는 다른 실험이 된다.
**대책:** 처음에는 권장 기본값으로 비교하고, CFG를 추가한 경우에는 화질과 시간의 차이를 세트로 기록해야 한다.
아래는 2026년 10월 7일자로 Qwen-Image-2.1, Qwen-Image-Layered, BiRefNet, RMBG-2.0의 공식 자료를 조합하여 만든 비교표이다. 처리 방식과 이용 조건의 비교이며, 동일 조건의 화질 순위는 아니다.
| 후보 | 주요 입력 및 출력 | 원본 RGB 유지 요건 | 공개 가중치 이용 조건 | 선택하는 경우 |
|---|---|---|---|---|
| Qwen-Image-2.1 | 지시어・임의 참조 이미지 → 생성・편집 이미지 | 엄격한 보존을 전제로 하지 않음 | Research License. 상업은 별도 라이선스 | 새로운 투명 소재, 질감이나 구도의 변경 |
| Qwen-Image-Layered | 이미지 → 다중 RGBA 레이어 | 분해 시의 엄격한 보존을 전제로 하지 않음 | Apache-2.0 | 요소를 나누어 이동・재배치할 때 |
| BiRefNet | 이미지 → 전경 마스크 | 공식 예시의 `putalpha` 처리를 사용하면 원본 RGB를 유지 | MIT | 사진을 다시 그리지 않고, 마스크로 잘라낼 기준안 |
| BRIA RMBG-2.0 | 이미지 → 1채널 alpha matte | 마찬가지로 원본 이미지에 마스크 부착 가능 | CC BY-NC 4.0. 상업은 별도 계약 | BRIA의 학습 모델・제공 조건으로 배경 제거를 평가할 때 |
**표에서 읽어낼 수 있는 것:**
표에서 읽어낼 수 있는 것:
- 신규 소재의 경우, 색상과 알파(alpha)를 함께 생성할 수 있다는 점이 가치가 됩니다. 원래 RGB를 남길 필요가 없기 때문입니다.
- 기존 상품의 충실한 잘라내기는 마스크 방식으로부터 비교해 볼 수 있습니다. 다만 윤곽선의 오류나 배경색의 혼입은 별도로 평가해야 합니다.
- Qwen이라는 이름만으로 라이선스를 전개할 수는 없습니다. Image-2.1과 Image-Layered도 조건이 다릅니다.
- RMBG-2.0과 BiRefNet은 완전히 독립된 방식이 아닙니다. BRIA는 BiRefNet 아키텍처를 이용하고 있으며, 모델과 학습의 차이를 비교하는 조합입니다.
마지막 선택을 코드로 구현하려면, 먼저 요구사항을 고정해야 합니다. 아래는 앱 측에서 사용할 독자적인 설정 예시이며, 각 라이브러리에 직접 전달하는 설정은 아닙니다.
{
"purpose": "evaluate_photo_cutout",
"model_id": "ZhengPeng7/BiRefNet",
...
}
`preserve_decoded_rgb`는 이미지 파일을 디코드한 후의 RGB 배열을 남긴다는 의미입니다. 원래 JPEG 바이트열, EXIF, 색상 관리 정보의 보존까지는 포함하지 않습니다.
마스크 추정 후 처리는 공식 예제인 `putalpha`를 사용하여 다음과 같이 작성할 수 있습니다. 실행되지 않은 코드이며, `mask.png`는 별도로 추정된 동일 크기의 그레이스케일 이미지입니다.
from PIL import Image
original = Image.open("input.png").convert("RGB")
mask = Image.open("mask.png").convert("L")
...
이 assert는 RGB의 보존 여부만을 확인합니다. 마스크의 정확도(정답률)가 아닙니다. 색상 번짐을 없애고 싶다면, 전경색 보정을 허용할지 여부를 다시 결정해야 합니다.
✗ "투명 PNG가 나오면 같은 처리" → 색상을 생성하는 방식과, 원본 RGB에 마스크를 덧붙이는 방식이 있습니다
✗ "7B면 14GB로 전부 작동함" → 그 계산은 생성 트랜스포머(Transformer)의 가중치 상당량일 뿐입니다
✗ "40 스텝을 캐시로 한 번에 가능" → 업데이트되는 생성 대상의 계산은 남아 있습니다
...
Qwen-Image-2.1로 시도하고 싶은 것은 배경 제거 툴 전체를 일괄적으로 대체하는 것이 아닙니다. 지금까지 '먼저 배경 포함하여 그린다'고 결정했던 소재 제작을, 처음부터 색상과 투명도를 생성하는 과정으로 바꿀 수 있는지에 대한 질문입니다.
한편, 촬영된 상품 표시나 정확한 도판의 잘라내기에서는 변해서는 안 되는 부분을 먼저 정합니다. 그 조건만 정해지면 모델 이름 때문에 고민할 시간은 줄어듭니다. **오늘 다룰 소재를 하나 선택하고, '새로 그릴 것인지, 원본 RGB를 남길 것인지'를 결정한 후 시도해 주십시오.**
Qwen-Image-2.1: 공식 리포지토리, Quick Start, Architecture
Qwen-Image-2.1: 공식 모델 카드
Qwen-Image-2.1: VAE 설정
Qwen Research License Agreement (2026년 9월 20일)
Diffusers: Qwen-Image-2.1 Transformer 구현
Diffusers: Qwen-Image-2.1 Pipeline 문서
Qwen-Image-Layered: 공식 모델 카드
BiRefNet: 공식 모델 카드
BRIA RMBG-2.0: 공식 모델 카드
Pillow: Image 모듈 공식 레퍼런스
**투명 소재 생성이나 상품 이미지 잘라내기를 담당하는 분은 좋아요와 저장 부탁드립니다. 모델을 선택하고 있는 팀원들에게도 이 4가지 후보의 비교를 공유해 주시면 좋겠습니다.**
댓글로 알려주세요.
**필요한 것은 '새로운 투명 소재'와 '원본 사진의 충실한 잘라내기', 어느 쪽인가요?****배경 제거에서 가장 어려운 부분은 머리카락, 상품 라벨, 유리 중 무엇인가요?****생성과 마스크 추정을 용도별로 나누어 사용하나요?**
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기