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.4k
図面をデノイジングする技術について - 【ABEJA × CADDi】Computer Visionのビジネス活用を考える
[email protected]
March 07, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
エンジニア向け会社紹介資料
caddi_eng
14
230k
CADDi 会社紹介・採用説明資料
caddi_eng
11
690k
機械学習チームのモノレポ移行
caddi_eng
0
350
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
730
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
430
OpenSearchで実現する画像検索とテスト追加で目指す安定運用
caddi_eng
3
5.9k
製造業向け新事業の基盤をエンジニア1人のチームでローコード&マネージドで半年で立ち上げた話_220810
caddi_eng
0
970
Other Decks in Technology
See All in Technology
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
AOAI Dev Day - Opening Session
yoshidashingo
2
470
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
MySQLのロックの種類とその競合
yoku0825
6
1.6k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Clear Off the Table
cherdarchuk
89
320k
Side Projects
sachag
451
42k
Rails Girls Zürich Keynote
gr2m
93
13k
How STYLIGHT went responsive
nonsquared
93
5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Unsuck your backbone
ammeep
666
57k
Why Our Code Smells
bkeepers
PRO
332
56k
Optimizing for Happiness
mojombo
373
69k
Done Done
chrislema
179
15k
Building Applications with DynamoDB
mza
89
5.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
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!! 「キャディ エンジニア採用」で検索!