묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
Positional Encoding, KQV 질문입니다!
안녕하세요!제가 여쭙고 싶은 질문이 2가지 있습니다. Positional Encoding은 이미지를 패치로 바꿔주었을 때 순서 유지를 목적으로 순서를 기억하는 용도로 이해를 하였는데, 코드에서 랜덤한 값으로 지정하여 이를 단순 더해줍니다. 단순 랜덤한 값을 더해주는 과정인데, 이게 왜 위치를 기억하는 positional encoding이 되는지 이해가 가지 않습니다.Key Query Value 관련해서 셋 모두 Linear Projection을 진행하는데, 같은 representation 하나에 대해서 세개 모두 단순 선형변환을 진행하면 같은 벡터가 나오지 않나 하는 의문이 들었습니다. 만약 그렇다면, 왜 같은 과정을 K Q V 세번이나 진행하는지, 만약 다르다면 nn.Linear를 진행할 경우 벡터 방향이 비슷하게 다른 벡터로 벡터공간에 주입이 되는지 궁금합니다.강의 너무너무 유익했습니다. 감사합니다!
-
미해결따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트
실습 2 - 코드 다운받고 Human3.6M 데이터셋 살펴보기 에서 질문이 있습니다.,
2강 1:50초에 나오는 data_2d_h36m_cpn_conf.npz와 data_2d_golfswing.npz 파일이 들어있는 datasets 폴더나 파일을 찾을수 가 없습니다.어디서 받아야 하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection/customdataset
안녕하세요 강사님 수업중 질문이 생겨서 글을 남깁니다.mmdetection github에 들어가서 customdataset을 확인하려고 하는데 따로 dataset에 customdataset이 없습니다 ㅠㅠ
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
KittyTinyDataset(CustomDataset) 상속받을 때 super 질문
안녕하세요 선생님혹시 KittyTinyDataset(CustomDataset) 에서def load_annotations(self,ann_file) 할때 super는 따로 안하는 이유가 있을까여?상속받을때 변수를 쓰려면 super를 써야한다고 알고있어서 질문드렸습니다.감사합니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
주피터 노트북에서 mmdetection
안녕하세요 강사님 좋은 강의 너무 감사드립니다. colab환경에서 하신 code들 바탕으로 주피터노트북 환경에서 연습하고 있었습니다. 그런 중 잘 안되는 부분이 생겨 질문드립니다. 먼저 mmdetecion 설치를 한 제 코드입니다.오류 메세지는 다음과 같습니다pycocotools 다운 받고 런타임 재시작부터 다 해봤습니다ㅠ 파일도 다운 받아있는데 왜 import가 안될까요? 감사합니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
MMDetection 추론 시 Pretrained Model 적용에 관한 문의
안녕하세요.이렇게 좋은 강의 들을 수 있는 기회 주셔서 감사드립니다.강의를 들을때마다, 강의의 내용과 질에 감탄하고 있습니다.강의를 듣다, 궁금한 점이 있어 질문드립니다.섹션 4의 MMDetection의 이해와 Faset RCNN 적용 실습 01의‘tiny kitti 데이터로 MMDetection Train 실습 - Train 실행 후 이미지 Inference’ 에서 궁금한 점이있습니다.저는 GPU를 가지고 있어 우분투 환경에서 아나콘다의 spyder를 에디터로 사용하고 있습니다. 첫번째 질문입니다.mm_faster_rcnn_train_kitti.py 파일의 225라인train_detector(model, datasets, cfg, distributed=False, validate=True) 에서 12epoch 동안 학습을 하고,다음과 같이 00000068.jpeg 파일에 대해 추론을 했습니다.--추론부분 시작-------------img = cv2.imread('./kitti_tiny/training/image_2/000068.jpeg')model.cfg = cfgresult = inference_detector(model, img)show_result_pyplot(model, img, result)--추론부분 종료------------- 그런데, 추론을 할때 여전히 pretrained model로서 faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth 을 이용하여 학습을 하는 것 같습니다.(혹시 tiny kitti 데이터를 이용하여 학습한 결과의 파라미터가 faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth에도 적용되는지도 궁금합니다.faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth의 속성을 찍어보면 최종 modified date는 2021년 11월 3일로 되어있어서 적용이 안되는것으로 추정됩니다.)print(model.cfg)로 찍어보면 다음과 같이 되어 있습니다.load_from = '../mmdetection/checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'제 소견에는 학습을 했으면0000068.jpeg 파일에 대해 추론을 할때 사전학습을 통해 새롭게 만들어진 epoch_12.pth이나 latest.pth을 pretrained model로서 사용하는것이 어떤가 하는것입니다.만약 그렇게 하자면, 다음과 같이 바꾸면 되는지도 궁금합니다.---추론부분 수정 시작-------------------------------img = cv2.imread('../kitti_tiny/training/image_2/777.jpeg')cfg.load_from = './tutorial_exps/latest.pth' ; pretrained 모델 바꾸는 부분model.cfg = cfgresult = inference_detector(model, img)show_result_pyplot(model, img, result)---추론부분 수정 종료---------------- 두번째, 질문입니다.위에서 추론을 할때 model.cfg=cfg를 하고print(model.cfg)를 출력을 해보면,다음과 같이 roi_head 부분에 train_cfg, test_cfg가 하나씩 생기고바로 그 밑에 보면 train_cfg, test_cfg가 하나씩 더 있는데 내용이 pos_iou_thr, neg_iou_thr, pos_iou 등 설정값이 서로 다르게 되어 있습니다.train_cfg, test_cfg가 서로 다르게 2개씩 설정되어 있다면 추론이나 학습이 어떤 cfg가 적용되는지 궁금합니다. 세번째, 질문입니다.만약 resnet을 transfer learning이나 fine tuning을 하려면, /mmdetection/mmdet/models/backbones/resnet.py를 수정하면 되는지 문의드립니다. 강의를 듣다보니, 지식이 짧아 제대로 질문드렸는지 모르겠습니다.강의를 이해하지 못해 드리는 우문이라면, 수강생의 열정으로 생각해주시고 너그러이 이해하여 주시기 바랍니다.좋은 강의, 열강에 감사드리며 앞으로 이런 강의가 많이 만들어지기를 희망합니다.감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolov3 , yolov5를 DenseNet 으로 변경할 수 있나요? 한다면 어떻게 해야 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨최신 딥러닝 기술과 객체인식
transductive learning & inductive learning
transductive learning & inductive learning의 차이점이 궁금합니다 !
-
미해결따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트
prepare_data에서 질문있습니다.
3분 14초쯤에 load_data_hm36.py 파일에서prepare_data에 56줄에서 pos_3d[:, 1:] -= pos_3d[:, :1]을 빼주는데각 subject중에서, 어느 한 action에 해당하는 3차원 point배열에서 첫번째 값들만 빼오고 그 값들을 전체 pos_3d에 빼주는 과정을 해주는데, 이 과정을 해주는 이유가 normalization 때문에 해주는 것인가요? 맞다면, 보통 normalization을 하는 과정이 데이터들의 평균값으로 빼주는 것으로 알고 있는데, 첫번째 값을 빼주신이유가 궁금합니다!!
-
미해결OpenCV 를 활용한 명함인식 기능 구현 강좌
jupiter notebook에서 python gui 화면이 안 떠요 (자답 포함)
예제 실습에서 이미지 표시를 해 보면 다음과 같이 python gui 화면이 안 뜨고 응답없음이라고 import cv2def handle_image():imgfile = 'images/sample.png'img = cv2.imread(imgfile, cv2.IMREAD_COLOR) cv2.imshow('image', img) cv2.waitKey(0)cv2.destroyAllWindows()cv2.waitKey(1) if name == '__main__':handle_image() 실습파일 - 실습예제코드(python3.5&opencv3.2)monterey 12.6.6 / conda 23.3.1 / opencv 4.6.0 jupiter notebook 환경이 아닌 일반 python3 로 해당 코드를 실행해도 위와 똑같습니다. 자답)강의자료는 conda install -c menpo opencv 로 해서 opencv 4.6.0 이 설치되는데pip3 install opencv-python 으로 설치하면 opencv 4.7.0 이 설치되고jupiter notebook과 일반 python 환경 모두에서 정상 동작함 pip3 로 설치해도 되는것 맞겠죠?
-
미해결따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트
Canonical space란?
canonical space가 정확히 어떤 의미를 갖는건지 알려주실 수 있으실까요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
수강 중 질문 있습니다.
이전 강의 영상에 작성한 질문에 이어 질문 드립니다.일단 이중 객체 검출을 수행 해보려 하는데 힘든 부분이 있습니다. 이전 질문에 대해 말씀드리면 먼저 모델로 큰 이미지를 찾고 같은 모델을 사용하여 작은 이미지를 찾는 것 입니다.1. 이 강의 영상 포함하여 dataset이나 yaml파일을 선생님의 깃허브에서 불러오시는데 제가 자체 제작한 dataset은 제 컴퓨터의 로컬에 있습니다.(ex 바탕화면의 image폴더) 이를 불러오려고 구글링 하여 아래 코드를 사용했습니다.folder_path = r"C:\Users\user\Desktop\image"# 폴더 내의 모든 파일을 가져옴file_list = os.listdir(folder_path)위 코드를 사용하면 없는 폴더라고 에러가 뜨더군요.. 혹시 로컬에서 코랩으로 개인 데이터를 가져오는 방법이 있는지 궁금합니다.2. yaml파일이 잘 이해가 되지 않습니다. 일단 이해한 바로는 설정 파일이나 데이터 구조를 표현하기 위해 사용하는 파일 같은데 이전에 yolo inference 강의 영상에선 못 본 것 같아(있는데 못 봤을 수도 있습니다..) 왜 Ultralytics Yolo에는 사용하는지 궁금합니다.위에 말씀드린 것처럼 개인 dataset을 cvat로 200장 정도 만들어 뒀습니다.. 이미지는 블랙박스 이미지로 도로위 번호판을 annotation하여 로컬에 저장했습니다. (class는 '번호판' 하나)이를 위한 yaml파일을 로컬에서 생성하고 업로드 하는 방법이 궁금합니다.원래 yolo v3로 이중 객체 검출을 만들려고 했습니다. 구상한 모델은 일단 yolo inference 강의의 코드로 pre-training된 yolo에 저의 이미지를 업로드 하여 결과 값의 자동차 부분만 crop하여 자동차 부분의 이미지를 폴더에 저장하고 싶습니다.3. 저의 이미지로 모델을 돌리면 사람 자동차 등 80개의 class에 대해 bbox가 나오는데 이 중 특정 class에 대해서만 보고 싶다면 어떻게 해야 할까요?4. yolo의 수행 결과로 bbox가 나오는데 이 bbox의 좌표값으로 원본 이미지를 crop하는 것이 궁금합니다.5. 제가 구상한 모델의 특성 상 test하기가 애매합니다.자동차 부분을 crop하고 번호판을 찾는 것이라 crop한 이미지에 대한 label을 붙이기도 힘들 것 같습니다.따라서 저의 Custom dataset으로 yolo를 학습시켜 inference한 경우와(1), pre-training yolo v3에서 자동차 부분을 찾아(3~4번 질문) 추출된 이미지를 Custom dataset으로 학습 된 yolo(2)의 성능 비교를 하고 싶다면 어떤 방법이 있을까요?마지막으로 yolo v3모델로 하려고 했는데 Custom dataset의 사용과 학습 시키는 것은 Ultralytics Yolo에서 설명 해주셔서 yolo v3모델로의 Custom dataset학습은 힘든가 궁금하기도 합니다.두서 없이 궁금한 부분을 적어 봤는데 긴 질문에 대해 죄송합니다. object detection에 관심이 생겨서 하나하나 공부하고 있는데 하면 할수록 어렵네요 ㅠㅠ...
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Opencv DNN을 이용한 Inference 수행 절차 시 Faster-RCNN 적용 시점
안녕하세요, OpenCV의 DNN을 이용한 Object Detection 구현 개요 및 관련 실습에서 질문이 있습니다. cv2.dnn.readNetFromTensorflow 라이브러리에서 Faster-RCNN ResNet-50 가중치 모델 파일과 환경 설정 파일을 통해 inference 네트웍 모델을 생성한다고 설명해주셨습니다. 또한, cvNet.forward()를 통해 생성한 inference 네트웍 모델에서 output을 추출, 그리고 추출한 output에서 detect 정보를 시각화 합니다. 제 질문은, Pretrained된 가중치 모델 파일은 구체적으로 무엇이며, 또한 Faster-RCNN 수업에서 설명해주신 RPN은 언제 수행하는지 궁금합니다. 제가 이해하지 못하는 부분은 다음과 같습니다.제가 이해하기로는, cvNet.forward를 통해 inference 네트웍에서 output을 추출하여, 추출한 output으로 부터 object detect를 할 수 있는데, 이때 object detect를 할 때 사용되는 알고리즘이 Faster-RCNN이라고 이해하였습니다. 그러나, Pretrained된 가중치 모델 파일은 Faster-RCNN, MobileNet, Mask-RCNN 등의 모델을 지원합니다. 가중치 모델 파일은 pretrained 된 것으로서, 이미 coco 데이터 세트 (80개의 object) 를 모두 학습해 놓은 모델이며, 즉 coco 데이터 세트를 학습할 때 Faster-RCNN 알고리즘으로 수행된 모델이라고 이해하면 될까요? 즉, Pretrained된 가중치 모델 파일이 Faster-RCNN을 지원한다는 것이 어떤 의미를 가지는지 궁금합니다.해당 pretrained된 가중치 모델 파일과 환경 설정을 통해 생성한 inference 네트웍을 통해 object detection 수행 시에 RPN을 기반으로 객체 탐지를 하는 것인지 궁금합니다. 감사합니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
Object Detection (fasterrcnn) 공지해주신 소스의 오류 수정 부탁드립니다.
안녕하세요일전에 공지해주신 아래 파일에서 에러가 나는데 수정 좀 부탁 드립니다.1강_TF2_Detection_Model_ZOO_example_fasterrcnn_pedestrian_dataset_2022_11_11.ipynbhttps://colab.research.google.com/drive/1LIMGUFJtCWw3gdgWh3T2aorR4AwogyPS?usp=sharing 죄송합니만 개인 사정상 다소 급하오니 선처 부탁드립니다!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
MMDtection 관련 에러
안녕하세요 .교수님 제가 지금 faster rcnn를 코랩 환경 말고 vscode로 구현할려고 합니다. 그런데 강의 대로 하고 있는데 mmdet의 모듈이 불러오지를 못합니다. 파이썬 버전을 3.8에서 3.10해보고 torch랑 환경을 강의대로 했는데 에러가 뜹니다. vscode로는 작동이 안 되는 이유를 알고 싶고, 어떻게 해야 하는지를 알고 싶습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
이미지 레이블링 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 듣고 있습니다!라벨링 부터 시작하고 있는 학생입니다.라벨링을 진행중에 문득 어떻게 해야되는지 몰라서 질문을 남기게 됐습니다.라벨링 진행시 중복 이미지는 삭제 하는게 좋다고 알고 있습니다.혹시 아래와 사진과 같은 경우가 발생할 때는 어떻게 하는게 좋을까요?첫 번째 줄 사진은 먼저 모든 물체에 라벨링을 진행. 이후에 사진에서 달라진 부재만 라벨링 진행.두 번째 줄 사진은 먼저 모든 물체에 라벨링 진행, 이후에 달라진 부분과 이전에 진행한 물체에 라벨링을 똑같이 진행.답변 부탁드립니다!!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
코랩 세션이 다운되었습니다
안녕하세요, 강사님.몇 가지 질문이 있어 조심스레 여쭤봅니다.1.mm_mask_rcnn_train_balloon를 커스텀 데이터 세트로 돌리고 있는데아래 코드에서 validate=False로 설정하면 문제가 없이 작동하는데True로 하면 36에포크로 설정을 해줬는데 12에포크까지만 돌고 검증이돼서 결과값이 나오고 세션이 종료됩니다어떤 문제를 해결해줘야할까요,,?# epochs는 config의 runner 파라미터로 지정됨. 기본 12회 train_detector(model, datasets, cfg, distributed=False, validate=True) 강의에서 제공되는 코드는 test set이 아닌 validation set으로 성능 검증을 하는 건가요? 아래 나오는 AP와 AR 값 말고 각 클래스 별로 precision 과 recall값도 확인할 수 있나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmcv 설치 오류? 문의
안녕하세요. 계속해서 jupyter를 통해 mmdetection을 설치하려고 하는데 error가 발생하여 문의드립니다.버전은 2.x로 다운그레이드하여 설치후 진행 중입니다. [1] 현재 torch version은 1.12.0, cuda version은 113으로 torch 버전을 변경하여 사용하려고 합니다. 아래 링크로 들어가면 설치가 가능한 걸로 이해를 했습니다. https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html따라서 명령어 : python -m pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html를 실행하여 진행하는데 위의 검정 화면과 같은 에러가 뜹니다. 파이썬이 여러 버전 설치되어 있을 경우의 해결책을 사용하여 명령어를 입력하였는데도 오류가 뜹니다. [2] jupyter에서 코드 실행시 ModuleNotFoundError: No module named 'mmcv._ext' 오류가 납니다.버전이 안 맞아서 생기는 오류 같은데, [1]이 근본적으로 설치가 안되어서 그러는건지, 아니면 다른 이슈인지 모르겠습니다. 감사합니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
craft와 crnn의 사이 연결관계에 대해서
craft에서 여러글자를 하나의 단어로 인식하는것이 맞는 것인가요 번호판 커스텀 데이터를 보면 bbox 와 하나의 라벨링이 있는데 해당 라벨링에 여러 단어가 들어가있습니다. 그래서 추측하기에 원래 기본적으로 하나의 단에 하나의 bbox가 있는것인데 이번 강의에서 여러 단어를 하나의 단어로 인식하는 방식이 맞는 것인지 궁금합니다. 아니면 라벨링은 무시하는 데이터 입니까?아니면 craft가 문자 인식에 탁월한 detection model이지만, 이를 글자가 아니라 애초에 번호판 박스를 인식하는데에 쓰는 것인가요?그리고 해당 bbox를 통해 전체 이미지중 해당 되는 img를 잘라서 crnn이 받아서 글자를 recognize 하는 것이 맞는것 인지 궁금합니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mask_rcnn활용, 데이터 coco 포맷 변환 오류
선생님 안녕하세요 저는 현재 cityscape dataset을 바탕으로 kaggle mask_rcnn_nucleus 코드를 활용하여 segmentation을 해보려고 하고 있습니다.그에 따라 cityscape 데이터를 nulceus 데이터와 동일한 구조의 디렉토리로 정리하였는데요,이를 coco 포맷으로 변환하려고 하니, 아래 오류가 떠서 문의드립니다.파일 경로는 모두 맞게 입력한 것 같은데, 이미지를 못 읽고 있는 것 같습니다.. 'convert_nucleus_to_coco' 함수를 수정하거나 하지 않았는데 왜 이미지를 못읽는 걸까요?(파일 경로)(오류 메세지)convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', train_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/train_coco.json') convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', val_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/val_coco.json') _____아래 오류 메세지_____ /content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen/aachen_000033_000019_gtFine_color/image/aachen_000033_000019_gtFine_color.png --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-63-d95f91ecbcb7> in <cell line: 1>() ----> 1 convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', train_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/train_coco.json') 2 convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', val_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/val_coco.json') <ipython-input-61-6f0ad3172ae3> in convert_nucleus_to_coco(data_root_dir, image_ids, out_file) 15 16 print(image_path) ---> 17 height, width = cv2.imread(image_path).shape[0:2] 18 # 개별 image의 dict 정보 생성 19 image_info = dict(file_name=file_name, AttributeError: 'NoneType' object has no attribute 'shape'