August 2018

VOLUME 33 NUMBER 8

人工知能 - Custom Vision Service の探索

によってFrank La La |2018 の年 8 月

Frank La VigneMicrosoft Azure で使用できるより魅力的な cognitive services の 1 つは、ユーザーがカスタム コンピューター ビジョン モデルを簡単に作成できるように、Custom Vision Service です。これまでは、イメージの分類器のトレーニングと、何千、もしくはを数万を実用的なのに十分な正確なモデルを生成するクラスごとのイメージが必要です。さらに、強力なニューラル ネットワークのしくみを把握する必要があります。Custom Vision Service は、複雑さを基になるこれをマスクする使いやすい Web UI を提供します。

さらに、Custom Vision Service 作成できますカスタム イメージをかなり正確な分類子クラスあたりわずか 15 または 20 個のイメージで、ドキュメントは、クラスごとに 50 個のイメージの最小値をお勧めします。一般に、トレーニングの詳細のイメージとイメージ分類器の品質が向上します。Custom Vision Service には、これらのモデルの開発を合理化する REST API を使用してトレーニング済みモデルも公開します。

Build 2018 カンファレンスでは、無人の航空写真車両または一連の欠陥および保守の問題を検出するために、パイプを飛ぶドローンを keynote デモのいずれかに関与します。デモでは、ドローンがラップトップ コンピューターにそのカメラからビデオをストリーミングします。ラップトップでは、パイプで欠陥のドローン演算子の警告を表示するトレーニング済みのカスタム ビジョン モデルに対するイメージが評価されます。この記事では、ような人工知能 (AI) を模倣したします-トレーニング トラックに関する問題を検出するためのメンテナンス モデルを拡張します。Custom Vision Service の詳細し、アプリまたは Web サイトにカスタム イメージの分類を追加するがいかに簡単かを示すためこれを行うに行います。

ソーシングのイメージでトレーニングするには

Custom Vision Service でのコンピューター ビジョン モデルを作成するには、次の 3 つの簡単な手順が含まれます。

  1. イメージのセットをアップロードし、ラベルを付けます。
  2. トレーニングし、トレーニングのボタンをクリックして、モデルを生成します。
  3. モデルのパフォーマンスを評価するのにには、Web インターフェイスまたは REST Api を使用します。

これは、実際に開始する簡単です。注意が必要、モデルをトレーニング用のイメージをソーシングを開始するとします。

最近の顧客のデモは収集を一連のトレーニング トラックのイメージ、インターネット経由で。これらのイメージには、通常のトレーニング トラックし、重大な欠陥が含まれています。わずか 30 のイメージは約 80% のトラックの欠陥を検出するためにカスタム ビジョン モデルを生成することが私のプレゼンテーションの一部としての精度。そのとして優れたかもしれませんが、任意の実稼働可能なイメージ分類モデルがトレーニングのイメージは、さまざまな角度、さまざまな照明条件でこれには追跡を必要となる顧客を指摘しました。この多様なデータの分類は、結果に大きな支障が出るとトレーニングのイメージの不適切な機能を分離するアルゴリズムの可能性を軽減します。

クラシックと可能性がありますのニューラル ネットワークのトレーニングに関する話を頭、警告があります。凡例では、何について説明します、1980 年代の研究者が直面したときに、米国陸軍は、タンクを検出するために、ニューラル ネットワークをトレーニングすることにしました。ストーリーに従って、ニューラル ネットワークは、実験の一部として、テスト データに対して非常にうまく実行されます。ただし、ニューラル ネットワーク分類する新しいイメージが与えられているときに、実行それほど。

研究者は、タンクが不足しているすべてのイメージが晴れた日に実行されたときに、タンクを格納しているすべてのイメージがささない曇りの日に作成されたことに気付きましたまで dumbfounded でした。ニューラル ネットワークは、写真の 2 つのクラスを区切られ、水槽の存在ではなく、空の色に基づく 2 つのセットを区別するために選択します。当然ながら、これは、何陸軍は不要です。タンク検出ストーリーの完全な探索、チェック アウトできますで上位に Neil Fraser の元を書き込みbit.ly/2llxudb、彼の記事のこの部分では、ここを引用符で囲む価値が。

「ニューラル ネットワーク背後にある最大の問題の完全な図です。数十以上のいくつかのニューロンを含む、自動的にトレーニング済みの差分は分析し、を理解するのには事実上不可能です。いずれかがわかりません、net の入力が記憶されているまたはその他の何らかの方法で 'ずる' が。"

