>  기사  >  기술 주변기기  >  Stable Diffusion이 JPEG와 같은 알고리즘을 능가하고 선명도를 유지하면서 이미지 압축을 향상시킬 수 있습니까?

Stable Diffusion이 JPEG와 같은 알고리즘을 능가하고 선명도를 유지하면서 이미지 압축을 향상시킬 수 있습니까?

WBOY
WBOY앞으로
2023-04-27 08:28:072045검색

텍스트 기반 이미지 생성 모델이 인기가 많습니다. 확산 모델뿐만 아니라 오픈 소스 Stable Diffusion 모델도 인기가 있습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

최근 스위스 소프트웨어 엔지니어인 Matthias Bühlmann은 Stable Diffusion이 이미지를 생성하는 데 사용될 수 있을 뿐만 아니라 더 높은 압축률에서도 비트맵 이미지를 압축하는 데에도 사용될 수 있다는 사실을 우연히 발견했습니다. JPEG 및 WebP보다 높습니다.

예를 들어 라마 사진의 경우 원본 이미지는 768KB이고 JPEG를 사용하여 5.66KB로 압축된 반면 Stable Diffusion은 이를 추가로 4.98KB로 압축하여 더 높게 보존할 수 있습니다. 해상도 세부 사항 그리고 압축 아티팩트가 적고, 다른 압축 알고리즘보다 눈에 띄게 우수합니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

이 압축 방법에도 결함이 있습니다. 즉, 얼굴 및 텍스트 이미지를 압축하는 데 적합하지 않습니다. 경우에 따라 내용이 없는 일부 원본 이미지가 생성될 수도 있습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

자동 인코더 재훈련을 통해 Stable Diffusion과 유사한 압축 효과를 얻을 수도 있지만 Stable Diffusion을 사용하는 주요 이점 중 하나는 누군가가 도움을 주기 위해 수백만 달러의 자금을 투자했다는 것입니다. 다른 압축 모델을 훈련하는 데 돈을 쓰시겠습니까? Stable Diffusion이 이미지를 압축하는 방법

확산 모델은 생성 모델의 지배력에 도전하고 있으며, 해당 오픈 소스 Stable Diffusion 모델은 기계 학습 커뮤니티에 예술적 혁명을 일으키고 있습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

안정적인 확산은 3개의 훈련된 신경망, 즉

VAE(Variational Autoencoder), U-Net 모델텍스트 인코더를 연결하여 얻습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

변형 자동 인코더는 이미지 공간의 이미지를 인코딩 및 디코딩하여

낮은 해상도(64x64)더 높은 정밀도로 잠재 공간에 있는 이미지의 표현 벡터 를 얻습니다. (4x32비트) 원본 이미지를 표현하기 위한 벡터(512x512의 3x8 또는 4x8비트) .

VAE는 이미지를 잠재 공간으로 인코딩하는 훈련 과정에서 주로 자기 지도 학습에 의존합니다. 즉, 입력과 출력이 모두 원본 이미지이므로 모델이 추가로 훈련됨에 따라 다양한 버전의 잠재 공간 표현이 가능해집니다. 모델의 모양이 다를 수 있습니다.

Stable Diffusion v1.4의 잠재 공간 표현을 사용하여 4채널 컬러 이미지로 다시 매핑하고 해석한 후

소스 이미지의 주요 기능이 계속 표시되는을 포함하여 아래 중간 이미지처럼 보입니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

VAE는 왕복을 한 번 인코딩하며 무손실이 아닙니다는 점에 유의해야 합니다.

예를 들어, 디코딩 후 파란색 테이프의 ANNA 이름이 원본 이미지만큼 명확하지 않아 가독성이 크게 떨어집니다.

Stable Diffusion v1.4varial autoencoder작은 텍스트와 얼굴 이미지표현하는 데 그다지 능숙하지 않습니다. v1.5에서 개선될지는 모르겠습니다.

Stable Diffusion의 주요 압축 알고리즘은 이미지의 잠재 공간 표현을 사용하여 짧은 텍스트 설명에서 새로운 이미지를 생성하는 것입니다.

잠재 공간으로 표현되는 무작위 노이즈에서 시작하고, 완전히 훈련된 U-Net을 사용하여 잠재 공간 이미지에서 노이즈를 반복적으로 제거하고, 더 간단한 표현을 사용하여 모델이 "본다"고 생각하는 예측을 출력합니다. 이 소음 속에서는 마치 구름을 볼 때의 불규칙한 모양에서 우리 마음속의 모양이나 얼굴을 복원하는 것과 비슷합니다.

Stable Diffusion을 사용하여 이미지를 생성하는 경우 이 반복적인 노이즈 제거 단계는 U-Net에 노이즈 정보에서 무엇을 보려고 해야 하는지에 대한 아이디어를 제공하는 세 번째 구성 요소인 텍스트 인코더에 의해 안내됩니다.

압축 작업의 경우 텍스트 인코더가 필요하지 않으므로 실험 과정에서는 이미지 재구성 과정에서 U-Net이 비유도 디코딩을 수행하도록 지시하기 위해 빈 문자열 인코딩만 만들었습니다. 시끄러워.

Stable Diffusion을 이미지 압축 코덱으로 사용하려면 알고리즘이 VAE에서 생성된 잠재 표현을 효과적으로 압축해야 합니다.

