ホーム » 「ClassCat TF/ONNX Hub」タグがついた投稿

タグアーカイブ: ClassCat TF/ONNX Hub

ClassCat® TF/ONNX Hub : 動画分類モデル (3D ResNet, LRCN)

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 02/07/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更にユーザ企業のデータセットによる再調整も含めて実運用するために必要なトータルサポートを提供致します。

今回は動画分類タスクを遂行するモデル – 3D ResNet & LRCN – を紹介致します。題材は UCF 101 という動作認識用の動画データセットです。

 

 

動画分類モデルの紹介

二次元の画像分類については、MNIST や CIFAR-10 の分類タスクを始めとして数多くのモデルが考案されてまた利用されていますが、動画の分類タスクについては十分な数のモデルが公開されているとは言えないのが現状です。

しかしながら動画分類タスクを遂行するために必要なビルディングブロックは各フレームワークで用意されており、ここではそれらを利用して構築した基本的なモデルを紹介します。

 

UCF 101 データセット

最初に利用するデータセットについて紹介しておきます。
動作認識のための定番の動画データセットの一つである UCF 101 をここでは動画分類のために使用します。

データセットの動画は名前どおりに 101 クラスに分類されていて、下記のように非常に多岐に渡る動画が含まれています。野球・サッカー・バスケットボール・ゴルフ・乗馬・相撲・ビリヤード・ボーリングのようなスポーツからピアノ・ギター・バイオリン演奏などのアクションも含まれています :

Apply Eye Makeup, Apply Lipstick, Archery, Baby Crawling, Balance Beam, Band Marching, Baseball Pitch, Basketball Shooting, Basketball Dunk, Bench Press, Biking, Billiards Shot, Blow Dry Hair, Blowing Candles, Body Weight Squats, Bowling, Boxing Punching Bag, Boxing Speed Bag, Breaststroke, Brushing Teeth, Clean and Jerk, Cliff Diving, Cricket Bowling, Cricket Shot, Cutting In Kitchen, Diving, Drumming, Fencing, Field Hockey Penalty, Floor Gymnastics, Frisbee Catch, Front Crawl, Golf Swing, Haircut, Hammer Throw, Hammering, Handstand Pushups, Handstand Walking, Head Massage, High Jump, Horse Race, Horse Riding, Hula Hoop, Ice Dancing, Javelin Throw, Juggling Balls, Jump Rope, Jumping Jack, Kayaking, Knitting, Long Jump, Lunges, Military Parade, Mixing Batter, Mopping Floor, Nun chucks, Parallel Bars, Pizza Tossing, Playing Guitar, Playing Piano, Playing Tabla, Playing Violin, Playing Cello, Playing Daf, Playing Dhol, Playing Flute, Playing Sitar, Pole Vault, Pommel Horse, Pull Ups, Punch, Push Ups, Rafting, Rock Climbing Indoor, Rope Climbing, Rowing, Salsa Spins, Shaving Beard, Shotput, Skate Boarding, Skiing, Skijet, Sky Diving, Soccer Juggling, Soccer Penalty, Still Rings, Sumo Wrestling, Surfing, Swing, Table Tennis Shot, Tai Chi, Tennis Swing, Throw Discus, Trampoline Jumping, Typing, Uneven Bars, Volleyball Spiking, Walking with a dog, Wall Pushups, Writing On Board, Yo Yo.

 
以下はそのサンプル画像です。動画ファイルは AVI フォーマットで提供されていますが、動画ファイルをフレーム分解した上で幾つかの静止画像をピックアップしたものです。上から順にサッカーのペナルティキック、相撲、ゴルフスイングのクラスに属します :

Soccer Penalty

Sumo Wrestling

Golf Swing

 
◆ これらの動画を分類可能な基本モデルとして次を紹介します :

 

3D Residual Net

前述のように動画分類タスクのためのモデルはそれほど公開されているわけではありませんが、現在では最小限必要なビルディングブロックは各フレームワークで用意されています。例えば TensorFlow であれば tf.keras.layers.Conv3D、PyTorch であれば torch.nn.Conv3d を利用して 3D CNN を構築することができます。

