본문 바로가기
인공지능 기초 수업

Roboflow #1. 활용 이미지 데이터 업로드 하기.

by SwMaker_Jun 2025. 9. 1.
728x90
반응형

1. Roboflow 사이트 소개

  • Roboflow란?
    인공지능 모델, 특히 객체 인식(Object Detection)이미지 분류(Image Classification) 모델을 쉽게 만들 수 있도록 도와주는 온라인 플랫폼이에요.
    프로그래밍 지식이 많지 않아도 웹에서 클릭 몇 번으로 데이터셋 관리, 라벨링, 모델 학습, 배포까지 가능하죠.
  • 왜 사용할까?
    1. 데이터셋을 쉽게 업로드하고 정리할 수 있음
    2. 이미지에 사각형 라벨을 직접 달 수 있음 (예: 고양이, 강아지, 자동차 등)
    3. 클릭 몇 번으로 모델 학습과 배포까지 가능
    4. 웹캠과 연동하여 실시간 테스트 가능

👉 한마디로, “내가 직접 만든 AI 모델을 눈으로 확인할 수 있는 교실 속 AI 실험실”이라고 할 수 있어요.

 

https://roboflow.com/

 

Roboflow: Computer vision tools for developers and enterprises

Everything you need to build and deploy computer vision models, from automated annotation tools to high-performance deployment solutions.

roboflow.com

 

 

로보플로우 사이트

 

 

2. 데이터 활용 사례

Roboflow는 다양한 분야에서 활용돼요:

  • 학교 프로젝트
    • 고양이 vs 강아지 분류하기
    • 교실 안에서 마스크 쓴 사람 vs 안 쓴 사람 구분
    • 교통 표지판 인식
  • 산업 분야
    • 공장에서 불량품 탐지
    • 농업에서 병든 잎과 건강한 잎 구분
    • 자율주행 자동차가 도로의 신호등, 보행자, 차량 인식

👉 학생들에게: “데이터를 어떻게 모으고 라벨링했는지에 따라, 모델이 똑똑해질 수도 있고 실수를 많이 할 수도 있어요.”


3. 이미지 학습 방법

Roboflow에서 이미지를 학습시키는 과정은 간단해요:

  1. 데이터 업로드
    • Kaggle 등에서 받은 이미지 → Roboflow에 업로드
  2. 라벨링(Labeling)
    • 사진 속 객체에 사각형 박스를 그리고 이름(Class)을 붙임
  3. 데이터셋 생성 (Dataset Generation)
    • 학습용 데이터(Train), 검증용 데이터(Validation), 테스트용 데이터(Test)로 자동 분할
  4. 모델 학습 (Train Model)
    • Roboflow 서버에서 AI가 자동으로 학습 진행
    • 결과로 정확도(Accuracy), mAP, Precision, Recall 같은 지표 제공
  5. 모델 배포 & 테스트
    • 웹캠 테스트 기능으로 직접 확인
    • 코드(Python, JavaScript)로 가져와서 프로그램에 활용 가능

👉 비유:

  • 라벨링 = 교과서에 밑줄 치기
  • 훈련 데이터 = 공부하는 시간
  • 테스트 데이터 = 시험 보는 시간

 

4. Roboflow 프로젝트 생성 화면 설명

새 objects 프로젝트 생성.

  • 프로젝트 이름 (Project Name):
    My First Project → 사용자가 원하는 이름으로 설정 (예: Cat vs Dog, Traffic Signs 등)
  • 주석 그룹 (Annotation Group):
    objects → 라벨링할 객체들의 그룹 이름. 보통 “objects”로 기본 설정됨.
  • 시계(Visibility):
    • 🔒 사적인(Private): 나만 볼 수 있음
    • 🌐 공공의(Public): 다른 사람도 열람 가능
  • 특허(라이선스, License):
    CC BY 4.0 → 저작권 규정. 데이터셋 공유 시 어떤 범위까지 허용되는지 표시

    Roboflow는 다양한 프로젝트 유형을 지원해요:

