augmentedImageDatastore
배치를 변환하여 영상 데이터 증대
설명
증대 영상 데이터저장소는 크기 조정, 회전, 반사와 같은 선택적 전처리를 사용하여 훈련 데이터, 검증 데이터, 테스트 데이터, 예측 데이터의 배치를 변환합니다. 딥러닝 신경망의 입력 크기와 호환되도록 영상의 크기를 조정합니다. 무작위 방식의 전처리 연산으로 영상 데이터를 증대 훈련시키는 것은 신경망이 과적합되는 것을 막고 훈련 영상의 세부 정보를 정확히 기억하지 못하게 하는 데 도움이 됩니다.
증대 영상을 사용하여 신경망을 훈련시키려면 trainnet
함수에 augmentedImageDatastore
를 사용하십시오. 자세한 내용은 딥러닝을 위해 영상 전처리하기 항목을 참조하십시오.
증대 영상 데이터저장소를 훈련 영상의 소스로 사용하면 각 Epoch에 사용되는 훈련 데이터가 무작위로 섭동되어 Epoch마다 조금씩 다른 데이터 세트가 사용됩니다. 각 Epoch에 사용되는 실제 훈련 영상의 개수는 변경되지 않습니다. 변환된 영상은 메모리에 저장되지 않습니다.
imageInputLayer
는 원래 데이터 세트의 평균이 아닌 증대 영상의 평균을 사용하여 영상을 정규화합니다. 이 평균은 첫 번째로 증대된 Epoch에 대해 한 번 계산됩니다. 다른 모든 Epoch도 동일하게 이 평균을 사용하므로, 훈련 중에 평균값 영상이 변경되지 않습니다.딥러닝을 위해 영상을 효율적으로 전처리하려면(영상 크기 조정 포함) 증대 영상 데이터저장소를 사용합니다.
ImageDatastore
객체의ReadFcn
옵션dmf 사용하지 마십시오.ImageDatastore
는 프리페치 작업을 사용한 JPG 또는 PNG 영상 파일의 배치 읽기를 허용합니다.ReadFcn
옵션을 사용자 지정 함수로 설정하는 경우,ImageDatastore
는 프리페치를 수행하지 않고 일반적으로 상당히 느립니다.
기본적으로 augmentedImageDatastore
는 출력 크기와 맞추기 위해 영상의 크기를 조정합니다. imageDataAugmenter
를 사용하여 영상 변환 옵션을 추가로 구성할 수 있습니다.
생성
구문
설명
auimds = augmentedImageDatastore(outputSize,
는 영상 데이터저장소 imds
)imds
의 영상을 사용하여 분류 문제를 위한 증대 영상 데이터저장소를 만듭니다. 출력 크기를
속성에 설정합니다.OutputSize
auimds = augmentedImageDatastore(outputSize,
는 영상 데이터인 배열 X
)X
의 응답 변수 예측을 위한 증대 영상 데이터저장소를 만듭니다.
auimds = augmentedImageDatastore(outputSize,
은 분류나 회귀 문제를 위한 증대 영상 데이터저장소를 만듭니다. 테이블 tbl
)tbl
은 예측 변수와 응답 변수를 포함합니다.
auimds = augmentedImageDatastore(outputSize,
는 분류나 회귀 문제를 위한 증대 영상 데이터저장소를 만듭니다. 테이블 tbl
,responseNames
)tbl
은 예측 변수와 응답 변수를 포함합니다. responseNames
인수는 tbl
의 응답 변수를 지정합니다.
auimds = augmentedImageDatastore(___,Name,Value)
는 이름-값 쌍을 사용하여
, ColorPreprocessing
, DataAugmentation
, OutputSizeMode
의 속성을 설정하고 증대 영상 데이터저장소를 만듭니다. 여러 개의 이름-값 쌍을 지정할 수 있습니다. 각 속성 이름을 따옴표로 묶습니다.DispatchInBackground
예를 들어, augmentedImageDatastore([28,28],myTable,'OutputSizeMode','centercrop')
은 영상을 중앙에서 자르는 증대 영상 데이터저장소를 만듭니다.
입력 인수
속성
객체 함수
combine | 여러 데이터저장소의 데이터 결합 |
hasdata | 데이터를 읽을 수 있는지 확인 |
numpartitions | 데이터저장소 파티션 개수 |
partition | 데이터저장소 파티셔닝 |
partitionByIndex | Partition augmentedImageDatastore according to
indices |
preview | 데이터저장소에 있는 데이터의 서브셋 미리보기 |
read | Read data from augmentedImageDatastore |
readall | 데이터저장소의 모든 데이터 읽기 |
readByIndex | Read data specified by index from
augmentedImageDatastore |
reset | 데이터저장소를 초기 상태로 재설정 |
shuffle | Shuffle data in augmentedImageDatastore |
subset | Create subset of datastore or FileSet |
transform | 데이터저장소 변환 |
isPartitionable | Determine whether datastore is partitionable |
isShuffleable | Determine whether datastore is shuffleable |
예제
팁
imtile
함수를 사용하면 변환된 복수의 영상을 하나의 Figure에 시각화할 수 있습니다. 예를 들어, 다음 코드는 증대 영상 데이터저장소auimds
에서 변환된 영상으로 구성된 미니 배치 1개를 표시합니다.minibatch = read(auimds); imshow(imtile(minibatch.input))
기본적으로 크기 조정이 영상에 수행되는 유일한 영상 전처리 연산입니다.
imageDataAugmenter
객체와
이름-값 쌍 인수를 함께 사용하면 전처리 연산을 추가로 활성화할 수 있습니다. 증대 영상 데이터저장소에서 영상을 읽어 들일 때마다 무작위로 조합된 다른 전처리 연산이 영상에 적용됩니다.DataAugmentation
버전 내역
R2018a에 개발됨
참고 항목
imageDataAugmenter
| imageInputLayer
| trainnet
| trainingOptions
| dlnetwork