PaddlePaddle をベースに構築された産業グレードの ICNET アプリケーションの予測速度は、TensorFlow を 20% 上回ります。

PaddlePaddle をベースに構築された産業グレードの ICNET アプリケーションの予測速度は、TensorFlow を 20% 上回ります。

導入

ICNET について話すとき、リアルタイム アプリケーションにおける画像セマンティック セグメンテーションの課題を解決するという、ICNET を構築した当初の目的について話す必要があります。画像セマンティックセグメンテーションは、画像分類とオブジェクト検出を組み合わせて、画像内の各ピクセルのきめ細かな分類を実現します。下の図に示すように、閉じた形状の領域にカテゴリのラベルを付けることができます。ディープラーニング技術の爆発的な発展により、画像セマンティックセグメンテーションも急速な発展段階に入りました。

図1 画像セマンティックセグメンテーションの例

技術ステータス

完全畳み込みネットワーク (FCN)

J. Long ら (2015) は、完全畳み込みネットワーク (FCN) を画像セグメンテーションのエンドツーエンドのトレーニングに初めて適用しました。 FCN は、VGG6 などのネットワークを変更して、すべての完全接続層を畳み込み層に置き換えながら、固定サイズの入力と同じサイズのセグメント化された画像を生成します。ネットワークは、サイズが小さく、表現が密な複数の特徴マップを生成するため、同じサイズの特徴を作成するにはアップサンプリングが必要です。基本的に、ストライドが少なくとも 1 の畳み込み層で構成されます。入力よりも大きいサイズの出力を作成するため、デコンボリューションと呼ばれることがよくあります。このようにして、ピクセル ポイントの損失関数に基づいてネットワーク全体がトレーニングされます。さらに、J. Long は、ネットワークにスキップ接続を追加して、高レベルの特徴マップ表現と、ネットワークの最上位レベルのより具体的で密度の高い特徴表現を組み合わせました。 FCN は、CNN の完全接続層を畳み込み層に置き換えたもので、これが FCN の名前の由来でもあります。

図2 FCNネットワーク構造

パースネット

W. Liu ら (2015) は、J. Long の FCN モデルに 2 段階の改良を加えました。最初のステップでは、モデルを使用して特徴マップを生成し、プーリング層を持つ単一のグローバル特徴ベクトルに縮小しました。このコンテキスト ベクトルは、L2 ユークリッド ノルムを使用して正規化され、取り出されて (出力は入力の拡張バージョンになります)、初期の特徴マップと同じサイズの新しい特徴マップが生成されます。 2 番目のステップでは、初期特徴マップ全体が L2 ユークリッド ノルムを使用して正規化されます。 *** 1 つのステップでは、前の 2 つのステップで生成された特徴マップを接続します。正規化により、接続された特徴マップの値がスケーリングされ、パフォーマンスが向上します。

図3 ParseNetネットワーク構造

ピラミッドシーン解析ネットワーク (PSPNet)

H. Zhao ら (2016) は、シーンの全体的なコンテンツ表現をより適切に学習するために、Pyramid Scene Parsing Network (PSPNet) を開発しました。 PSPNET は、拡張ネットワーク戦略を備えた特徴抽出器を使用して、入力画像からパターンを抽出します。異なるスケールのパターンを区別するために、ピラミッド プーリング モジュールに機能が提供されます。これらは、それぞれピラミッド レベルに対応する 4 つの異なるスケールと結合され、1x1 畳み込み層によって処理されてサイズが縮小されます。このように、各ピラミッド レベルは、異なる位置にある画像のサブ領域を分析します。ピラミッド レベルの出力はアップサンプリングされ、初期の特徴マップに連結されて、最終的にローカルおよびグローバルのコンテキスト情報が含まれるようになります。次に、畳み込み層によって処理され、ピクセル単位の予測が生成されます。

図4 PSPNetネットワーク構造

ICNET

H. Zhao ら (2018) は、高解像度画像のリアルタイムセマンティックセグメンテーション用に PSPNet に基づく画像カスケードネットワーク (ICNET) を提案しました。これは、実際のアプリケーションで大量の計算を必要とするピクセルベースのラベル推論の問題を解決します。 ICNET は単一の GPU カードでリアルタイム推論を実現でき、Cityscapes や CamVid などのデータ検証で比較的良好な結果を達成しています。

