
Rectified Flow(RF)의 모델들은 훌륭한 이미지를 생성했지만, inversion 분야에서의 결과는 좋지 않습니다. 따라서 해당 모델에서는 optimal control 이론을 기반으로 RF에서의 inversion을 통해서 image editing의 결과를 높이는데 기여했습니다. 어떻게 이를 가능하게 했는지 아래에서 살펴보도록 하겠습니다.
이론적으로 원본 이미지에서 학습된 vector field를 이용해서 노이즈 방향으로 돌아간다면, 정확히 시작된 노이즈로 돌아갈 수 있습니다.
Proposition 3.1.

입력 이미지()가 주어지고, vector filed()를 알고 있을 때 생성되는 noise()은 위의 수식을 통해서 얻을 수 있습니다. 이때 는 입니다.
만약에 입력 이미지가 붕괴된 상태로 시작한다면, inversion된 결과 역시 동일하게 붕괴된 상태일 것입니다.

우리의 목표는 위의 목표처럼 추상적인 이미지가 들어가도, 완벽한 이미지로 복구해내는 것이기 때문에 어떠한 입력이 들어와도 적절한 inverison을 진행해야 됩니다. 이를 진행하기 위해서 해당 논문에서는 optimal controller를 제시했습니다.

V(c)는 원본 이미지에서부터 노이즈로 변환하는데 드는 총 비용을 나타내고, 이를 최소화 하는게 목표입니다. 첫번째 항은 0부터 1까지 가는데 드는 총 비용을 계산하는 것이고, 두번째 항이 최종 도착 지점()과 실제 도착 지점()과의 차이를 최소화 하는 부분입니다. 해당 문제는 결론적으로 LQR(Linear Quadratic Regulator) 문제와 동일해집니다(공학적 이론이기 때문에 그렇다~ 하고 넘어가야 될거 같습니다). LQR 문제에서 비용을 최소화 하는 경로는 실제로 직선 경로입니다.
Proposition 3.2.

실제로 위의 부분에서 직선 경로임을 증명하는 것이 나와있습니다.
위에서 2가지 경로에 대해서 설명했습니다. 원본 이미지를 정확하게 inversion 시키는 u(t), 망가진 원본 이미지도 노이즈로 정확하게 보내는 경로가 있습니다. 후자의 경로의 경우 깨끗한 노이즈의 분포로 변환해 주지만, 이 노이즈로부터 원본을 정확하게 복원할 수 없습니다.

결론적으로 해당 모델은 2가지 경로를 적절히 interpolate 하는 방식을 채택했습니다. 는 Proposition 3.2에 의해, 는 Proposition 3.1에 의해서 진행됩니다. Interpolate 하는 정도를 조절하는 γ를 우리는 controller guidance라고 정했습니다.
추가적으로 Remark 3.3에서는 γ값을 처음에는 높여서 깨끗한 이미지 방향으로 움직였다가, 점차적으로 낮춰서 세부사항을 반영하는 방식도 제안했습니다.
위의 문단에서 설명했던 ODE가 SDE로도 표현됨을 수학적으로 유도 했습니다. SDE는 내재된 무작위성 때문에 시작점이 약간 손상되어도 안정적인 결과를 나타내기 때문에 입력 이미지가 손상되어도 좋은 결과가 나온다는 이론적인 근거가 됩니다.
수식적인 부분이 많아 해당 부분은 넘어가도록 하겠습니다.

해당 부분은 이전과 동일한데, reverse process로 나타낸 것입니다. η가 커질수록 원본이 유지됩니다.

이를 SDE 관점에서 나타내면 위와 같습니다. 여기서도 마찬가지로 η가 커질수록 원본이 유지됩니다.
이제 2개의 path를 섞은 식으로 부터 어떻게 inversion을 진행할 수 있는지 해당 부분에서 자세히 설명해보겠습니다.
Problem Setup
해당 논문에서는 대략적인 스케치로부터 text prompt에 맞게 현실적인 이미지로 변환하는 과정과, 사실적인 이미지의 나이나 성별을 바꾸는 과정을 진행합니다.
Inversion
사전에 학습된 Flux model u를 이용해서 입력 이미지()으로부터 노이즈로 변환하는 과정에 대해서 설명하도록 하겠습니다.

입력으로는 state , time t, prompt embedding Φ가 들어갑니다. Inversion 과정에서는 prompt에 null이 들어갑니다. 따라서 위의 예시와 같은 형태가 나올 것입니다.

이후 두번째 경로에 대해서 null prompt를 통해서 위와 같이 inversion을 진행하고 2개의 경로를 interpolate 시킵니다.

위의 결과가 RF Inversion으로 진행했을 때의 결과를 나타냅니다.
Editing

여기서는 수정하고자 하는 prompt를 통해서 이전에 수식(15)을 사용해서 denoising합니다.