実際に UCF 101 データセット上で訓練するにあたり、101 クラスではコストがかかるためにここでは 10 クラス分類を遂行しています。また、単純な 3D AlexNet や 3D VGG では想定した精度が得られなかったので、ここでは 3D ResNet モデルを訓練しました。比較的短時間で 77.25 % の精度を得ています。

以下は TensorBoard 出力で、左側の画像が訓練損失、右側が検証精度です :

 

LRCN

次のペーパーで公開された LRCN (Long-term Recurrent Convolutional Networks) というモデルもあります :

3D ResNet では単純に 2D CNN を 3D 化しただけですが、LRCN では CNN と RNN を上手く組み合わせていてこのモデルは動作認識タスク以外にも画像キャプショニング等にも利用されます。

このモデルでは 75.125 % の精度を得ています :

 

以上






ClassCat® TF/ONNX Hub : オプティカルフロー推定モデル

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/25/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更にユーザ企業のデータセットによる再調整も含めて実運用するために必要なトータルサポートを提供致します。

今回は動画におけるオプティカルフロー推定モデルとして FlowNet を紹介致します。題材は Flying Chairs と呼ばれる少し風変わりなデータセットを使用しています。

 

 

オプティカルフロー推定モデルの紹介

オプティカルフローとは

オプティカルフロー とは、(OpenCV の Python チュートリアル : Video 解析 : Optical Flow によれば、) オブジェクトまたはカメラの移動により引き起こされた 2 つの連続するフレーム間の画像オブジェクトの見かけ上の動きのパターンです。それは 2D ベクトル場で、そこでは各ベクトルは変位ベクトルで最初のフレームから 2 番目のフレームへの点群の移動を示します。

OpenCV では疎なオプティカルフローとして Lucas-Kanade 法と、Gunner Farneback のアルゴリズムをベースとする密なオプティカルフローの実装が提供されています。

 

FlowNet

深層学習の ConvNet (CNN) はコンピュータビジョンの物体認識や物体検出タスクにおいては成果を出し続けていますが、オプティカルフロー推定についての研究は多くはありません。

その中でドイツのフライブルク大学のコンピュータビジョン・グループを中心にオプティカルフロー推定のための FlowNet が提案されています。基本モデルには FlowNetS (Simple) と FlowNetC (Correlation) があり、FlowNet 2.0 では品質と速度の向上が図られています :

 
◆ FlowNet (2.0) については現在では数多くの実装が公開されています :

 

オプティカルフロー推定モデル

FlowNet を考案したフライブルク大学のコンピュータビジョン・グループが、利用した データセット も併せて公開してくれています。ここではその中の一つである Flying Chairs というデータセットを利用します。

扱うデータの基本要素はワンペアの画像です。左側の画像から右側の画像に移行する際にオブジェクトが移動しています :

そしてモデルを適用すると、オプティカルフロー推定が得られます。
左側の画像は順方向の流れで、右側の画像は逆方向の流れです :

別の組み合わせを見てみましょう :

更にもう一組 :

◆ 次に別のデータセット上で確認してみます。
Flying Chairs 2 を利用します。類似のコンテンツですが、データセットとしては完全に別物です :

概ね上手くいっているようです。もう一組確認してみましょう :

 

以上






ClassCat® TF/ONNX Hub : 複数人物ポーズ推定

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/20/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更にユーザ企業のデータセットによる再調整も含めて実運用するために必要なトータルサポートを提供致します。

今回は 2 次元 RGB 画像から複数の人物の姿勢を推定する複数人物ポーズ推定モデルを紹介致します。OpenPose (CMU) や DensePose (FAIR) が良く知られています。

 

 

人物ポーズ推定モデルの紹介

人物ポーズ推定とは

前回 は顔のポーズ推定のためにランドマーク検出するモデルを紹介しましたが、今回は身体全体を扱います。身体全体のポーズ推定でもやはりキーポイントの検出を遂行します。手軽に利用できる訓練用データセットとしては COCO データセットがキーポイントのアノテーションを含んでおり、キーポイント・チャレンジも開催されています。

最近のモデルとしては下記の OpenPose (CMU) や DensePose (FAIR) が有名で、特に OpenPose が発表されて以来、2 次元画像から人物ポーズ推定するモデルが数多く発表されています。

 
OpenPose

