Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

10 行の MATLAB コードによる深層学習の例

この例では、わずか 10 行の MATLAB® コードを使用して、深層学習でライブ Web カメラに映ったオブジェクトを特定する方法を説明します。この例を試して、MATLAB でどれほど簡単に深層学習を始めることができるか確認してください。

  1. 次のコマンドを実行して (ダウンロードが必要な場合あり)、Web カメラに接続し、事前学習済みのニューラル ネットワークを取得します。

    camera = webcam;  % Connect to the camera
    net = squeezenet; % Load the neural network

    webcam アドオンをインストールする必要がある場合は、関数からのメッセージに表示されるリンクから、アドオン エクスプローラーを使用して無料のアドオンをダウンロードできます。または、MATLAB Support Package for USB Webcams を参照してください。

    SqueezeNet は、100 万個を超えるイメージで学習している事前学習済みの畳み込みニューラル ネットワーク (CNN) で、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、マグ カップ、鉛筆、多くの動物など) に分類できます。

  2. 次のコードを実行し、ライブ イメージを表示して分類します。Web カメラをあるオブジェクトに向けると、Web カメラに表示されているオブジェクトのクラスがニューラル ネットワークによって判断されて報告されます。イメージの分類は、Ctrl+C キーを押すまで続行されます。このコードでは、imresize を使用して、このネットワーク用にイメージをリサイズしています。

    while true
        im = snapshot(camera);       % Take a picture
        image(im);                   % Show the picture
        im = imresize(im,[227 227]); % Resize the picture for squeezenet
        label = classify(net,im);    % Classify the picture
        title(char(label));          % Show the class label
        drawnow
    end

    この例では、ネットワークはマグ カップを正しく分類しています。身の回りのオブジェクトで実験して、このネットワークの精度を確認してください。

    Webcam image of a mug with the title displaying the predicted class ("coffee mug")

    この例のビデオを見るには、Deep Learning in 11 Lines of MATLAB Code を参照してください。

    この例を拡張してクラスの確率スコアを表示する方法については、深層学習を使用した Web カメラ イメージの分類を参照してください。

    深層学習の次のステップとして、この事前学習済みのネットワークを他のタスクに使用できます。転移学習または特徴抽出を使用して、自分のイメージ データで新しい分類問題を解決してみましょう。例については、転移学習を使用した短時間での深層学習の開始事前学習済みのネットワークから抽出された特徴を使用した分類器の学習を参照してください。他の事前学習済みのネットワークを試してみるには、事前学習済みの深層ニューラル ネットワークを参照してください。

参考

| |

関連するトピック