[python] 파이썬을 사용한 이미지 데이터 증강

이미지 데이터 증강은 기존의 이미지를 변형시켜 데이터셋을 다양하게 만드는 기술입니다. 이는 컴퓨터 비전 작업인 객체 감지, 이미지 분류, 세분화 등에서 모델의 성능을 향상시킬 수 있는 효과적인 방법입니다.

파이썬에서 이미지 데이터 증강을 수행하기 위해 imgaug라이브러리를 사용할 수 있습니다. 이 라이브러리는 다양한 이미지 변형 기능을 제공하고 있어 편리하게 활용할 수 있습니다.

imgaug 설치하기

imgaug를 설치하기 위해서는 pip를 사용할 수 있습니다. 아래의 명령을 터미널에서 실행하여 설치합니다.

pip install imgaug

이미지 증강 수행하기

다음은 파이썬을 사용하여 이미지 데이터를 증강하는 예제 코드입니다.

import imgaug.augmenters as iaa
import cv2

# 이미지 로드
image = cv2.imread('input.jpg')

# 증강기 정의
seq = iaa.Sequential([
    iaa.Fliplr(0.5),               # 좌우 반전
    iaa.GaussianBlur(sigma=(0, 3)), # 가우시안 블러
    iaa.Affine(rotate=(-20, 20))    # 회전
])

# 증강 수행
augmented_image = seq(image=image)

# 증강된 이미지 저장
cv2.imwrite('output.jpg', augmented_image)

위의 코드에서는 imgaugSequential 클래스를 활용하여 여러 가지 이미지 변형 기능을 순차적으로 적용하였습니다. 예를 들어 Fliplr은 이미지를 좌우로 반전시키고, GaussianBlur는 가우시안 블러를 적용하며, Affine은 이미지를 회전시킵니다.

이미지를 증강한 후에는 cv2.imwrite() 함수를 사용하여 증강된 이미지를 저장할 수 있습니다.

결론

이미지 데이터 증강은 파이썬을 활용하여 쉽게 수행할 수 있습니다. imgaug 라이브러리를 사용하면 다양한 이미지 변형 기능을 지원받을 수 있으며, 이를 통해 데이터셋의 다양성을 높여 모델의 성능을 향상시킬 수 있습니다.

참고 자료