OpenPose は CMU の Zhe Cao 氏らが公開したリアルタイムの複数人物ポーズ推定モデルで、初期モデルで以下のような特徴を持っていましたが、更新が繰り返されて現在では更に多機能になっています :

  1. 通常の 2 次元 RGB 画像から 2 次元座標におけるキーポイントを推定します。
  2. 身体的特徴を表わすキーポイントを検出します。
  3. リアルタイム性があります。

簡単に説明を補足しておきますと、まず、モーションキャプチャのような特殊なデバイスを必要としません。通常の 2 次元 RGB 画像から人物の 2 次元座標上のキーポイントを検出できます。

検出するキーポイントは顔、手足を中心に身体の 135 のキーポイントを含みます。右の画像はより単純なモデルの例ですが、身体的特徴を捉えたキーポイントが選択されています。

リアルタイム性も重視されていて、動画にも適用可能です。

 
DensePose

DensePose は FAIR が開発したポーズ推定モデルで、簡単に言えば RGB 画像の人物の総てのピクセルを人体の 3D サーフェスへマップするものです。3 次元に埋め込む点が大きな特徴です。
Detectron フレームワークの一環として開発されています。

 
◆ OpenPose は非商用目的でオープンソース化されていますが、現在では互換/類似モデルが多数実装されています。ここでは OpenPose 初期モデルの互換モデルの一つを紹介します :

※ 画像は原則として ImageNet の URL を利用しており、元画像の版権は所有者に帰属しています。

 

人物ポーズ推定モデル

2 次元 RGB 画像から複数の人物のキーポイントを 2 次元の座標で検出します。
キーポイントには目鼻・手足などが選択されています。高速ですので動画にも適用可能です。

左側が入力元画像で、右側がポーズ推定画像です。

 

以上






ClassCat® TF/ONNX Hub : 顔のランドマーク検出 & Pix2Face

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/19/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更にユーザ企業のデータセットによる再調整も含めて実運用するために必要なトータルサポートを提供致します。

今回は顔のランドマーク (目印) 検出と顔を 3 次元化する Pix2Face を紹介致します。

 

 

顔のランドマーク検出と Pix2Face の紹介

顔検出とは

顔検出 は歩行者検出等の技術と同様に深層学習ブーム以前から研究されてきています。
OpenCV や dlib C++ ライブラリを利用した、顔の bounding box 検出や輪郭検出は数多くの実装例がありましたが、深層学習フレームワークと組み合わせることによってより複雑なモデルが考案・開発されるようになりました。

モデルの発展の方向性は多岐に渡ります。顔の単純なローカリゼーション (位置特定) だけでなく、例えば目鼻の位置も併せて特定したり (顔の造形の再構築が可能であるような) 十分な数のランドマーク (目印) を予測するモデルもあります。

更には Pix2Face と呼ばれる、2 次元の顔画像から 3 次元の顔を構築する試みもされています。

ここでは顔のランドマーク検出と Pix2Face の例を紹介します :

※ 画像は原則として ImageNet の URL を利用しており、元画像の版権は所有者に帰属しています。

 

ランドマーク検出モデルの基本

dlib と深層学習フレームワークを組み合わせた例の入門としては、PyTorch 1.0 : Getting Started : データロードと処理 が参考になります。

このチュートリアルは本来は PyTorch における DataSet と DataLoader クラスの取り扱いを解説することが目的ですが、顔検出の視点からはランドマーク検出モデルの構築に必要なデータセットをどのように作成して可視化するかが説明されています。

ImageNet の face タグの画像を dlib ポーズ推定 を利用してそのタスクを遂行しています。併せてランドマークの可視化も行なっています。

 

ランドマーク検出とポーズ推定の可視化

ここではランドーマーク検出とそれをベースにしたポーズ推定を可視化するモデルを紹介します。
次の画像は ImageNet から収集したもので最初の入力画像です :

以下はモデル適用後の画像です。
左側は眼窩 (がんか) から鼻筋、口元、顎のライン上のランドマークを検出しています。
右側はそのランドマークをベースに顔姿勢を可視化したものです。

続いて 2 枚目の入力画像です :

複数人数に対してもモデル適用可能です。

 

Pix2Face

Pix2Face は簡単に言えば、2 次元の顔の画像から 3 次元の顔を構築する技術です。
ランドマーク・ベースのモデルを超えて様々な方法が試行錯誤されています。

