inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

Keras Sequence기반의 Dataset 활용하여 Albumentations 적용하고 Xception, MobileNet으로 이미지 분류 수행 - 01

흑백 이미지 데이터 셋에 관련된 질문입니다.

662

anwlro7347

작성한 질문수 3

0

안녕하세요. 선생님

정말 질 좋은 강의를 들을 수 있어서 행운이라고 생각합니다.

CatnDog_Sequence기반으로 개인적으로 Modify하여 공부를 해보고 있습니다.

제가 갖고 있는 이미지는 흑백 이미지 인데요.

image = cv2.imread("D:\\Lens_image_data\\test\\test_set\\sort1\\1.BMP", cv2.IMREAD_ANYCOLOR)
print(image.shape)

shape을 print해보았을 때, (1548, 1544)으로 RGB 3채널이 아닌 것도 확인하였습니다.

1) 따라서 Image_Batch 배열 진행 시에도 뒤에 3채널은 빼고 넣었으며,

image_batch = np.zeros((image_name_batch.shape[0], IMAGE_SIZE, IMAGE_SIZE), dtype='float32')

2) 이미지를 cv2로 읽어올 때도 아래와 같이 변경해보았습니다.

image = cv2.imread(image_name_batch[image_index], cv2.IMREAD_UNCHANGED)

이렇게 되면 shape이 (64, 224, 224) (64,) 이렇게 나오는데, 흑백 이미지로 할 때는 상기와 같이 바꾸는게 맞는 것인지 궁금합니다.

머신러닝 딥러닝 keras tensorflow kaggle cnn

답변 2

0

권 철민

안녕하십니까,

잘 듣고 계시다니, 저도 기분이 좋군요.

CNN을 사용하려면 이미지 채널이 무조건 3차원이 되어야 합니다(Batch 포함 4차원)

적용하신대로 마지막 1채널의 이미지를 3개 채널로 복사해서 만드셔도 되고,

그냥 채널을 마지막 차원에 추가하셔도 됩니다.

rgb_image = np.expand_dims(gray_image, -1)

 

감사합니다.

 

0

anwlro7347

답변해주셔서 감사합니다. 결국 imagenet을 이용하려면 총 4차원이 되어야 하는게 맞군요. Gray Image를 Color image처럼 차원을 맞춰서 진행해보도록 하겠습니다.

0

anwlro7347

            if self.pre_func is not None:
                image = self.pre_func(image)

            image_batch[image_index] = image
            
        image_batch = np.repeat(image_batch[..., np.newaxis], 3, -1)
        return image_batch, label_batch

 

ImageNet을 사용하려면 채널이 무조건 3개가 입력이 되어야 하는 것 같네요.. 일단은 gray image를 RGB 처럼 3채널로 만들어 보았습니다. 단순 1채널 이미지를 3채널 형식에 복사하는 형식으로 짜보았는데, 잘 될련지 모르겠네요

resize 질문

0

50

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

75

1

Loss와 매트릭 관계

0

61

2

Boston 코랩 실습

0

162

2

배치 정규화의 이해와 적용 2 강의 질문

0

134

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

144

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

203

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

185

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

238

1

실습 환경

0

165

2

입력 이미지 크기

0

243

2

데이터 증강

0

195

2

albumentations ShiftScaleRotate

0

205

1

Model Input Size 관련

0

279

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

204

1

일반적인 질문 (kaggle notebook사용)

0

272

2

실무에서 Augmentation 적용 시

0

337

2

안녕하세요 교수님

0

231

1

가중치 초기화(Weight Initialization) 질문입니다.

0

327

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

407

1

학습이 이상하게 됩니다.

2

1036

2

boston import가 안됩니다

0

228

1