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
図面をデノイジングする技術について - 【ABEJA × CADDi】Computer Visionのビジネス活用を考える
Search
[email protected]
March 07, 2022
Technology
0
1.2k
図面をデノイジングする技術について - 【ABEJA × CADDi】Computer Visionのビジネス活用を考える
[email protected]
March 07, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
エンジニア向け会社紹介資料
caddi_eng
14
180k
CADDi 会社紹介・採用説明資料
caddi_eng
10
620k
機械学習チームのモノレポ移行
caddi_eng
0
230
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
500
2023.01_CADDi Thailand Company Overview
caddi_eng
0
14k
Company Overview for Engineers (English)
caddi_eng
0
14k
20220826_Company Briefing Online Event
caddi_eng
0
380
OpenSearchで実現する画像検索とテスト追加で目指す安定運用
caddi_eng
3
5.7k
製造業向け新事業の基盤をエンジニア1人のチームでローコード&マネージドで半年で立ち上げた話_220810
caddi_eng
0
860
Other Decks in Technology
See All in Technology
AWS認定資格を取得したので、初めてマネコンを触った時を振り返ってみた。
ainatsuptr
2
100
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
180
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
150
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
450
オーナーシップを持つ領域を明確にする
konifar
13
3k
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
160
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
280
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
460
HEXA OSINT CTF V3 作戦会議
meow_noisy
0
120
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
150
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
850
Databricks における 『MLOps』
databricksjapan
2
160
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
A Tale of Four Properties
chriscoyier
150
22k
Designing for Performance
lara
601
67k
BBQ
matthewcrist
80
8.8k
GraphQLとの向き合い方2022年版
quramy
31
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
Clear Off the Table
cherdarchuk
83
310k
GitHub's CSS Performance
jonrohan
1024
450k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
The Mythical Team-Month
searls
215
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
Transcript
図面をデノイジングする技術について #ABEJAxCADDi 中村遵介
図面の画像解析 Copyright 2017-2021 CADDi Inc. All rights reserved. 2 CADDiでは、画像解析によって図面画像から様々な情報を取得しています
寸法値 寸法線 テーブル情報 記号
図面解析に対するノイズの影響 Copyright 2017-2021 CADDi Inc. All rights reserved. 3 図面解析では、矢印や記号などの小さな領域が大
きな意味を持つことも多い 一方で、実際の図面データでは様々なノイズによって小さな領域が変形してしまって いることも... 例: 寸法線の範囲を表す矢印は、図面によるが 縦横30pxほど(図面は全体は縦横4000pxほど) 小さいが重要な意味を 持つ
ノイズ除去の目的と定義 Copyright 2017-2021 CADDi Inc. All rights reserved. 4 目的
アルゴリズミックに行っている矢印等の記号認識において、 ノイズによる認識の妨げをなくしたい 定義 ノイズによる図面画像の劣化を検出し、推定され得る元の綺麗な状態の 図面画像に近づける
図面に載っているノイズの種類 Copyright 2017-2021 CADDi Inc. All rights reserved. 5 ノイズといっても、顧客・図面によって様々なノイズが載っている
800枚ほど調査した結果、以下が解析に影響を及ぼす可能性があると分かった ヒゲノイズ モスキートノイズ かすれ 現行である程度対処可能 数が多い 場合によっては悪影響 比較的数が多い 他ノイズと合わさる場合も 場合によっては悪影響 数はそこそこ 他ノイズと合わさる場合も 図面データのスキャンの際に 入る? どこかでJPEG画像に変換さ れている? 図面データのスキャンの際に 入る?縮小時?
ノイズ除去: エキスパートモデルの採用 Copyright 2017-2021 CADDi Inc. All rights reserved. 6
すごい手法 ・シングルモデル: 一括で全てのノイズを除去 ・エキスパートモデル: 複数手法で対応するノイズを個別に除去 ノイズAの すごい手法 ノイズBの すごい手法 複数のノイズを除去する方法として、以下の 2つが考えられる 前者は実用は簡単だが開発が難しく、後者はその逆にある 今回はPoCとしての面もあるため、後者のエキスパートモデルの作成を選択した
モデル開発 Copyright 2017-2021 CADDi Inc. All rights reserved. 7 出典
Olaf Ronneberger, Philipp Fischer, and Thomas Brox U-Net: Convolutional Networks for Biomedical Image Segmentation MICCAI 2015 ・実装が簡単 ・高解像度画像も扱いやすい ・実績・知見が数多く存在 モスキートノイズ除去モデルと、カスレ除去モデルの2つを作成 図面ごとに異なる傾向を簡単に取り扱うため、機械学習(CNN)でのトライ モデル構造にはU-Netベースの構造を採用
データセット作成の難しさ Copyright 2017-2021 CADDi Inc. All rights reserved. 8 デノイジング手法の学習や評価には大抵、
「綺麗な画像」と「ノイズで劣化した画像」のペアが必要 実際の図面では「綺麗な図面」と「ノイズで劣化した図面」のペアは手に入らない この写像をデータから学習 ? ? ?
デノイジングデータセットの自動生成 Copyright 2017-2021 CADDi Inc. All rights reserved. 9 仮説:
今回のデノイジングには広範囲なコンテキストはおそらく必要ない 局所的には図面に見える画像を生成し、ノイズをシミュレーションして乗せる 大量の(綺麗な図面っぽい画像、ノイズ図面っぽい画像)のペアを生成 図面もどきを大量に 自動生成 生成した綺麗な画像 リアルな図面に近付くようノイ ズを乗せた画像
結果の可視化と分析 Copyright 2017-2021 CADDi Inc. All rights reserved. 10 モデル自体は画素の絶対誤差で学習させるが、損失の値だけでは
実際にどのようにノイズが除去されているかは分からない モデルを動的に読み込み結果を可視化するツールを作成し、モデルの性質を把握 • 狙い通りのノイズが消せているか? • 狙っていないノイズまで消していないか? • モデルの順序を入れ替えた時に結果が大きく変わらないか? オリジナル 損失値は異なるが見た目は似ている しかしよく見ると細かい差異がある
streamlitによる結果の可視化と分析(demo) Copyright 2017-2021 CADDi Inc. All rights reserved. 11 図面内のシンプルな
領域を拡大して可視化 図面内の複雑な 領域を拡大して可視化 読み込んだモデルによるノ イズ除去の結果を表示 U-Net用の重みであれば パスを指定するだけで いくつでも読み込める モデルは直列に 実行される
実際にノイズの載った図面での精度の話 Copyright 2017-2021 CADDi Inc. All rights reserved. 12 最終的な目的は、あくまで図面の解析がうまく進むかどうかという点
例えば、矢印の認識のためのデノイジングで、矢印が綺麗になるのなら 文字が多少潰れても問題はない 一般的な図面と、特に強いノイズの乗った図面データセットを作成し、 ノイズ除去前後での記号認識精度を比較 一般的な図面はあまり精度が変わらず、ノイズデータセットは認識精度が向上した
これからの話 Copyright 2017-2021 CADDi Inc. All rights reserved. 13 今回はデノイジングがどこまで可能か、現在の解析方法にどの程度影響を及ぼすかの
PoCだったため、実用化にはいくつかの壁が存在する • 計算コストが大きい • モデル自体の大きさ • 入力画像の大きさ(数千x数千サイズ) • 現行のアルゴリズムに対して具体的な影響が分かりづらい • マクロ視点で精度への影響は計測可能 • ミクロ視点でアルゴリズムへの影響が不明 • 精度改善
まとめ Copyright 2017-2021 CADDi Inc. All rights reserved. 14 •
図面には様々な種類のノイズが乗っており、図面解析の難点の一つ • ノイズの種類を分析し、図面画像を生成することでノイズデータセットを作成 • ノイズの種類ごとにCNNでエキスパートモデルを作成 • モデルの性能をデモアプリと記号の認識精度によって定性・定量評価
We are hiring!! 「キャディ エンジニア採用」で検索!