現在、ディープラーニングに基づくさまざまなネットワークアーキテクチャにより、画像セマンティックセグメンテーションのパフォーマンスが向上し続けていますが、業界での実用化にはまだ遠い道のりです。たとえば、Cityscapesデータセットで優れた結果を達成したResNetとPSPNetは、1024×1024の画像の推論に少なくとも1秒必要であり、自動運転、オンラインビデオ処理、さらにはモバイルコンピューティングのリアルタイム要件を満たすにはほど遠いものです。このような状況において、ICNETは予測効果をあまり低下させることなく、リアルタイム処理の要件を満たすためにミリ秒レベルの応答を実現しています。 Cityscapes データセットでは、ICNET は 33 ミリ秒の応答時間、30.3 fps の処理能力、および 70.6% mIoU スコアの精度を達成できます。

図5 Cityscapesデータセットの結果

ICNET の主な貢献は、リアルタイム セマンティック セグメンテーション用の新しい独自の画像カスケード ネットワークの開発です。このネットワークは、低解像度のセマンティック情報と高解像度画像の詳細情報を効率的に活用します。カスケード機能融合モジュールとカスケード ラベル ガイダンス モジュールにより、より低い計算コストでセマンティック推論を完了でき、推論の 5 倍の高速化とメモリの 5 倍の削減を実現します。

ICNET は、カスケード画像入力 (低、中、高解像度) を必要とし、カスケード特徴融合ユニット (CFF) を採用し、カスケードラベルガイダンスに基づいてトレーニングされます。フル解像度の入力画像は 1/2 と 1/4 の比率でダウンサンプリングされ、中解像度と高解像度への特徴入力のブランチが形成され、精度が段階的に向上します。

図6 ICNETアーキテクチャ

低解像度の入力を使用して意味抽出を行います。上の図の上のブランチに示すように、1/4 サイズの画像をダウンサンプリング レート 8 で PSPNet に入力し、解像度 1/32 の特徴を取得します。高品質のセグメンテーションを得るために、中解像度と高解像度のブランチは大まかな推論を回復して再処理するのに役立ちます。CFF の役割は、中解像度と高解像度の画像の特徴を導入し、それによって精度を徐々に向上させることです。CFF の構造を以下に示します。

図7 CFF構造

このようにして、低解像度の画像だけがネットワーク構造の最も深い部分を通過し、他の 2 つのブランチが通過するレイヤーの数は徐々に減少し、ネットワークの速度が向上します。

ネットワークの複雑さを軽減するために、ICNET はネットワークの各層でカーネルをプルーニングする方法を採用し、モデル圧縮を実現します。各フィルターについて、まずカーネルの L1 ノルムの合計を計算し、次に降順で並べ替えて、上位ランクのカーネルのサブセットのみを保持します。

ICNETの実装と応用

ICNET の登場以来、PaddlePaddle、tensorflow、pytorch など、さまざまなディープラーニング アーキテクチャが対応するモデル実装を急速に開始しました。以下では、主に精密部品のインテリジェントな選別のシナリオに基づいて、TensorFlow での PaddlePaddle と ICNET ネットワークのアプリケーション パフォーマンスを比較します。

PaddlePaddleの紹介

PaddlePaddle (PArallel Distributed Deep LEarning) は、もともと 2013 年に Baidu の Deep Learning Lab によって作成され、Baidu の社内 R&D エンジニアによって使用されてきました。 2016 年の Baidu World Conference で一般公開された、中国初のオープンソース機械学習プラットフォームです。当初から、GPU クラスターの性能を最大限に活用して分散環境での並列コンピューティングを高速化することに重点を置いており、AI のトレーニングや大規模データの適用において TensorFlow よりもはるかに高速です。同時に、国内ユーザーに特に優しく、中国語のドキュメントも完全にサポートされています。開発効率と使いやすさの面で明らかな利点があります。TensorFlow では数行のコードで実装する必要がある機能を 1 行または 2 行のコードで実装できるため、開発者はディープラーニング モデルの高レベル部分の構築に集中できます。

PaddlePaddleにおけるICNETの産業応用

これまで、PaddlePaddle はインターネット業界における CTR 予測、検索ランキング、大規模画像分類など、数億人のユーザーを抱える製品やサービスに導入され、利用されてきました。現在、伝統産業は大きな変化を遂げています。AI技術は、伝統産業の自動化と知能化の実現に役立ち、従業員の仕事を技術的に高度化し、より人間的なものにすることで、伝統産業の近代化転換と産業のアップグレードを促進し、工場の運営効率と利益の向上に大きな助けと意義をもたらします。