잠재적 표현을 다운샘플링하거나 기존 손실 이미지 압축 방법을 직접 사용하면 재구성된 이미지의 품질이 크게 저하된다는 실험을 통해 확인할 수 있습니다.

그러나 저자는 VAE 디코딩이 잠재 표현의 양자화에 매우 효과적인 것 같다는 것을 발견했습니다.

부동 소수점에서 8비트 부호 없는 정수로 전위를 스케일링, 클램핑 및 다시 매핑하면 눈에 보이는 작은 재구성 오류만 발생합니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

8비트 잠재 표현을 양자화함으로써 이미지가 표현하는 데이터 크기는 이제 64*64*4*8bit=16kB로, 이는 512*512*3*8bit=768kB보다 훨씬 작습니다. 압축되지 않은 소스 이미지

잠재 표현 수가 8비트 미만이면 더 나은 결과를 얻을 수 없습니다.

이미지에 대해 팔레타이징디더링을 추가로 수행하면 양자화 효과가 다시 향상됩니다.

256*4*8 비트 벡터의 잠재 표현과 Floyd-Steinberg 디더링을 사용하여 팔레트 표현을 생성하여 데이터 크기를 64*64*8+256*4*8bit=5kB

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

잠재 공간 팔레트의 지터링으로 인해 노이즈가 발생하여 디코딩 결과가 왜곡됩니다. 하지만 Stable Diffusion은 잠재 잡음 제거를 기반으로 하기 때문에 U-Net을 사용하면 지터로 인한 잡음을 제거할 수 있습니다.

4번의 반복 후 재구성 결과는 시각적으로 양자화되지 않은 버전에 매우 가깝습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

데이터의 양이 대폭 줄어들었음에도(원본 이미지가 압축된 이미지보다 155배 더 큼) 효과는 매우 좋지만 일부 아티팩트도 발생합니다(예: 하트 모양 패턴이 나타나는 경우) 원본 이미지에는 존재하지 않음) 인공물).

흥미롭게도 이 압축 방식으로 인해 발생하는 아티팩트는 이미지 품질보다 이미지 콘텐츠에 더 큰 영향을 미치며, 이런 방식으로 압축된 이미지에는 이러한 유형의 압축 아티팩트가 포함될 수 있습니다.

저자는 또한 zlib를 사용하여 팔레트와 인덱스에 대해 무손실 압축을 수행했습니다. 테스트 샘플에서 대부분의 압축 결과는 5kb 미만이었지만 이 압축 방법은 여전히 ​​최적화할 여지가 더 많습니다.

압축 코덱을 평가하기 위해 저자는 인터넷에서 찾은 표준 테스트 이미지를 사용하지 않았습니다. 왜냐하면 인터넷에 있는 이미지가 Stable Diffusion의 훈련 세트에 등장했을 수도 있고 그러한 이미지를 압축하면 불공정한 비교우위를 초래합니다.

최대한 공정한 비교를 위해 저자는 Python 이미지 라이브러리의 최고 품질 인코더 설정을 사용했으며, mozjpeg 라이브러리를 사용하여 압축된 JPG 데이터에 무손실 데이터 압축을 추가했습니다.

Stable Diffusion의 결과는 주관적으로 JPG 및 WebP 압축 이미지보다 훨씬 좋아 보이지만 PSNR 또는 SSIM과 같은 표준 측정 측면에서는 크게 낫지는 않지만 나쁘지도 않다는 점은 주목할 가치가 있습니다.

단지 소개된 아티팩트 유형이 이미지 품질보다 이미지 콘텐츠에 더 많은 영향을 미치기 때문에 눈에 띄지 않는 것뿐입니다.

이 압축 방법도 약간 위험합니다. 재구성된 특징의 품질은 높지만 내용이 매우 선명해 보이더라도 압축 아티팩트의 영향을 받을 수 있습니다.

예를 들어 하나의 테스트 이미지에서는 코덱으로서의 Stable Diffusion이 이미지 품질을 유지하는 데 훨씬 뛰어나지만 카메라 그레인 텍스처도 보존됩니다(기존 압축 알고리즘으로는 달성하기 가장 어렵습니다) , 그러나 콘텐츠는 여전히 압축 아티팩트의 영향을 받으며 건물 모양과 같은 미세한 기능이 변경될 수 있습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

Stable Diffusion 압축 이미지보다 JPG 압축 이미지에서 더 많은 실제 값을 식별하는 것은 확실히 불가능하지만 Stable Diffusion 압축 결과의 높은 시각적 품질은 기만적일 수 있습니다. WebP의 압축 아티팩트는 식별하기가 더 쉽습니다.

실험을 재현하고 싶다면 작성자가 Colab에 코드를 오픈 소스로 공개했습니다.

Stable Diffsuion还能用来压缩图像?压缩率更高,清晰度超越JPEG等算法

코드 링크 : https://colab.research.google.com/drive/1ci1vyhufjk5eox9tb0mq4nsqkedrmaah?usp=sharing worly는 기사에서 설계된 실험이 여전히 꽤 좋습니다. 간단하지만 효과는 여전히 놀랍습니다. 아직 앞으로 개선의 여지가 많습니다.

위 내용은 Stable Diffusion이 JPEG와 같은 알고리즘을 능가하고 선명도를 유지하면서 이미지 압축을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제