inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

<mmdetection 관련>

365

작성자 없음

작성한 질문수 0

0

안녕하세요 선생님 

강의 잘 듣고 대학원 연구생활에 있어서 많이 도움받고있습니다.

 

다름이 아니라 수업을 듣던 중 다음과 같은 질문사항이 생겨 질문드립니다.

1. 제가 하려고 하는것은 mmdetection - maskrcnn inference code를 이용하여 inference를 진행한 뒤 

추론 결과를 디렉토리에 저장하려고 합니다.  아래 코드와 같이 원본이미지에 추론결과를 덧씌운 결과는 저장에 성공했지만 

from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import mmcv
import torch
import cv2
import matplotlib.pyplot as plt

#버전 및 gpu 작동확인
print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")


# config 파일을 설정하고, 미리 학습한 maskrcnn 모델을 checkpoint로 설정.
config_file = 'custom_config.py'
checkpoint_file = '/Scratch/home/dohyeon/mmdetection/tutorial_exps/epoch_12.pth'

# config 파일과 pretrained 모델을 기반으로 Detector 모델을 생성.
model = init_detector(config_file, checkpoint_file, device='cuda:0')


#디렉토리 내 모든 파일 segmentation 실행 및 저장  
path_dir = '/Scratch/home/dohyeon/mmdetection/input/pre-processing/save_point2'
file_list = os.listdir(path_dir)

for i in range(6):
    img_name = path_dir + '/' + file_list[i]
    img_arr= cv2.imread(img_name, cv2.IMREAD_COLOR)
    img_arr_rgb = cv2.cvtColor(img_arr, cv2.COLOR_BGR2RGB)
    # cv2.imshow('img',img)
    fig= plt.figure(figsize=(12, 12))
    plt.imshow(img_arr_rgb)

    # inference_detector의 인자로 string(file경로), ndarray가 단일 또는 list형태로 입력 될 수 있음.
    results = inference_detector(model, img_arr)

    # inference 된 결과를 원본 이미지에 적용하여 새로운 image로 생성(bbox 처리된 image)
    # Default로 score threshold가 0.3 이상인 Object들만 시각화 적용. show_result_pyplot은 model.show_result()를 호출.
    show_result_pyplot(model, img_arr, results)

    #추론결과 디렉토리에 저장
    model.show_result(img_arr, results, out_file= f'input/pre-processing/save_point3/{file_list[i]}')

제가 원하는 방법은 원본이미지에 추론결과를 덧씌운 show_result_pyplot 과 같은 이미지가 아니라 

원본에 덧씌우지 않은 추론결과만을 저장하고 싶습니다. 

혹시 좋은 방법이 있을까요?

 

2. 추론 결과가 mask 형태의 이미지처럼 나오나요? 

아니면 배열과 같이 나오나요?

 

3. 만약 추론결과가 mask형태의 이미지처럼 나온다면 

위 그림과 같이 배경 픽셀은 0이고 사람의 픽셀만 0~255 사이의 값으로 나오나요? 

 

이상입니다

 

감사합니다  

mmdetection mask-rcnn 컴퓨터-비전 python tensorflow 딥러닝 머신러닝 배워볼래요? keras

답변 1

0

권 철민

안녕하십니까, 

질문하신 내용은 Mask RCNN - 실습 01 섹션에서

MMDetection을 이용한 Mask RCNN Inference 실습 - Masking inference 반환 결과 분석 영상을 참조하시면 될 것 같습니다. 

추론 결과 반환은 Masking 형태로 반환하며 이미지 pixel별로 True/False 값으로 되어 있습니다. 여기에 이미지색상을 입히시는 것 역시 실습 코드로 있으니까 참조하시면 될 것 같습니다. 

감사합니다. 

강의 환경설정 질문

0

40

2

Custom Dataset에서의 polygon 정보 관련

0

83

3

cvat.ai 보안 수준이 궁금합니다

0

80

2

캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.

0

95

3

추론 결과의 Precision(또는 mAP) 평가 방법

0

85

2

mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.

0

59

2

runpod에서 google drive 연결 시 오류 발생

0

109

2

로드맵 선택

0

66

1

mmcv

0

57

2

Anchor box의 Positive 처리 위치

0

62

2

해당 강의 runpod 적용 후 에러 제보드립니다

0

85

2

run pod credit 관련 제보

0

97

2

mmdetection 2.x과 3.x 호환 관련 표기

0

77

2

mm_faster_rcnn_train_kitti.ipynb 실행 오류

0

97

3

질문 드립니다.

0

77

3

mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.

0

78

1

강사님께 수정을 제안드리고 싶은 것이 있습니다.

0

93

1

google automl efficientdet 다운로드 및 설치 오류

0

73

1

이상 탐지에 사용할 비전 기술 조언 부탁드립니다.

0

102

2

OpenCV 관련 질문드립니다.

0

70

2

mmcv 설치관련해서 문의드려요

0

329

3

강의 구성 관련해서 질문이 있습니다

1

135

2

모델 변환 성능 질문드립니다.

0

122

1

NMS 로직 문의 드려요

0

112

2