pythonで操るsas viyaの画像処理技術入門編
TRANSCRIPT
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Pythonで操るSAS Viyaの画像処理技術入門編~フィルタリングからマッチングまで~
SAS Institute Japan 株式会社
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Agenda
企業を取り巻く環境の変動 (画像技術関連)
画像処理の必要性増加
従来SASの画像処理機能 (例:手書き文字認識)
SAS Viyaの画像処理(image processing)機能
基本機能デモ(Pythonから操る、画像読込、フィルタリングからマッチングまで)
車体損傷箇所検出デモ
SAS Viyaで実現予定のCNNを用いた画像解析デモ
SAS Viyaとは、そのメリットとは!
Copyright © SAS Inst itute Inc. A l l r ights reserved.
企業を取り巻く環境の変動
AI、コグニティブ技術の進展
製品の品質向上生産コスト削減
H/W処理速度向上と下落する価格
顧客志向囲い込み、離反防止
高齢化社会医療費の増大
不正・犯罪増加手口の巧妙化
変化の時代に求められる能力とは....
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理技術の必要性増加
深層学習による画像解析精度向上
製品の欠陥検出精度向上
大量の画像データを高速に解析
画像検索、顔認証ターゲットマーケティング
医療費削減早期発見早期治療
顔認証による個人識別・不正検知
画像処理技術を今のビジネスに活かす
Copyright © SAS Inst itute Inc. A l l r ights reserved.
&画像処理
画像処理技術に対するSASのアプローチを過去、現在、未来に分けて紹介します。
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理に関するSASのテクノロジー過去~現在~未来
(例)オープンソース技術+SASで、手書き文字認識
Python & OpenCV
前処理グレイスケール化
2値化・・・
特徴量抽出ニューラルネットワーク(自己符号化器)
・・・
学習と識別データマイニング
・・・
Python & OpenCV
結果の表示特徴量マッチング
・・・
9
SAS
Copyright © SAS Inst itute Inc. A l l r ights reserved.
手書き数字の認識
• MNIST*1の手書き数字データ
http://yann.lecun.com/exdb/mnist/
• 0-9の手書き数字
• 28*28ピクセル
• グレースケール(0-255)
• 学習用の数字:60,000件
• 検証用の数字:10,000件
*1・・・The Mixed National Institute of Standard and Technologies
手書の「4」に見える画像は、数字の「4」である可能性が最も高いと精度高く判別
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理に関するSASのテクノロジー過去~現在~未来
画像読込~フィルタリング~特徴量抽出~マッチング
前処理グレイスケール化
2値化
・・・
特徴量抽出ニューラルネットワーク(自己符号化器)
・・・
学習と識別データマイニング
・・・
結果の表示特徴量マッチング
・・・
SASSAS SAS
SAS Viya
インメモリーテーブル イメージ(画像)型
SAS Viyaには、画像処理専用機能が搭載されています。
SAS Viyaだけで全てを実行可能
SAS Viyaでは「画像型」を新たにサポート
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理に関するSASのテクノロジーインメモリーテーブル:イメージ(画像)型
_id_ = イメージデータごとのユニークID値
_type_ = イメージファイルフォーマット(3文字の文字列)
_path_ = イメージデータファイルのフルパス
_size_ = イメージデータサイズ(バイト)
_image_ = イメージ全体のバイナリBLOB データ
.
.
.
.
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理に関するSASのテクノロジー主な画像処理専用機能
画像読込 画像フィルタリング 画像マッチング
画像比較
• イメージファイル• ZIPファイル• ディレクトリ階層内の上記ファイル
• URL
• バイラテラルフィルタ• ボックスフィルタ•画像ピラミッド• キャニーエッジ検出•輪郭検出•色空間変換• ガウシアンフィルタ• パッチ抽出• ラプラシアンフィルタ• メディアンフィルタ• モルフォロジー•画像の正規化
•画像の粒度変換•画像のサイズ変換• ソーベルフィルタ• 2値化(THRESHOLD)•画像変形(回転, 先鋭化, 色調, 明暗度, …)• etc
• テンプレートマッチング•特徴点マッチング(BRISK|ORB|ORB&BRISK)
•元画像とターゲット画像の比較(SSIM|PSNR)
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS Viyaの画像処理機能画像フィルタリング / 画像検出 (一部抜粋)
• グレースケール
• バイラテラルフィルタ
• 2値化 (Thresholding)
• エッジ検出
• 輪郭検出
• 輪郭直線近似
• 外接矩形
• グループ化外接矩形
https://github.com/sassoftware/sas-viya-programming/blob/master/python/AX2016/Image%20Analytics%20Using%20SAS%20Viya.ipynb
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1Jupyter NotebookからPythonでSAS Viyaの画像処理実行
画像をメモリーへロード
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1
グレースケール化
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1
ノイズ削減:バイラテラルフィルタ
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 12値化(Thresholding)
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1エッジ検出:ラプラシアンフィルタ
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1輪郭検出
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 1外郭矩形
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 2Jupyter NotebookからPythonでSAS Viyaの画像処理実行
Copyright © SAS Inst itute Inc. A l l r ights reserved.
CAS
c1 c2 c3 c4 c5 c6 c7 c8 C9
208.0 220.0 225.0 232.0 237.0 244.0 250.0 254.0 255.0
_channel1_ _channel2_ _channel3_ _channel4_ _source_id_ _reference_id_
0.00245 0.00481 0.00147 1.0 sor.jpg ref.jpg
loadImages
flattenImageTable
compareImages
Column jpg minWidth maxWidth … max3rdChannel
0 _image_ 1.0 704.0 704.0 … 255.0
colorJittering
colorShifting darken
horizontalFlipinvertPixelslighten
pyramidDown
pyramidUp
rotateRightsharpen verticalFlip
rotateLeft
augmentImages
summarizeImages
matchImages
saveimages
Demonstration 2SAS Viyaのインメモリー分析エンジン:CAS(Cloud Analytic Services)
Copyright © SAS Inst itute Inc. A l l r ights reserved.
CASloadImages
contour
Contour image is combination of: Convert_color Bilateral_filter Threshold Laplacian Contours
processImages
processImages
resize get_patch sobel normalize rescale
Add_constant Mutation_sharpHist_equal_global Hist_equal_addl Mutation_vert
morphology Box_filter Gaussian_filter Build_pyramidMedian_filter
Convert_color Bilateral_filter threshold Canny_edgelaplacian
Demonstration 2SAS Viyaのインメモリー分析エンジン:CAS(Cloud Analytic Services)
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Viyaの画像処理例マッチング:テンプレートマッチング
元画像
テンプレート画像
マッチング結果
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Viyaの画像処理例マッチング:特徴点マッチング
テンプレート画像 マッチング結果
画像上での特徴となる点(特徴点)を抽出し、マッチングすることで、画像が拡大、縮小や回転された形状でもマッチングが可能になります。
拡大 拡大と回転
右90°回転 左90°回転テンプレート画像
Copyright © SAS Inst itute Inc. A l l r ights reserved.
自動車保険会社:車体損傷度合解析
• 最大の課題 : データ品質と整合性
- その日の状態 (暗い, 明るい)
- 画像の解像度 (不鮮明, 拡大, 縮小)
- 画像のアングル (角度, 調整)
Use case
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像フィルタリング
画像サイズの標準化
グレースケール化
ノイズ削減と2値化
輪郭検出
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 3Jupyter NotebookからPythonでSAS Viyaの画像処理実行画像をメモリーへロード&サイズ標準化
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 3
グレースケール化
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 3
ノイズ削減:バイラテラルフィルタ&Thresholding
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 3
エッジ検出:ラプラシアンフィルタ
Copyright © SAS Inst itute Inc. A l l r ights reserved.
9
猫?
物体1 物体2
物体3
過去:手書文字認識は可能
過去:猫か犬かの判別は困難
現在:物体の認識や画像マッチングは可能
Copyright © SAS Inst itute Inc. A l l r ights reserved.
9
猫?
カモメ? やしの木?
山田花子?
物体が何であるかを精度高く認識できれば…
その実現のためには深層学習技術が必要
Copyright © SAS Inst itute Inc. A l l r ights reserved.
画像処理に関するSASのテクノロジー過去~現在~未来
画像読込~フィルタリング~深層学習~マッチング
前処理グレイスケール化
2値化
・・・
特徴量抽出~モデル作成~スコアリングCNN(畳み込みニューラルネットワーク)
結果の表示機械学習
データマイニング・・・
SASSAS SAS
SAS Viya
インメモリーテーブル イメージ(画像)型
2017年後半に予定されているSAS Viyaの新版には各種ディープラーニングの機能が搭載予定
現行の画像フィルタリング機能+CNNで画像認識精度を格段に向上可能
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4Jupyter NotebookからPythonでSAS Viyaの画像処理実行
画像をメモリーへロード
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
CNN構造定義
入力層
畳込み層1畳込み層2
プーリング層
全結合層
出力層
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
CNNモデル作成
検証用画像をメモリーへロード
スコアリング
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
モデル精度評価
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
事前に画像フィルタリングを行いモデル精度を改善しよう!
画像スケールの標準化&コントラストの正規化
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
再学習・モデル再作成
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
検証用画像もスケールの標準化&コントラストの正規化
再スコアリング
モデル精度評価
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
さらに画像フィルタリングを行いモデル精度を改善しよう!
1画像ごとに4種類の異なる画像パターンを作成
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
再学習・モデル再作成
再スコアリング
Copyright © SAS Inst itute Inc. A l l r ights reserved.
Demonstration 4
モデル精度評価
Copyright © SAS Inst itute Inc. A l l r ights reserved.
SAS® Viya™
アナリティクスのための全く新しいプラットフォーム
オンプレミスまたはプライベート/パブリッククラウド
IaaS/PaaS/SaaS
様々な業務課題に柔軟に対応
スケーラビリティ
Public REST APIによるアプリケーション拡張・社内外システム連携
使い慣れた言語から直接利用(SAS, Python, R, Lua, Java)
ITガバナンス/アナリティクスガバナンス
アナリティクス・ライフサイクル全体をカバー
容易な環境管理
パフォーマンス・拡張性に優れた独自のインメモリテクノロジー
画像処理やテキスト解析を含む網羅的な機械学習・アナリティクス機能
高度な機能をセルフサービスで
画像解析は、SAS Viyaに搭載されている機能の一部にすぎません。
企業(組織)の標準分析プラットフォームとしてSAS Viyaは最適です。
sas.com
Copyright © SAS Inst itute Inc. A l l r ights reserved.
https://www.sas.com/ja_jp/software/viya.html
Viya 検索