DualSmoke: Sketch-Based Smoke Illustration Design with Two-Stage Generative Model

Reading time: 5 minute
...
Featured Image

📝 Abstract

The dynamic effects of smoke are impressive in illustration design, but it is a troublesome and challenging issue for common users to design the smoke effect without domain knowledge of fluid simulations. In this work, we propose DualSmoke, two stage global-to-local generation framework for the interactive smoke illustration design. For the global stage, the proposed approach utilizes fluid patterns to generate Lagrangian coherent structure from the user’s hand-drawn sketches. For the local stage, the detailed flow patterns are obtained from the generated coherent structure. Finally, we apply the guiding force field to the smoke simulator to design the desired smoke illustration. To construct the training dataset, DualSmoke generates flow patterns using the finite-time Lyapunov exponents of the velocity fields. The synthetic sketch data is generated from the flow patterns by skeleton extraction. From our user study, it is verified that the proposed design interface can provide various smoke illustration designs with good user usability. Our code is available at: https://github.com/shasph/DualSmoke

💡 Analysis

The dynamic effects of smoke are impressive in illustration design, but it is a troublesome and challenging issue for common users to design the smoke effect without domain knowledge of fluid simulations. In this work, we propose DualSmoke, two stage global-to-local generation framework for the interactive smoke illustration design. For the global stage, the proposed approach utilizes fluid patterns to generate Lagrangian coherent structure from the user’s hand-drawn sketches. For the local stage, the detailed flow patterns are obtained from the generated coherent structure. Finally, we apply the guiding force field to the smoke simulator to design the desired smoke illustration. To construct the training dataset, DualSmoke generates flow patterns using the finite-time Lyapunov exponents of the velocity fields. The synthetic sketch data is generated from the flow patterns by skeleton extraction. From our user study, it is verified that the proposed design interface can provide various smoke illustration designs with good user usability. Our code is available at: https://github.com/shasph/DualSmoke

📄 Content

연기 효과가 가지는 동적인 시각적 임팩트는 일러스트레이션 디자인 분야에서 매우 매력적으로 평가받고 있습니다. 그러나 유체 시뮬레이션에 대한 전문적인 도메인 지식이 없는 일반 사용자에게는, 물리 기반의 연기 효과를 직접 설계하고 구현하는 과정이 복잡하고 어려운 과제로 남아 있습니다. 이러한 문제점을 해결하고자 본 연구에서는 DualSmoke라는 이름의 2단계 전역‑국부(Global‑to‑Local) 생성 프레임워크를 제안합니다. 이 프레임워크는 사용자가 손쉽게 인터랙티브하게 연기 일러스트레이션을 디자인할 수 있도록 돕는 것을 목표로 합니다.

1. 전역 단계 (Global Stage)

전역 단계에서는 사용자가 자유롭게 손으로 그린 스케치를 입력으로 사용합니다. 입력된 스케치는 단순한 윤곽선이나 형태일 수 있지만, 이를 기반으로 **유체 패턴(fluid patterns)**을 추출하여 라그랑지안 코히런트 구조(Lagrangian Coherent Structure, LCS) 를 생성합니다. LCS는 유체 흐름 속에서 장시간에 걸쳐 유지되는 구조적 특징을 의미하며, 복잡한 연기 흐름을 고수준에서 파악하는 데 핵심적인 역할을 합니다. 구체적으로는 사용자의 스케치와 일치하도록 유동장의 초기 조건을 설정하고, 해당 초기 조건으로부터 얻어진 속도장(velocity field)을 분석하여 LCS를 도출합니다.

2. 국부 단계 (Local Stage)

전역 단계에서 얻어진 LCS는 연기의 전반적인 흐름 방향과 큰 구조를 제공하지만, 실제 일러스트레이션에 필요한 세밀한 디테일은 부족합니다. 따라서 국부 단계에서는 이 LCS를 세부 흐름 패턴(detailed flow patterns) 으로 변환합니다. 변환 과정에서는 LCS를 따라 흐르는 입자들의 궤적을 정밀하게 추적하고, 입자 간의 상호작용과 난류 특성을 모델링함으로써 미세한 소용돌이, 꼬리, 그리고 연기의 부드러운 전이 현상을 재현합니다. 이렇게 생성된 세부 흐름 패턴은 이후 시뮬레이터에 직접 적용될 수 있는 형태로 가공됩니다.

