Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ディープとアルゴがタッグを組む、キャディ図面解析のテクノロジーに迫る - CADDi

E55fbffb4afd0a84d36c945ed68d8c19?s=47 CADDi
March 10, 2022

ディープとアルゴがタッグを組む、キャディ図面解析のテクノロジーに迫る - CADDi

2022/3/10にCADDi主催で実施した『ディープとアルゴがタッグを組む、キャディ図面解析のテクノロジーに迫る 』における登壇資料です。

前半には、キャディの事業内容及び、プロダクトの説明が記載しています。

後半には、キャディの図面解析に対するテクノロジーに関して、アルゴリズムとディープラーニング双方の観点で、AI Lab所属のエンジニアが日々の取り組む技術的な課題について記載しています。

イベントURL:https://caddi.connpass.com/event/239652/

E55fbffb4afd0a84d36c945ed68d8c19?s=128

CADDi

March 10, 2022
Tweet

More Decks by CADDi

Other Decks in Technology

Transcript

  1. A B O U T

  2. 2 MISSION モノづくり産業の ポテンシャルを解放する Unleash the potential of manufacturing

  3. 3 MARKET 調達 イノベーション 特になし 製造 販売 設計 CAD /

    CAE などの活用 自動化・ ロボット化 AI・ビッグデータ の活用 日本国内での総生産額 180兆円規模 120兆円 100年以上イノベーションのない巨大な製造業調達市場 製造業の中で120兆円を占める調達市場においてのみ、大きな革新が未だない状況。
  4. 4 MARKET DETAILS (1) 調達コスト 120 兆円 多品種少量 40兆円 金属加工

    4兆円 ※ 多品種少量のみ 電車1車輌の部品点数30,000点のうち、 12,000点(40%) 程の多量の金属加工品が使われています 電機品 内装の裏・ 窓枠 扉 シート ライト 衛生設備の 骨組 台車 空調設備 筐体 流通総額 金属加工品の例(車輌業界)
  5. 5 MARKET DETAILS (2) 半導体製造 装置 FPD 製造装置 食品機械 包装機械

    医薬品 製造装置 身近な製品を製造する装置に 携わっています コンビニおにぎ り製造装置 ペットボトル ラベル貼付装置 自動車車載電池 製造装置 スマホ液晶 製造装置 どら焼き製造装置 製本機械 印刷機械 化学装置 射出成形機 工作機械 自社内検査 装置 鉄道関連 装置 自動車製造 ライン 分析機器 試験機械
  6. 6 MARKET ISSUES 複雑な多重下請け構造が形成されており、 アンバランスな産業構造になっています。 受注側は中小零細企業が数多く存在し、 得意分野が非常にばらついています。

  7. A B O U T SERVICE

  8. 8 SERVICE FEATURE 産業・市場構造の中でキャディが目指すものは個々の加工会社が強みを 最大限活かすことができるフラットな市場構造です マッチング(のみ行う) マッチングだけでは 探索コストが減るだけで 交渉・監督コストはそのまま ファブレスメーカー

    (的立ち位置) 商流に入ることで発注者・ 受注者の取引コスト・ 製造コストを下げる 図面データ アップロード・ 送付 2 ・調達工数削減 ・コスト削減 ・安定価格、納期 発注者 ・見積レス ・論理的原価計算 ・売上安定化 最適 加工会社に 確定発注 自動製造原価計算・ 見積提示 1 検査・品質保証 製品納入 3 CADDi 加工会社 MERIT MERIT
  9. 9 PLATFORM & PRODUCTS 製造業でアナログにやりとりされてきた 様々な情報を管理、活用する複数の プロダクト開発を進めています。 受発注プラットフォーム 製造原価計算 製造工程・サプライチェーン管理

    図面管理 製造パートナー連携
  10. A B O U T TECH TEAM

  11. スタンフォード大学・大学院にて電子工学を専攻。 在学中に世界最大の軍事企業のロッキード・マー ティン米国本社で4年超勤務。 ソフトウェアエンジニアとして衛星の大量画像デー タ処理システムを構築し、JAXAやNASAも巻き込んで の共同開発に参画。 その後アップル米国本社にて、シニアエンジニアと してiPhone、iPad、Apple Watchの電池の開発や、 AirPodsなどの組み込み製品の開発をリード。

    2017年末に、キャディ株式会社を共同創業。 11 共同創業者/ 最高技術責任者 CTO Aki Kobashi 小橋 昭文
  12. 12 TECH TEAMS 製造原価計算プロダクトチーム 原価計算や見積もりを作成するための社内向けプロダ クトを中心としたチーム。原価計算エンジンの改定や 見積もりプロセスに関するタスクを行う。 生産管理プロダクトチーム 互いにデータ的な連携のある、生産管理に関わるプロ ダクト群をまとめた大きなチーム。小チームに分か

    れ、全体としてはLeSSをベースに開発を回している。 <担当プロダクト> - 製造工程・サプライチェーン管理 - 製造パートナー連携プロダクト - 図面管理プロダクト AI Lab 製造業を変革しうる要素技術の研究開発を行う大きな チーム。研究開発テーマや担当領域によって、いくつ かのチームに分かれている。 <主な研究開発テーマ> - 図面の読み取り技術 - 図面のアノテーション技術 - 類似図面検索 - 製造パートナー自動選定 図面管理SaaSプロダクトチーム キャディ初のSaaSプロダクトである図面管理SaaSを開 発・運営するチーム。図面系の研究開発成果を製品に 組み込み、機能開発やUX改善を進める。 product teams functional teams プラットフォームチーム 戦略的に「技術課題を解く」ことをテーマに、横断的 に技術基盤・開発基盤の構築や改善を進めるチーム。 認証基盤の管理からCI/CDの改善まで手広く対応。 今後も続々とチームは増えます…!
  13. A B O U T PRODUCT

  14. 14 製造原価計算プロダクト 製造原価計算結果を調整して見積を作る

  15. 15 製造工程・サプライチェーン管理プロダクト サプライチェーンの 可視化 発注先パートナーの選定

  16. 16 製造パートナー連携プロダクト キャディから受注済の案件一覧 キャディからの見積依頼を一括処理

  17. 17 図面管理プロダクト 図面IDによる検索 各図面の詳細 独自ビューワーや関連情報の追加機能など

  18. 18 図面管理SaaS 図面をアップロードするだけで、キーワード等で検索可能に 発注実績と結びつけた管理も可能

  19. 19 TECHNOLOGY STACK 型の力を活かすなど、開発生産性を高められる技術選定をしています。 FRONTEND ・React ・TypeScript ・Styled-Components ・Next.js ・Storybook

    ・Jest ・Lerna ・Apollo Client BFF ・TypeScript ・Node.js ・NestJS (Express) ・Apollo Server BACKEND ・Rust ・diesel ・tonic ・Kotlin ・Micronaut ALGORITHM ・Rust ・Python ・OpenCV ・PyTorch ・GCP Dataflow ・Web Assembly GraphQL gRPC Infrastructure GCP, Docker, Kubernetes, BigQuery, Redash, Cloudflare, Datadog, MixPanel Event Bus Cloud PubSub, RabbitMQ DevOps GitHub, CircleCI, ArgoCD, Kustomize
  20. The Whole Product キャディの「プロダクト」の捉え方 “ Whole Product ” グローバル サプライチェーン

    生産管理 納期管理 中古機器売買 カタログ品:生産材調達 カタログ品:部品調達 ERP / 会計 材料調達 WEB CAD 図面自動 3D データ化 リアルタイム発注 図面・BOM 管理 CAM プロジェクト管理 スマート工場・IOT 物流最適化 ファイナンス CAD・設計最適化 SCM 受発注自動化 事業 開発 オペレー ション アルゴ リズム 受発注 システム Potential Product Augmented Product Expected Product Generic Product パートナー (受注者) カスタマー (発注者)
  21. 21 SERVICE HISTORY 板金 材料調 達 機械 加工 製罐 配電盤

    組立品/ 配線品 配管 プレス 加工品 鋳造 射出 成型 購入品 2017年 2021年~ 装置 一式 プラント 一式 創業当初は板金加工のみだったキャディは、 今では、装置一式やプラント一式を手掛けるようになり、売上・組織ともに急成長しています。
  22. 22 TO THE FUTURE 金属加工品の受発注から始まり、中長期で様々なアプリケーションを展開。 製造業の統合マーケットプレイスを目指します。 すでに5000社との取引があり、その取引データをすべて蓄積。町工場のデータベースも合わせ、世の中に存在し得なかったデータベースを構築。   図面自動 3Dデータ化

    図面・ BOM 管理 ファイナンス ( 投資・ファク タリング ) CAD 設計最適化 自動 見積もり ERP・ 会計 Web CAD CAM 材料調達 リアルタイム 発注 生産管理・ 納期管理 海外調達・ 海外販売 カタログ品: 生産材調達 スマート工場 ・IOT カタログ品: 部品調達 プロジェクト 管理 物流最適化 中古機械 売買 受発注 グローバル プラットフォーム化
  23. A B O U T Today's Speaker

  24. 24 Algorithm Engineer Shunsuke Nakamura 学生時代は主に単一画像超解像や画像の印象解析を研究。 2019年にDeNAに入社。画像生成・超解像の研究開発を行い、 その後ドライブレコーダーでの車内映像解析や学習モデルの 組み込みチームに所属し、Rustを触り始める。日本の大きな 力のポテンシャル解放に奔走するCADDiに惹かれ、2021年6月

    にジョイン。現在は図面解析の開発に携わる。 Algorithm Engineer Yuichiro Terada 大学卒業後、機械系の設計用3D CADを作成する会社に入社 し、その後C#を使った開発を行うために子会社へ異動。志半 ばで開発を終えることになってしまったプロダクトの土台を もとに新たな開発を行うため上司に誘われ新会社へ転職。 ソフトとオペレーションの双方が強い環境でビジネスを構築 したいという思いから2019年10月にキャディへジョイン。図 面系の研究開発チームをリード。
  25. Question 1 25 • AI Labの設立背景と、現在お二人が取り組んでいるこ とは何ですか?

  26. やりたいこと • 図面を自動で読み取りたい • データを活用したい

  27. 図面を自動で読み取りたい • 図面は画像 ◦ PDFで届く ◦ 紙に印刷してからスキャンされた画像も多い • 図面枚数が多いと大変 ◦

    1案件に1000枚の図面とか ◦ 加工の似た図面で分類して加工会社に発注 ◦ 仕様の不明点を顧客とすり合わせ ◦ 図面の差し替え • 検索したい ◦ 図番、材質、品名、加工指示、 etc ◦ 類似図面検索 • 分類したい ◦ 似た図面でグルーピング
  28. データを活用したい • 受発注の過程で大量のデータが生まれる ◦ 図面 ◦ 受注元・受注額、発注先・発注額 ◦ 他にも例えば、リードタイム、不良率、辞退率、 etc

    • データは宝 ◦ データを元に〇〇を提案 ◦ データを元に〇〇を推論 何かは分からないが「何かできそう」感はものすごくある
  29. 今日は図面の話

  30. なぜ図面なのか なぜ3DCADではないのか。 • 現実として、図面で発注頂くことが圧倒的に多いから • 図面には公差や表面粗さといった情報が載るから YSK様ホームページより引用 https://www.shaft.co.jp/products/special/special.html https://kakou-consul.com/ より引用

    3DCAD 必須 2D図面が必須
  31. 図面が「人が読む」前提 コンピュータで自動処理するように作られていない コンピュータで自動処理するように受発注取引がなされていない これが調達の効率化を妨げている 図面読み取りにブレークスルーがあれば、道がひとつ拓ける

  32. なぜAI? • 図面はアルゴリズムか機械学習か悩ましい ◦ 極めて人工的な画像 → アルゴリズムでそこそこ読めそうな気がする ◦ 紙をスキャンするとノイズが乗る →

    ヒューリスティックはつらくなりがち ◦ うまく使い分けられないか?( ← 今日のテーマ!) • 熟練した人のように図面を読みたい ◦ 熟練者は、パッと見で「機械加工」か「板金」か見分けられる ◦ 「パッと見の雰囲気による判別」は言語化できない ◦ 機械学習が向いているのではないか • 類似した図面を探したい ◦ 人はパッと見の印象で「似ている」「似ていない」が分かる ◦ これも機械学習向きに思える
  33. 取り組んでいること • Orama Unit ◦ 図面認識 ▪ テーブル情報(図番、材質、 etc)、寸法線、寸法値、記号、 etc

    ◦ 図面Diff ▪ 設計変更で差分が生じた箇所を強調表示 ◦ 類似図面検索(図面特徴量) ▪ AIによって駆逐されつつある …(もちろん良いこと) • AI Unit ◦ 図面認識 ▪ 矢印分類、ノイズ除去 ◦ 図面分類 ▪ 加工法・母材形状... ◦ 類似図面検索 ◦ 加工依頼先推薦
  34. Question 2 34 • アルゴリズムと機械学習がどのように協業しながら、 Labが解こうとしている課題に取り組んでいるのでしょ うか?

  35. What is Orama? Metadata: { “DrawingNumber”: “50-1”, “Material”: “A6063”, “PartName”:

    “モーターベース”, … } Alltexts: [“尺度”, “備考”, “製 図”, “検図”, 出図”, “1:2”, “加 藤”, “小橋”, ...] Input (PNG) Outputs Orama
  36. ベクター化

  37. 3つのフロー アルゴリズム 協業 アルゴリズム 出力 出力 出力 ベクター化 画像を直接 CNNへ

  38. いろんな寸法線

  39. 寸法線の特徴は矢印にあり!? 寸法線 寸法補助線 矢印 特徴 • 寸法線と寸法補助線が直交している • 寸法線には矢印が付いている

  40. ベクターデータで矢印認識は難しい ベクター化

  41. CNNだけで解く図面特有の難しさ • 画像サイズが非常に大きい(数千 px〜) ◦ 学習だけでなく、推論にも大きなコストがかかる • 記号がシンプルかつ小さい ◦ 図面記号はシンプル。異なる意味の記号が、形状としては非常に近いことも多い。

    そのためCNNが誤認識しやすい ◦ 画像サイズは大きいのに、記号のような CNNで特徴として注目したい領域は非常に小さい 単純に図面をCNNに入力しても、タスクを解けない・運用に耐えられない!
  42. ディープとアルゴがタッグ! アルゴリズムで矢印候補箇所を抽出 矢印かな? ディープで判定

  43. Question 3 43 • 所属されているチームでの、仕事や開発の進め方の具 体な話を教えてください

  44. AI Unit 組織 Tech AI Lab Orama Unit エンジニア4名 エンジニア4名

    AI Labの詳しい話はこちら! https://caddi.tech/archives/3003
  45. Scrum 等 • Daily 15分 (AI Unit + Orama Unit

    共同) ◦ 進捗報告、困りごと共有 ◦ お楽しみ雑談タイム • Refinement 30分/週(Unit 別に分かれて) ◦ 中核メンバーで次のスプリントでやることを決める • Sprint Planning(Unit 別に分かれて) ◦ チケットをメンバーにアサイン ◦ 1 sprint = 1 week (現時点では) • Sprint Review(Biz 系メンバーも含めた組織で) ◦ 他チームにも説明可能な成果を発表 • Mob Programming(AI Unit + Orama Unit 共同) ◦ 例)「ゼロから始める Deep Learning」を Rust で実装 • 勉強会(AI Unit + Orama Unit 共同) ◦ 論文紹介、技術トピックのサーベイ、アルゴリズム紹介、 etc
  46. Rust でアルゴリズムってどう? • 最高! • 速い ◦ 「可読性を犠牲にして速くなるように書く」をやらなくても速い ◦ rayon

    で並列化も簡単 • mutable が使えて、かつ安全 ◦ mutability の扱いが厳格。予期せぬ副作用でバグることがない。 ◦ アルゴリズムは mutable を使うほうが自然なものも多い。 • Iterator + メソッドチェイン ◦ 素直に immutable に書ける処理は immutable に ◦ map, flat_map, filter_map, etc • 保守性、可読性を保ったアルゴリズム開発 ◦ ヒューリスティックはスパゲッティになりがちだが ◦ Rust の力をうまく使えば、保守性を維持しつつチームで開発できる
  47. Rust × CNN • CNNの学習自体はPython+GCPで行う ◦ 既存の深層学習ライブラリ・コードを利用したい ◦ 開発者がPythonでの学習に慣れている ◦

    OramaにはPython wrapperが存在するのでデータのやり取りも可能 • 推論時はRustで行う ◦ Pythonで学習したモデルを ONNXに変換してRustからロードして使用する ◦ メリット ▪ 最高! ▪ アルゴリズムのコードの中に 1フローとして組み込める ▪ ビルド時にモデルをバイナリの中に含めることでスタンドアロンなバイナリにできる ▪ rayonで簡単に並列化できる ◦ デメリット ▪ ONNX互換なモデル構造である必要がある ▪ 推論時に前処理含めて CPUで十分高速に動くモデル構造である必要がある
  48. Communication, Documents Flow Stock Markdown でサクッと 書きたいとき 社内ドキュメントサーバ( MkDocs)

  49. テスト • Regression Test ◦ 前バージョンの図面認識結果と比較 ◦ 差分が生じていたら failure •

    性能評価 Test ◦ 正解データ(アノテーション)と比較 ◦ (項目名)Recall ◯%、Precision ◯% ◦ 中身がCNNに置き換わってもテストは同じ • anocci ◦ 図面用のアノテーションツール(自社開発)
  50. Question 4 50 • お互い(ML / アルゴ)に、相手がやっている手法に対 して、ここがすごい・・!と思う点を教えてください

  51. • AI Labが目指しているところと、今後どのような人と一緒 に仕事をしたいか教えてください Question 5 51

  52. あんなこといいな、できたらいいな • 図面 ◦ 寸法公差、各種記号の認識 ◦ DXF • 受発注データ ◦

    「どの顧客の」「どの部品が」「どの加工会社に」「幾らで発注された」という実績データ ◦ これらのデータと、図面から読み取ったデータが結びついたら、何ができる …? • 情物一致 ◦ 倉庫、拠点 • 検査 • 自動見積り • 加工会社選定 • 3DCAD • …
  53. A B O U T WORKING ENV

  54. 54 ATMOSPHERE Rust 板金 STUDDi :Tech Team 勉強会 Tech Blog

    CADDi BAR ? ? ? オフィス ※ 2019〜2020年2月撮影
  55. A B O U T TECH RECRUITING

  56. 56 EVENT

  57. 57 RECRUITING POSITION バックエンドエンジニア フロントエンドエンジニア プラットフォームエンジニア エンジニアリングマネージャー テクニカルサポート/TAM ジオメトリーエンジニア データサイエンスエンジニア

    MLエンジニア データエンジニア プロダクトマネージャー 詳しくは以下のURLを御覧ください https://herp.careers/v1/caddi/requisition-groups/9cea97 14-ced6-43c6-97a6-83dd15215549 SaaSエンジニア QAエンジニア
  58. ENTRY アンケートにご協力を お願いします。 @CaddiTech https://caddi.tech https://corp.caddi.jp/recruit/eng TECH BLOG RECRUIT SITE