최근에는 안정 확산(Stable Diffusion)이 새로운 연구 방향이 되었습니다. Matthias Bühlmann이라는 블로거는 이 모델의 성능을 실험적으로 탐색하려고 시도한 결과 Stable Diffusion이 매우 강력한 손실 이미지 압축 코덱이라는 사실을 발견했습니다. 그는 이 실험적 분석 과정을 설명하는 블로그를 작성했습니다. 다음은 블로그 원본입니다.
먼저 Matthias Bühlmann은 높은 압축률 조건에서 Stable Diffusion 방법과 JPG 및 WebP의 압축 결과를 제공합니다. 모든 결과는 512x512 픽셀 해상도입니다.
San Francisco 풍경 그림. 왼쪽에서 오른쪽으로: JPG(6.16kB), WebP(6.80kB), Stable Diffusion:(4.96kB).
Candy Shop, 왼쪽에서 오른쪽으로: JPG(5.68kB), WebP(5.71kB), Stable Diffusion(4.98kB).
동물 사진, 왼쪽에서 오른쪽으로: JPG(5.66kB), WebP(6.74kB), Stable Diffusion(4.97kB).
이 예는 Stable Diffusion으로 이미지를 압축하면 JPG 및 WebP에 비해 더 작은 파일 크기에서 더 나은 이미지 품질을 유지한다는 것을 분명히 보여줍니다.
Matthias Bühlmann은 3개의 계열 훈련 인공 신경망을 사용하여 작동 원리를 분석했습니다.
VAE는 이미지 공간의 이미지를 기본 공간 표현으로 인코딩하고 디코딩합니다. 소스 이미지(512 x 512, 3x8 또는 4x8비트)의 잠재 공간 표현은 더 낮은 해상도(64 x 64)와 더 높은 정확도(4x32비트)를 갖습니다.
VAE는 모델이 점진적으로 학습됨에 따라 모델의 잠재 공간 표현이 다르게 보일 수 있습니다. 예를 들어 Stable Diffusion v1.4의 잠재 공간 표현은 다음과 같습니다. (4채널 컬러 이미지로 재매핑):
잠재 특징이 다시 확장되어 색상 값으로 해석될 때(알파 채널 사용), 이미지의 주요 특징은 여전히 표시되며 VAE는 또한 고해상도 기능을 픽셀 값으로 인코딩합니다.
예를 들어 VAE 인코딩/디코딩 왕복은 다음과 같은 결과를 생성합니다.
이 왕복은 무손실이 아니라는 점은 주목할 가치가 있습니다. 예를 들어, 그림 속 파란색 테이프에 있는 흰색 단어는 디코딩 후 읽기가 약간 어렵습니다. Stable Diffusion v1.4 모델의 VAE는 일반적으로 작은 텍스트와 얼굴을 잘 표현하지 못합니다.
Stable Diffusion의 주요 목적은 텍스트 설명을 기반으로 이미지를 생성하는 것이므로 모델이 이미지의 잠재 공간 표현을 작동해야 한다는 것을 알고 있습니다. 이 모델은 훈련된 U-Net을 사용하여 잠재 공간 이미지의 노이즈를 반복적으로 제거하고 노이즈에서 "보이는"(예측) 내용을 출력합니다. 이는 구름을 모양이나 얼굴로 보는 것과 유사합니다. 반복적 노이즈 제거 단계에서 세 번째 ML 모델(텍스트 인코더)은 U-Net이 다른 정보를 보도록 안내합니다.
Matthias Bühlmann은 VAE에 의해 생성된 잠재 표현이 어떻게 효과적으로 압축될 수 있는지 분석했습니다. 그는 VAE에서 잠재 표현을 샘플링하거나 기존 손실 이미지 압축 방법을 잠재 표현에 적용하면 재구성된 이미지의 품질이 크게 저하되는 반면, VAE 디코딩 프로세스는 잠재 표현의 품질에 상대적으로 견고한 것으로 보인다는 것을 발견했습니다.
Matthias Bühlmann은 부동 소수점에서 8비트 부호 없는 정수까지의 잠재 표현을 수량화했으며 매우 작은 재구성 오류만 발견했습니다. 아래 그림에 표시된 대로 왼쪽: 32비트 부동 소수점 전위 표현, 중간: 실제값, 오른쪽: 8비트 정수 전위 표현.
그는 또한 팔레트 및 디더링 알고리즘을 통한 추가 양자화를 통해 얻은 결과가 예상외로 좋을 것이라는 사실도 발견했습니다. 그러나 VAE를 사용하여 직접 디코딩하는 경우 팔레트화된 표현은 다음과 같은 일부 가시적인 아티팩트를 발생시킵니다.
왼쪽: 32비트 잠재 표현, 오른쪽: 밴드 팔레트화 Floyd-Steinberg 디더를 사용한 8비트 잠재 표현
Floyd-Steinberg 디더를 사용한 팔레트화된 표현은 노이즈를 발생시켜 디코딩 결과를 왜곡합니다. 그래서 Matthias Bühlmann은 U-Net을 사용하여 지터로 인한 노이즈를 제거했습니다. 4번의 반복 후 재구성 결과는 시각적으로 양자화되지 않은 버전과 매우 유사합니다.
재구성 결과(왼쪽: Floyd-Steinberg 지터를 사용한 팔레트화된 표현, 중간: 4번의 반복 후 노이즈, 오른쪽: Ground Truth) .
결과는 매우 좋지만 위 중앙 기호의 광택 있는 그림자와 같은 일부 인공물이 발생합니다.
주관적으로는 Stable Diffusion 압축 이미지의 결과가 JPG 및 WebP보다 훨씬 우수하지만 PSNR, SSIM 및 기타 지표의 관점에서 보면 Stable Diffusion에는 뚜렷한 장점이 없습니다.
아래 그림과 같이 코덱으로서의 Stable Diffusion은 이미지 입도를 유지하는 데 있어 다른 방법보다 훨씬 우수하지만 압축 아티팩트로 인해 이미지 속 객체의 모양과 같은 특징이 변경될 수 있습니다.
왼쪽: JPG 압축, 중간: Ground Truth 오른쪽: 안정적인 확산 압축.
현재 Stable Diffusion v1.4 모델은 압축 과정에서 매우 작은 글꼴로 텍스트 정보와 얼굴 특징을 잘 보존할 수 없다는 점에 주목할 가치가 있지만 Stable Diffusion v1.5 모델은 압축 과정에서 잘 작동합니다. 세대 개선이 이루어졌습니다.
왼쪽: Ground Truth, 중간: VAE 라운드트립 후(32비트 잠재 기능), 오른쪽: 팔레트화된 노이즈 제거된 8비트 잠재 기능의 디코딩된 결과.
블로그가 게시된 후 Matthias Bühlmann의 실험적 분석은 모든 사람의 토론을 불러일으켰습니다.
Matthias Bühlmann 자신도 Stable Diffusion의 이미지 압축 효과가 예상보다 좋다고 믿고 있으며, U-Net은 디더링으로 인해 발생하는 노이즈를 효과적으로 제거할 수 있는 것 같습니다. 그러나 Stable Diffusion 모델의 향후 버전에는 더 이상 이러한 이미지 압축 기능이 없을 수 있습니다.
그러나 일부 네티즌들은 "VAE 자체가 이미지 압축에 사용된다"고 의문을 제기했습니다. 예를 들어 Transformer 기반 이미지 압축 방법 TIC는 VAE 아키텍처를 사용하므로 Matthias Bühlmann의 실험은 과도한 것 같습니다.
이것에 대해 어떻게 생각하시나요?
위 내용은 더 작은 파일, 더 높은 품질, 인기 있는 Stable Diffusion이 이미지를 압축할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!