Main Content

Deep Learning Object Detector

훈련된 딥러닝 객체 검출기를 사용하여 객체 검출

R2021b 이후

  • Deep Learning Object Detector block

라이브러리:
Computer Vision Toolbox / Analysis & Enhancement

설명

Deep Learning Object Detector 블록은 블록 파라미터를 통해 지정된 훈련된 객체 검출기를 사용하여 입력 영상에 대한 경계 상자, 클래스 레이블 및 점수를 예측합니다. 이 블록을 사용하면 MAT 파일 또는 MATLAB® 함수에서 사전 훈련된 객체 검출기를 Simulink® 모델로 불러올 수 있습니다. 이 블록은 Simulink에서 detector 객체를 사용하기 위한 그래픽 인터페이스를 제공합니다. Deep Learning Object Detector 블록의 일부 파라미터를 활성화하려면 해당 파라미터를 지원하는 객체 검출기를 선택해야 합니다. 예를 들어, 이 블록에 yolov2ObjectDetector 객체를 사용하면 연결된 detect 객체 함수의 이름-값 인수와 비슷한 파라미터를 선택할 수 있습니다.

포트

입력

모두 확장

H×W×C 숫자형 배열로, 여기서 H, W, C는 각각 영상의 높이, 너비, 채널 개수입니다. 시간 스텝당 하나의 영상만 입력으로 허용됩니다.

출력

모두 확장

입력 영상 내에서 검출된 객체의 위치로, M×4 행렬 또는 M×5 행렬로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다. 최대 검출 개수 파라미터를 지정하여 상한을 크기 M으로 설정할 수 있습니다.

다음 표에서는 경계 상자의 형식을 설명합니다.

경계 상자Description

축 정렬된 사각형

공간 좌표에서 M×4 숫자형 행렬로 정의되며, 행의 형식은 [x y w h]입니다. 여기서

  • M은 축 정렬된 사각형의 개수입니다.

  • x와 y는 사각형의 왼쪽 위 코너를 지정합니다.

  • w는 사각형의 너비, 즉 x축에서의 길이를 지정합니다.

  • h는 사각형의 높이, 즉 y축에서의 길이를 지정합니다.

회전된 사각형

공간 좌표에서 M×5 숫자형 행렬로 정의되며, 행의 형식은 [xctr yctr w h yaw]입니다. 여기서

  • M은 회전된 사각형의 개수입니다.

  • xctr과 yctr은 사각형의 중심을 지정합니다.

  • w는 사각형의 너비, 즉 회전하기 전 x축에서의 길이를 지정합니다.

  • h는 사각형의 높이, 즉 회전하기 전 y축에서의 길이를 지정합니다.

  • yaw는 회전 각도(단위: 도)를 지정합니다. 회전은 경계 상자의 중심을 기준으로 시계 방향으로 양의 값을 가집니다.

Square rectangle rotated by -30 degrees.

자세한 내용은 Datastores for Deep Learning (Deep Learning Toolbox) 항목을 참조하십시오.

경계 상자의 레이블로, M×1 열거형 벡터로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다.

각 레이블의 검출 신뢰 점수로, M×1 벡터로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다. 점수가 높을수록 검출의 신뢰도가 더 높음을 의미합니다.

파라미터

모두 확장

아래 옵션에서 detector 객체의 출처를 선택합니다.

  • MAT 파일에서 가져온 검출기 — MAT 파일에서 detector 객체를 가져옵니다. 예를 들어, rcnnObjectDetector 객체가 포함된 MAT 파일을 선택합니다.

  • MATLAB 함수에서 가져온 검출기 — MATLAB 함수에서 detector 객체를 가져옵니다. 예를 들어, 훈련된 yolov2ObjectDetector 객체를 반환하는 함수 vehicleDetectorYOLOv2를 지정합니다.

가져온 검출기는 다음 지원되는 객체 중 하나여야 합니다.

  • rcnnObjectDetector

  • fastRCNNObjectDetector

  • fasterRCNNObjectDetector

  • ssdObjectDetector

  • yolov2ObjectDetector

  • yolov3ObjectDetector

  • yolov4ObjectDetector

프로그래밍 방식 사용

블록 파라미터: Detector
유형: 문자형 벡터, string형
값: Detector from MAT file' | 'Detector from MATLAB function'
디폴트 값: Detector from MAT file'

이 파라미터는 불러올 detector 객체가 포함된 MAT 파일의 이름을 지정합니다. 파일이 MATLAB 경로에 있지 않으면 찾아보기 버튼을 사용하여 파일을 찾습니다.

종속 관계

이 파라미터를 활성화하려면 검출기 파라미터를 MAT 파일에서 가져온 검출기로 설정하십시오.

프로그래밍 방식 사용

