카테고리 없음

YOLO 사용하기

chacha001 2024. 11. 8. 04:00

 

!pip install roboflow
from roboflow import Roboflow

#############################################
## API key는 유저마다 다른 것이 정상!!
rf = Roboflow(api_key="")
#############################################

project = rf.workspace("azami-youssef").project("test_project-3cocv")
version = project.version(2)
dataset = version.download("yolov11")

!pip install ultralytics

#####################################
## 10/30 기준 해당 설정 필요
import os
os.environ['WANDB_MODE'] = 'disabled'
#####################################

from ultralytics import YOLO, settings

settings

settings['datasets_dir'] = '/content/'
# settings.update()
settings

model_transfer = YOLO('yolo11n.pt')

results_train = model_transfer.train(model='/content/yolov11n.pt',
                                     ###########################################
                                     data='/content/test_project-2/data.yaml',
                                     ###########################################
                                     epochs=10,
                                     seed=2024,
                                     pretrained=True,
                                     )
                                     
                                     


image_path = ''


results_pred = model_transfer.predict(source=image_path,
                                      conf=0.01,
                                    #   iou=
                                      save=True,
                                      )

 

 

 

코드 설명

 

  1. 필요한 라이브러리 설치 및 불러오기
    • roboflow 패키지를 설치하고 Roboflow 모듈을 불러옵니다.
    • Roboflow는 이미지 처리 및 데이터셋 관리 등을 지원하는 툴입니다.
  2. python
    코드 복사
    !pip install roboflow from roboflow import Roboflow
  3. API 키 설정 및 프로젝트 불러오기
    • Roboflow API 키를 사용하여 인증합니다. 사용자의 API 키를 여기에 입력해야 합니다.
  4. python
    코드 복사
    rf = Roboflow(api_key="")
  5. 프로젝트 다운로드
    • 특정 작업공간의 프로젝트를 선택하고 그 중에서 버전 2의 데이터셋을 YOLO 형식으로 다운로드합니다. 이 경우 "yolov11"이라는 형식으로 다운로드하려고 합니다.
  6. python
    코드 복사
    project = rf.workspace("azami-youssef").project("test_project-3cocv") version = project.version(2) dataset = version.download("yolov11")
  7. Ultralytics YOLO 설치
    • Ultralytics YOLO 라이브러리를 설치합니다. 이 라이브러리는 YOLOv8 같은 최신 모델을 포함하고 있습니다.
  8. python
    코드 복사
    !pip install ultralytics
  9. WANDB 설정 비활성화
    • WANDB_MODE 환경 변수를 'disabled'로 설정하여 Weight & Biases(WandB) 사용을 비활성화합니다. WandB는 실험 결과를 시각화하는 툴입니다.
  10. python
    코드 복사
    import os os.environ['WANDB_MODE'] = 'disabled'
  11. YOLO 설정 및 모델 로드
    • YOLO 설정을 불러오고 데이터셋 경로를 /content/로 설정합니다.
    • settings 객체는 모델 학습에 필요한 다양한 설정을 관리하는 역할을 합니다.
  12. python
    코드 복사
    from ultralytics import YOLO, settings settings settings['datasets_dir'] = '/content/' settings
  13. YOLO 모델 초기화 및 훈련
    • 'yolo11n.pt'라는 모델을 초기화합니다. 해당 파일이 실제로 존재해야 합니다.
    • 모델을 훈련합니다. 여기서는 data.yaml 파일에 데이터셋 설정이 있으며, 에포크 수는 10회, 시드 값은 2024로 설정되어 있습니다.
    • pretrained=True는 사전 훈련된 가중치를 사용하여 훈련을 시작한다는 의미입니다.
  14. python
    코드 복사
    model_transfer = YOLO('yolo11n.pt') results_train = model_transfer.train(model='/content/yolov11n.pt', data='/content/test_project-2/data.yaml', epochs=10, seed=2024, pretrained=True)
  15. 이미지 예측 수행
    • 예측할 이미지 경로를 지정해야 합니다. 여기서는 image_path가 빈 문자열이므로 실제 경로로 수정해야 합니다.
    • conf=0.01은 예측에 사용할 신뢰도(Confidence) 임계값을 설정합니다.
    • save=True는 예측 결과를 저장하도록 설정합니다.
  16. python
    코드 복사
    image_path = '' results_pred = model_transfer.predict(source=image_path, conf=0.01, save=True)

이 코드에서 확인해야 할 점:

  • API 키를 제공해야 Roboflow 데이터셋에 접근 가능합니다.
  • **모델 파일 경로('yolo11n.pt')**가 올바른지 확인해야 합니다. 최신 버전의 YOLO 모델을 사용하는 것이 좋습니다.
  • **이미지 경로 설정(image_path)**도 실제로 존재하는 이미지 파일 경로로 지정해야 합니다.