객체 감지 (Object Detection)
  • 사각형 박스를 이용해 이미지 안의 물체와 위치를 식별
  • 예: 교차로에서 자동차 위치 찾기 🚗
분류 (Classification)
  • 이미지 전체에 하나의 라벨 지정
  • 예: 사진이 고양이인지, 개인지 구분 🐱🐶
인스턴스 분할 (Instance Segmentation)
  • 여러 개의 물체를 픽셀 단위로 구분
  • 예: 사람의 옷/머리/가방 부분까지 영역별로 분리
키포인트 감지 (Keypoint Detection)
  • 물체의 핵심 지점(골격 구조, 관절 위치)을 감지
  • 예: 사람의 자세(포즈 추적) 🧍
멀티모달 (Multimodal)
  • 이미지 + 텍스트를 결합한 고급 프로젝트
  • 예: 질문에 따라 이미지 안에서 답 찾기
 

 

 

3. Roboflow 데이터 업로드

  • 배치 이름 (Batch Name)
    업로드한 시점에 따라 자동으로 이름이 붙음 (예: Uploaded on 09/01/25 at 1:03 pm).
    👉 학생들은 여러 번 업로드할 수 있는데, 각 업로드 묶음을 ‘배치’라고 부름.
  • 태그 (Tag)
    업로드하는 이미지에 추가 설명을 붙일 수 있는 곳.
    예: cat, dog, street 등 키워드 입력 가능.

 

  • 업로드 방식
    • 파일 선택: 컴퓨터에서 직접 파일 업로드
    • 폴더 선택: 폴더째로 업로드

  • 지원 형식
    • 이미지(.jpg, .png 등)
    • 주석 파일 (라벨 정보, Pascal VOC, COCO JSON 등 26가지 포맷 지원)
    • 비디오(.mov, .mp4)
    • PDF 파일까지 가능

 

업로드된 이미지

 

ㅁ  업로드된 데이터 확인

  • 상단에 “2025년 9월 1일 오후 1시 34분에 업로드됨” → 이번에 올린 이미지 묶음(배치)의 시간 기록
  • 가운데에 고양이와 강아지 이미지들이 나열되어 있음 (예: dog_354.jpg, 고양이_119.jpg 등)
  • 즉, 이제부터 이 이미지에 **정답(라벨)**을 붙여야 인공지능이 학습할 수 있음

ㅁ 라벨링 방식 선택 (오른쪽 메뉴)

  1. 나 자신에게 라벨을 붙이세요
    • 학생이 직접 각 이미지에 라벨을 하나씩 달기
    • 예: 고양이 → “Cat”, 강아지 → “Dog”
  2. 내 팀과 함께 라벨을 붙이세요
    • 여러 명이 협업 가능 → 팀 프로젝트에서 데이터 분할 라벨링할 때 유용
  3. 전체 배치에 자동 라벨 지정
    • 이미 학습된 모델을 활용해 자동 라벨링
    • 예: 기본 모델이 고양이와 강아지를 구분해 미리 붙여줌 → 이후 사람이 수정
  4. 아웃소싱 라벨러 고용 (유료)
    • Roboflow가 제공하는 전문 라벨링 서비스를 이용

ㅁ 라벨링이 중요한 이유

👉 인공지능은 **데이터 + 정답(라벨)**을 함께 학습해야 함.

  • 라벨이 없는 이미지는 그냥 사진일 뿐 → AI가 배울 수 없음
  • 정확한 라벨링 = 학생이 선생님이 되어 AI에게 가르치는 과정
  • “여러분이 지금 하는 일은 AI에게 문제집에 정답을 써주는 것과 같아요.
    고양이 사진에는 ‘고양이’, 강아지 사진에는 ‘강아지’라고 알려줘야 AI가 나중에 시험(테스트 데이터)에서 맞힐 수 있어요.”
728x90
반응형