All posts
AI/ML Research

AI가 24비트 헥스 컬러를 그대로 그린다

이미지 생성 모델이 "빨강"이 아니라 #F34B41 같은 24비트 헥스 코드로 물체 색을 정확히 지정하는 과제를 푼 바이트댄스 Seed의 Paint-Anything을 소개한다. Paint-500K 데이터셋과 순수색 앵커 학습법으로 FLUX.2-4B의 색 충실도를 생성 85.3%, 편집 28.3% 끌어올렸어요.

Sep 19, 2026 6분 읽기

물체 색을 "빨강"이 아니라 코드로 지정해야 하는 때

브랜드 로고는 시그니처 블루, 온라인 쇼핑몰 제품 이미지는 신상 컬렉션의 특정 레드를 써야 해요. 이때 "파랑"이나 "빨강"이라는 말로는 부족해요.

정확히 몇 번 컬러인지, 24비트 헥스 값으로 찍어줘야 하거든요. 전문 디자인의 기준은 여기 있어요. AI 이미지 모델이 이 요구를 얼마나 들어줄 수 있는지가 이 논문의 출발점이에요.

기존 연구는 색 생성, 색 편집, 흑백 컬러라이제이션을 각각 다른 문제로 풀었어요. 전용 색 표현이나 추론 시 가이던스 같은 특수 절차가 필요했고, 아키텍처를 바꾸면 옮겨 붙이기 어려웠죠.

바이트댄스 Seed, 저장대, 남경대 연구진이 2026년 9월 17일에 올린 Paint-Anything은 이걸 하나의 프롬프트 인터페이스로 통합했어요. 29쪽짜리 Seed 기술 보고서 형식이에요.

핵심 발견은 여기 있어요. "작은 LLM도 헥스 코드를 색 의미와 연결할 수 있다"는 점이에요.

실제로 논문은 학습 준비 실험에서 Qwen3-4B 같은 40억 파라미터 모델이 #F0FFF1 같은 raw 헥스 문자열을 "부드러운 반투명 녹백색" 정도로 해석하는 걸 확인했어요. 그러니 별도 색 인코더 없이, 헥스 문자열을 텍스트 프롬프트로 그대로 쓰면 되는 거예요.

헥스 프롬프트라는 공용 인터페이스

Paint-Anything은 색 지정을 문장 안에 명시적으로 넣어요. <color>#AABBCC</color> 같은 스팬으로 색을 감싸는 방식이에요. 예를 들어 이런 프롬프트를 쓰죠.

A photo of a <color>#CFEFFB</color> colored car.
Change the bag to <color>#FFF8C4</color>.

색을 감싸면 물체와 색이 잘 결합한다고 논문은 보여요. 이 포맷 하나로 생성과 편집을 동시에 학습해요. 생성은 텍스트만으로 이미지를 만들고, 편집은 소스 이미지를 하나 더 넣어 대상 물체의 색만 바꾸는 거예요.

두 과제가 같은 디노이징 목적함수를 쓰기 때문에, 모델 하나가 두 능력을 함께 익혀요.

학습 데이터는 Paint-500K라는 자체 파이프라인으로 만들었어요. 실제 이미지-캡션 쌍을 받아 네 단계를 거쳐요. VLM이 캡션과 관련된 물체를 찾고, SAM3로 물체 픽셀을 분리하고, CIELAB 색 공간에서 MeanShift 클러스터링으로 대표 색을 뽑고, 캡션을 다시 써서 각 명사구에 <color>#HEX</color>를 붙여요.

생성용 40만 건(단일 물체 10만 + 다중 물체 30만), 편집용 10만 건으로 총 50만 건이에요. 고정 K k-means 대신 MeanShift를 쓴 건 물체마다 지배 색 개수가 달라서예요. 색을 셈할 때 번짐이나 노이즈가 불필요한 분할로 이어지지 않도록 한 거죠.

그림자 때문에 생기는 문제와 순수색 앵커

실제 이미지 기반 라벨에는 함정이 있어요. 그림자 때문이에요.

같은 물체라도 조명에 따라 픽셀 값이 널뛰기해서, 추출한 색이 실제 헥스 값과 "대략"만 맞아요. 순수한 색 기준이 필요했죠.

그래서 순수색 앵커(pure-color anchor)를 추가했어요. 24비트 RGB 값을 하나 뽑아 그 값으로 이미지 전체를 단색으로 채우고, 프롬프트에는 해당 <color>#HEX</color>를 적어 넣는 거예요. 이러면 모델이 숫자 헥스와 픽셀 RGB 통계의 깨끗한 대응을 배울 수 있어요.

흥미로운 점은 이 앵커를 모든 학습 단계에 쓰지 않는다는 거예요. 노이즈가 많은 고노이즈 타임스텝에서만 활성화해서 검증했어요. 논문은 t_gate=0.8을 사용해요.