以下は PNCC という手法のみを使用しています (複数の手法を組み合わせることにより精度が向上します) :

 

以上






ClassCat® TF/ONNX Hub : GAN モデル (Part II) – StarGAN, ACGAN

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/17/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。

◆ 本ページでは提供モデル群として GAN モデル (Part II) – StarGAN, ACGAN を紹介致します。
StarGAN は顔の表情変換を可能にするモデルとして知られています。

 

 

GAN とは

GAN は敵対的生成ネットワーク (Generative Adversarial Network) と呼称される生成モデルの一種で、深層学習におけるホットな領域の一つとして様々なモデルやその応用が活発に研究されています。

GAN は 2014 年に Ian Goodfellow 氏により創案されペーパー Generative Adversarial Nets で最初に紹介されました。

基本的には 2 つのネットワーク generator と discriminator から構成され、訓練データセットの分布をネットワークに学習させるための仕組みです。その分布から新しい有用なデータを生成することができます :

  • generator のジョブは訓練画像のように見える ‘fake’ 画像を生むことです。
  • discriminator のジョブは画像を見てそれが real 訓練画像か (generator からの) fake 画像かを出力することです。

訓練の間、generator はより良い fake を生成することにより絶えず discriminator を出し抜こうとします。
一方、discriminator はより良い探偵として機能し、real 画像と fake 画像を正しく分類するために動作しています。

このゲームの均衡は、generator が訓練データに直接由来するかのように見える完全な fake 画像を生成しているときに、discriminator が generator 出力について real か fake か常に 50% の信頼度で推測する状態になることです。

 

GAN モデル (Part II) の紹介

Part II では以下の GAN モデルを紹介します :

Part I については こちら を参照してください。

 

StarGAN

StarGAN は顔の表情変換で有名になった、画像変換を主目的とする GAN の一種です。

Cycle GAN では 1 組のドメイン間の画像変換を扱いましたが、StarGAN ではマルチ・ドメイン間の変換を統合的に 1 つのモデルで処理することができます (ここでドメインは同じ属性を持つデータセットを指します)。

“Star” はアーキテクチャのトポロジーがスター型であることを表しています。ドメイン間を総て交差させる非効率性を回避しています。

マルチ・ドメインを処理するためにはクラス (属性) 情報や ACGAN (Auxiliary Classifier) のテクニックを利用しています。

オリジナルのペーパーでは RaFD (Radboud Faces Database) データセットで学習したモデルを CelebA データセットに適用してもいますが、ここでは CelebA だけをを利用したモデルを紹介します。

CelebA ではセレブ (有名人) の画像を多数含むとともに、アノテーションとして属性が示されます。このデータセットでは喜怒哀楽などの表情変換のサポートは限定的ですが、髪の色などの他の属性を多く含みます。

 

髪色の変換

髪色の変換は比較的容易です。
左端の画像が元の入力画像で順次、ブロンド・黒髪・茶髪に変換しています :

 

眼鏡の着脱

眼鏡の装着も容易です :

(眼鏡をかけている元画像は少ないですが) 眼鏡をはずした画像も生成できます :

 

老若変換

より若く画像を変換することもできます :

逆に年齢を高く変換することもできます :

 

笑顔

普通の表情を笑顔に変換することができます :

逆に笑顔を普通の表情に変換することもできます :

 

魅力的に

(どういう規準でアノテーションを作成したのか分かりませんが、) 魅力的に変換することもできます :

 

ACGAN

StarGAN の説明で ACGAN (Auxiliary Classifier) に言及しましたので簡単に説明しておきます。

ACGAN は DCGAN のような (画像変換を目的としていない) 生成モデルです。
但しノイズ (あるいは潜在変数) だけを入力とする DCGAN とは違い、クラス情報を利用します。Conditional GAN や InfoGAN と同系統の GAN になります。

Generator への入力にクラス情報を与え、Discriminator にはクラスを識別させます。

ACGAN モデルで CIFAR-10 画像を生成してみます。元画像が小さく粗いので小動物は分かりにくいですが、上から飛行機、自動車、鳥、ネコ、鹿、犬、カエル、馬、船、トラックの画像です :

 

 

以上






ClassCat® TF/ONNX Hub : 提供モデル例一覧

