반응형
안녕하세요.
이번 시간에는 Python에서 대표적인 이미지 간 유사도 지표 중에 하나인 LPIPS를
계산하는 예제에 대해서 다루어보도록 하겠습니다.
먼저, 필요한 라이브러리 설치를 진행해줍시다.
!pip install lpips
!pip install torchvision
이후, 두 이미지 파일을 불러와 전처리하고 LPIPS 값을 계산하는 코드는 아래와 같습니다.
import lpips
from PIL import Image
from torchvision import transforms
# 이미지 로드 및 전처리 함수
def load_image(image_path):
transform = transforms.Compose([
transforms.Resize((256, 256)), # LPIPS는 이미지 크기가 같아야 함
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
img = Image.open(image_path).convert('RGB')
return transform(img).unsqueeze(0) # (1, 3, H, W)
# LPIPS 모델 초기화 (기본 backbone: alex)
loss_fn = lpips.LPIPS(net='alex') # 'vgg' or 'squeeze'도 가능
# 이미지 불러오기
img1 = load_image('image1.png')
img2 = load_image('image2.png')
# LPIPS 계산
lpips_distance = loss_fn(img1, img2)
print(f"LPIPS distance: {lpips_distance.item()}")
이 코드 스니펫이 LPIPS 지표 계산에 도움이 되셨다면 좋겠습니다.
감사합니다.
'Python > Vision Code' 카테고리의 다른 글
파이썬 이미지 합치기 코드 예시(PIL 이용) (2) | 2025.02.24 |
---|---|
[OpenCV] 파이썬 사물 인식(Object Detection) 실습 코드 예제 (2) | 2022.08.11 |
파이썬 이미지 데이터 증강 모듈 : imgaug (0) | 2022.08.02 |