노이즈가 많은 구간은 색이 먼저 안정되는 곳이고, 낮은 노이즈 구간은 실제 이미지로 생성·편집을 가르쳐야 하니까 그 구간을 앵커로 뺏기지 않게 한 거예요. 고노이즈 게이팅이 게이팅 없이 쓸 때보다 생성 4.75점, 편집 5.18점을 더 올렸어요.

ACBench라는 새로운 평가 기준

기존 벤치마크는 색이 어느 정도 맞는지만 봤는데, Paint-Anything은 24비트 헥스 충실도 자체를 재는 벤치마크인 ACBench를 새로 제안해요. 두 갈래로 나뉘어요.

과제크기설명
ACBench-T2I1000 프롬프트단일(500)·이중(500) 물체 생성
ACBench-Edit500 프롬프트실사 이미지 재채색

측정은 물체 마스크 안 평균 sRGB를 구해 타깃과의 평균절대오차(MAE)로 환산해요. MAE가 16 이하면 만점, 16~64 사이는 선형으로 감점, 64 이상이면 0점이에요.

실패한 물체 위치 인식은 0점 처리해요. 마스크는 SAM3로 얻어요.

결과: 8B 모델이 56B 모델을 이겼어요

FLUX.2-4B 백본 위에 적용한 결과, ACBench-T2I는 37.02에서 68.58로, ACBench-Edit은 58.90에서 75.57로 올랐어요. 상대 개선으로 보면 각각 85.3%와 28.3%예요. 같은 학습 레시피를 Z-Image Base에도 적용했어요.

더 놀라운 비교가 있어요. 동일 FLUX.2 제품군에서 파라미터가 큰 모델일수록 기본 점수가 높아지는데, 총 56B짜리 FLUX.2-dev를 8B짜리 파인튠 모델이 생성 16.88점, 편집 6.70점 차이로 이겼어요.

파라미터를 키우지 않고도 색 제어를 가르치는 게 가능하다는 증거예요.

CompColor에서는 흥미로운 단서가 나와요. 기본 FLUX.2-4B는 색 이름 대신 raw 헥스를 넣으면 평균 점수가 0.72에서 0.38로 떨어져요. 단어에서 헥스로의 전환을 못 하는 거죠.

하지만 파인튜닝 후에는 헥스 프롬프트 평균이 그대로 0.79로 두 배 이상 올라가고, 색 이름 평균도 0.72에서 0.79로 오르면서 기존 능력까지 보존됐어요.

특화 벤치마크 비교에서도 앞섰어요. ACBench-T2I에서 ColorWave를 22.04점, ACBench-Edit에서 ColorBind/Edit을 15.19점 차이로 제쳤어요. 독립 벤치마크인 GenColorBench NCU에서는 평균 점수가 34.00에서 57.89로 오르며 비교 대상 중 최고 평균을 기록했어요.

15명 참가자가 ACBench-T2I 80개 프롬프트를 평가한 인간 선호도 연구에서도 55% 선호, 32% 무승부, 13% 패배였어요. 비무승부 승률로 보면 80.9%예요.

이 방법이 중요한 이유와 남은 한계

Paint-Anything의 진짜 기여는 학습 레시피에 있어요. 색 토큰을 감싸기, 순수색 앵커, 고노이즈 게이팅, 전체 파인튜닝 중 하나라도 빼면 점수가 확 떨어져요.

특히 LoRA로만 파인튜닝하면 전체 파인튜닝에 비해 생성 68.58 vs 48.45, 편집 75.57 vs 58.71로 크게 밀려요. 색 제어는 가벼운 어댑터로는 안 잡히는 과제라는 뜻이에요.

학습은 FLUX.2-klein-base-4B를 기준으로 4000 스텝, 4 GPU, 배치 72, 학습률 2×10⁻⁵ 설정이에요.

한계도 분명해요. 현재 학습 데이터에는 팔레트 수준의 감독이 없어서, 논문은 팔레트 전용 감독을 추가하고 같은 인터페이스로 더 넓은 색 제어 과제로 확장하는 걸 미래 작업으로 밝혀요.

평가 자체도 주로 단일 물체 색 정확도에 집중돼 있고, 인간 선호도 연구는 샘플별 메트릭-인간 일치도를 확립하진 못했다고 스스로 인정해요.

그래도 실용 관점에서 의미는 커요. 브랜드 컬러를 헥스 코드로 그대로 지키는 로고·상품 이미지 생성, 썸네일 소재의 특정 톤 편집 같은 작업에서 "비슷한 색"이 아니라 "정확히 그 색"을 요구하는 디자인 파이프라인과 바로 이어지거든요. 기술 실험실 수준을 넘어 실제 제품 작업에 닿는 지점이라는 점이 이번 보고서의 가치예요.

참고 링크

#헥스 컬러#이미지 생성#이미지 편집#플럭스 파인튜닝#컬러 컨트롤
Robeedau

Curated, fact-checked, and edited by a single operator before publishing.