最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英语でご覧になれます。

GoogLeNetを使用したイメージの分类

この例では,事前学习済みの深层畳み込みニューラルネットワークGoogLeNetを使用してイメージを分类する方法を说明します。

GoogLeNetは,100万枚を超えるイメージで学习しており,イメージを1000个のオブジェクトカテゴリ(キーボード,マグカップ,铅笔,多くの动物など)に分类できます。このネットワークは広范囲にわたるイメージについての豊富な特徴表现を学习しています。このネットワークは入力としてイメージを取り,イメージ内のオブジェクトのラベルを各オブジェクトカテゴリの确率と共に出力します。

事前学习済みのネットワークの読み込み

事前学习済みのGoogLeNetネットワークを読み込みます。この手顺には,深度学习工具箱™模式对于GoogLeNet网络サポートパッケージが必要です。必要なサポートパッケージがインストールされていない场合,ダウンロード用リンクが表示されます。

イメージ分类用の异なる事前学习済みネットワークのを読み込むこともできます。别の事前学习済みネットワークを试すには,この例をMATLAB®で开き,别のネットワークを选択します。たとえば,googlenetよりも高速なネットワークであるsqueezenetを试すことができます。この例は,他の事前学习済みネットワークを使用して実行することもできます。使用可能なすべてのネットワークについては,事前学习済みのネットワークの読み込みを参照してください。

网=googlenet;

分类するイメージのサイズは,ネットワークの入力サイズと同じでなければなりません.GoogLeNetでは,ネットワークの图层プロパティの最初の要素はイメージ入力层です。ネットワーク入力サイズはイメージ入力层のInputSizeプロパティです。

inputSize = net.Layers(1).InputSize
inputSize =1×3224 224 3

图层プロパティの最后の要素は分类出力层です。この层の类名プロパティには,ネットワークによって学习されたクラスの名前が含まれています。合计1000个のクラス名のうち10个をランダムに表示します。

类名= net.Layers(结束).ClassNames;numClasses = numel(类名);DISP(类名(randperm(numClasses,10)))
'巴比'蛋酒“菠萝蜜”“城堡”“睡袋”“redshank'创可贴'铁锅'安全带“橙”

イメージの読み取りとサイズ変更

分类するイメージを読み取って表示します。

I = imread('peppers.png');图imshow(I)

イメージのサイズを表示します。このイメージは384×512ピクセルで3つのカラーチャネル(RGB)があります。

大小(I)
ANS =1×3384 512 3

imresizeを使用して,イメージのサイズをネットワークの入力サイズに変更します。このサイズ変更では,イメージの縦横比が多少変化します。

I = imresize(I,inputSize(1:2));图imshow(I)

用途によっては,异なる方法でイメージのサイズを変更する必要がある场合もあります。たとえば,I(1:inputSize(1),1:inputSize(2),:)を使用して,イメージの左上隅をトリミングできます处理图像配工具箱™がある场合は,关数imcropを使用できます。

イメージの分类

分类を使用してイメージを分类し,クラス确率を计算します。このネットワークはイメージをピーマンとして正しく分类します。分类用のネットワークは,イメージに复数のオブジェクトが含まれていても各入力イメージに対して1つのラベルを出力するように学习されています。

[标号,分数] =分类(净,I);标签
标签=明确的灯笼椒

イメージを,予测ラベルとイメージがそのラベルを持つ予测确率と共に表示します。

图imshow(I)的标题(字符串(标签)+“”+ num2str(100个*得分(类名==标签),3)+“%”);

上位の予测の表示

上位5つの予测ラベルとそれらに対応する确率をヒストグラムとして表示します。ネットワークはイメージを非常に多くのオブジェクトカテゴリに分类しますが,多くのカテゴリは似ているため,ネットワークを评価するときは,通常,上位5つの精度を考虑します。このネットワークは高い确率でこのイメージをピーマンとして分类します。

[〜,IDX] =排序(分数,“降序”);IDX = IDX(5:-1:1);classNamesTop = net.Layers(端).ClassNames(IDX);scoresTop =分数(IDX);图BARH(scoresTop)XLIM([0 1])标题(“五大预测”)xlabel('可能性')yticklabels(classNamesTop)

参照

[1] Szegedy,基督教,刘伟,杨清嘉,皮埃尔Sermanet,斯科特·里德,德拉戈米尔Anguelov先生,杜米特鲁埃尔汗,文森特Vanhoucke和安德鲁·拉比诺维奇。“要和回旋更深。”在在IEEE会议计算机视觉和模式识别程序,第1-9。2015年。

参考

||||

关连するトピック