2003 では、記事の最終更新日がこの見積もり true は現在でも有効です。複雑なニューラル ネットワークの内部動作を理解する作業が実行されているが、この作業は進行中であり、その発展途上のフェーズを超えることはほとんどありませんが。ベスト プラクティスは、トレーニング データのさまざまなセットを含むソース データを現在です。これは、適切な変数に基づいてイメージを区別する、アルゴリズムが役立ちます。

イメージの著作権の問題を避けるためには、この記事の子供の大手玩具トレーニング トラック コレクションを活用することに決めました。トレーニング セットと画像を簡単にテストを作成することもできます。34 のイメージを実行して破損、標準、およびテストをという名前の 3 つのフォルダーに分割します。"破損を示す"トレーニング トラックを使用したイメージは、破損したフォルダーであり、連続したトラックを使用したイメージは通常のフォルダー。ランダムと選択した一連のイメージで、モデルをテストするテスト フォルダーに配置します。選択され、ラベル付けは、ソース イメージは、モデルを作成する時間を勧めします。

 

モデルを作成する

ブラウザーでは、customvision.ai に移動し、自分の Microsoft アカウントでサインインするサインイン ボタンをクリックします。ログインすると、新しいカスタム ビジョン プロジェクトを作成する新しいプロジェクトをクリックします。

次のダイアログ ボックスで、プロジェクト名とプロジェクトの簡単な説明については、「トレーニングの玩具」を入力します。制限付きの試用版の既定の設定をリソース グループのドロップダウン リストのままにし、確認のラジオ ボタンの種類のプロジェクトとドメインがそれぞれの分類と一般に設定されています。次に、新しいカスタム ビジョン プロジェクトを作成する作成プロジェクト ボタンをクリックします。図 1設定を示しています。

新しいプロジェクト] ダイアログ ボックスの作成
図 1、新しいプロジェクト] ダイアログ ボックスの作成

画像のアップロード

プロジェクトが作成されると、Web サイトでは、イメージをアップロードするように求められます。[画像の追加] をクリックし、次のダイアログ ボックスで [参照のローカル ファイルをアップロードするイメージを検索する] をクリックします。すべて選択して、破損したフォルダー内のイメージをアップロードは最初に、[参照] ダイアログを開く] をクリックします。テキスト ボックス、イメージの下は消失という語句を入力し、切断されたラベルの付いた画像にタグ付けに青色の正符号をクリックします。15 の画像をアップロードする [アップロード] ボタンをクリックします。この手順を示した図 2します。次に、この手順を完了する元に戻すクリックします。

イメージのタグが付けられた壊れたトラック
図 2 切断されたトラックのイメージをタグ付け

壊れたトレーニング トラックのイメージをアップロードすると、これで、通常のフォルダー内のイメージをアップロードする時間を勧めします。これを行うには、ウィンドウの左上にプラス記号のアイコンをクリックします。このボタンが強調表示されている図 3します。入力の画像をアップロードする前の手順を繰り返しますただし今回は、選択、イメージ、通常のフォルダーとタグで標準のラベルの付いたイメージ。イメージとし、クリックして、ダイアログ ボックスを閉じますを転送するアップロード ボタンをクリックします。

トレーニング データへの他のイメージの追加
図 3 のトレーニング データへの他のイメージの追加

すべてのサンプル イメージとアップロードされ、タグ付け、トレーニングしてモデルをテストする時間を勧めします。

モデルのトレーニング

ページの上部で、上のギアの緑のボタンがあります。これで、現在のラベル付けした画像のモデルをトレーニングするをクリックします。トレーニングが完了し、Web ページを返しますに示されていると、モデルのパフォーマンス メトリックを使用する前に少し時間を受け取り、図 4します。

トレーニングの結果とパフォーマンス メトリック
図 4 トレーニングの結果とパフォーマンス メトリック

表示される 2 つの主なメトリックは、モデルの精度と再現率は。有効桁数は、再現率は、予測されたタグが正しかった頻度の割合を測定中に予測結果が正しいことにはどのくらいの頻度を示します。つまり、再現率ことを示しますの正しい答えが「切断、」モデルが「切断します」を予測するどのくらいの頻度。 混同行列の用語の詳細についてに「簡単なガイドを混同行列用語」を読み取るbit.ly/2IbRoAiします。

モデルのテスト

ここには、用に新しいイメージを提供する際に、モデルがどの程度実行を確認するテスト、イメージにモデルをテストします。トレーニングの緑のボタンのすぐ右側には、簡単なテストというラベルの付いたボタンです。このテスト ダイアログ ボックスを表示し、ファイル アップロードのダイアログ ボックスを表示する [参照のローカル ファイル] ボタンをクリックして、クリックします。このダイアログ ボックスを使用して Test フォルダーにイメージを選択し、開くファイルをアップロードして、クリックします。しばらくすると、アルゴリズムには、イメージを評価した後の結果が表示されます。図 5このイメージが、通常の追跡と分断されることの確率が 60.2% 79.2% の確率を示しています。このプロジェクトの標準ではトラック途切れて、または連続したに注意してください。