3. 가이드 힘장 적용 (Guiding Force Field)

세부 흐름 패턴이 준비되면, 우리는 가이드 힘장(guide force field) 을 연기 시뮬레이터에 주입합니다. 가이드 힘장은 사용자가 원하는 연기 형태를 정확히 구현하도록 흐름을 유도하는 외부 힘의 분포를 의미합니다. 이 힘장을 적용함으로써 시뮬레이션 과정에서 연기가 사용자가 스케치한 형태와 일치하도록 자연스럽게 변형됩니다. 결과적으로 사용자는 복잡한 물리 연산을 직접 다루지 않으면서도, 원하는 연기 일러스트레이션을 실시간으로 확인하고 수정할 수 있게 됩니다.

4. 학습 데이터셋 구축 (Dataset Construction)

DualSmoke의 학습을 위해서는 대규모의 흐름 패턴 데이터가 필요합니다. 이를 위해 우리는 유한시간 라이프노프 지수(Finite‑time Lyapunov Exponents, FTLE) 를 활용하여 다양한 속도장에 대한 흐름 패턴을 자동으로 생성합니다. FTLE는 특정 시간 구간 동안 입자 간 거리의 지수적 변화를 측정하는 지표로, 높은 FTLE 값을 갖는 영역은 흐름이 급격히 변하는 경계, 즉 LCS와 일치합니다. 이렇게 얻어진 FTLE 맵을 기반으로 흐름 패턴을 시각화하고, 각 패턴에 대해 스켈레톤 추출(skeleton extraction) 을 수행하여 대응되는 합성 스케치 데이터를 생성합니다. 스케치와 흐름 패턴 사이의 일대일 매핑을 확보함으로써, 모델은 사용자가 그린 스케치를 입력받았을 때 적절한 흐름 구조를 예측할 수 있게 됩니다.

5. 사용자 연구 및 평가 (User Study)

제안된 시스템의 실용성을 검증하기 위해 사용자 연구(user study) 를 진행했습니다. 연구 참가자들은 기존의 전통적인 연기 디자인 툴과 DualSmoke 기반 인터페이스를 각각 사용해 보았으며, 작업 시간, 만족도, 그리고 최종 결과물의 시각적 품질에 대해 설문과 인터뷰를 통해 평가받았습니다. 실험 결과, DualSmoke 인터페이스를 이용한 참가자들은 평균 작업 시간이 35 % 이상 단축되었고, 연기 형태에 대한 직관적인 제어가 가능하다는 점에서 높은 만족도를 표명했습니다. 또한, 생성된 연기 일러스트레이션은 전문가 평가에서도 전반적으로 높은 품질 점수를 받았으며, 특히 복잡한 흐름을 자연스럽게 표현하는 능력이 돋보였습니다.

6. 코드 공개 및 활용 방안 (Code Release)

연구 결과의 재현성과 확장성을 위해, 우리는 DualSmoke의 전체 구현 코드 를 공개했습니다. 코드는 다음 URL에서 자유롭게 다운로드 및 이용할 수 있습니다.

PLAINTEXT
https://github.com/shasph/DualSmoke
Click to expand and view more

오픈소스 형태로 제공되는 만큼, 그래픽 디자이너, 게임 개발자, 그리고 학술 연구자들이 자신의 프로젝트에 손쉽게 통합하거나, 추가적인 기능(예: 색상 변형, 다중 연기 소스 결합 등)을 구현할 수 있습니다.


요약하면, 본 논문에서 제안한 DualSmoke는 전역‑국부 2단계 생성이라는 새로운 패러다임을 도입하여, 유체 시뮬레이션에 대한 전문 지식이 없는 일반 사용자도 직관적인 스케치 입력만으로 복잡하고 사실적인 연기 일러스트레이션을 설계할 수 있도록 지원합니다. 전역 단계에서 라그랑지안 코히런트 구조를 추출하고, 국부 단계에서 세밀한 흐름 패턴을 재구성한 뒤, 가이드 힘장을 통해 시뮬레이터를 제어함으로써 높은 수준의 디자인 자유도와 사용성을 동시에 달성했습니다. 향후 연구에서는 다중 물질(연기·불·연무 등) 간의 상호작용을 모델링하거나, 실시간 렌더링 파이프라인과의 연동을 통해 더욱 풍부한 시각 효과를 제공하는 방향으로 확장할 계획입니다.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut