Skip to main content

No project description provided

Project description

Augmentationer

Augmentationer는 이미지와 해당 라벨을 다양한 방식으로 증강하는 파이썬 라이브러리입니다.

주요 기능

  • 이미지 회전
  • 가우시안 노이즈 추가
  • 블러 효과 적용
  • 그레이스케일 변환
  • 랜덤 크롭
  • 투시 변환
  • 대비 조정
  • 소금-후추 노이즈 추가
  • 이미지 좌우 반전
  • 밝기 조정
  • 색상 지터링
  • 채널 셔플

설치 방법

pip install augmentationer

사용 방법

기본 사용법

from augmentationer import augmentationer
from augmentationer.function import *

# 증강 함수 정의
augmentation_functions = [
    lambda img, lbl: rotate_image_and_labels(img, lbl, 30, 0.3),
    lambda img, lbl: (add_gaussian_noise(img)),
    lambda img, lbl: (apply_blur(img)),
    lambda img, lbl: (convert_color(img)),
    lambda img, lbl: apply_random_crop(img, lbl, 0.8),
    lambda img, lbl: apply_perspective_transform(img, lbl, 0.2),
    lambda img, lbl: (change_contrast(img)),
    lambda img, lbl: (add_salt_pepper_noise(img)),
    lambda img, lbl: (flip_image_and_labels(img, lbl)),
    lambda img, lbl: (adjust_brightness(img)),
    lambda img, lbl: (color_jitter(img)),
    lambda img, lbl: (channel_shuffle(img)),
]

# augmentationer 실행
augmentationer("images", "labels", "output", augmentation_functions, "aug)

멀티 사용법

여러 가지 증강 설정을 적용하려면 다음과 같이 사용할 수 있습니다:

from augmentationer import augmentationer
from augmentationer.function import *

# 증강 함수 세트 정의
augmentation_functions_1 = [
    lambda img, lbl: rotate_image_and_labels(img, lbl, 30, 0.3),
    lambda img, lbl: (add_gaussian_noise(img)),
    lambda img, lbl: (apply_blur(img)),
    lambda img, lbl: (convert_color(img)),
    lambda img, lbl: apply_random_crop(img, lbl, 0.8),
    lambda img, lbl: apply_perspective_transform(img, lbl, 0.2),
]

augmentation_functions_2 = [
    lambda img, lbl: (change_contrast(img)),
    lambda img, lbl: (add_salt_pepper_noise(img)),
    lambda img, lbl: (flip_image_and_labels(img, lbl)),
    lambda img, lbl: (adjust_brightness(img)),
    lambda img, lbl: (color_jitter(img)),
    lambda img, lbl: (channel_shuffle(img)),
]

augmentation_functions_3 = [
    lambda img, lbl: (add_gaussian_noise(img)),
    lambda img, lbl: (apply_blur(img)),
    lambda img, lbl: (convert_color(img)),
    lambda img, lbl: apply_random_crop(img, lbl, 0.8),
    lambda img, lbl: apply_perspective_transform(img, lbl, 0.2),
]

# 여러 증강 설정 적용
augmentationer("images", "labels", "output", augmentation_functions_1, "augmentation_1")
augmentationer("images", "labels", "output", augmentation_functions_2, "augmentation_2")
augmentationer("images", "labels", "output", augmentation_functions_3, "augmentation_3")

이 방법을 사용하면 여러 가지 증강 설정을 독립적으로 적용할 수 있으며, 각 설정에 대해 접두사가 붙은 이름의 파일이 생성됩니다.

Visualizer 사용법

증강된 이미지와 라벨을 시각화하려면 다음과 같이 visualizer 함수를 사용할 수 있습니다:

from augmentationer import visualizer

# 이미지와 라벨 파일 경로 지정
image_path = 'output/images/image2_augmentation_3.jpg'
label_path = 'output/labels/image2_augmentation_3.txt'

# visualizer 실행
visualizer(image_path, label_path)

이 함수는 지정된 이미지를 열고, 해당하는 라벨 정보를 이미지 위에 표시합니다. 각 객체는 녹색 폴리곤으로 표시되며, 클래스 ID도 함께 표시됩니다.

주요 함수 설명

augmentationer(image_folder, txt_folder, output_folder, augmentation_functions)

주어진 이미지 폴더와 라벨 폴더에서 이미지를 읽어와 다양한 증강 함수를 적용한 후, 증강된 이미지와 라벨을 출력 폴더에 저장합니다.

매개변수:

  • image_folder (str 또는 PathLike): 원본 이미지 파일들이 저장된 폴더 경로
  • txt_folder (str 또는 PathLike): 원본 라벨 파일들이 저장된 폴더 경로
  • output_folder (str 또는 PathLike): 증강된 이미지와 라벨 파일들을 저장할 출력 폴더 경로
  • augmentation_functions (List[Callable]): 이미지와 라벨에 적용할 증강 함수들의 리스트
  • aug_prefix (str): 증강된 파일 이름에 추가할 접두사

rotate_image_and_labels(image, labels, angle, padding_ratio=0.1)

이미지를 회전시키고 라벨을 조정합니다.

add_gaussian_noise(image, mean=0, std=25, weight=0.25)

이미지에 가우시안 노이즈를 추가합니다.

apply_blur(image, kernel_size=(5, 5), sigma=0)

이미지에 블러 효과를 적용합니다.

convert_color(image)

이미지를 그레이스케일로 변환한 후 다시 컬러로 변환합니다.

apply_random_crop(image, labels, crop_ratio=0.8)

이미지를 랜덤하게 자르고 라벨을 조정합니다.

apply_perspective_transform(image, labels, strength=0.05)

이미지에 투시 변환을 적용하고 라벨을 조정합니다.

change_contrast(image, alpha=1.5, beta=0)

이미지의 대비를 조정합니다.

add_salt_pepper_noise(image, salt_vs_pepper=0.2, amount=0.004)

이미지에 소금과 후추 노이즈를 추가합니다.

flip_image_and_labels(image, labels)

이미지를 수평으로 뒤집고 라벨을 조정합니다.

adjust_brightness(image, brightness_range=(0.7, 1.3))

이미지의 밝기를 조정합니다.

color_jitter(image, hue_shift=0.1, saturation_shift=0.3, value_shift=0.3)

이미지의 색조, 채도, 명도를 무작위로 변경합니다.

channel_shuffle(image)

이미지의 색상 채널을 무작위로 섞습니다.

라이선스

이 프로젝트는 MIT 라이선스 하에 있습니다.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

augmentationer-0.3.3.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

augmentationer-0.3.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file augmentationer-0.3.3.tar.gz.

File metadata

  • Download URL: augmentationer-0.3.3.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/10

File hashes

Hashes for augmentationer-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c03104ce49e1c46c51ab3992e7dcc0972c17061498e8af3e36e5794e53474d0e
MD5 c16731e6f8e580d3f507425472805c1e
BLAKE2b-256 05d483155c67cb213878dcbc0c22cc53590b444ed45a5811b473179c518c2700

See more details on using hashes here.

File details

Details for the file augmentationer-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: augmentationer-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/10

File hashes

Hashes for augmentationer-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 65403af665955bf95b7d81aae98f8f420246a3b44e6c0257891bb7a548c04f09
MD5 4a12af9fe3bed0af579c831ecbba611e
BLAKE2b-256 3661a7f2aadbaed78a321469fa0b3cd6c15f01fd3983612e7c00c800c5a17160

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page