Data
AI 학습을 위한 데이터 수집 · 증강 · 라벨링
CLICK TO OPEN
AI 학습을 위한 데이터 수집 · 증강 · 라벨링
CLICK TO OPEN
수집 · 로컬 촬영 · 증강 · 라벨링
데이터 수집
데이터 수집 (공개 데이터)
AI가 무언가를 배우려면 예시 사진이나 영상이 많이 필요해요. 마치 아이가 수많은 예시를 보면서 "이게 강아지야"를 배우는 것처럼요. 인터넷에서 무료로 가져올 수 있는 5가지 방법을 소개합니다. CSV나 JSON 형식으로 다운로드 가능합니다.
5가지 공개 데이터 소스
AIhub — aihub.or.kr
한국 정부가 만든 AI 데이터 모음. 한국어 음성, 이미지, 영상 등 무료로 다운로드 가능
CrowdHuman — crowdhuman.org
사람을 탐지하는 AI 학습용 사진 모음. 이미 "어디에 사람이 있는지" 표시가 되어 있음
서울 열린데이터광장 — data.seoul.go.kr
서울시의 다양한 실시간 데이터. CCTV 정보, 교통, 인구 등
Pexels — pexels.com
고화질 사진·영상을 무료로 사용 가능. 상업적 이용도 허용
EarthCam — earthcam.com
전 세계 실시간 CCTV 영상. 야외 환경 데이터 수집에 활용
추가 데이터 링크 모음
공공데이터포털 — data.go.kr
대한민국 정부 부처 공개 데이터 통합 포털. 100,000개 이상 데이터셋 무료 제공
Kaggle — kaggle.com/datasets
수백만 개 공개 데이터셋과 머신러닝 커뮤니티. 데이터 경진대회 및 노트북 환경 제공
Hugging Face Datasets — huggingface.co/datasets
NLP·컴퓨터 비전 등 최신 AI 모델 학습용 데이터셋 허브. 오픈소스 커뮤니티 운영
UCI ML Repository — archive.ics.uci.edu
머신러닝 연구용 클래식 데이터셋 689종. 분류·회귀 등 전통 ML 벤치마크 모음
Google Dataset Search
웹상의 2,500만 개 데이터셋을 한 곳에서 검색 가능한 Google 제공 메타 검색 엔진
Roboflow Universe — universe.roboflow.com
컴퓨터 비전 데이터셋 공유 플랫폼. 200,000개 이상 데이터셋, 1억+ 이미지 보유
Open Images Dataset — Google
Google이 제공하는 900만 개 이미지 대규모 객체 인식 데이터셋. 라벨·바운딩 박스 포함
COCO Dataset — cocodataset.org
객체 감지·분할·캡셔닝용 대규모 컴퓨터 비전 데이터셋. 330,000개 이미지·80개 카테고리
ImageNet — image-net.org
1,400만 개 이미지·20,000개 카테고리의 시각 객체 인식 기준 데이터베이스
로컬 데이터 수집
로컬 데이터 수집 (카메라 촬영)
컴퓨터에 연결된 카메라(웹캠)로 직접 사진을 찍어서 저장하는 방법이에요. 원하는 장소나 물체를 직접 촬영해서 나만의 이미지 데이터셋을 만들 수 있어요.
필요한 라이브러리
카메라 촬영 후 파일 저장
• cv2.VideoCapture(0) — 카메라를 켜는 코드 (0은 내 컴퓨터의 첫 번째 카메라)
• cap.read() — 카메라에서 사진 한 장을 가져옴
• cv2.imwrite() — 사진을 파일로 저장
Q. cv2는 어떻게 설치해요?
터미널에서 pip install opencv-python 한 줄이면 설치 완료
Q. 사진이 어디에 저장돼요?
코드를 실행한 폴더 안의 captured_images 폴더에 저장돼요 — 폴더가 없으면 코드가 자동으로 만들어줘요
Q. 카메라가 두 대면 어떤 번호를 써요?
VideoCapture(0)은 첫 번째, VideoCapture(1)은 두 번째 카메라예요 — 번호를 바꿔 가며 테스트해보면 알 수 있어요
Q. 사진 여러 장을 한 번에 찍으려면?
cap.read()를 for 또는 while 반복문 안에 넣으면 원하는 수만큼 찍을 수 있어요
Q. cap.release()를 빠뜨리면 어떻게 돼요?
카메라가 계속 켜진 채로 남아서 다른 프로그램이 카메라를 사용하지 못할 수 있어요 — 항상 마지막에 꺼주는 것이 좋아요
데이터 증강
데이터 증강 (이미지 변환)
사진 1장을 회전·밝기·반전으로 변형해 학습 데이터를 늘리는 기법
필요한 라이브러리
3가지 변환 방법
• img.rotate(90) — 사진을 90도 회전
• ImageEnhance.Brightness(img).enhance(0.5) — 밝기를 50%로 줄임
• ImageOps.mirror(img) — 좌우 반전 (거울 이미지)
Q. 데이터 증강이 왜 필요한가요?
학습 이미지가 적으면 AI가 특정 각도·밝기에만 익숙해져 틀리기 쉬워요 — 다양하게 변형한 이미지를 늘리면 더 폭넓게 학습할 수 있어요
Q. 회전·밝기·반전 말고 다른 변환도 있나요?
네 — ImageFilter.BLUR(흐리게), ImageOps.grayscale(흑백), ImageEnhance.Contrast(대비) 등 PIL만으로도 10가지 이상 적용할 수 있어요
Q. PIL이랑 OpenCV 중 어떤 걸 써야 하나요?
파일 변환·저장 위주라면 PIL, 실시간 처리나 카메라 연동이 필요하면 OpenCV(cv2) — 이 카드는 파일 저장만 하므로 PIL이 더 적합해요
Q. 이미지 파일이 PNG가 아니어도 되나요?
네 — Image.open()은 JPG·BMP·TIFF 등 대부분의 형식을 지원해요. 단, img.convert("RGB")는 PNG의 투명 채널(RGBA)을 제거하는 역할이라 JPG에서는 생략해도 돼요
Q. YOLO 학습에 이 증강 이미지를 어떻게 사용하나요?
저장된 이미지를 YOLO의 images/train 폴더에 넣고, 같은 이름의 라벨 파일(.txt)을 labels/train에 함께 두면 학습 데이터로 인식돼요
데이터 라벨링
데이터 라벨링 (위치 기록)
AI 학습용 이미지에 객체 위치를 박스로 표시하고 좌표를 기록하는 작업 — 결과는 CSV·JSON 형식으로 내보내기 가능
라벨링 도구
LabelImg — 로컬 설치형
PC에 설치해 사용하는 무료 오픈소스 라벨링 도구
Roboflow — 웹 기반
브라우저에서 라벨링 · 팀 협업 · 자동 데이터 증강 지원
YOLO 좌표 형식 (.txt)
정규화된 xywh 형식(0~1) — 한 줄 = 객체 하나 / 클래스 번호는 0부터 시작
클래스 정의 파일 (classes.txt)