사전 훈련된 신경망을 사용하여 모바일 기기의 카메라에서 수집한 이미지 분류하기
모바일 기기 설정하기
이 예제에서는 딥러닝을 사용하여, 모바일 기기의 카메라에서 수집한 이미지를 분류하는 방법을 보여줍니다.
모바일 기기에 MATLAB® Mobile™을 설치하고 설정합니다. 그런 다음 MATLAB Mobile 설정에서 MathWorks® Cloud에 로그인합니다. 자세한 내용은 기기에 MATLAB Mobile 설치하기 및 클라우드에 로그인하기 항목을 참조하십시오.
기기에서 MATLAB Mobile을 시작합니다.
모바일 기기의 카메라에 대한 연결 만들기
명령 화면에서 mobiledev 객체 m을 만듭니다.
m = mobiledev
m =
mobiledev with properties:
Connected: 1
AvailableCameras: {'back' 'front'}
Logging: 0
InitialTimestamp: ''
AccelerationSensorEnabled: 0
AngularVelocitySensorEnabled: 0
MagneticSensorEnabled: 0
OrientationSensorEnabled: 0
PositionSensorEnabled: 0
Supported functions
AvailableCameras 속성은 이 기기에 'back' 카메라와 'front' 카메라가 있음을 나타냅니다. 'back' 카메라에 대한 연결을 만듭니다.
cam = camera(m,'back')cam =
Camera with properties:
Name: 'back'
AvailableResolutions: {'640x480' '1280x720'}
ZoomRange: [1 121.8750]
Resolution: '640x480'
Zoom: 1
Flash: 'off'
Autofocus: 'on'
카메라 속성은 이미지 해상도, 자동 초점, 플래시 설정에 대한 정보를 제공합니다.
사전 훈련된 신경망을 불러오고 이미지 수집하기
명령 화면에서 Deep Learning Toolbox™를 사용하여 사전 훈련된 GoogLeNet 신경망을 불러옵니다.
nnet = googlenet;
snapshot 함수를 사용하여 카메라에서 수동 셔터 모드로 이미지를 하나 수집합니다. 카메라 미리보기가 열리면 모바일 기기를 움직여 원하는 구도를 잡을 수 있습니다. 이 예제에서는 분류하려는 사물의 이미지를 캡처합니다. 준비가 되면 셔터 버튼을 눌러 이미지를 수집합니다.
img = snapshot(cam,'manual');
신경망의 입력 크기와 일치하도록 이미지의 크기를 조정합니다. GoogLeNet의 입력 크기는 224x224입니다. MATLAB Mobile에서 image를 사용하여 이미지를 미리 봅니다.
img = imresize(img,[224,224]); image(img)
수집한 이미지 분류 및 표시하기
Deep Learning Toolbox의 classify를 사용하여, 수집한 이미지에 있는 사물을 분류합니다.
label = classify(nnet,img)
label =
categorical
coffee mug 사물은 커피잔으로 분류됩니다. 레이블을 Figure 제목으로 사용하여 이미지를 미리 봅니다.
image(img) title(char(label));

이미지를 분류하는 함수 작성하기
MATLAB Mobile에서 이미지를 분류하는 앞의 모든 단계를 수행하는 함수를 작성할 수 있습니다.
파일 화면에서 MATLAB Drive™ 폴더에 새 스크립트를 만듭니다. 파일의 이름을 camnet.m으로 지정합니다. camnet 함수를 다음과 같이 정의하고 파일을 저장합니다.
function value = camnet(cam,nnet) img = snapshot(cam,'manual'); pic = imresize(img,[224,224]); value = classify(nnet,pic); image(pic) title(char(value)) end
명령 화면에서 mobiledev 객체를 만듭니다. 그런 다음 camera 객체를 만듭니다.
m = mobiledev;
cam = camera(m,'front');nnet = googlenet;
camnet 함수를 호출합니다.
label = camnet(cam,nnet)
모바일 기기에서 카메라 미리보기가 열립니다. 분류하려는 사물을 향하도록 모바일 기기 카메라를 움직입니다. 셔터 버튼을 눌러 이미지를 캡처합니다. 이미지를 캡처한 후에는 Figure를 볼 수 있습니다. Figure 제목에 사물의 예측된 레이블이 표시됩니다.