作成者 :(株)クラスキャット セールスインフォメーション
最終更新日 : 01/20/2019 ; 作成日 : 01/13/2019

 

ClassCat® TF/ONNX Hub とは

「ClassCat® TF/ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF/ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて実運用するために必要なトータルサポートを提供致します。

◆ このページでは「ClassCat TF/ONNX Hub」で提供可能なモデル例を一覧にまとめています。

 

ClassCat® TF/ONNX Hub 提供モデル例一覧

 

画像処理

Mask R-CNN 対応 Detectron 互換 物体検出モデル

物体検出」は画像の複数種類の物体の位置を特定してクラス分類することを可能にする、実用的で応用範囲が広い技術です。

深層学習技術の普及により画像全体の情報からクラス分類を行なう「物体認識」については畳み込みニューラルネットワーク (CNN) の利用により手軽に成果が出せるようになりましたが、「物体検出」を行なうためには更に多岐に渡る技術が必要となります。

物体検出の手法としては Fast R-CNN, Faster R-CNN, YOLO 更には SSD などが良く知られていますが、最新技術としては Mask R-CNN が有名です。Mask R-CNN は物体検出した領域についてセマンティック・セグメンテーションも遂行します。

Detectron は FAIR (Facebook AI Research) が開発して 2018 年にオープンソース化した物体検出フレームワークです。クラスキャットでは、機能を Faster R-CNN と Mask R-CNN 中心に限定した Detectron 互換モデルを提供しております。

 

セマンティック・セグメンテーション

セマンティック・セグメンテーション」は簡単に言えば、画像の各ピクセルをクラス分類するタスクです。物体検出と混同されやすいですが、物体検出は物体を囲む最小の bounding box (矩形) の予測を主眼としていますので異なるタスクです。

風景写真のようにオブジェクトが分離しやすい画像では物体検出とそれほど違わない印象を受けますが、生物医学的なタスクではセマンティック・セグメンテーションが目的に良く適合することが多々あります。

 

医療画像処理モデル

医療画像処理の分野は AI の活用が大きく期待されている分野の一つです。

医療画像は通常 DICOM 形式で提供されますが、 一般的なフォーマットに変換すれば後は物体認識 (分類)、物体検出、あるいはセマンティック・セグメンテーションのような汎用 AI 技術が当てはまるタスクが多いです。

ここでは胸部レントゲンを中心に疾患の分類と患部の位置特定を遂行しています。また血液細胞の画像で赤血球、白血球そして血小板を検出する例も示します。

 

顔検出モデル

顔検出 は歩行者検出等の技術と同様に深層学習ブーム以前から研究されてきています。OpenCV や dlib C++ ライブラリを利用した、顔の bounding box 検出や輪郭検出は数多くの実装例がありましたが、深層学習フレームワークと組み合わせることによってより複雑なモデルが考案・開発されるようになりました。

モデルの発展の方向性は多岐に渡ります。顔の単純なローカリゼーション (位置特定) だけでなく、例えば目鼻の位置も併せて特定したり (顔の造形の再構築が可能であるような) 十分な数のランドマーク (目印) を予測するモデルもあります。

更には Pix2Face と呼ばれる、2 次元の顔画像から 3 次元の顔を構築する試みもされています。

 

人物ポーズ推定

上で顔のポーズ推定のためにランドマーク検出するモデルを紹介しましたが、身体全体を扱うモデルもあります。身体全体のポーズ推定でもやはりキーポイントの検出を遂行します。

人物ポーズ推定モデルでは、2 次元 RGB 画像から複数の人物のキーポイントを 2 次元の座標で検出します。キーポイントには目鼻・手足などが選択されています。高速ですので動画にも適用可能です。

最近のモデルとしては OpenPose (CMU) や DensePose (FAIR) が有名で、特に OpenPose が発表されて以来、2 次元画像から人物ポーズ推定するモデルが数多く発表されています。

 

GAN モデル (生成モデル、画像変換)

GAN

GAN」は敵対的生成ネットワーク (Generative Adversarial Network) と呼称される生成モデルの一種で、深層学習におけるホットな領域の一つとして様々なモデルやその応用が活発に研究されています。

基本的には 2 つのネットワーク generator と discriminator から構成され、訓練データセットの分布をネットワークに学習させるための仕組みです。その分布から新しい有用なデータを生成することができます。

