Deep Learning Object Detector
라이브러리:
Computer Vision Toolbox /
Analysis & Enhancement
설명
Deep Learning Object Detector 블록은 블록 파라미터를 통해 지정된 훈련된 객체 검출기를 사용하여 입력 영상에 대한 경계 상자, 클래스 레이블 및 점수를 예측합니다. 이 블록을 사용하면 MAT 파일 또는 MATLAB® 함수에서 사전 훈련된 객체 검출기를 Simulink® 모델로 불러올 수 있습니다. 이 블록은 Simulink에서 detector 객체를 사용하기 위한 그래픽 인터페이스를 제공합니다. Deep Learning Object Detector 블록의 일부 파라미터를 활성화하려면 해당 파라미터를 지원하는 객체 검출기를 선택해야 합니다. 예를 들어, 이 블록에 yolov2ObjectDetector
객체를 사용하면 연결된 detect
객체 함수의 이름-값 인수와 비슷한 파라미터를 선택할 수 있습니다.
예제
Lane and Vehicle Detection in Simulink Using Deep Learning
Use deep convolutional neural networks inside a Simulink® model to perform lane and vehicle detection. This example takes the frames from a traffic video as an input, outputs two lane boundaries that correspond to the left and right lanes of the ego vehicle, and detects vehicles in the frame.
(Deep Learning Toolbox)
포트
입력
Image — 영상 데이터
배열
H×W×C 숫자형 배열로, 여기서 H, W, C는 각각 영상의 높이, 너비, 채널 개수입니다. 시간 스텝당 하나의 영상만 입력으로 허용됩니다.
출력
Bboxes — 검출된 객체의 위치
행렬
입력 영상 내에서 검출된 객체의 위치로, M×4 행렬 또는 M×5 행렬로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다. 최대 검출 개수 파라미터를 지정하여 상한을 크기 M으로 설정할 수 있습니다.
다음 표에서는 경계 상자의 형식을 설명합니다.
경계 상자 | Description |
---|---|
축 정렬된 사각형 | 공간 좌표에서 M×4 숫자형 행렬로 정의되며, 행의 형식은 [x y w h]입니다. 여기서
|
회전된 사각형 | 공간 좌표에서 M×5 숫자형 행렬로 정의되며, 행의 형식은 [xctr yctr w h yaw]입니다. 여기서
|
자세한 내용은 Datastores for Deep Learning (Deep Learning Toolbox) 항목을 참조하십시오.
Labels — 경계 상자의 레이블
벡터
경계 상자의 레이블로, M×1 열거형 벡터로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다.
Scores — 검출 점수
벡터
각 레이블의 검출 신뢰 점수로, M×1 벡터로 반환됩니다. M은 영상에서 검출된 경계 상자의 개수입니다. 점수가 높을수록 검출의 신뢰도가 더 높음을 의미합니다.
파라미터
검출기 — 훈련된 detector 객체의 출처
MAT 파일에서 가져온 검출기
(디폴트 값) | MATLAB 함수에서 가져온 검출기
아래 옵션에서 detector 객체의 출처를 선택합니다.
MAT 파일에서 가져온 검출기
— MAT 파일에서 detector 객체를 가져옵니다. 예를 들어,yolov2ObjectDetector
객체가 포함된 MAT 파일을 선택합니다.MATLAB 함수에서 가져온 검출기
— MATLAB 함수에서 detector 객체를 가져옵니다. 예를 들어, 훈련된yolov2ObjectDetector
객체를 반환하는 함수vehicleDetectorYOLOv2
를 지정합니다.
가져온 검출기는 다음 지원되는 객체 중 하나여야 합니다.
rcnnObjectDetector
fastRCNNObjectDetector
fasterRCNNObjectDetector
rtmdetObjectDetector
ssdObjectDetector
yolov2ObjectDetector
yolov3ObjectDetector
yolov4ObjectDetector
yoloxObjectDetector
프로그래밍 방식 사용
블록 파라미터: Detector |
유형: 문자형 벡터, string형 |
값: Detector from MAT file' | 'Detector from MATLAB function' |
디폴트 값: Detector from MAT file' |
파일 경로 — detector 객체가 포함된 MAT 파일
untitled.mat
(디폴트 값) | MAT 파일 이름
이 파라미터는 불러올 detector 객체가 포함된 MAT 파일의 이름을 지정합니다. 파일이 MATLAB 경로에 있지 않으면 찾아보기 버튼을 사용하여 파일을 찾습니다.
종속 관계
이 파라미터를 활성화하려면 검출기 파라미터를 MAT 파일에서 가져온 검출기
로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: DetectorFilePath |
유형: 문자형 벡터, string형 |
값: MAT 파일 경로 또는 이름 |
디폴트 값: 'untitled.mat'
|
MATLAB 함수 — MATLAB 함수 이름
untitled
(디폴트 값) | MATLAB 함수 이름
이 파라미터는 훈련된 객체 검출기를 반환하는 MATLAB 함수의 이름을 지정합니다. 예를 들어, 훈련된 yolov2ObjectDetector
객체를 반환하는 함수 vehicleDetectorYOLOv2
를 지정하거나 사용자 지정 함수를 지정하십시오.
종속 관계
이 파라미터를 활성화하려면 검출기 파라미터를 MATLAB 함수에서 가져온 검출기
로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: DetectorFunction |
유형: 문자형 벡터, string형 |
값: MATLAB 함수 이름 |
디폴트 값: 'untitled' |
관심 영역 — 검색 관심 영역
[x y width height] 형식의 벡터
검색 관심 영역을 [x y width height] 형식의 벡터로 지정합니다. 벡터는 영역의 왼쪽 위 코너 및 크기(단위: 픽셀)를 지정합니다.
종속 관계
이 파라미터를 활성화하려면 관심 영역 지정 파라미터를 선택하십시오.
프로그래밍 방식 사용
블록 파라미터: ROI |
유형: 문자형 벡터, string형 |
값: '[x y width height]' 로 지정된 문자형 벡터 |
디폴트 값: '[1 1 100 100]' |
검출 임계값 — 검출 임계값
[0, 1] 범위의 스칼라
검출 임계값을 [0, 1] 범위의 스칼라로 지정합니다. 이 임계값보다 낮은 점수를 갖는 검출은 제거됩니다. 거짓양성 결과를 줄이려면 이 값을 늘리십시오.
종속 관계
이 파라미터를 활성화하려면 검출 임계값 파라미터를 지원하는 검출기를 사용해야 합니다. 예를 들어, yolov2ObjectDetector
객체를 사용합니다.
프로그래밍 방식 사용
블록 파라미터: Threshold |
유형: 문자형 벡터, string형 |
값: 스칼라 |
디폴트 값: '0.5' |
가장 강한 영역 개수 — 가장 강한 영역 제안의 최대 개수
2000
(디폴트 값) | 양의 정수
가장 강한 영역 제안의 최대 개수를 정수로 지정합니다. 검출 정확도를 희생하여 처리 속도를 높이려면 이 값을 줄이십시오. 모든 영역 제안을 사용하려면 이 파라미터를 Inf
로 지정하십시오.
종속 관계
이 파라미터를 활성화하려면 가장 강한 영역 개수 파라미터를 지원하는 검출기를 사용하십시오. 예를 들어, rcnnObjectDetector
객체를 사용합니다.
프로그래밍 방식 사용
블록 파라미터: NumStrongestRegions |
유형: 문자형 벡터, string형 |
값: 정수 |
디폴트 값: '2000' |
최대 영역 크기 — 최대 영역 크기
[height width] 형식의 벡터
최대 영역 크기를 [height width] 형식의 벡터로 지정합니다. 단위는 픽셀입니다. 최대 영역 크기는 객체가 포함된 가장 큰 영역의 크기를 정의합니다. 예를 들어, [50
50
]은 객체가 포함된 가장 큰 영역의 크기를 50
×50
픽셀로 설정합니다. 계산 시간을 줄이려면 이 값을 입력 테스트 영상에서 검출할 수 있는 객체에 대해 알려진 최대 영역 크기로 설정하십시오.
종속 관계
이 파라미터를 활성화하려면 다음을 수행하십시오.
최대 영역 크기 지정 파라미터를 선택합니다.
최대 영역 크기 파라미터를 지원하는 검출기를 사용합니다. 예를 들어,
yolov2ObjectDetector
객체를 사용합니다.
프로그래밍 방식 사용
블록 파라미터: MaxSize |
유형: 문자형 벡터, string형 |
값: '[height width]' 로 지정된 문자형 벡터 |
디폴트 값: '[50 50]' |
최소 영역 크기 — 최소 영역 크기
[height width] 형식의 벡터
최소 영역 크기를 [height width] 형식의 벡터로 지정합니다. 단위는 픽셀입니다. 최소 영역 크기는 객체가 포함된 가장 작은 영역의 크기를 정의합니다. 예를 들어, [1
1
]은 객체가 포함된 가장 작은 영역의 크기를 1
×1
픽셀로 설정합니다.
종속 관계
이 파라미터를 활성화하려면 다음을 수행하십시오.
최소 영역 크기 지정 파라미터를 선택합니다.
최소 영역 크기 파라미터를 지원하는 검출기를 사용합니다. 예를 들어,
yolov2ObjectDetector
객체를 사용합니다.
프로그래밍 방식 사용
블록 파라미터: MinSize |
유형: 문자형 벡터, string형 |
값: '[height width]' 로 지정된 문자형 벡터 |
디폴트 값: '[1 1]' |
최대 검출 개수 — 최대 검출 개수
500
(디폴트 값) | 양의 정수
최대 검출 개수를 양의 정수로 지정합니다. 이 값은 검출 개수에 대한 상한입니다.
프로그래밍 방식 사용
블록 파라미터: MaxDetections |
유형: 문자형 벡터, string형 |
값: 정수 |
디폴트 값: '500' |
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
구성 파라미터 > 코드 생성 일반 범주의 언어 파라미터는
C++
로 설정해야 합니다.코드 생성을 지원하는 신경망과 계층 목록은 Networks and Layers Supported for Code Generation (MATLAB Coder) 항목을 참조하십시오.
YOLOv3, YOLOv4 또는 RTMDet를 객체 검출기로 사용하여 MKL-DNN(Math Kernel Library for Deep Neural Networks) 타깃 라이브러리의 코드를 생성하려면
MaxStackSize
및TLCOptions
모델 파라미터를 더 높은 값으로 설정하십시오. 예를 들어, 다음 구문을 사용하여MaxStackSize
및TLCOptions
파라미터 값을 'inf
'로 설정할 수 있습니다.>> set_param(modelName,'MaxStackSize','inf') >> set_param(modelName,'TLCOptions','-aMaxStackVariableSize=inf')
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
구성 파라미터 > 코드 생성 일반 범주의 언어 파라미터는
C++
로 설정해야 합니다.CUDA® 코드 생성을 지원하는 신경망과 계층 목록은 지원되는 신경망, 계층 및 클래스 (GPU Coder) 항목을 참조하십시오.
버전 내역
R2021b에 개발됨R2024b: RTMDet 객체 검출기 지원
R2024b부터 Deep Learning Object Detector
블록은 RTMDet(Real-Time Model for object Detection)를 지원합니다. 사전 훈련된 RTMDet 객체 검출기 객체인 rtmdetObjectDetector
를 가져와서 객체 검출을 수행할 수 있습니다.
R2024b: YOLOX 객체 검출기 지원
R2024b부터 Deep Learning Object Detector
블록은 YOLOX(You Only Look Once X) 객체 검출을 지원합니다. 사전 훈련된 YOLOX 객체 검출기 객체인 yoloxObjectDetector
를 가져와서 객체 검출을 수행할 수 있습니다.
참고 항목
객체
rcnnObjectDetector
|fastRCNNObjectDetector
|fasterRCNNObjectDetector
|ssdObjectDetector
|yolov2ObjectDetector
|yolov3ObjectDetector
|yolov4ObjectDetector
|yoloxObjectDetector
블록
- Image Classifier (Deep Learning Toolbox) | Predict (Deep Learning Toolbox)
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)