inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

강사님 CNN에 입력하는 이미지 데이터에 대한 질문이 있습니다.

169

jhjung

작성한 질문수 5

0

색이 있는 이미지 데이터는 3개의 채널을 가지고 각각의 채널에 2차원 형태의 평면에 각 픽셀값들이 있는 형식으로 알고 있는데

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

위의 해당 코드로 파일형식의 데이터를 이미지화 시켰을 때, 아래 처럼  3개의 채널이 아니라 다수의 채널이 있음을 확인하였습니다. 제가 이해한 부분이 잘못된건지 잘 모르겠어서 질문을 드리게 되었습니다.

[[[191 233 167]
  [191 233 167]
  [191 233 167]
  ...
  [170 220 157]
  [169 219 156]
  [169 219 156]]

 [[191 233 167]
  [191 233 167]
  [192 234 168]
  ...
  [170 220 157]
  [169 219 156]
  [169 219 156]]

 [[191 233 167]
  [192 234 168]
  [192 234 168]
  ...
  [170 220 157]
  [169 219 156]
  [169 219 156]]

 ...

 [[186 192 156]
  [186 192 156]
  [186 192 156]
  ...
  [192 195 164]
  [192 195 164]
  [192 195 164]]

 [[186 192 156]
  [186 192 156]
  [186 192 156]
  ...
  [191 194 163]
  [191 194 163]
  [191 194 163]]

 [[186 192 156]
  [186 192 156]
  [186 192 156]
  ...
  [191 194 163]
  [191 194 163]
  [191 194 163]]]

 

딥러닝 kaggle tensorflow 머신러닝 배워볼래요? keras cnn

답변 1

1

권 철민

안녕하십니까, 

opencv가 이미지를 읽어들일때 채널 Last로 읽어들이기 때문입니다. 즉 이미지 크기가 224x224라면

224x224x3(채널수) 배열을 만듭니다. 그렇기 때문에 이미지 배열의 마지막 차원이 채널이 되며 적어주신대로 3개의 채널값이 마지막 차원이 되는 걸로 표시됩니다. 

제가 설명은 아마 채널 first 로 설명을 드렸습니다. 그게 더 직관적이기 때문입니다. channel first 면 아래와 같이 되지만 channel last는 위와 같은 방식으로 표기 됩니다. 

[

[

  [192, 182,,......................] , # 224개의 컬럼

......

[181, 180.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]

# 224개의 로우

], 

[

  [192, 182,,......................] , # 224개의 컬럼

......

[181, 180.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]

# 224개의 로우

], 

[

  [192, 182,,......................] , # 224개의 컬럼

......

[181, 180.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]

# 224개의 로우

] #3개의 채널

 

0

jhjung

감사합니다.

resize 질문

0

60

1

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

0

86

1

Loss와 매트릭 관계

0

75

2

Boston 코랩 실습

0

170

2

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

0

143

2

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

0

151

2

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

0

212

2

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

0

214

1

강의 관련 질문입니다

0

161

2

residual block과 identity block의 차이

0

199

2

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

1

251

1

실습 환경

0

171

2

입력 이미지 크기

0

256

2

데이터 증강

0

203

2

albumentations ShiftScaleRotate

0

210

1

Model Input Size 관련

0

292

1

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

0

206

1

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

0

276

2

실무에서 Augmentation 적용 시

0

346

2

안녕하세요 교수님

0

235

1

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

0

332

1

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

0

412

1

학습이 이상하게 됩니다.

2

1040

2

boston import가 안됩니다

0

230

1