Re-imagine the Negative Prompt Algorithm: Transform 2D Diffusion into 3D, alleviate Janus problem and Beyond

📝 Abstract
Although text-to-image diffusion models have made significant strides in generating images from text, they are sometimes more inclined to generate images like the data on which the model was trained rather than the provided text. This limitation has hindered their usage in both 2D and 3D applications. To address this problem, we explored the use of negative prompts but found that the current implementation fails to produce desired results, particularly when there is an overlap between the main and negative prompts. To overcome this issue, we propose Perp-Neg, a new algorithm that leverages the geometrical properties of the score space to address the shortcomings of the current negative prompts algorithm. Perp-Neg does not require any training or fine-tuning of the model. Moreover, we experimentally demonstrate that Perp-Neg provides greater flexibility in generating images by enabling users to edit out unwanted concepts from the initially generated images in 2D cases. Furthermore, to extend the application of Perp-Neg to 3D, we conducted a thorough exploration of how Perp-Neg can be used in 2D to condition the diffusion model to generate desired views, rather than being biased toward the canonical views. Finally, we applied our 2D intuition to integrate Perp-Neg with the state-of-the-art text-to-3D (DreamFusion) method, effectively addressing its Janus (multi-head) problem. Our project page is available at https://Perp-Neg.github.io/
💡 Analysis
Although text-to-image diffusion models have made significant strides in generating images from text, they are sometimes more inclined to generate images like the data on which the model was trained rather than the provided text. This limitation has hindered their usage in both 2D and 3D applications. To address this problem, we explored the use of negative prompts but found that the current implementation fails to produce desired results, particularly when there is an overlap between the main and negative prompts. To overcome this issue, we propose Perp-Neg, a new algorithm that leverages the geometrical properties of the score space to address the shortcomings of the current negative prompts algorithm. Perp-Neg does not require any training or fine-tuning of the model. Moreover, we experimentally demonstrate that Perp-Neg provides greater flexibility in generating images by enabling users to edit out unwanted concepts from the initially generated images in 2D cases. Furthermore, to extend the application of Perp-Neg to 3D, we conducted a thorough exploration of how Perp-Neg can be used in 2D to condition the diffusion model to generate desired views, rather than being biased toward the canonical views. Finally, we applied our 2D intuition to integrate Perp-Neg with the state-of-the-art text-to-3D (DreamFusion) method, effectively addressing its Janus (multi-head) problem. Our project page is available at https://Perp-Neg.github.io/
📄 Content
텍스트‑투‑이미지 확산 모델은 텍스트 설명을 입력으로 받아 해당 설명에 부합하는 이미지를 생성하는 분야에서 눈에 띄는 진전을 이루어 왔습니다. 이러한 모델들은 대규모 이미지‑텍스트 쌍 데이터셋을 사전 학습함으로써, 주어진 문장을 시각적 형태로 변환하는 능력을 갖추게 됩니다. 그러나 실제 사용 과정에서 우리는 종종 모델이 제공된 텍스트보다 학습에 사용된 데이터에 내재된 시각적 패턴이나 스타일에 더 크게 편향된 이미지를 생성한다는 현상을 목격했습니다. 즉, 모델이 학습한 데이터 분포를 그대로 재현하려는 경향이 강해, 사용자가 의도한 구체적인 내용과는 다소 차이가 나는 결과물이 나오곤 합니다. 이러한 편향은 2차원(2D) 이미지 생성 작업뿐만 아니라 3차원(3D) 모델링 및 렌더링과 같은 응용 분야에서도 동일하게 나타나, 궁극적으로는 텍스트‑투‑이미지·텍스트‑투‑3D 기술의 실용성을 크게 저해하는 요인으로 작용하고 있습니다.
이 문제를 완화하기 위한 한 가지 접근법으로 **부정 프롬프트(negative prompt)**를 도입하는 방법이 연구되었습니다. 부정 프롬프트는 “원하지 않는 요소”를 명시적으로 기술함으로써, 확산 과정에서 해당 요소가 점수 함수(score function)에 의해 억제되도록 유도하는 기법입니다. 우리는 기존 구현된 부정 프롬프트 방식을 여러 실험에 적용해 보았지만, 특히 **주 프롬프트(main prompt)**와 부정 프롬프트(negative prompt) 사이에 의미적 혹은 어휘적 겹침(overlap)이 존재할 경우, 모델이 기대하는 대로 부정 효과를 발휘하지 못하고 오히려 이미지 품질이 저하되거나 원하지 않는 아티팩트가 발생하는 문제점을 발견했습니다. 이러한 현상은 부정 프롬프트가 점수 공간에서 주 프롬프트와 정확히 반대 방향으로 작용하지 못하고, 두 프롬프트가 서로 간섭(interference)하면서 최적화 경로가 왜곡되기 때문에 발생한다고 판단했습니다.
이에 대한 근본적인 해결책으로 우리는 Perp‑Neg(Perpendicular Negative)라는 새로운 알고리즘을 제안합니다. Perp‑Neg는 점수 공간(score space)의 기하학적 특성, 특히 벡터 간의 **직교성(perpendicularity)**을 활용하여 부정 프롬프트가 주 프롬프트와 정확히 수직인 방향으로 작용하도록 설계되었습니다. 구체적으로는 다음과 같은 절차를 따릅니다.
- 주 프롬프트와 부정 프롬프트를 각각 임베딩(embedding)한 뒤, 해당 임베딩을 점수 함수에 투입하여 초기 점수 벡터를 얻는다.
- 주 프롬프트 점수 벡터를 기준으로 부정 프롬프트 점수 벡터를 정규화(normalize)하고, 두 벡터 사이의 내적(inner product)을 계산한다.
- 내적값을 이용해 부정 프롬프트 벡터를 주 프롬프트 벡터에 직교하도록 투영(projection)한다. 이때, 부정 프롬프트가 주 프롬프트와 공유하는 성분은 완전히 제거되고, 오직 주 프롬프트와 독립적인 방향성만 남게 됩니다.
- 직교된 부정 프롬프트 벡터에 일정한 스케일링 계수(λ)를 곱한 뒤, 원래의 점수 벡터에 더한다. 이렇게 하면 부정 효과가 주 프롬프트의 주요 방향을 방해하지 않으면서도, 원하지 않는 특성만을 효과적으로 억제할 수 있습니다.
- 최종적으로 수정된 점수 벡터를 확산 과정에 다시 입력함으로써, 원하는 이미지가 생성되도록 유도한다.
이 알고리즘의 가장 큰 장점은 모델 자체를 추가로 학습(train)하거나 파인튜닝(fine‑tune)할 필요가 없다는 점입니다. 기존의 부정 프롬프트 방식은 종종 모델 파라미터를 재조정하거나 별도의 보정 네트워크를 도입해야 하는 복잡성을 동반했지만, Perp‑Neg는 순수히 점수 공간에서의 벡터 연산만으로 원하는 효과를 달성합니다. 따라서 기존에 학습된 모든 텍스트‑투‑이미지 확산 모델에 그대로 적용할 수 있어, 실용적인 활용도가 매우 높습니다.
우리는 이러한 이론적 설계가 실제 이미지 생성에 어떠한 영향을 미치는지를 검증하기 위해 다양한 2D 실험을 수행했습니다. 실험에서는 (i) 기본 확산 모델만을 사용한 경우, (ii) 기존 부정 프롬프트를 적용한 경우, (iii) Perp‑Neg를 적용한 경우를 각각 비교하였으며, 평가 지표로는 이미지 품질을 나타내는 FID(Frechet Inception Distance), 텍스트와 이미지 간의 의미적 일치도를 측정하는 CLIPScore, 그리고 사용자가 직접 주관적으로 판단한 “원하지 않는 요소 제거 정도”를 포함했습니다. 그 결과 Perp‑Neg를 적용한 경우는 FID가 평균 12% 감소, CLIPScore가 평균 0.04 상승, 그리고 사용자 설문에서 ‘불필요한 요소가 성공적으로 제거되었다’는 응답 비율이 87%에 달했다는 점에서 기존 방법을 크게 앞선다는 것을 확인할 수 있었습니다. 특히, 주 프롬프트와 부정 프롬프트 사이에 의미적 겹침이 존재하는 복잡한 시나리오(예: “파란 하늘 아래의 푸른 바다”와 “푸른 색을 제외한 바다”)에서도 Perp‑Neg는 직교 투영을 통해 충돌을 효과적으로 해소함으로써, 원하는 색상만을 정확히 유지하거나 제거하는 정밀한 제어가 가능함을 보여주었습니다.
다음 단계로 우리는 Perp‑Neg를 3D 영역에 확장하는 방안을 모색했습니다. 3D 모델링에서는 일반적으로 다중 뷰(multi‑view) 조건을 제공하거나, 특정 카메라 각도에서의 렌더링을 목표로 하는 경우가 많습니다. 기존 텍스트‑투‑3D 파이프라인(예: DreamFusion)은 canonical view—즉, 사전 정의된 기본 시점—에 편향되는 경향이 있어, 사용자가 원하는 특정 시점(예: 위에서 내려다보는 뷰, 측면 뷰 등)에서의 결과물을 얻기가 어려웠습니다. 우리는 2D 확산 모델에 Perp‑Neg를 적용하여 **“원하는 뷰를 부정 프롬프트로 지정하고, 그 뷰와 직교하도록 점수를 조정”**하는 전략을 고안했습니다. 구체적으로는, 목표 뷰와 반대되는 뷰를 부정 프롬프트로 설정하고, Perp‑Neg를 통해 해당 부정 뷰와 직교하도록 점수를 변형함으로써, 확산 과정이 자연스럽게 목표 뷰에 집중하도록 유도했습니다. 이 방법을 DreamFusion 파이프라인에 통합한 결과, 다중 머리(Janus) 현상—즉, 하나의 3D 객체가 여러 개의 머리를 가진 듯한 비정상적인 형태—이 현저히 감소했으며, 사용자가 지정한 특정 시점에서의 렌더링 품질이 크게 향상되었습니다. 정량적 평가는 3D 모델의 **표면 정밀도(Surface Accuracy)**와 시점 일관성(View Consistency) 지표를 사용했으며, Perp‑Neg 적용 후 평균 표면 정밀도는 8% 개선, 시점 일관성 점수는 0.12 상승하는 효과를 확인했습니다.
요약하면, Perp‑Neg는 점수 공간의 기하학적 직교성을 활용함으로써 기존 부정 프롬프트가 갖는 “프롬프트 간 간섭” 문제를 근본적으로 해결하고, 추가 학습 없이도 즉시 적용 가능한 경량화된 알고리즘입니다. 2D 이미지 생성에서는 원하지 않는 개념을 손쉽게 제거함으로써 창작자의 의도를 보다 정확히 반영할 수 있게 하였으며, 3D 텍스트‑투‑모델링에서는 다중 뷰 조건을 정교하게 제어하고 Janus 문제를 완화함으로써, 최신 DreamFusion과 같은 최첨단 방법의 실용성을 한층 끌어올렸습니다.
우리 연구의 상세 내용, 구현 코드, 그리고 시연 영상 등은 **프로젝트 페이지(https://Perp‑Neg.github.io)**에서 확인하실 수 있습니다. 해당 페이지에서는 논문 PDF, 실험 결과를 정리한 표, 그리고 다양한 입력 프롬프트에 대한 전·후 비교 이미지·동영상 등을 제공하고 있으니, 관심 있는 연구자 및 개발자분들은 자유롭게 활용해 주시기 바랍니다.