1. Image Data 및 Type
1) Image Data
이미지는 컴퓨터에서 데이터로 처리됩니다.
이미지를 처리할 때 중요한 요소는 해상도, 픽셀, 채널입니다.
이미지를 정확히 이해하고 처리하기 위해서는 이 요소들을 잘 파악해야 합니다.
이미지는 컴퓨터에서 보통 w, h, c 형태의 데이터로 표현됩니다.
- w: 이미지의 너비(Width)
- h: 이미지의 높이(Height)
- c: 채널(Channel) 수
예를 들어, w=1920, h=1080, c=3인 이미지는 1920x1080 해상도를 가진 이미지이며, 각 픽셀이 3개의 값을 갖는다는 뜻입니다. 이 3개의 값은 RGB 채널을 의미하며, 각각 빨간색(Red), 초록색(Green), **파란색(Blue)**의 값을 나타냅니다.
2) 이미지의 Data Type
디지털 이미지를 다룰 때, 종종 24bit 이미지와 48bit 이미지라는 용어를 접하게 됩니다.
이것이 무엇을 의미하는지, 그리고 이미지의 True Color 표현에 어떤 영향을 미치는지 알아보겠습니다.
24bit 이미지
일반적으로 컴퓨터에서 사용되는 이미지 파일은 24bit True Color 이미지를 사용합니다.
이 경우, 각 픽셀은 3개의 채널로 나누어져 있으며, R(빨강), G(초록), B(파랑)
각각의 채널이 8bit(0 ~ 255) 범위의 값을 가집니다.
- 8bit(0 ~ 255) 값으로 각 채널이 표현되며, 이는 한 채널당 256개의 색상 단계가 가능합니다.
- 세 가지 채널을 모두 합치면, 총 16,777,216가지의 색상을 표현할 수 있습니다.
즉, 우리가 일반적으로 보는 사진이나 모니터 화면이 24bit 이미지로 구성되어 있는 것이죠.
48bit 이미지
반면에, 48bit 이미지는 16bit(0 ~ 65,535) 범위를 사용하는 이미지입니다.
이 형식은 디지털 카메라의 RAW 포맷이나 고해상도의 비디오 영상에 자주 사용됩니다.
- 16bit(0 ~ 65,535) 범위는 각 채널당 65,536개의 색상 단계를 제공하므로, 훨씬 더 많은 색상을 표현할 수 있습니다.
- 48bit 이미지의 경우, 총 281조 이상의 색상을 표현할 수 있어 훨씬 더 부드럽고 세밀한 색상 표현이 가능합니다.
3) 우리가 딥러닝 모델을 사용할 때, 왜 자꾸 메모리가 부족하다고 하는 걸까?
이미지 데이터의 저장 형식 (uint8 과 float32)
일반적으로 이미지는 uint8 형식으로 저장됩니다. 이 데이터 형식은 1바이트 크기의 데이터를 사용하여
각 픽셀 값을 0 ~ 255 범위 내에서 표현합니다.
하지만 딥러닝 모델에 이미지를 입력하기 전, 데이터를 Normalization하는 과정에서 float32 형식으로 변환됩니다.
이 경우, 각 값은 0 ~ 1 사이의 실수(float)로 변환되며, 4바이트의 메모리를 사용하게 됩니다.
- uint8: 1바이트 크기의 정수형 데이터 (0~255)
- float32: 4바이트 크기의 실수형 데이터 (0~1 사이의 값)
이 변환은 이미지 데이터가 훨씬 더 많은 메모리를 사용하게 된다는 것을 의미합니다.
예를 들어, 동일한 이미지가 정수형 데이터에서 실수형 데이터로 변환되면서 필요한 메모리 양이 4배로 증가합니다.
이미지 데이터 Type 에는 다양한 타입들이 있다.
어떤 데이터가 주어지더라도 내 마음대로 할 수 있어야 한다.
결국 여러 형태가 있겠지만 이미지라는 재료는 이 기본적인 틀에서 왠만하면 벗어나지 않는다는 점을 참고하자.
2. EDA (Exploratory Data Analysis)
EDA는 말 그대로 데이터를 탐구하고 분석하는 과정입니다.
주어진 데이터를 시각화하거나 통계적 기법을 사용하여 데이터의 분포, 관계, 이상치(Outliers) 등을 확인하고,
데이터가 분석에 적합한지 판단하는 것입니다.
EDA의 핵심은 데이터를 시각적으로 이해하는 것입니다.
이를 통해 우리는 데이터를 더 직관적으로 이해하고, 분석의 방향을 정할 수 있습니다.
또한, 코드를 글과 함께 작성하는 능력 즉, 말하고자 하는 바를 코드로 옮기고 설명한다고 생각하면 됩니다.
EDA의 중요성
EDA는 데이터를 단순히 이해하는 것에 그치지 않고, 분석의 방향을 설정하는 데 중요한 역할을 합니다.
데이터를 잘못 이해하거나, 이상치를 간과하면 분석 결과에 치명적인 영향을 줄 수 있습니다.
따라서 EDA를 철저히 수행하여 데이터의 특성을 정확히 파악하고, 데이터 분석의 기반을 튼튼히 다져야 합니다
'AI Naver boost camp > [Week 06] - CV 프로젝트' 카테고리의 다른 글
[05] - CV 분야에서 모델의 이해 및 선정 방법 (0) | 2024.09.11 |
---|---|
[01] - 딥러닝 문제 정의 및 구체화 (2) | 2024.09.10 |
댓글