문제 YOLO가 Jetson Nano에 불법적인 명령(코어 덤프)을 제공합니다.

문제 YOLO가 Jetson Nano에 불법적인 명령(코어 덤프)을 제공합니다.

JetPack 4.6을 실행하는 Ubuntu 18.04가 설치된 jetson nano가 있습니다. 카메라에서 물체 감지 프로그램을 실행하려고 합니다.

다소 펑키한 설치 프로세스가 있습니다.

  • Python3을 설치했습니다(가상 환경이 아님).
  • 그런 다음 일부 라이브러리를 설치한 후 Ultralytics 및 토치를 사용하려면 Python 3.8 이상이 필요하다는 것을 깨달았습니다.
  • python3.8을 설치하고 python3.8을 실행할 python31이라는 별칭을 만들었습니다.
  • opencv를 사용하여 웹캠 입력을 얻었고 작동합니다.
  • 토치 설치를 시도했지만 작동하지 않아 Python 3.8에서 가상 환경 만들기로 전환했습니다.
  • 가상환경 내부에 토치와 울트라리틱스를 설치했는데 왠지 환경 외부에도 토치가 설치되어 있어 환경 외부에도 울트라리틱스를 설치하기로 결정했습니다.
  • 가상 머신과 외부 모두에 Ultralytics와 토치가 존재하는지 테스트했습니다.버전작동하고 버전이 일치합니다. (토치 버전 2.1.2, torchvision 0.16.2, ultralytics 버전 8.0.235, opencv-python 0.16.2)
  • 이 코드를 실행하려고 하면 가져오기가 원활하게 진행되지만, code-oss에서 이 코드를 실행하면 잘못된 명령(코어 덤프) 오류가 발생합니다.
import cv2
import sys
from ultralytics import YOLO
print(cv2.__version__)
model = YOLO("yolo-Weights/yolov8n.pt")
classNames = ["person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck", "boat",
              "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat",
              "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella",
              "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat",
              "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup",
              "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli",
              "carrot", "hot dog", "pizza", "donut", "cake", "chair", "sofa", "pottedplant", "bed",
              "diningtable", "toilet", "tvmonitor", "laptop", "mouse", "remote", "keyboard", "cell phone",
              "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors",
              "teddy bear", "hair drier", "toothbrush"
              ]
window_title = "USB camera"
camera_id = "/dev/video0"
video_capture = cv2.VideoCapture(camera_id, cv2.CAP_V4L2)
video_capture.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
video_capture.set(cv2.CAP_PROP_FPS, 30)
while True:
    ret, frame = video_capture.read()
    results = model(frame, stream=True)
    for r in results:
        boxes = r.boxes
        for box in boxes:
            x1, y1, x2, y2 = box.xyxy[0]
            x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2)
            cv2.rectangle(frame, (x1, y1), (x2, y2), (255, 0, 255), 3)
            con = math.ceil((box.conf[0]*100))/100
            print(con)
            classs = int(box.cls[0])
            org = [x1, y1]
            font = cv2.FONT_HERSEY_SIMPLEX
            fontScale = 1
            color = (255, 0, 0)
            thickness = 2
            cv2.putText(img, classNames[classs], org, font, fontScale, color, thickness)

    cv2.imshow('JetCam', frame)
    if cv2.waitKey(1) == ord('q'):
        break
video_capture.release()
cv2.destroyAllWindows()

터미널 출력: 4.9.0

잘못된 명령(코어 덤프)

이 오류를 진단하는 방법과 해결 방법을 알고 싶습니다. 감사해요!

관련 정보