トラックの連続した一連の簡単なテスト] ダイアログ
トラックの連続した一連の簡単なテスト] ダイアログを図 5

テストを再実行、切断されたトラックの別のイメージでローカル ファイルの参照] ボタンをもう一度クリックしています。この時間はトラックの破損した一連のイメージを選択します。モデルでは、破損したトラックと normal トラックの 11.2% の確率のみ、これが、95.9% の確率があることを報告します。モデルが、適切に動作し、トラックの正しい状態を特定できないがアイデアを取得するテスト フォルダーでファイルの残りの部分をモデルをテストします。

さらに実験は、イメージの URL をコピーして、テスト UI のテキスト ボックスに貼り付けることは、インターネット上の画像検索を実行します。これらのイメージは、さまざまな角度から、イメージのトレーニング セットとは異なり、照明条件で別の場所でトレーニング トラックを示しています。これは、どのニューラル ネットワークの作業の 1 側面とサンプル データの多様なセットが実稼働可能なモデルの成功に重要な理由で提供されます。オンラインであるは一部の例のイメージを次の 3 つの Url ポイント (モデルが各イメージを分類する方法に注意してください)。

さらに、そのスコープの外部でイメージが指定されると、分類器の動作を知っておくと便利です。たとえば、おもちゃトレーニング トラックの状態を特定するには、neon 記号のイメージを指定された場合の動作に設計されています。 この分類器をどのようにですか。負のイメージの処理と呼ばれ、効果的なモデルは、これらのインスタンスでゼロに近い値を予測するはずです。この出力をテストするテキスト ボックスに次の URL を入力しました: http://datadriven.tv/wp-content/uploads/2018/05/50k.png します。予測モデルでは、通常 1.7% と切断の 0% の結果を生成します。

その他の利点

この例の目的は、2 クラスの画像分類システムでは、場所、モデルのみしなければとして分類玩具トレーニング トラックまたは標準のラベルのイメージを作成しました。ただしより複雑なモデルを作成できます。現時点では、Custom Vision Service S0 (標準) レベルでは、つまり 250 の別のラベルの分類をトレーニングできます最大 250 個の一意なタグをサポートできます。さらに、サービスは、プロジェクトあたり最大 50,000 個のイメージを処理できます。

さらに、Custom Vision Service によって生成されたモデルでは、エッジ コンピューティング デバイスで使用するためにエクスポートすることができ、クラウド サービスへのアクセスに依存しません。つまり、デバイス上にモデルを読み込み、オフラインのシナリオでのイメージの分類はことできます。現時点では、Custom Vision Service は、3 つの形式でモデルのエクスポートをサポートします。TensorFlow、Android デバイスの iOS デバイスおよび ONNX の Windows デバイスの CoreML。さらに、Custom Vision Service は、TensorFlow モデルと REST API を呼び出すコードが組み込まれている Windows または Linux コンテナーを作成できます。ドキュメントを参照することを確認して、エッジ デバイス上で実行するモデルのエクスポートの詳細についてのbit.ly/2K4ibjLします。

この記事では、Custom Vision Service の概要し、トレーニング データの限定セットを持つコンピューター ビジョン モデルを構築するがいかに簡単かを説明しました。このテクノロジの潜在的な用途の 1 つは、トラフィックのカメラから画像データにアクセスし、さまざまなレベルのデータのみに基づく輻輳を検出するためにモデルをトレーニングすることです。以前は、このようなタスクを自動化することになります、困難な専門知識とラベル付けされたトレーニング データの膨大な量の両方が必要です。ただし、Custom Vision Service より広範囲に使用するコンピューター ビジョン表示されたツールを作成する使いやすいインターフェイスを使用する最先端のニューラル ネットワーク テクノロジを結合します。


Frank La Vigneデータ分析と AI を最大限に活用して Microsoft の企業を支援しています AI テクノロジ ソリューション プロフェッショナルで動作が向上します。また、データ ドリブンの共同ホストもポッド キャストします。FranksWorld.com (英語) に定期的にブログ記事を投稿し、Frank’s World TV (youtube.com/FranksWorldTV (英語)) という YouTube チャンネルを主催しています。

この記事のレビューに協力してくれた技術スタッフの Andy Leonard、Jonathan Wood


この記事について MSDN マガジン フォーラムで議論する