ホーム » SegNet » TensorFlow : 自動運転のための道路画像のセグメンテーション

TensorFlow : 自動運転のための道路画像のセグメンテーション


TenosorFlow : 自動運転のための道路画像のセグメンテーション

作成 : (株)クラスキャット セールスインフォメーション
日時 : 06/24/2017

 

概要

セグメンテーションは生物医学の画像処理や自動運転技術の基本の一つですが、医療画像については 2,3 の例を試してみましたので自動運転のリサーチ用の画像でセグメンテーションを試してみます。

ここではシーン理解を主目的とするセマンティック・セグメンテーションのための SegNet モデルの Caffe 実装と共に提供されている CamVid データセットを題材にして TensorFlow 実装で実験してみます。CamVid データセットは道路シーンのサイズ 360 x 480 の 367 の訓練画像と 233 のテスト画像を含みます。ケンブリッジ界隈で撮られたもので昼と夕方のシーンを含みます。具体的には、下の左画像のような道路 (road) シーンが連続的に撮影されています。もちろん実際に自動車を走らせて撮影したのでしょう。

下の右画像は自前で訓練したモデルで予測したものです ( : 自動車, : 人間, : 自転車です) :


 

モデルと訓練

SegNet については (少し古いですが) 以下の記事がわかりやすいです :

SegNet を主題とするペーパーは幾つかありますが、以下が読みやすいです :

Abstract だけいつものように翻訳しておきます :

SegNet と呼ばれる pixel-wise なセマンティック・セグメンテーションのための新しい実用的な深層完全畳み込みニューラルネットワーク・アーキテクチャを提案します。この訓練可能なコア・セグメンテーション・エンジンは 、encoder ネットワーク、相当する decoder ネットワークそれに続く pixel-wise 分類層から成ります。encoder ネットワークのアーキテクチャは VGG 16 ネットワークの 13 畳み込み層と位相的に同一です。decoder ネットワークの役割は pixel-wise 分類のために低解像度 encoder 特徴マップを完全な入力解像度特徴マップにマップすることです。SegNet の新しさは decoder がそのより低解像度な入力特徴マップ(群)を upsample する方法にあります。特に、decoder は非線形 upsampling を実行するために、相当する encoder の max-pooling ステップで計算された pooling インデックスを使用します。これは upsample のための学習の必要性を取り除きます。upsample されたマップはスパースでそして密な特徴マップを生成するために訓練可能なフィルターで畳み込まれます。提案したアーキテクチャを広く採用されている FCN とそしてまた良く知られている DeepLab-LargeFOV, DeconvNet と比較します。この比較は良いセグメンテーション性能の獲得に関与するメモリ対精度のトレードオフを明らかにします。SegNet は主としてシーン理解アプリケーションにより動機付けられます。それ故に、推論の間にメモリと計算時間の両方の点から効率的であるようにデザインされています。また他の競合的なアーキテクチャよりも訓練可能なパラメータの数が本質的に小さいです。また道路 (road) シーンと SUN RGB-D 屋内 (indoor) シーン・セグメンテーションタスクの両者上で SegNet と他のアーキテクチャの制御されたベンチマークを実行しました。SegNet は他のアーキテクチャと比較して競合的な推論時間と memory-wise に より効率的な推論 で良い性能を提供することを示します。

実装は Caffe から TensorFlow に移しましたが、SegNet の位相そのままではなくやや簡略化したものを使用しました。
オリジナルモデルは encoder/decoder それぞれに VGG-16 を使用していますが、安直に試すには重過ぎますので。

訓練時の損失と検証精度の TensorBoard によるグラフは以下のようなものです。
100 epochs 回してみましたが、検証精度は 78 % くらいで頭打ちになりました (もちろんモデルを簡略化した影響もあるでしょう) :
 

 

結果

少なくとも提供されている検証データセット上で試した限りでは、結果は初期実験として見れば概ね良好です。人間の目では暗くて分かりにくい画像でも識別に問題ありません。ペーパーの abstract でも言及されていますが、モデルの完成度をあげた場合には精度とメモリや速度のトレードオフになるのでしょう。

[凡例]
: 自動車 ; : 人間 ; : 自転車
: 道路 ; : 空 ; 舗道 ; : 建物 ; : 木 ; : (未定義)


以下の画像は自動車について false positive です。これは訓練時に自動車の比重を大きくしているために自動車 (らしき物体) に対して過敏であるためでしょう。もっとも極端な話し、フェンスに自動車の絵が描かれている場合にはこのアプローチだけでは誤検知して当然にも思われます :


ImageNet

SegNet のセールスポイントは見たことのない画像に対しても効果的であることですが、提供されているデータセットだけで訓練したモデルを ImageNet 画像に適用するとさすがに結果はあまり芳しくありません。自動車の false positive もより顕著になります :


* ImageNet 画像の元画像の版権は所有者に帰属します。

 
以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com