Cycle GAN, StarGAN や Pix2Pix のように画像変換を目的とするモデルが多いですが、超解像モデルのように低解像画像を鮮明な高解像画像に変換する実用性を重視したモデルもあります。

StarGAN は髪の色や顔の表情を変換することができます

 


お問合せ
本件に関するお問い合わせ先は下記までお願いいたします。

株式会社クラスキャット
セールス・マーケティング本部 セールス・インフォメーション
E-Mail:sales-info@classcat.com
WebSite: http://www.classcat.com/
 

以上






ClassCat® TF / ONNX Hub : セマンティック・セグメンテーション・モデル

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/13/2019

 

ClassCat® TF / ONNX Hub とは

「ClassCat® TF / ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF / ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。

今回は超音波画像や電子顕微鏡写真を題材にセマンティック・セグメンテーション・モデルを紹介致します。

 

 

セマンティック・セグメンテーションとは

セマンティック・セグメンテーションは簡単に言えば、画像の各ピクセルをクラス分類するタスクです。
物体検出と混同されやすいですが、物体検出は物体を囲む最小の bounding box (矩形) の予測を主眼としていますので異なるタスクです。

風景写真のようにオブジェクトが分離しやすい画像では (表面的には) 物体検出とそれほど違わない結果を得ますが、今回取り上げるような生物医学的なタスクではセマンティック・セグメンテーションが目的に良く適合することが多々あります。

U-Net

セマンティック・セグメンテーションのためにも (物体検出のように) 数多くの手法が考案され実装されています。FCN (Fully Convolutional Network), U-Net, SegNet, PSPNet 等が良く知られています。

今回は基本的な U-Net モデルを中心に紹介します。U-Net は FCN の改良版です。
U-Net の基本構造は単純です。エンコーダとデコーダに分かれ、エンコーダは (画像分類タスクで使用されるような) 通常の畳込みネットワークです。そしてデコーダで Upsampling を行ないます。畳込み Autoencoder をイメージすれば分かりやすいかもしれません。

 

セマンティック・セグメンテーション・モデルの紹介

以下に U-Net を中心にセマンティック・セグメンテーション・モデルの例を紹介します :

 

U-Net for 超音波画像

最初の例の題材は Kaggle の出題からで、超音波画像のデータセット上で神経構造を識別できるモデルの構築が求められています :

具体的には以下のサンプル画像のような首の超音波画像の BP セグメンテーションを行ないます。BP は Brachial Plexus, 腕神経叢 (わんしんけいそう) を意味します。訓練データセットには腕神経叢の超音波画像とそのマスク画像がペアになって含まれています。マスク画像が疼痛部に相当します。

左側が超音波画像、右側がそのマスク画像です :

訓練した U-Net モデルをテスト画像に適用して得られた画像です :

 

U-Net for 電子顕微鏡写真

次に同じく U-Net モデルを利用した別のセマンティック・セグメンテーションの例として、電子顕微鏡写真のデータセットを題材とします :

訓練データは、ショウジョウバエ 1 齢幼虫の腹部神経索 (VNC, ventral nerve cord) の serial section 透過電子顕微鏡 (ssTEM) データセットからの 30 セクションのセットです。提供される二値ラベルは、セグメントされた物体のピクセルのために白、残りのピクセル (殆どは膜組織に相当) のために黒で与えられます。

以下は訓練データセットのサンプルで、左側が電子顕微鏡写真で右側が正解ラベルです :

 
以下は U-Net モデルの適用結果です。左側がテスト画像で右側が予測になります。
このケースは目視が容易で、正しく予測されていることが分かります :

 

風景写真理解のためのセマンティック・セグメンテーション

少し特殊な画像が続きましたので、最後に風景画像のセマンティック・セグメンテーションの例をあげておきます。データセットは MIT Scene Parsing Benchmark からの ADE 20K データセットを利用し、モデルは PSPNet (Pyramid Scene Parsing ネットワーク) を使用してます。

 

 

以上






ClassCat® TF / ONNX Hub : Mask R-CNN 対応 Detectron 互換 物体検出モデル

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/11/2019

 

ClassCat® TF / ONNX Hub とは

「ClassCat® TF / ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF / ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。

本ページでは提供モデルとして 物体検出モデル の代表例である、Mask R-CNN をサポートする Detectron 互換モデルを紹介致します。

 

