묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
Yolov9의 백본 바꾸기 Resnet50으로
https://github.com/WongKinYiu/yolov9/tree/main욜로에서 models.yolo.py나 models.detect.custon.yaml을 제작해 pth로 저장하고자합니다..기존 욜로백본 yolov9.yaml을 수정해도 상관없고, 새로 얌파일을 추가해도 상관은 없는데, 전혀 갈피가 안잡혀서 도움 요청드립니다. 사실 백본을 바꾸기보단 파이토치로 새로 짜보려했는데, 제가 그냥 학습에서 엔지니어링으로 옵션 건드는건 했어도, 아예 레이어 설계하거나 저장하도록 만들어본 적이 없어서 계속 헷갈리네요.. 지금은 프로젝트 코드 다 엎어버렸습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolov5(yolov8) val.py 결과 저장 질문
안녕하세요. 강사님. yolov5(yolov8) val.py 결과 저장 질문드립니다.아래와 같이 val.py 를 수행한 결과를 엑셀에 저장하려면 어떻게 해야 하나요? results = model.val()로 val을 수행하고, print(results.class_result(class_index))로 클래스의 precision, recall, map50, map50-95값을 확인할 수 있었습니다.하지만 Images, Instances 값은 어디서 가져와야 하는지를 모르겠습니다...그리고, conf_matrix = results.confusion_matrix.matrix로 cm을 가져왔는데, yolo val 에서 제공하는 box precision, box recall 값과cm 을 통해 계산한 precision, recall 값에 차이가 있는데, 왜 그런지 모르겠습니다.yolo 문서 상으로는 box precision, recall은 IoU 만 중요시하고, class의 정답 유무는 중요시하지 않다고 하는데,보고서나 발표자료에는 yolo의 box precision, reall을 평가지표로 삼아야 하는지, 계산한 precision recall 값을 지표로 삼아야하는지 모르겠습니다.답변 부탁드립니다. 감사합니다.
-
미해결
Yolo를 이용한 객체 탐지 관련 질문
현재 Yolo를 이용해 물체의 LED를 찾아내는 학습을 진행중입니다.컴퓨터 비전 관련 연구 중에 Domain Randomization 관련 내용을 접하고, 이를 접목시키고자현실의 모델 대신 3D 모델을 만들어 모델의 이미지로 학습을 대신 진행해보았습니다.그런데 3D 모델로 학습 -> 현실의 모델 내 LED를 찾음 <<<< LED의 인식률이 너무 떨어져서 문제입니다.다양한 사진으로 학습해도 보통 공통점을 학습해서 탐지하는 것이 보통인데, 실제 현실 모델과 최대한 비슷하게 모델링해서 학습하는데도 왜 인식률이 처참한걸까요? 어느 부분을 고려해야 하는지 궁금합니다..
-
미해결구현하며 이해하는 이미지 생성모델 - 활용
LDM 코드 문의
Stable Diffusion에 대한 코드가 강의 자료에 올라오지 않았습니다.강사님의 이메일도 모르는 상황이라 다시 글을 작성합니다. 혹시 코드도 받아볼 수 있을까요?
-
미해결구현하며 이해하는 이미지 생성모델 - 활용
DDIM 코드 질문 및 LDM 코드 제공 문의
안녕하세요. 멋진님. 생성모델 강의 두 개를 모두 신청하여 듣고 있는 학생입니다.DDIM 코드 질문이 있어 글을 작성합니다.아래 사진을 보시면 g_img = sqrt_alpha_bar_list[t] * g_img / sqrt_alpha_bar_list[pre_t] g_img = g_img + sqrt_one_minus_alpha_bar_list[t] * pred_noise + np.sqrt(beta_list[t])*esp인 코드를 확인하실 수 있으신데요. 이 수식이 reverse term이랑 안 맞는 것 같아서 질문드립니다. 아래와 같이 수정되는 것이 맞지 않나 싶어서요..g_img = sqrt_alpha_bar_list[t-1] * g_img / sqrt_alpha_bar_list[pre_t] g_img = g_img + sqrt_one_minus_alpha_bar_list[t-1] * pred_noise + np.sqrt(beta_list[t])*esp 다음 질문은 LDM에 대한 수업 자료에서 학습된 모델 파일은 제공되는데 코드가 제공이 안 돼서요..혹시 코드도 같이 올려주실 수 있는지 여쭙습니다. 좋은 강의 감사합니다.
-
해결됨
YOLO Import Error 질문
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)
-
미해결
yolov3 를 tflite 변환시 box size가 정확지 않아요
안녕하세요, 객체감지 yolov3 -> pb -> tflite 로 변환하여서 라즈베리파이에서 구동시키는데, 객체를 잘 찾기는 하는데 box size가 너무 크고 좌표가 심지어 마이너스 (-) 값이 나오기도 하는데요. Darknet 에서는 다양한 anchor size 를 쓰면 box size가 점점 정확해 졌었습니다. tflite 사용시 box size를 정확하게 맞추려면 어떻게 해야 할까요? 감사합니다.
-
미해결
yolov5를 이용해서 hololens 앱 만드는 방법이 궁금합니다.
yolo 객체인식을 이용한 hololens 어플을 개발하고 싶은데, 방법을 잘 모르겠습니다. yolov5는 git에서 clone해서 실행이 완료되었는데, 이 프로젝트를 unity, visual studio와 연결할 수 있는 방법이 있는지 궁금합니다 !
-
미해결
yolo max_batches 질문
yolo 학습을 진행하려고 합니다 클래스수가 좀 많아서 max_batches 수를 클래스 수 x2000이 아닌 500이나 1000으로 해볼려고 하는데 문제가 생기나요? 클래스당 학습 시키는 이미지가 200~300장 정도 되는데 충분한지도 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
video inference 오류가 생겨 질문 드립니다
안녕하세요, Ultralytics Yolo 실습 - 02 강의를 따라 인크레더블 데이터 셋 대신 제가 제작한 데이터로 학습을 수행해 video inference 진행 중 오류가 발생해 질문드립니다. video inference와 image inference 수행 중 다음과 같은 오류가 발생했습니다. video inference 코드: # video 파일 inference cd /content/yolov3;python detect.py --source /content/simult/simul_1.mp4 \ --weights /mydrive/ultra_workdir/simult/weights/best.pt --conf 0.3 \ --project=/content/data/output --name=run_video --exist-ok --line-thickness 2 실행 중 오류 코드: detect: weights=['/mydrive/ultra_workdir/simult/weights/best.pt'], source=/content/simult/simul_1.mp4, imgsz=[640, 640], conf_thres=0.3, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=/content/data/output, name=run_video, exist_ok=True, line_thickness=2, hide_labels=False, hide_conf=False, half=False, dnn=False YOLOv3 🚀 v9.6.0-3-gb870de5 torch 1.10.0+cu111 CUDA:0 (Tesla P100-PCIE-16GB, 16281MiB) Fusing layers... Model Summary: 261 layers, 61497430 parameters, 0 gradients, 154.7 GFLOPs Traceback (most recent call last): File "detect.py", line 244, in <module> main(opt) File "detect.py", line 239, in main run(**vars(opt)) File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "detect.py", line 149, in run s += f"{n} {names[int(c)]}{'s' * (n > 1)}, " # add to string KeyError: 0 image inference 코드: # image 파일 inference !cd /content/yolov3;python detect.py --source /content/simult/images/train/13.png \ --weights /mydrive/ultra_workdir/simult/weights/best.pt --conf 0.3 \ --project=/content/data/output --name=run_image --exist-ok --line-thickness 2 실행 중 오류 코드: detect: weights=['/mydrive/ultra_workdir/simult/weights/best.pt'], source=/content/simult/images/train/13.png, imgsz=[640, 640], conf_thres=0.3, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=/content/data/output, name=run_image, exist_ok=True, line_thickness=2, hide_labels=False, hide_conf=False, half=False, dnn=False YOLOv3 🚀 v9.6.0-3-gb870de5 torch 1.10.0+cu111 CUDA:0 (Tesla P100-PCIE-16GB, 16281MiB) Fusing layers... Model Summary: 261 layers, 61497430 parameters, 0 gradients, 154.7 GFLOPs Traceback (most recent call last): File "detect.py", line 244, in <module> main(opt) File "detect.py", line 239, in main run(**vars(opt)) File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "detect.py", line 149, in run s += f"{n} {names[int(c)]}{'s' * (n > 1)}, " # add to string KeyError: 0 이러한 오류를 어떻게 해결해야 하는지 알고 싶습니다. 감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Yolo v2
안녕하세요 Yolo v2에 대해서 몇가지 질문드리고 싶어서 글 남깁니다. 1. Direct Location Prediction 에서 여기서 tw와 th가 학습을 통해서 적절한 값을 향하는걸로 이해했습니다.그러면 그 값은 클래스마다 어떤 하나의 값으로 수렴되는게 아닌것같은데.. 예를 들어 Car라는 클래스의 bbox를 예측하고 정답과 비교하며 학습한다고 했을때t값을 예측하고, 그 값을 넣은 b값과, 정답을 비교하고 옳은 t값을 구하고 나서의 일들이 헷갈립니다. 저 t값을 위해 아주 많은 노드들의 가중치값이 조금씩 변화하다 보면 Car라는 클래스의 bbox크기를 점점 더 잘 맞추게 되는건가요? 전체적인 매커니즘이 잘 이해가 되지 않아서 질문 드립니다. 2. 논문에서 자세히 밝히지 않아 질문드립니다. 앵커박스를 mAP 70이상들은 쓰지 않았는데 왜 굳이 쓰지 않은건가요?yolov2에서 바뀐것들중 큰 부분이라고 생각했는데 결국에 쓰지 않는것인지.. 이해가 잘 되지않습니다. 또한, 앵커박스를 쓰지 않았으면 yolov1과 같은 방식으로 2개의 box를 이용했다는것인지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
YOLO v3 탐지 큰 이미지에 적용
안녕하세요. 이전에 항공사진에서 나무를 찾는 프로젝로 질문을 드렸었는데요. 제가 사용한 이미지는 23160*28750 크기의 .tiff 파일로, 해당 이미지를 500*500 크기의 이미지로 자른 뒤, 그 중 약 50여개의 분할된 이미지로부터 CVAT을 활용해 class : tree 에 대한 annotation을 약 300개 만든 후 train 하였습니다. 500*500으로 자른 이미지에 inference 했을 땐, 일부 탐지에 성공하였으나, 원본 이미지 (23160*28750) 에 사용 시, 하나도 탐지해내지 못했습니다. 이처럼 해상도의 차이가 큰 이미지에 적용할 때 탐지가 되지 않는 이유는 무엇인가요? 그리고 해결방안이 있는지도 여쭤봅니다. 감사합니다 :) ※코드는 'yolov3_train_incredibles.ipynb' 코드를 활용하여 작동하였습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
opencv import 에러 관련 문의드립니다.
안녕하세요. 제가 yolov5를 Django와 연동하다가 opencv import 에러에 부딛히게 됐는데, 아무리 해도 해결이 안되어 문의드립니다. 에러는 표시는 다음과 같습니다. 혹시 방법이 없을까요???
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 2 - 불량사과를 찾아라!
classes.name을 불러올 수 없습니다ㅜ
경로에 파일 제대로 있는데 왜 열지를 못하는 걸까요,,
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
YOLO 에 OBS라는 방송 녹화 / 송출 프로그램의 영상을 실시간으로 디텍션 하려 합니다.
YOLO 를 사용해서 실시간으로 obs 라는 프로그램의 화면을 디텍션 하려 합니다. 송출 컴퓨터와 게임 컴퓨터가 있는데 게임 컴퓨터의 영상을 '캡쳐보드'를 통하여 모니터 화면 그대로 송출 컴퓨터에 가져와서 obs 라는 방송용 프로그램에 띄웁니다. 그리고 이것을 실시간으로 디텍션하려 하는데 어떻게해야 obs의 화면 창을 YOLO 프로그램에서 띄울 수 있나요...? 혹시나 obs가 아니라 그냥 캡쳐보드로 가져온 실시간 영상을 있는 그대로 사용할 수 있다면.. 좋겠습니다. 다른 방법이 있을까요 ㅜ hdmi 비디오 캡쳐 장치로 가져온 실시간 영상을 YOLO를 이용해 실시간 검출을 하고싶습니다 /// hdmi 비디오 캡쳐 장치로 가져온것을 YOLO 에서 ' 0 ' 으로 웹캠 설정으로 돌렸을때 뜨는 에러 메시지. [ WARN:0] global C:\TheCodingBug\OpenCV_CUDA\opencv-4.4.0\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (373) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): OnReadSample() is called with error status: -1072875772 [ WARN:0] global C:\TheCodingBug\OpenCV_CUDA\opencv-4.4.0\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (385) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): async ReadSample() call is failed with error status: -1072875772 [ WARN:1] global C:\TheCodingBug\OpenCV_CUDA\opencv-4.4.0\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (912) CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -1072875772 Elasped time: 0.00 Traceback (most recent call last): File "run_yolo.py", line 38, in <module> get_yolo_preds(net, input_vid_path, output_vid_path, confidence_threshold, File "C:\TheCodingBug\YOLO_OpenCV\run_yolo\my_utils.py", line 85, in get_yolo_preds print("FPS: {:.2f}".format(fps.fps())) File "C:\Users\lante\anaconda3\lib\site-packages\imutils\video\fps.py", line 33, in fps return self._numFrames / self.elapsed() ZeroDivisionError: float division by zero [ WARN:1] global C:\TheCodingBug\OpenCV_CUDA\opencv-4.4.0\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback 소스코드는 너무 길어서 못올리는데 제가 짠게아니라 유튜브의 외국인 영상에서 YOLO를 웹캠을 사용해 실시간 검출을 하길래 따라서 해봤는데 정말 되는겁니다. 그런데 영상 파일같은게 아닌 모니터 화면 자체를 그냥 검출 한다든가. 특정 창을 검출 한다든가 하는걸 못하겠네요..