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.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

ros2_object_detection-1.0.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ros2_object_detection-1.0.0.tar.gz
  • Upload date:
  • Size: 15.1 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.0.tar.gz
Algorithm Hash digest
SHA256 40e67cabeaa293044696ee9ffa340f72ea8c45f6f88a9dab42c6fe257b68389f
MD5 d0ff1ac86cffe0863c6d805b860584ad
BLAKE2b-256 3431ae8d280a7915153bc5399201fe6c8ce7112fd6862fd21ed912f76be029c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ros2_object_detection-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9577440c38112d751381bbb259226c61505364beb99421c4d18cd2c4b2921b9f
MD5 0b2371a91c3ae1e4751ff52f0b21b44b
BLAKE2b-256 650feb191e18edf0f218ddf9f94da4d1f798d82851ae84b7793ea97b1433f1a4

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