物体検出とは

物体検出」は画像の複数種類の物体の位置を特定してクラス分類することを可能にする、実用的で応用範囲が広い技術です。

深層学習技術の普及により画像全体の情報からクラス分類を行なう「物体認識」については畳み込みニューラルネットワーク (CNN) の利用により手軽に成果が出せるようになりました。典型的な例が MNIST や CIFAR10 の分類タスクです。しかしながら、画像上の複数種類の物体の位置を特定して各々の物体をクラス分類する「物体検出」を行なうためには更に多岐に渡る技術が必要となります。

物体検出技術は精度と速度のトレードオフがあり、高精度と高速化を求めて現在でも改良が重ねられています。その中心的なアルゴリズムとしては Fast R-CNN, Faster R-CNN, YOLO 更には SSD などが考案され実装されてきました。

最新技術としては Mask R-CNN が有名です。Mask R-CNN は物体検出した領域についてセマンティック・セグメンテーションも遂行します。

Detectron

Detectron は FAIR (Facebook AI Research) が開発して 2018 年にオープンソース化した物体検出フレームワークです。Detectron は Mask R-CNN で有名になりましたが最新の物体検出技術を多く包含しており Caffe2 で実装されています。現在では、様々なドメインにおける物体検出とセマンティック・セグメンテーションの集大成とも言えるプラットフォームに進化しています。

 

Mask R-CNN 対応 Detectron 互換 物体検出モデルの紹介

Detectron は優れた物体検出プラットフォームですが、反面、あらゆるドメインの物体検出やセマンティック・セグメンテーション技術を取り入れているために手軽に利用しにくいという問題があります。あるいは Caffe2 実装が望ましくないケースもあるかもしれません。

クラスキャットでは、機能を Faster R-CNN と Mask R-CNN 中心に限定した Detectron 互換モデルを ClassCat TF/ONNX Hub モデルとして提供しております。

ここではその出力例を紹介します。Mask R-CNN によるセグメンテーションの精度が非常に高いことが見て取れるでしょう :

※ 画像は原則として ImageNet の URL を利用しており、元画像の版権は所有者に帰属しています。

 

Faster R-CNN & Mask R-CNN

最初は物体検出タスクで頻繁に利用される元画像で試します。
左側の画像は Faster R-CNN のみを適用したもので、右側の画像は Mask R-CNN も併せて適用しています :

次に会議室と部屋の画像から検出。
デスクや人間などの大きな物体のみならず、ボトル、マウスや書籍なども検出しています :

車道画像から :

 

Mask R-CNN

最後に、セマンティック・セグメンテーションで良く使用される画像に Mask R-CNN を適用してみます :

 

以上






ClassCat® TF / ONNX Hub : 医療画像処理モデル (胸部レントゲン、血液細胞)

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/10/2019

 

ClassCat® TF / ONNX Hub とは

「ClassCat® TF / ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF / ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。

本ページでは提供モデル群として 医療画像処理モデル の代表例を紹介致します。

 

医療画像処理モデルの紹介

以下に代表的なモデル例を紹介します :

 

胸部レントゲン画像の肺炎の位置特定

最初に取り上げるモデル例は比較的最近 Kaggle から出題された、RSNA Pneumonia Detection Challenge (RSNA – 北米放射線学会 – 肺炎検出チャレンジ) に対応したモデルです。

医療画像は通常 DICOM 形式で提供されますが、 この課題は一般的なフォーマットに変換すれば後は物体検出タスクになりますのでそれほど難しくはありません。以下の画像例のように信頼度ともに位置特定が可能です :

 

胸部レントゲン画像の疾患の分類

上の例は物体検出課題でしたが、次に NIH (National Institutes of Health) が配布しているデータセット (NIH プレスリリース) を利用して分類モデルを構築してみます。

胸部レントゲン画像の分類では、各種疾患 : 肺炎, 肺拡張不全 (無気肺), 心臓肥大, 合併症, 肺水腫, 肺気腫, 結節, 肺線維症 etc. の画像を認識することができます。

以下は胸部レントゲン画像のサンプルと認識された疾患です。精度は疾患の種類により多少異なりますがおおよそ 80 % 〜 90 % の精度が獲得できます :