블록 파라미터: DetectorFilePath
유형: 문자형 벡터, string형
값: MAT 파일 경로 또는 이름
디폴트 값: 'untitled.mat'

이 파라미터는 훈련된 객체 검출기를 반환하는 MATLAB 함수의 이름을 지정합니다. 예를 들어, 훈련된 yolov2ObjectDetector 객체를 반환하는 함수 vehicleDetectorYOLOv2를 지정하거나 사용자 지정 함수를 지정하십시오.

종속 관계

이 파라미터를 활성화하려면 검출기 파라미터를 MATLAB 함수에서 가져온 검출기로 설정하십시오.

프로그래밍 방식 사용

블록 파라미터: DetectorFunction
유형: 문자형 벡터, string형
값: MATLAB 함수 이름
디폴트 값: 'untitled'

검색 관심 영역을 [x y width height] 형식의 벡터로 지정합니다. 벡터는 영역의 왼쪽 위 코너 및 크기(단위: 픽셀)를 지정합니다.

종속 관계

이 파라미터를 활성화하려면 관심 영역 지정 파라미터를 선택하십시오.

프로그래밍 방식 사용

블록 파라미터: ROI
유형: 문자형 벡터, string형
값: '[x y width height]'로 지정된 문자형 벡터
디폴트 값: '[1 1 100 100]'

검출 임계값을 [0, 1] 범위의 스칼라로 지정합니다. 이 임계값보다 낮은 점수를 갖는 검출은 제거됩니다. 거짓양성 결과를 줄이려면 이 값을 늘리십시오.

종속 관계

이 파라미터를 활성화하려면 검출 임계값 파라미터를 지원하는 검출기를 사용해야 합니다. 예를 들어, yolov2ObjectDetector 객체를 사용합니다.

프로그래밍 방식 사용

블록 파라미터: Threshold
유형: 문자형 벡터, string형
값: 스칼라
디폴트 값: '0.5'

가장 강한 영역 제안의 최대 개수를 정수로 지정합니다. 검출 정확도를 희생하여 처리 속도를 높이려면 이 값을 줄이십시오. 모든 영역 제안을 사용하려면 이 파라미터를 Inf로 지정하십시오.

종속 관계

이 파라미터를 활성화하려면 가장 강한 영역 개수 파라미터를 지원하는 검출기를 사용하십시오. 예를 들어, rcnnObjectDetector 객체를 사용합니다.

프로그래밍 방식 사용

블록 파라미터: NumStrongestRegions
유형: 문자형 벡터, string형
값: 정수
디폴트 값: '2000'

최대 영역 크기를 [height width] 형식의 벡터로 지정합니다. 단위는 픽셀입니다. 최대 영역 크기는 객체가 포함된 가장 큰 영역의 크기를 정의합니다. 예를 들어, [50 50]은 객체가 포함된 가장 큰 영역의 크기를 50×50 픽셀로 설정합니다. 계산 시간을 줄이려면 이 값을 입력 테스트 영상에서 검출할 수 있는 객체에 대해 알려진 최대 영역 크기로 설정하십시오.

종속 관계

이 파라미터를 활성화하려면 다음을 수행하십시오.

  • 최대 영역 크기 지정 파라미터를 선택합니다.

  • 최대 영역 크기 파라미터를 지원하는 검출기를 사용합니다. 예를 들어, yolov2ObjectDetector 객체를 사용합니다.

프로그래밍 방식 사용

블록 파라미터: MaxSize
유형: 문자형 벡터, string형
값: '[height width]'로 지정된 문자형 벡터
디폴트 값: '[50 50]'

최소 영역 크기를 [height width] 형식의 벡터로 지정합니다. 단위는 픽셀입니다. 최소 영역 크기는 객체가 포함된 가장 작은 영역의 크기를 정의합니다. 예를 들어, [1 1]은 객체가 포함된 가장 작은 영역의 크기를 1×1 픽셀로 설정합니다.

종속 관계

이 파라미터를 활성화하려면 다음을 수행하십시오.

  • 최소 영역 크기 지정 파라미터를 선택합니다.

  • 최소 영역 크기 파라미터를 지원하는 검출기를 사용합니다. 예를 들어, yolov2ObjectDetector 객체를 사용합니다.

프로그래밍 방식 사용

블록 파라미터: MinSize
유형: 문자형 벡터, string형
값: '[height width]'로 지정된 문자형 벡터
디폴트 값: '[1 1]'

최대 검출 개수를 양의 정수로 지정합니다. 이 값은 검출 개수에 대한 상한입니다.

프로그래밍 방식 사용

블록 파라미터: MaxDetections
유형: 문자형 벡터, string형
값: 정수
디폴트 값: '500'

확장 기능

버전 내역

R2021b에 개발됨