Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第1回ディープラーニング勉強会~画像処理編~
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
EngineerCafe
February 05, 2022
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第1回ディープラーニング勉強会~画像処理編~
EngineerCafe
February 05, 2022
More Decks by EngineerCafe
See All by EngineerCafe
台湾デジタルフェス2026参加報告
engineercafe
0
12
Hacktivation2025_イントロダクション_ブロックチェーンことはじめ
engineercafe
0
290
エンジニアカフェ台湾ツアー2025
engineercafe
0
140
台湾視察報告レポート_2024
engineercafe
1
170
インド・バンガロール視察報告会
engineercafe
0
160
イベントレポート_Hacktivation 続:生成AI時代におけるブロックチェーンの可能性
engineercafe
0
140
Docker はじめの一歩 #1 Dockerコンテナを動かしてみよう
engineercafe
0
110
git勉強会 (基本的なコマンドを覚えよう)
engineercafe
0
190
エンジニアのための論文ゆる輪読会 #1【 #ゆるりん 】
engineercafe
0
200
Other Decks in Technology
See All in Technology
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
100
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
400
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
130
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
11
7.5k
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
0
140
地域 SRE コミュニティ最前線 / SRE NEXT 2026 Discussion Night Track C
muziyoshiz
0
220
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
420
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
630
SRE Lounge Hiroshimaへの招待
grimoh
0
650
Kaggleで成長するために意識したこと
prgckwb
2
350
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.8k
So, you think you're a good person
axbom
PRO
2
2.1k
Building Adaptive Systems
keathley
44
3.1k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
エンジニアに許された特別な時間の終わり
watany
107
250k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Transcript
第1回ディープラーニング勉強会 ~画像処理編~
目次 • 自己紹介 • エンジニアカフェについて • 本の紹介 • 第0回のおさらい •
google colabolatory使ってみよう! • opencv使ってみよう!
自己紹介 • 岩永拓也 • 九州工業大学 情報工学部 4年 • 藤原研究室 アルゴリズム
• 趣味:ゲーム、読書、ボードゲーム、アマプラで映画 • エディタ:ATOM
エンジニアカフェについて • 成り立ち 旧日本生命保険株式会社九州支店→福岡市歴史資料館→エンジニアカフェ • 『エンジニアが集まる、活躍する、成長する街、福岡。』を掲げる福岡市の「エンジニアフレンド リーシティ福岡」活動の一環としてオープン • エンジニアがよりチャレンジやスキルの幅を広げることができるように誕生した施設 •
勉強会などのイベントも開催してるのでぜひ足を運んでみてください!
本の紹介 • 即戦力になるための ディープラーニング開発実践ハンズオン • [著]井上大樹、佐藤峻 • 価格:3280円(税抜) • リンク:
https://gihyo.jp/book/2021/978-4-297-11942-3
第0回のおさらい 1.1 機械学習と深層学習 1. 機械学習→「きかいてきにものごとのパターンを覚えさせること」 2. 深層学習→手法はパーセプトロン系統の進化であるディープニューラルネットワークをしたも の。教師ありに分類。 3. パーセプトロンの仕組み
4. ニューラルネットワーク →反応として活性化、活性化していないという極端な2択でなく、出力 する値の度合いで 測れるようにしたもの 5. 活性化関数の種類(シグモイド関数、ReLU関数)
第0回のおさらい 1.2 ニューラルネットワークの学習 • 順伝搬、誤差逆伝播の流れ • 損失曲線 →学習を各繰り返しのタイミングに、データ毎の損失の平均を計算し記録してできる 曲線。 •
過学習 →用意した学習用の入力データに対して完璧に反応できるがそれ以外のデータに対し ては正確な反 応が全くできない現象。 • オンライン学習、バッチ学習、ミニバッチ学習 • 損失関数、勾配降下方
第0回のおさらい 1.3 畳み込みニューラルネットワーク • ノード→各層における入力と出力 • FullConnection層(全結合層) →全ての入力ノードが全ての出力ノードと結びついてる層。 • Convolution層(畳み込み層)
→入力ノードいくつかのまとまりで圧縮し、特徴を抽出する層。 • カーネル、ストライド、畳み込み • パディング→入力データ全体の周囲にある擬似的なノード。
第0回のおさらい 1.3 畳み込みニューラルネットワーク • 3次元の画像データ
第0回のおさらい 1.3 畳み込みニューラルネットワーク • MAXPOOLING層/ AVERAGEPOOLING層(最大プーリング層/平均プーリング層) 図 MAXPooling層
第0回のおさらい 1.3 畳み込みニューラルネットワーク • Upsampling層(アップサンプリング層) 図 Upsampling層
第0回のおさらい 1.3 畳み込みニューラルネットワーク • TransposedConvolution層、Deconvolution層(逆畳み込み層) 図 TransposedConvolution層
第0回のおさらい 1.3 畳み込みニューラルネットワーク • Dropout層(ドロップアウト層) 図 Dropout層
第0回のおさらい 1.3 畳み込みニューラルネットワーク • Batchnormalization層(バッチ正規化層) 図 BatchNormalization層
第0回のおさらい 1.3 畳み込みニューラルネットワーク • CNN
第0回のおさらい 1.4 タスクとモデル • 分類(CLASSIFICATION) • 異常検知(ANOMALY DETECTION) • 物体検出(OBJECT
DETECTION) • 領域検出(SEGMENTATION)
google colabolatory使ってみよう! • google colabolatoryとは? 1. 教育機関や研究機関において機械学習の普及を目的としたgoogleの研究プロジェクトの一つ 2. Jupyter notebookを必要最低限の労力とコストで活用
3. googleのアカウントさえ持っていれば、すぐに機械学習プロジェクトを実施 4.高スペックなPCを必要としない https://su-gi-rx.com/archives/4670より引用
google colabolatory使ってみよう! • google driveで右クリックし、「その他」を押し、「google colabratory」にアクセス!
google colabolatory使ってみよう! • アクセスすると下のように出てくる
google colabolatory使ってみよう! • 1+1を入力し、Shiftキー+ Enterキーで実行!
opencv使ってみよう! • opencvとは? 1.インテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ向け 2.商用目的などで無料で使用できる 3.画像処理をはじめ、モーション解析、物体検出など幅広く使用されている。 https://ja.wikipedia.org/wiki/OpenCVより引用
opencv使ってみよう! • STEP1 opencvインストール ※10秒くらいかかる!
opencv使ってみよう! • STEP2 インストールされたか確認 • 結果
opencv使ってみよう! • STEP3 画像ファイルをアップロード! • コードを実行し、「ファイル選択」を押す
opencv使ってみよう! • 「sample01.png」の画像を選択し、開く→しばらく時間がかかる
opencv使ってみよう! • STEP4 画像を読み込もう! • 結果
opencv使ってみよう! • 画像処理のデータの仕組み →基本画像は縦と横とチャンネル(奥行き) の3次元のデータ。特にOPENCVで扱う画像は チャンネルがRED、GREEN、BLUEの3つになる。 この並びを略してRGBともいう。 チャンネル
opencv使ってみよう! • BGR色空間 →読み込んだデータが順に青、緑、赤の値が立方的に記述される色の空間 • RGB色空間 →読み込んだデータが順に赤、緑、青の値が立方的に記述される色の空間
opencv使ってみよう! • opencvはBGRなのでRGBに変換する必要がある! BGR RGB
opencv使ってみよう! • 変換しない場合の結果
opencv使ってみよう! • STEP5 画像の形を知ろう! 1446:画像の縦の大きさ 1094:画像の横の大きさ 3:チャンネルの大きさ (1446,1094,3):多次元配列の各次元の大きさ
opencv使ってみよう! • STEP6 画像を左右反転にしよう!
opencv使ってみよう! • STEP7 画像を赤にしよう!
opencv使ってみよう! • STEP8 画像を明るくしてみよう! uint8→uint16に変換
opencv使ってみよう! • STEP8 画像を明るくしてみよう! • 結果
opencv使ってみよう! • STEP9 画像をグレースケールにしてみよう!
opencv使ってみよう! • STEP9 画像をグレースケールにしてみよう! • 結果
opencv使ってみよう! • STEP10 画像をバイナリ化にしてみよう! グレーのボーダーライン
opencv使ってみよう! • STEP10 画像をバイナリ化にしてみよう! • 結果
opencv使ってみよう! • STEP10 画像を回転してみよう! 画像の大きさ 傾ける角度 画像の中心
opencv使ってみよう! • STEP10 画像を回転してみよう! • 結果
opencv使ってみよう! • STEP11 画像をぼかしてみよう!
opencv使ってみよう! • STEP12 画像を色域抽出してみよう! HSVの最大 HSVの最小
opencv使ってみよう! • HSV→色相、彩度、明度を合わせた言葉 • Opencvでは赤、青、緑の色相を扱う https://algorithm.joho.info/programming/python/opencv-rgb-to-hsv-color-space/を参照
opencv使ってみよう! • STEP12 画像を色域抽出してみよう! • 結果
opencv使ってみよう! • STEP13 画像を色域抽出してみよう! • cascadeファイルを読み込むため実行し、「ファイル選択」を押す
opencv使ってみよう! • STEP13 顔検出してみよう! • 「haarcascade_frontalface_default.xml」を選択し、開く
opencv使ってみよう! • STEP13 顔検出してみよう! 左上の座標 右下の座標 枠の色 枠の大きさ
opencv使ってみよう! • STEP13 顔検出してみよう! • 結果
opencv使ってみよう! • STEP13 顔検出してみよう!(猫の場合)
opencv使ってみよう! • STEP13 顔検出してみよう! • 結果
演習 • 画像を傾けたら顔認識されるか確認しよう! • 模範解答は後ほどconnpassで記載しますのでお願いします。 connpassのURL→https://engineercafe.connpass.com/event/223041/