正常 心臓肥大 合併症

 

血液細胞検出

医療画像処理では物体検出やセマンティック・セグメンテーション技法が利用されるケースが多いですが、単純なケースでは一般物体検出モデルの再調整だけで対応できます。

以下の画像例は血液細胞検出で、赤血球、白血球そして血小板を検出しています。

 

肺がん検出

より複雑な、CT スキャン画像から肺ガンを検出するモデルとして肺がん検出モデルがあります。さわりだけですが詳細は こちら

 

以上






ClassCat® TF / ONNX Hub : GAN モデル

作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/05/2019

 

ClassCat® TF / ONNX Hub とは

「ClassCat® TF / ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]

  • ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。

「ClassCat TF / ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。

◆ 本ページでは提供モデル群第一弾として GAN モデル の代表例を紹介致します。

 

GAN とは

GAN は敵対的生成ネットワーク (Generative Adversarial Network) と呼称される生成モデルの一種で、深層学習におけるホットな領域の一つとして様々なモデルやその応用が活発に研究されています。

GAN は 2014 年に Ian Goodfellow 氏により創案されペーパー Generative Adversarial Nets で最初に紹介されました。

基本的には 2 つのネットワーク generator と discriminator から構成され、訓練データセットの分布をネットワークに学習させるための仕組みです。その分布から新しい有用なデータを生成することができます :

  • generator のジョブは訓練画像のように見える ‘fake’ 画像を生むことです。
  • discriminator のジョブは画像を見てそれが real 訓練画像か (generator からの) fake 画像かを出力することです。

訓練の間、generator はより良い fake を生成することにより絶えず discriminator を出し抜こうとします。
一方、discriminator はより良い探偵として機能し、real 画像と fake 画像を正しく分類するために動作しています。

このゲームの均衡は、generator が訓練データに直接由来するかのように見える完全な fake 画像を生成しているときに、discriminator が generator 出力について real か fake か常に 50% の信頼度で推測する状態になることです。

 

GAN モデルの紹介

以下に代表的な GAN モデルを紹介します :

 

DCGAN

DCGAN – 深層畳込み GAN は最もポピュラーな GAN です。画像データセットの特徴をつかまえて新しいデータを生成します。

以下の例でははセレブ (有名人) 画像データセットの特徴を捕捉して新規の画像データを生成しています。

DCGAN の実装の詳細は PyTorch 1.0 Tutorials : 生成モデル : DCGAN が参考になります。

 

超解像 (SRGAN)

SRGAN (Super Resolution GAN) では、低解像度の画像を高解像の画像に変換することができます。

以下の例は、左側からそれぞれ GT (正解) 画像、SRGAN 出力、Bicubic 補間そして Bilinear 補間画像になります。
※ Bicubic, Bilinear 補間は画像処理ソフトで画像拡大時に通常使用される補間法です。

SRGAN 出力は他の補間法に比べて画像が鮮明です。例えば、一番上の蝶の画像の羽の白い部分の黒い模様を比較すると違いがはっきりと分かります。

 

 
【参考】
以下の例は GAN を使用していない超解像モデルです。
左側からそれぞれ GT (正解) 画像、超解像モデル出力、Bicubic 補間画像になります。

GAN を使用しない場合には、超解像モデル出力は Bicubic 補間画像よりも多少鮮明ではあるものの粗い画像になっています。

 

Cycle GAN

Cycle GAN は画像変換を遂行するモデルで、馬とシマウマの変換・写真と絵画間の画風変換、夏と冬の画像変換などで有名になりました。訓練データセットの画像が必ずしもペアである必要がない点が特徴的です。

以下は Cycle GAN を実際に 20 epochs ほど訓練したモデルで画像変換を行なっています。
風景写真をモネ絵画風の画像に変換しています :

※ 風景写真画像は全て ImageNet の URL を利用しており、元画像の版権は所有者に帰属しています。

以下は逆にモネの絵画を写真テイストの画像に変換しています :

次に別のデータセットの例として、車道を含む街の景観をセマンティック・セグメンテーション風に変換しています :

vice versa :

 

Pix2Pix

Pix2Pix も GAN を利用した画像変換です。Pix2Pix については TensorFlow : Tutorials : 画像 : Pix2Pix (Conditional GAN) が詳しいです。

 

以上






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