해결된 질문
작성
·
1.1K
0
YOLO 사용해서 객체 탐지를 할려고 합니다. 실시간으로 영상까지 하려고 합니다.
Keras-YOLO는 현재 버전을 사용하고 싶습니다. (제가 시도한게 과거 버전인지 몰랐습니다.)
처음에 구글 코랩에서 시도를 했는데 코랩에서는 Videocapture(0) 을 실행 할 수가 없다고 해서
jupyter로 바꿨습니다. (개인 노트북입니다.)
1.
HOME_DIR= 'C:/Users/park'
import sys, os
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
LOCAL_PACKAGE_DIR = os.path.abspath(HOME_DIR+'/yolo3')
sys.path.append(LOCAL_PACKAGE_DIR)
from yolo3.model import preprocess_true_boxes, yolo_body, tiny_yolo_body, yolo_loss
from yolo3.utils import get_random_data
ImportError Traceback (most recent call last) Input In [1], in <cell line: 10>() 7 LOCAL_PACKAGE_DIR = os.path.abspath(HOME_DIR+'/yolo3') 8 sys.path.append(LOCAL_PACKAGE_DIR) ---> 10 from yolo3.model import preprocess_true_boxes, yolo_body, tiny_yolo_body, yolo_loss 11 from yolo3.utils import get_random_data File ~\yolo3\model.py:14, in <module> 11 from keras.models import Model 12 from keras.regularizers import l2 ---> 14 from yolo3.utils import compose 17 @wraps(Conv2D) 18 def DarknetConv2D(*args, **kwargs): 19 """Wrapper to set Darknet parameters for Convolution2D.""" ImportError: cannot import name 'compose' from 'yolo3.utils' (C:\Users\park\yolo3\utils\__init__.py)
2.
LOCAL_PACKAGE_DIR = os.path.abspath("./yolo3")
WEIGHT_DIR=os.path.abspath(LOCAL_PACKAGE_DIR+'/weight.h5') ANCHOR_DIR=os.path.abspath(LOCAL_PACKAGE_DIR+'/yolo_anchors.txt') CLASS_DIR=os.path.abspath(LOCAL_PACKAGE_DIR+'/coco_classes.txt')
from yolo import YOLO from PIL import Image sys.path.append(LOCAL_PACKAGE_DIR) yolo = YOLO(model_path=WEIGHT_DIR, anchors_path=ANCHOR_DIR, classes_path=CLASS_DIR)
ImportError Traceback (most recent call last) Input In [2], in <cell line: 1>() ----> 1 from yolo import YOLO 2 from PIL import Image 3 sys.path.append(LOCAL_PACKAGE_DIR) ImportError: cannot import name 'YOLO' from 'yolo' (C:\Users\park\anaconda3\lib\site-packages\yolo\__init__.py)
답변 1
0
keras yolo가 너무 오래되어서 이제는 저도 잘 기억이 나진 않습니다만,
전반적으로 module import path가 잘못 잡혀 있는것 같습니다.
utils.py, yolo.py 모두 다 import를 참조하지 못하고 있습니다.
지금 어떤 패키지를 작업을 하고 계시는지요?
qqwweee keras-yolo3 을 github에서 download한 다음에 작업을 하시는지요?
github에서 다운로드해서 아래와 같이 /yolo3까지 해서 sys.path를 잡으시면 안될것 같습니다.
import 를 yolo3로 시작하는데, 그렇게 되면 제대로 import 할 수 없을 것 같습니다.
LOCAL_PACKAGE_DIR = os.path.abspath(HOME_DIR+'/yolo3')
sys.path.append(LOCAL_PACKAGE_DIR)
아래와 같이 github을 다운로드한 메인 디렉토리를 sys.path로 잡아주십시요. 아래에서 아마도 '/yolo3' 를 제외해야 할 것 같습니다.
LOCAL_PACKAGE_DIR = os.path.abspath(HOME_DIR)
sys.path.append(LOCAL_PACKAGE_DIR)
Import Error 문제 해결했고 카메라 연결까지 완료했습니다. 감사합니다.
지금 바운딩 박스가 나오지 않는 상태인데 어떻게 해야하는지 고민해보고 질문하겠습니다.
혹시 keras-yolo 말고 요즘 주로 사용하는 다른 방법은 어떤게 있는지 알려주실 수 있을까요?