Skip to main content

return prediction information for ros2 autonomous driving from image and depth map

Project description

YOLOv8_for_ROS2

ROS2 강의에서 YOLOv8 사물인식 파트에 대한 강의 자료

Ubuntu 20.04, 22.04 초기 설정 및 YOLOv8 환경 구축

처음 우분투 세팅

sudo apt update
sudo apt upgrade
sudo apt install python3-pip
sudo apt install python3.8-venv

가상환경 만들고 실행하기

python3.8 -m venv yolo
source yolo/bin/activate

YOLOv8 패키지 설치하기

pip3 install ultralytics

내 PC에서 GPU를 사용하여 YOLO를 돌릴 수 있는지 확인하기

  1. 가상환경 활성화

    source yolo/bin/activate
    
  2. 파이썬 인터프리터 실행

    python3
    
  3. GPU 사용 가능 여부 확인

    import torch
    torch.cuda.is_available()
    
    • 만약 True가 출력되면 GPU가 잡힌 것입니다.
    • False가 출력되면 CPU를 사용하게 됩니다.

    무거운 모델을 구동할 것이 아니라면 크게 상관 없습니다.

강의 자료 코드 로컬에 불러오기

  1. 우분투 터미널 실행

    mkdir YOLOv8_ROS2
    cd YOLOv8_ROS2
    git clone https://github.com/Nyan-SouthKorea/YOLOv8_for_ROS2.git
    

    clone된 해당 폴더로 이동

  2. VS코드 실행(방금 위에서 생성한 yolo 가상환경 연결하기)

  3. Ctrl + Shift + p 버튼을 누르고 "interpreter" 라고 검색하면 아래의 버튼으로 유도됨 alt text

  4. Enter interpreter path 선택 alt text

  5. Find -> .. -> yolo -> bin -> python3 선택

  6. VS코드 종료 후 재 실행

  7. 아무 코드나 실행해보자. 이 때 select interpreter에서 yolo가 보이면 선택

  8. 이후 VS코드 관련 extension을 설치하라는 안내가 나오면 모두 설치해준다. 그리고 실행이 안되면 VS코드 재실행 반복

  9. 우리가 만든 yolo라는 가상환경으로 코드를 돌릴 수 있도록 설정 마침

테스트 코드

from ros2_object_detection import Custom_YOLOv8

custom_YOLOv8 = Custom_YOLOv8(model_name='yolov8n.pt', filter=['person'])
cap = cv2.VideoCapture(0)
while True:
    # 웹캠 수신
    ret, img = cap.read()
    if ret == False:
        print('웹캠 수신 안됨')
        break
    
    # 더미 depth파일 생성
    h, w, c = img.shape
    depth_map = np.random.randint(0, 256, (w, h), dtype=np.uint8)

    # 인퍼런스
    ret, dic_list = custom_YOLOv8.run(img, depth_map)
    if ret:
        print(dic_list)
    else:
        print('감지 내역 없음')
    draw_img = custom_YOLOv8.draw()
    
    cv2.imshow('test', draw_img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

라이센스

YOLOv8 라이센스를 따릅니다. https://github.com/ultralytics/ultralytics

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ros2_object_detection-1.0.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

ros2_object_detection-1.0.1-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file ros2_object_detection-1.0.1.tar.gz.

File metadata

  • Download URL: ros2_object_detection-1.0.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for ros2_object_detection-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2fb66912a41dc82f50e2e463f8f52f17b4a975c8a1952924b812adf67f73630b
MD5 37699bee48924e62d2f04c830aea0a56
BLAKE2b-256 00cf01fe3d4730306dc3ca86f15d9875765c7d44201e1d9a7378cd206466afd4

See more details on using hashes here.

File details

Details for the file ros2_object_detection-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ros2_object_detection-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 075c29cc21308ea8efc60308c9ec6572f3879d32e70d6bfe38d23c5b69ddd614
MD5 9c0cea14d1315b0dc2495c7e62cb70ba
BLAKE2b-256 627c91d1f0f30f6e43c43a470297a07fb56fa4bc0f36a9214904a1e8a8f2ed7e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page