はじめに
MATLABのツールボックスの1つに、Deep Learning Toolboxがあります。これの秀逸な機能として、学習済みDNNのモデルを簡単に利用できます。
利用できるモデルは、2019bにて16個とかなり多いです。
https://jp.mathworks.com/solutions/deep-learning/models.html
そんなわけで、同じ画像を一挙に16個のモデルに投げて遊びます。
ところで
今回役立つのが、MATLAB Onlineです。
MATLAB Onlineについてはこちら
学習済みモデルの利用は、インストール版でももちろん可能ですがモデル毎にアドオンのインストールが必要で、だいたい1つ当たり5~10分程度かかります。(例:GoogLeNetのアドオン)
MATLAB Onlineはこのアドオン適用済みの状態なので、この手間すら省けます。今回紹介するサンプルであれば、アドオンを2つほどインストールしている間に実行が可能です。
実際にかかった時間はコード書くのに5分、結果出るまで10分というところです。
クラウドベースである都合上、結果出るのは少し遅いです。
コードと実行結果
clear all;
close all;
netname = {'alexnet','googlenet','vgg16','vgg19',
'mobilenetv2','nasnetlarge','nasnetmobile','shufflenet',
'xception','densenet201','squeezenet','resnet18',
'resnet50','resnet101','inceptionresnetv2','inceptionv3'};
img = imread('edamame.JPG');
for i = 1:4
for j = 1:4
txt = ['net =' netname{i,j} ';' ];
eval(txt);
reimg = imresize(img,net.Layers(1).InputSize(1:2));
result{i,j} = string(classify(net,reimg));
end
end
もしかして私の知らないうちに、枝豆をカルボナーラと呼ぶ法律でも出来た?
あとGranny Smithって誰だよと思いましたがリンゴの一種だそうです。
まとめ
・どうやら枝豆が存在しない世界線に飛ばされたらしい。
・DNN研究者の皆様、どうか枝豆を識別できようにして下さい。