つい最近、Lingbang Intelligence は Baidu PaddlePaddle チームと提携し、同社の精密部品の品質検査業務に AI を活用したアップグレードを実施しました。精密部品の手作業による品質検査では、作業者は集中力が高く明るい光の下で、直径45mm未満の部品の品質を1日8~12時間目視検査する必要があります。作業強度が非常に高く、作業者の視力にも大きなダメージを与えます。現在、PaddlePaddleプラットフォームに実装されたICNETモデルは、機械品質検査の応用において手動品質検査の精度を達成しています。機械が人に取って代わるという観点からの経済計算は、工場の生産コストを平均15%削減し、効率を15%向上させることができます。機械検査のレベルが安定しているため、製品の納品品質が大幅に向上し、納品クレーム率が平均30%減少しました。精密部品の品質検査データは機密情報であり非公開であるため、公開データセット Cityscape を使用して、PaddlePaddle で ICNET をトレーニングおよび適用し、画像セマンティックセグメンテーションを実現する方法を紹介します。プロセス全体はわずか数日で完了します。

開発環境

オペレーティングシステム: Linux x86_64

CPU バージョン: Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz

GPUバージョン: Nvidia-P40 (動作状況は下図参照)

図8 GPUの動作状況

データ準備 - 都市景観

Cityscapes (https://www.cityscapes-dataset.com/) には、50 都市から収集されたさまざまな季節の 5,000 枚の高品質でピクセル レベルの詳細な注釈付き画像 (19 のカテゴリが定義されています) が含まれています。トレーニング/検証/テスト用にそれぞれ 2975/500/1525 枚の画像があります。

ダウンロード後、都市景観データセットが取得されます。ダウンロード後のファイル構造は次のとおりです。

図9: 都市景観データセットの構造

PaddlePaddleをインストールする

PaddlePaddle は、Ubuntu 14.04/16.04/18.04、CentOS 7/6、MacOS、Windows 7/8/10 をサポートしています。詳細については、公式チュートリアルを参照してください (http://staging.PaddlePaddle.org/documentation/docs/zh/0.14.0/new_docs/beginners_guide/install/install_doc.html)

PaddlePaddle は独自のインストール パッケージを pip にパッケージ化しているため、仮想環境を構築して pip から直接インストールすることを選択しました。

  • GPUを使用しない場合は、pipを介して直接インストールします。
  1. pip インストール PaddlePaddle
  • GPUを使用している場合は、まずシステムのcudaとcudnnのバージョンを確認する必要があります。

Cudaのバージョンを確認する

  1. /usr/local/cuda/version.txt を編集します。

cudnnのバージョンを確認する

  1. cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2    

システムのcudaとcudnnのバージョンに応じて、インストールする必要があるPaddlePaddle-gpuのバージョンを選択します。

  1. pip で PaddlePaddle-gpu== 1.3 . 0 .post97をインストールします
モデルを構築する

ICNET ネットワーク構造に基づいてモデルを構築し、異なるサンプリング比で低解像度の画像を作成し、CCF 融合を通じて徐々に精度を向上させます。

モデルトレーニング

すでに記述されたモデルを使用してトレーナーを構築します。

トレーニングを実行し、チェックポイントの保存パスを指定するには、次のコマンドを実行します。

  1. python train.py --batch_size= 16 --checkpoint_path= "./chkpnt/" --use_gpu=True --random_mirror=True --random_scaling=True

提供された事前トレーニング済みモデルをロードすると、トレーニング プロセスを高速化できます。 (ただし、ここでの公式の事前トレーニング済みモデルにはいくつかのパラメータファイルが欠けており、最終的な効果が低下します)

次のコマンドを実行して、トレーニング用の事前トレーニング済みモデルをロードし、チェックポイントの保存パスを指定します。

  1. python train.py --batch_size= 16 --init_model="./model_1000/" --checkpoint_path= "./chkpnt/" --use_gpu=True --random_mirror=True --random_scaling=True

図10 トレーニング損失削減グラフ

テスト

モデルのトレーニングが完了したら、効果テストを実行します。

次のコマンドを実行して、cityscape テスト データセットでテストします。

  1. python eval.py --model_path= "./chkpnt/30000/" --use_gpu=True

30,000 回の反復後に得られたモデルは検証データセットで検証され、結果は mean_IoU=67.25% でした。これは、論文で予想された約 67% の効果と一致しています。この実験は p40 で完了し、30,000 回の反復を完了するのに約 20 時間かかりました。

フレームワークの比較

次の表は、PaddlePaddle1.3 と TensorFlow1.12 のパフォーマンス比較を示しています。次の比較実験で使用される入力データは、バッチ サイズが 16 の 1024x2048 解像度の画像です。

対比

パドルパドル1.3

テンソルフロー1.12

推論速度

45ms/画像

65ミリ秒/画像

まとめ

この記事では、画像セマンティックセグメンテーションを実装するための主流のテクノロジを紹介し、PaddlePaddle に ICNET を適用して都市景観データセットのセマンティック分析を実装します。さらに、PaddlePaddleのICNETをLingbang精密部品インテリジェント選別機プロジェクトに適用し、業界におけるAI技術の実装を実現しました。つまり、PaddlePaddleをベースにICNETモデルのトレーニングと展開が実現され、顧客に依存しないデータラベリング→クラウドモデルトレーニング→モデルダウンロード→ローカル展開というプロセス全体が確立されました。 TensorFlow と比較すると、同じ精度で予測速度が 20% 以上高速化します (25 ミリ秒: 33 ミリ秒)。 PaddlePaddle フレームワークは、優れたパフォーマンスを備えたディープラーニング フレームワークであるだけでなく、中国現地企業のディープラーニングのニーズを徹底的に調査することで、国内の企業ユーザーのニーズをよりよく満たすことができます。 PaddlePaddle が AI の活用と伝統産業の近代化変革にさらに貢献できることを願っています。

参照する

  1. https://github.com/PaddlePaddle/パドル
  2. テンソルフロー
  3. https://github.com/hszhao/ICNet
  4. https://arxiv.org/abs/1704.08545
  5. https://arxiv.org/abs/1411.4038
  6. https://arxiv.org/abs/1506.04579
  7. https://arxiv.org/abs/1612.01105

<<:  AI による執筆の歴史を振り返ると、AI が人間の執筆作業に取って代わるまでにはどのくらい時間がかかるのでしょうか?

>>:  知覚AIオペレーティングシステム

ブログ    
ブログ    

推薦する

...

...

ボストンダイナミクス「人間と犬のダンス」:PK韓国ボーイズバンド、ロボットダンスの神グループが登場

[[408381]]ロボット犬とボーイズバンドが一緒に「ダンス」すると、どんな火花が散るのでしょうか...

太陽光発電や風力発電に AI はメリットをもたらすのでしょうか?

太陽光発電と風力発電は急成長しているが、世界の再生可能電力への移行は、気候目標を迅速に達成するにはま...

2024年のビッグデータ産業予測(I)

分析するオムニチャネルコマースが拡大するにつれ、広告分析の世界は劇的な変化を遂げるでしょう。オンライ...

手紙を開かずに読むことはできますか? MITのX線技術がネイチャー誌に掲載される

2世紀前に折りたたまれた手紙の内容を、開かずに読むにはどうすればよいでしょうか?アルゴリズムはそれを...

2020年AIの現状調査:25%の企業がAI導入により大幅な収益増加を達成

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

EllieMae が脅威ハンティングに AI を活用する方法

より積極的な基盤を構築するために、一部の組織では、攻撃が発生する前にデータを精査して高度な持続的脅威...

将来最も求められる人材はどのような人材でしょうか?百度のロビン・リーはすでに予測している

今最も注目を集めている産業は何でしょうか? それは人工知能でしょう。現在、さまざまな業界が、将来の業...

...

fBox アルゴリズムを使用して、高度に隠蔽された詐欺ユーザーを検出する方法

[51CTO.com クイック翻訳] インターネットの活発な発展とインターネットユーザーの継続的な増...

この病院のAI看護師は、人間の看護師の作業負荷を30%削減するためにオンライン化されました

[[270607]]看護師は医療現場を問わず需要が高いです。米国労働統計局の報告によると、看護師の求...

スーパー暗号解読:自動運転はこうして実現される

多くの新製品と同様に、自動運転に対する人々の態度は、過度の信頼から過少な信頼まで二極化しています。自...

モザイクを使用するのは安全ですか? AIがモザイクを除去し、導入から3日間で約7,000個の星を獲得

パスワードを隠すためにまだモザイクを使用していますか? 「見透かされる」ことには注意してください。ピ...