관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

컴퓨터 비전 12 - YOLO v8 객체 탐지 1 : 라이브러리 설치 및 객체 탐지 예측하기 본문

인공지능/컴퓨터 비전

컴퓨터 비전 12 - YOLO v8 객체 탐지 1 : 라이브러리 설치 및 객체 탐지 예측하기

huenuri 2024. 11. 14. 18:40

이번에는 yolo 모델을 사용해서 객체 탐지하는 실습을 진행해보려고 한다. 이제 오후 공부할 시간도 얼마 남지 않았으니 힘을 내서 공부를 잘 마무리해 볼 것이다. 


 

 

 

 

YOLO v8 객체 탐지 실습해보기

YOLO 모델은 객체 탐지에서 정말 유명한 모델이다. 객체 탐지를 가장 잘하기도 하며 이 모델을 다른 수업을 통해서 사용했었다. 아마도 CNN 수업 시간이었을 것이다. 이 수업은 비교적 초기에 했던 수업이라 선생님이 딥러닝에 관한 개념 설명을 하시는 부분이 좀 있었다. 그런 부분은 이제는 어느 정도 이해하고 있으니 스킵하고 넘어갔다.

 

YOLO 모델 허깅페이스

 

Ultralytics/YOLOv8 · Hugging Face

中文 | 한국어 | 日本語 | Русский | Deutsch | Français | Español | Português | Türkçe | Tiếng Việt | العربية Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO ver

huggingface.co

 

 

 

 

YOLO 모델에는 파이토치가 필요하다는 설명이다.

 

 

 

 

 

이 코드를 복사하여 붙여 넣는다. 그리고 환경 설정을 먼저 해주어야 한다.


 

 

 

 

라이브러리 설치하기

 

설치 중에 오류가 발생했다. 오류 메시지를 보면, 설치 중에 액세스 거부 오류가 발생했으며 cv2.pyd 파일과 관련된 권한 문제가 있다는 것을 알 수 있다. 이 문제를 해결하기 위해 아래의 해결 방법을 시도해 볼 수 있다.

 

 

해결 방법

1. 관리자 권한으로 터미널 실행 : Visual Studio Code나 터미널을 관리자 권한으로 실행한 후 다시 설치 명령을 시도해 보자.

 

터미널 창에서 시도했으나 되지 않았다.

이런 식으로 명령어 자체가 인식되지 않은 것이다.

 

 

2. 설치 경로 문제 해결 : 만약 --user 옵션을 사용하지 않고 설치하려면, 전체 시스템 경로에 설치할 수 있도록 다음 명령을 사용하자.

 

관리자 권한 없이 실행하니 설치가 잘 되었다. 만약 가상 환경을 사용하지 않는 경우에는 --user 옵션을 사용해서 사용자 권한으로 피키지를 설치할 수 있다. 선생님은 --user가 관리자 권한이라고 했는데 잘못 말씀하신 것 같다. 강사님은 언제든지 틀릴 수 있으니 강의를 들었다고 해서 그 사람의 말이 맞다고 믿어서는 안 된다.

내가 직접 자료를 찾아보고 확인된 사실을 진짜로 믿을 수 있는 것이다.


 

 

 

 

설치를 하다가 오류가 발생했다. 이 오류는 onnx 라이브러리가 설치되어 있지 않아서 발생한 것이다. onnx 패키지를 설치한 후 다시 실행하면 해결된다고 하니 한번 해보자.


 

 

 

 


 

 

 

 

 

불러온 사진 결과 확인하기

 

이제 설치가 잘 되었다. 여기까지만 하는데 1시간이나 걸렸다. 버스 이미지가 들어있는데 열어보면 다음과 같다.

 

 

 

 

 

 

 

 

 

results를 하면 이 사진에서 확인할 수 있는 모든 정보가 출력된다.

 

 

 

 

 

 

 

runs 안에 예측한 결과가 담겨있다. 

 

 

 

 

위의 숫자는 확률 즉 정확도이다.

 

 

 

그리고 label 폴더 안에는 이처럼 txt 파일이 들어있다. 맨 앞의 숫자는 객체가 무엇인지를 의미한다. results에 보면 각각이 번호로 매겨져 있는데 5는 버스, 0은 사람.. 이렇게 되어 있다. 그리고 그 옆의 숫자는 x 좌표와 y 좌표이다.

선생님은 이 내용을 아주 자세히 설명하셨지만 난 그렇게까지 알 필요는 없는 내용인 것 같아 중요한 부분만 들었다.


 

 

 

예측 결과 화면에 띄우기

 

 

이런 식으로 창으로도 띄울 수 있다.

 


 

 

 

학습을 마치고

이 내용은 사실 CNN에서 모두 배웠던 내용이다. 그래도 한번 더 복습하니 괜찮았다. 전부 다 이해한 것은 아니었고 그때는 처음 듣는 내용이라 무척 생소했고 무슨 말인지 잘 모르면서 들었다. 두 번째 들으니 이제는 많이 익숙해졌고 코드도 볼 수 있게 되었다.

설치하는 과정이 정말 어려웠다. 언제나 느끼는 거지만 모든 상황에 딱 들어맞는 코드는 없는 것 같다. 코드가 실행이 안 될 때는 조바심이 나며 빨리 넘어가고 싶은 마음도 있지만 이 과정을 건너뛰어야 성장이 있다.