본문 바로가기
인공지능 기초 수업/로버플로우 실습

로버플로우 Dataset 파이썬으로 학습시키기.

by SwMaker_Jun 2026. 5. 17.
728x90
반응형

 

1단계: 로보플로우에서 데이터셋 다운로드하기

로보플로우 화면을 보면 현재 데이터셋 버전(v2)이 성공적으로 생성되어 있습니다. 이 데이터를 컴퓨터로 가져와야 합니다.

  1. 화면 우측 상단에 있는 [Download Dataset] 버튼을 클릭합니다.
  2. 팝업창이 뜨면 Format에서 [YOLOv8]을 선택합니다.
  3. 다운로드 옵션 중 [show download code]에 체크한 뒤 [Continue]를 누릅니다.
  4. 잠시 후 터미널(Terminal) 탭에 나오는 주황색/보라색 코드 박스 안의 코드를 복사해 둡니다. (주로 rf = Roboflow(api_key="...") 형태로 시작하는 코드입니다.)

데이터셋 다운로드
박스 안의 코드를 복사 해두기.

 

 

2단계: Thonny에서 필수 라이브러리 하나씩 설치하기

라이브러리를 한꺼번에 설치하면 에러가 났을 때 원인을 찾기 어렵습니다. Thonny의 터미널을 이용해 하나씩 설치해 봅시다.

💡 설치 방법

Thonny 상단 메뉴에서 [Tools] -> [Open system shell...] (또는 도구 -> 시스템 셸 열기)을 클릭합니다. 검은색 터미널 창이 뜨면 아래 명령어를 한 줄씩 입력하고 Enter를 누르며 설치합니다.

Bash
# 1. 로보플로우에서 데이터를 다운로드하기 위한 라이브러리
pip install roboflow

학생들을 위한 설명: "컴퓨터가 로보플로우 웹사이트에 접속해서 우리가 만든 사진들을 자동으로 다운로드할 수 있게 도와주는 도구야."

 
Bash
# 2. 이미지 및 웹캠 화면을 다루기 위한 OpenCV 라이브러리
pip install opencv-python

학생들을 위한 설명: "파이썬이 컴퓨터에 연결된 웹캠(카메라)을 켜고, 화면에 사각형 박스를 그릴 수 있도록 눈을 달아주는 도구란다."

 
Bash
# 3. 인공지능 모델(YOLO)을 학습시키고 실행하는 핵심 라이브러리
pip install ultralytics

학생들을 위한 설명: "가장 중요한 AI 엔진이야! 사진 속 물체가 무엇인지 스스로 공부하고 찾아내는 뇌 역할을 해줘."

 

 

라이브러리 설치

 

 

3단계: Thonny에서 데이터 다운로드 및 학습 시키기

Thonny에서 새 파일을 만들고 아래 코드를 작성합니다. 파일 이름은 train.py로 저장해 주세요. (주의: 파일 이름을 ultralytics.py나 roboflow.py처럼 라이브러리 이름과 똑같이 만들면 에러가 납니다!)

 

from roboflow import Roboflow
from ultralytics import YOLO

# [Step 1] 로보플로우에서 복사한 본인의 코드를 이 아랫줄에 붙여넣으세요.
# 예시:
rf = Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace("swmaker-jun").project("object-detection-xxxx")
dataset = project.version(2).download("yolov8")

# [Step 2] 가장 가볍고 빠른 YOLOv8 나노(nano) 모델 불러오기
model = YOLO('yolov8n.pt') 

# [Step 3] 내가 다운로드한 데이터셋으로 AI 모델 학습 시작하기
# data=dataset.location + "/data.yaml" 은 다운로드된 데이터 설정 파일을 자동으로 지정합니다.
# epochs=20은 전체 사진을 총 20번 반복해서 공부하라는 뜻입니다.
model.train(data=dataset.location + "/data.yaml", epochs=20, imgsz=640)

print("🎉 AI 모델 학습이 완료되었습니다!")

 

                                                                        <학습이 이루어 지고 있는 모습>

 

🔍 마지막 출력되는 학습된 모델이 저장되는 경로를 확인하기.

 

🔍 학습 완료 후 모델 찾기 방법

코드가 끝까지 실행되면 작업 중인 폴더에 runs/detect/train/weights/ 라는 폴더가 자동으로 생깁니다. 그 안에 best.pt라는 파일이 생성되는데, 이것이 바로 우리 데이터셋을 완벽하게 마스터한 인공지능 모델 파일입니다.

이 best.pt 파일을 복사해서 train.py가 있는 기본 폴더(최상위 폴더)로 꺼내놓으면 다음 단계가 훨씬 편해집니다.

 

 

4단계: 내 웹캠으로 실시간 물체 인식 실행하기

이제 학습된 best.pt 파일을 불러와 웹캠 화면에서 물체를 인식해 볼 시간입니다. Thonny에서 새 파일을 만들고 webcam.py로 저장한 뒤 실행합니다.

import cv2
from ultralytics import YOLO

# [Step 1] 우리가 열심히 학습시켜 만든 best.pt 모델 불러오기
model = YOLO('best.pt')

# [Step 2] 컴퓨터에 연결된 웹캠 켜기 (0은 기본 내장 카메라, 외장 캠은 1 또는 2)
cap = cv2.getStructuringElement
cap = cv2.VideoCapture(0)

print("웹캠을 시작합니다. 종료하려면 키보드의 'q'를 누르세요.")

while cap.isOpened():
    # 웹캠으로부터 영상 프레임(한 장의 사진) 읽어오기
    success, frame = cap.read()
    
    if success:
        # [Step 3] AI 모델에게 실시간 화면 보여주고 물체 찾아내기
        # conf=0.5는 확률이 50% 이상 확실할 때만 화면에 표시하라는 뜻입니다.
        results = model(frame, conf=0.5)
        
        # 물체가 박싱된 예측 결과를 화면에 덧입히기(시각화)
        annotated_frame = results[0].plot()
        
        # 결과 화면을 모니터에 띄우기
        cv2.imshow("Roboflow AI Webcam Test", annotated_frame)
        
        # 키보드의 'q'를 누르면 프로그램 안전하게 종료하기
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

# 사용한 카메라와 창 모두 닫아주며 안전하게 종료
cap.release()
cv2.destroyAllWindows()

 

 

📝 주의

  • 오류 방지 : 코드를 실행하기 전에 반드시 로보플로우 웹사이트에서 제공한 api_key가 제대로 들어갔는지 확인하라고 강조해 주세요.
  • 경로 주의 : best.pt 파일이 webcam.py와 같은 폴더에 있어야 경로 에러(FileNotFoundError)가 나지 않는다는 점을 블로그에 크게 명시해 주시면 학생들이 혼란을 겪지 않고 성공할 수 있습니다.

 

 

5단계: 웹캠으로 학습되 모델 테스트 하기.

 

고양이로 인식하고 있음.>>

 

고양이와 강아지를 각각 인식하고 있음. >>

 

 

728x90
반응형