Submit Search
Upload
run Keras model on opencv
•
5 likes
•
13,258 views
Takuya Minagawa
Follow
第50回コンピュータビジョン勉強会@関東「CVで使えるツールLT大会2」発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
marika_hotani
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
Data-Centric AIの紹介
Data-Centric AIの紹介
Kazuyuki Miyazawa
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
Deep Learning JP
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII
【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
cvpaper. challenge
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
STAIR Lab, Chiba Institute of Technology
Recommended
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
marika_hotani
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
Data-Centric AIの紹介
Data-Centric AIの紹介
Kazuyuki Miyazawa
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
Deep Learning JP
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII
【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
cvpaper. challenge
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
STAIR Lab, Chiba Institute of Technology
機械学習モデルのサービングとは?
機械学習モデルのサービングとは?
Sho Tanaka
Tesseract ocr
Tesseract ocr
Takuya Minagawa
MS COCO Dataset Introduction
MS COCO Dataset Introduction
Shinagawa Seitaro
20200910コンピュータビジョン今昔物語(JPTA講演資料)
20200910コンピュータビジョン今昔物語(JPTA講演資料)
Takuya Minagawa
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
harmonylab
Data-centricなML開発
Data-centricなML開発
Takeshi Suzuki
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由
Yoshitaka Ushiku
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
ドラレコ + CV = 地図@Mobility Technologies
ドラレコ + CV = 地図@Mobility Technologies
Kazuyuki Miyazawa
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
MicroAd, Inc.(Engineer)
Deep Learningによる超解像の進歩
Deep Learningによる超解像の進歩
Hiroto Honda
画像の基盤モデルの変遷と研究動向
画像の基盤モデルの変遷と研究動向
nlab_utokyo
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
Deep Learning JP
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
Deep Learning JP
ResNetの仕組み
ResNetの仕組み
Kota Nagasato
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
Deep Learning JP
AdaFace(CVPR2022)
AdaFace(CVPR2022)
Kazuki Maeno
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
Semantic segmentation
Semantic segmentation
Takuya Minagawa
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
Takuya Minagawa
20180424 orb slam
20180424 orb slam
Takuya Minagawa
More Related Content
What's hot
機械学習モデルのサービングとは?
機械学習モデルのサービングとは?
Sho Tanaka
Tesseract ocr
Tesseract ocr
Takuya Minagawa
MS COCO Dataset Introduction
MS COCO Dataset Introduction
Shinagawa Seitaro
20200910コンピュータビジョン今昔物語(JPTA講演資料)
20200910コンピュータビジョン今昔物語(JPTA講演資料)
Takuya Minagawa
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
harmonylab
Data-centricなML開発
Data-centricなML開発
Takeshi Suzuki
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由
Yoshitaka Ushiku
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
ドラレコ + CV = 地図@Mobility Technologies
ドラレコ + CV = 地図@Mobility Technologies
Kazuyuki Miyazawa
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
MicroAd, Inc.(Engineer)
Deep Learningによる超解像の進歩
Deep Learningによる超解像の進歩
Hiroto Honda
画像の基盤モデルの変遷と研究動向
画像の基盤モデルの変遷と研究動向
nlab_utokyo
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
Deep Learning JP
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
Deep Learning JP
ResNetの仕組み
ResNetの仕組み
Kota Nagasato
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
Deep Learning JP
AdaFace(CVPR2022)
AdaFace(CVPR2022)
Kazuki Maeno
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
Semantic segmentation
Semantic segmentation
Takuya Minagawa
What's hot
(20)
機械学習モデルのサービングとは?
機械学習モデルのサービングとは?
Tesseract ocr
Tesseract ocr
MS COCO Dataset Introduction
MS COCO Dataset Introduction
20200910コンピュータビジョン今昔物語(JPTA講演資料)
20200910コンピュータビジョン今昔物語(JPTA講演資料)
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
Data-centricなML開発
Data-centricなML開発
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
ドラレコ + CV = 地図@Mobility Technologies
ドラレコ + CV = 地図@Mobility Technologies
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
Deep Learningによる超解像の進歩
Deep Learningによる超解像の進歩
画像の基盤モデルの変遷と研究動向
画像の基盤モデルの変遷と研究動向
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
ResNetの仕組み
ResNetの仕組み
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
AdaFace(CVPR2022)
AdaFace(CVPR2022)
Word2vecの理論背景
Word2vecの理論背景
Semantic segmentation
Semantic segmentation
Similar to run Keras model on opencv
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
Takuya Minagawa
20180424 orb slam
20180424 orb slam
Takuya Minagawa
20170211クレジットカード認識
20170211クレジットカード認識
Takuya Minagawa
「コンピュータビジョン勉強会@関東」紹介資料
「コンピュータビジョン勉強会@関東」紹介資料
Takuya Minagawa
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出
Takuya Minagawa
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
Takuya Minagawa
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
Takuya Minagawa
How to feed myself with computer vision
How to feed myself with computer vision
Takuya Minagawa
Pn learning takmin
Pn learning takmin
Takuya Minagawa
20140131 R-CNN
20140131 R-CNN
Takuya Minagawa
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
Takuya Minagawa
複数サービスを共存させるために 試行錯誤したこと
複数サービスを共存させるために 試行錯誤したこと
Nagao Shun
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
Embarcadero Technologies
機械学習による推定ユーザー属性の安定供給のための施策(第56回 Machine Learning 15minutes! Broadcast)
機械学習による推定ユーザー属性の安定供給のための施策(第56回 Machine Learning 15minutes! Broadcast)
Tetsuroh Watanabe
アドテクノロジーのサービスにおけるアジャイル開発
アドテクノロジーのサービスにおけるアジャイル開発
Nagao Shun
機械学習 温故知新(第47回 Machine Learning 15minutes! Broadcast)
機械学習 温故知新(第47回 Machine Learning 15minutes! Broadcast)
Tetsuroh Watanabe
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
Kimihiko Kitase
20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representation
Takuya Minagawa
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
典子 松本
見やすいアウトプットのつくりかた
見やすいアウトプットのつくりかた
jujubkitakd
Similar to run Keras model on opencv
(20)
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
20180424 orb slam
20180424 orb slam
20170211クレジットカード認識
20170211クレジットカード認識
「コンピュータビジョン勉強会@関東」紹介資料
「コンピュータビジョン勉強会@関東」紹介資料
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
How to feed myself with computer vision
How to feed myself with computer vision
Pn learning takmin
Pn learning takmin
20140131 R-CNN
20140131 R-CNN
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
複数サービスを共存させるために 試行錯誤したこと
複数サービスを共存させるために 試行錯誤したこと
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
機械学習による推定ユーザー属性の安定供給のための施策(第56回 Machine Learning 15minutes! Broadcast)
機械学習による推定ユーザー属性の安定供給のための施策(第56回 Machine Learning 15minutes! Broadcast)
アドテクノロジーのサービスにおけるアジャイル開発
アドテクノロジーのサービスにおけるアジャイル開発
機械学習 温故知新(第47回 Machine Learning 15minutes! Broadcast)
機械学習 温故知新(第47回 Machine Learning 15minutes! Broadcast)
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representation
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
見やすいアウトプットのつくりかた
見やすいアウトプットのつくりかた
More from Takuya Minagawa
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Takuya Minagawa
MobileNeRF
MobileNeRF
Takuya Minagawa
点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
Learning to Solve Hard Minimal Problems
Learning to Solve Hard Minimal Problems
Takuya Minagawa
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
Takuya Minagawa
楽しいコンピュータビジョンの受託仕事
楽しいコンピュータビジョンの受託仕事
Takuya Minagawa
20210711 deepI2P
20210711 deepI2P
Takuya Minagawa
20201010 personreid
20201010 personreid
Takuya Minagawa
2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)
Takuya Minagawa
20200704 bsp net
20200704 bsp net
Takuya Minagawa
20190825 vins mono
20190825 vins mono
Takuya Minagawa
20190307 visualslam summary
20190307 visualslam summary
Takuya Minagawa
Visual slam
Visual slam
Takuya Minagawa
20190131 lidar-camera fusion semantic segmentation survey
20190131 lidar-camera fusion semantic segmentation survey
Takuya Minagawa
20181130 lidar object detection survey
20181130 lidar object detection survey
Takuya Minagawa
object detection with lidar-camera fusion: survey (updated)
object detection with lidar-camera fusion: survey (updated)
Takuya Minagawa
object detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: survey
Takuya Minagawa
3DFeat-Net
3DFeat-Net
Takuya Minagawa
CVPR2018のPointCloudのCNN論文とSPLATNet
CVPR2018のPointCloudのCNN論文とSPLATNet
Takuya Minagawa
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
Takuya Minagawa
More from Takuya Minagawa
(20)
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
MobileNeRF
MobileNeRF
点群SegmentationのためのTransformerサーベイ
点群SegmentationのためのTransformerサーベイ
Learning to Solve Hard Minimal Problems
Learning to Solve Hard Minimal Problems
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
楽しいコンピュータビジョンの受託仕事
楽しいコンピュータビジョンの受託仕事
20210711 deepI2P
20210711 deepI2P
20201010 personreid
20201010 personreid
2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)
20200704 bsp net
20200704 bsp net
20190825 vins mono
20190825 vins mono
20190307 visualslam summary
20190307 visualslam summary
Visual slam
Visual slam
20190131 lidar-camera fusion semantic segmentation survey
20190131 lidar-camera fusion semantic segmentation survey
20181130 lidar object detection survey
20181130 lidar object detection survey
object detection with lidar-camera fusion: survey (updated)
object detection with lidar-camera fusion: survey (updated)
object detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: survey
3DFeat-Net
3DFeat-Net
CVPR2018のPointCloudのCNN論文とSPLATNet
CVPR2018のPointCloudのCNN論文とSPLATNet
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(10)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
run Keras model on opencv
1.
第50回CV勉強会「CVツールLT大会2」 Kerasで学習したモデルをOpenCVで使う 2018/12/14 takmin
2.
自己紹介 2 株式会社ビジョン&ITラボ 代表取締役 皆川 卓也(みながわ
たくや) 「コンピュータビジョン勉強会@関東」主催 博士(工学) http://visitlab.jp 略歴: 1999-2003年 日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリ セールス、プロジェクトマネジメント、サポート等の業務に従事 2004-2009年 コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事 2007-2010年 慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻 単位取得退学後、博士号取得(2014年) 2009年-現在 フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事(2018年法人化)
3.
OpenCVでDeep Learning 3 OpenCVがバージョン3.3でDNNモジュー ルをリリース なんででぃーぷらーにんぐにわざわざ OpenCV使う必要あるの?専用ライブラリ でいいじゃん。
4.
DNNモジュールを使うモチベーション 4 OpenCVで開発した画像処理プログ ラムの一部分にCNNを使いたい ライブラリをいくつもインストールしたく ない
簡単に使いたい C++で動かしたい
5.
OpenCV DNNモジュール 5 推論専用
学習は他のDeep Learningライブラリを使用 ドキュメントは少ない チュートリアル: https://docs.opencv.org/4.0.0/d2/d58/tutorial_table _of_content_dnn.html APIリファレンス: https://docs.opencv.org/4.0.0/d6/d0f/group__dnn.ht ml 使っている人もそれほど多くなさそう
6.
学習にKerasを使った理由 6 諸般の事情でKerasを使う必要があった 3.4.4までは以下のライブラリのモデルをサ ポートしており、この中で一番CNNの開発が 易しそうなのがKeras
+ Tensorflowと判断 Caffe Tensorflow Torch なお、4.0からはONNXもサポートしてるので、 ChainerやPyTorchからもいけるはず
7.
Kerasで学習してOpenCVで推論 7 試した環境 Tensorflow 1.5
(Python) OpenCV 4.0 (C++) LeNETでMNISTを学習 CPUで学習/推論 コードはこちら https://github.com/takmin/Keras2OpenCV
8.
Kerasで学習してOpenCVで推論 8 手順: 1. Kerasで学習モデルを構築/学習 2. Kerasで推論モデルを構築し、学習結 果を読み込み 3.
Kerasの推論モデルからTensorflowの モデルを取得し、保存 4. OpenCVでモデルファイルを読み込み、 推論を実行
9.
1. Kerasで学習モデルを構築/学習 9 モデル:
LeNet5 学習データ: MNIST
10.
1. Kerasで学習モデルを構築/学習 10 Tmodel =
Sequential() Tmodel.add(Conv2D(32,kernel_size=(5,5),input_shape=input_shape)) Tmodel.add(MaxPooling2D(pool_size=(2,2))) Tmodel.add(Conv2D(64,kernel_size=(5,5),input_shape=input_shape)) Tmodel.add(MaxPooling2D(pool_size=(2,2))) Tmodel.add(Flatten()) Tmodel.add(Dense(1024, activation=tf.nn.relu)) Tmodel.add(Dropout(0.2)) Tmodel.add(Dense(10,activation=tf.nn.softmax)) Tmodel.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) 学習モデル構築 KerasのSequential Model Conv x2 Max Pooling x2 Full Connected Layer Drop Out 学習方法を指定してコンパイル
11.
1. Kerasで学習モデルを構築/学習 11 from tensorflow.python.keras.datasets
import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) x_test= x_test.reshape(x_test.shape[0], 28, 28, 1) x_train = x_train.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_test /= 255 Tmodel.fit(x=x_train,y=y_train,epochs=10,batch_size=128,validation_ data=(x_test,y_test)) Tmodel.save("trained_model.h5") MNISTで学習する例 MNISTの読み込 みとデータ整形 学習 学習結果 を保存
12.
2. Kerasで推論モデルを構築し、学習結果を読 み込み 12 OpenCVは推論のみサポートしているため、例えば Dropoutのような学習用のレイヤーを読み込むことがで きない
Tensorflowには”optimize_for_inference”という学習用の モデルから推論に必要な部分のみを抜き出すツール/ラ イブラリが用意されているが、Dropoutは除去してくれな い 現在pull requestが上がっているが現時点ではマージされてい ない 推論用のモデルを構築し、学習したパラメータを読み込 むことで解決
13.
2. Kerasで推論モデルを構築し、学習結果を読 み込み 13 Imodel =
Sequential() Imodel.add(Conv2D(32,kernel_size=(5,5),input_shape=input_sha pe)) Imodel.add(MaxPooling2D(pool_size=(2,2))) Imodel.add(Conv2D(64,kernel_size=(5,5),input_shape=input_sha pe)) Imodel.add(MaxPooling2D(pool_size=(2,2))) Imodel.add(Flatten()) Imodel.add(Dense(1024, activation=tf.nn.relu)) #Imodel.add(Dropout(0.2)) Imodel.add(Dense(10,activation=tf.nn.softmax)) 推論モデル構築 学習モデルから Dropoutを除いただけ
14.
2. Kerasで推論モデルを構築し、学習結果を読 み込み 14 Imodel.load_weights("trained_model.h5") Imodel.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy’]) Imodel.save("inference_model.h5") 学習結果読み込み 学習モデルからパラ メータを推論モデルへ 読み込み コンパイル 推定モデルを保存
15.
3. Kerasの推論モデルからTensorflowのモデル を取得し、保存 15 1. KerasからバックエンドのTensorflowへ アクセスし、モデルを取得 2.
Tensorflowのモデルでは、ネットワーク 構造と重みは別々に扱われているため、 それらを統合(freeze) ネットワーク内の変数を定数(学習した重 み)に置き換え 3. Freezeしたモデルをファイルへ保存
16.
3. Kerasの推論モデルからTensorflowのモデル を取得し、保存 16 from tensorflow.python.keras.models
import load_model import tensorflow as tf from tensorflow.python.keras import backend as K model = load_model('inference_model.h5') sess = K.get_session() outname = "output_node0" tf.identity(model.outputs[0], name=outname) constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph.as_graph_def(),[outname]) tf.train.write_graph(constant_graph, "./", "lenet.pb", as_text=False) 推論モデル構築 Keras推論モデル 読み込み Kerasのバックエンド(Tensorflow) のセッション取得 Freeze プロトコルバッファをバイ ナリで保存(./lenet.pb)
17.
4. OpenCVでモデルファイルを読み込み、推論 を実行 17 dnn::Net net
= dnn::readNet("./lenet.pb"); Mat img = imread(“mnist0.png", 0); Mat blob = dnn::blobFromImage(img, 1.0 / 255); net.setInput(blob); Mat prob = net.forward(); Point classIdPoint; double confidence; minMaxLoc(prob.reshape(1, 1), 0, &confidence, 0, &classIdPoint); int classId = classIdPoint.x; C++ Tensorflow推論 モデル読み込み 予測
18.
まとめ 18 Kerasで学習してOpenCVで推論 学習モデルの他に推論モデルを用意
KerasからバックエンドのTensorflowを呼び出し、Freezeして保 存 実行時間はKerasで約2.8ms、OpenCVで1.2ms (Celeron 1.8G) 今後試したいこと Functional APIを使って、どこまで複雑なモデルに対応できる か確認 Custom Layer ONNXからの読み込み
Download now