Boostcamp AI Tech (Day 027)
1. 프로젝트 타운홀 미팅
2. cv competition 강의
1. CV Basic Competition 소개
- 이 강의는 CV 기초 대회와 관련된 연계 강의로, 컴퓨터 비전 대회에 참여하는 방법을 배운다.
- 대회(Competition)는 데이터 사이언스 문제를 해결하기 위해 서로 경쟁하는 형식으로 진행된다.
2. Competition의 구성요소
- 문제(Problem): 참가자들이 해결해야 하는 도전 과제가 주어진다.
- 데이터(Data): 문제 해결에 필요한 데이터셋이 제공된다.
- 참가자(Competitors): 다양한 배경의 사람들이 문제 해결을 위해 경쟁에 참여한다.
3. Competition 참여의 이유
- 목표 설정: Competition은 단순한 데이터 제공이 아닌, 해결해야 할 과제도 함께 제공된다.
- 배경 이해: 문제 해결의 필요성과 의미를 이해하면 더 나은 솔루션을 찾는 데 도움이 된다.
- 경험 축적: 실제로 데이터를 다루고 문제를 해결하는 과정을 통해 실용적인 경험을 쌓을 수 있다.
- 참가자들과 협력: 다른 참가자들과 함께 다양한 문제 해결 방법을 공유하고 학습할 수 있다.
4. 한문 OCR 예시
- 주제: 한문 글자 이미지를 OCR로 인식하는 문제.
- 계획서: 주제 선정, 데이터셋 선택, 모델 구조, 리소스 등이 포함된 계획서 작성의 중요성을 설명.
- 문제 정의: 문제를 정의하고 목표를 구체적으로 설정해야만 문제 해결을 위한 올바른 방향성을 잡을 수 있다.
5. Competition 준비
- 이론과 실전의 조화: 이론적인 지식을 바탕으로 실전에서 다양한 문제를 해결하는 방법을 배우는 것이 중요하다.
- 문제 해결 과정: 문제 정의, 데이터 특성 이해, 해결 방법 탐색, 실험 및 결과 분석 등의 연속적인 과정을 통해 문제를 해결한다.
6. 대회를 준비하는 마음가짐
- 점수는 참고 지표: Competition의 점수는 성적표가 아니며, 중요한 것은 프로젝트를 통해 무엇을 배웠는지, 부족한 점이 무엇인지 파악하는 것이다.
- 나보다 잘하는 사람들: 자신보다 더 잘하는 참가자들을 보며 동기 부여를 받고 배울 점을 찾아야 한다.
1. 이미지 데이터의 이해 (Understanding Image Data)
- 이미지 데이터는 컴퓨터에서 다뤄야 하므로 숫자 배열로 표현된다. 예를 들어, 각 픽셀은 RGB 값으로 나타나며, 각 값은 0에서 255 사이의 숫자이다.
- 해상도(Resolution)는 이미지의 가로와 세로 픽셀 수를 나타낸다. 해상도가 높을수록 이미지가 정교하다.
- 픽셀(Pixels)은 이미지의 가장 작은 단위이며, 각 픽셀은 여러 색상 성분을 지닌다.
- 채널(Channels)은 이미지 색상을 구성하는 요소들이다. 일반적으로 3개의 채널(RGB)을 사용하지만, 흑백 이미지(Grayscale)는 1채널, 위성 이미지 등은 다채널을 사용할 수 있다.
2. 데이터 타입(Data Type)
- 이미지 데이터는 보통 8bit(0~255)의 값으로 표현되며, RGB를 합하면 24bit의 이미지가 된다. 디지털 카메라의 경우, 더 높은 비트 값을 사용하는 이미지도 있다.
- 더 높은 비트의 이미지는 메모리 사용량이 커질 수 있다.
3. EDA (Exploratory Data Analysis)
- EDA는 데이터를 탐구하고 분석하는 과정이다. 이미지를 분석할 때는 이미지의 차원, 채널, 크기, 파일 포맷 등을 확인한다.
- 이미지 샘플을 직접 확인해 새로운 인사이트를 얻을 수 있고, 중복된 이미지를 제거하는 작업도 필요하다.
4. EXIF 메타데이터
- 스마트폰 및 디지털 카메라로 촬영된 이미지에는 촬영 위치(GPS 정보), 장비 정보, 촬영 시간 등이 포함된 EXIF 메타데이터가 있을 수 있다.
- 이러한 메타데이터는 개인 정보 보호와 관련된 문제가 발생할 수 있으므로 주의가 필요하다.
결론
- 우리는 데이터를 다루는 사람으로서, 항상 데이터를 이해하고 분석하려는 태도가 중요하다. 모든 데이터가 완벽하게 정리되어 있지 않으므로, 문제 해결의 시작은 데이터를 탐구하는 데서 출발한다.
1. 이미지 처리의 중요성
- 이미지 처리는 컴퓨터 비전 파이프라인에서 매우 중요한 단계이다.
- 이를 통해 모델의 성능과 일반화 능력에 큰 영향을 미칠 수 있다.
- 의미 있는 특징과 표현을 추출하는 데 도움이 된다.
2. 색상 공간 (Color Space)
- RGB: 가장 많이 사용하는 색상 공간으로, 빛의 삼원색을 기반으로 한다.
- HSV: 색상(Hue), 채도(Saturation), 명도(Value)를 나타내는 색상 공간으로, 그래픽 편집에서 직관적이다.
- Lab: 색의 일관성을 유지하는 색상 공간으로, 장치 간의 색상 차이를 줄이는 데 유용하다.
- YCbCr: 비디오 시스템에서 주로 사용되며, 밝기와 색상 차이를 나타낸다.
- Grayscale: 밝기 정보만 사용하는 색상 공간으로, 컬러 정보가 필요 없는 텍스처 분석 등에 사용된다.
- OpenCV를 이용한 Color Space 변환
- Histogram Smoothing
- 이미지의 히스토그램을 평활화 (Equalize)한다.
- Contrast를 개선하고 디테일을 잘보이게 만들어준다.
- Lightning이 좋지 않은 이미지를 개선하는데 도움을 준다.
- Skin color detection(Use-case: Color-based Segmentation)
- HSV 또는 YCbCr color space로 변환
- color 채널에 따라 Thresholding
3. 기하학적 변환 (Geometric Transform)
- Translation, Rotation, Scaling, Shearing, Perspective와 같은 다양한 기하학적 변환을 사용하여 이미지의 위치, 크기, 각도를 변경할 수 있다.
Image 크기를 변경하면 Object를 찾을 수도 있고 못찾을 수도 있다.
- CNN 모델의 입력 크기에 따라 특징 맵 크기가 달라지며, 학습된 패턴의 크기 또한 변할 수 있다.
- Translation
- Rotation
- Scaling(resize)
- Perspective Transformation
4. 데이터 증강 (Data Augmentation)
- 데이터 증강은 학습 데이터의 다양성을 증가시켜 모델의 견고성을 높이고 과적합을 방지하는 데 도움을 준다.
- Flips, Rotations, Crops, Color Jittering 등의 일반적인 증강 기법을 사용하여 데이터를 다양하게 변형할 수 있다.
- AutoAugment와 RandAugment 같은 자동 증강 기법도 존재한다.
5. 정규화 (Normalization)
- Min-Max Normalization: 이미지 데이터를 [0, 1] 범위로 스케일링하여 학습 속도와 안정성을 개선한다.
- Z-score Normalization: 데이터셋 평균과 표준편차를 사용하여 데이터를 표준화한다. 이를 통해 이상치의 영향을 줄이고 더 빠른 학습을 도울 수 있다.
- Batch Normalization: 미니 배치 단위로 데이터를 정규화하여 학습 중 내부 공변량 이동 문제를 개선하고 학습을 가속화할 수 있다.
결론
- 이미지 데이터를 변환하고 증강하는 것은 문제 해결에 큰 영향을 미친다. 각 변환과 증강 기법이 문제에 어떻게 기여하는지를 고려하여 적용해야 한다.
3.AI개발기초
서버 프로그래밍을 위해 Linux에 대한 지식과 Shell Command들에 대해서 학습
- 커맨드 라인 인터페이스(Command Line Interface)
- 리눅스 운영 체제(Linux Operating System)
- 쉘 스크립트 (Shell Script)