Github上之實例
Table of contents
背景
diagram recognition in Github
Diagram Recognition
- gle8098/diagram-recognition
- Application that recognizes go diagrams and exports them to sgf
- game python go recognition sgf
- Jupyter Notebook·4·Updated on 2022年12月12日
- anuskina/DiagramRecognition
- C++·1·Updated on 2013年4月21日
- AmrAbuelfadl/Hand-Drawing-Diagram-Recognition
- A Deep Learning project which recognizes three hand drawn shapes (Square, Triangle, Circles) using CNN model and then we redraw again the shape using Opencv.
- Python·1·Updated on 2020年8月26日
UML
- kit-sdq/uml-diagram-recognition
- Jupyter Notebook·3·Updated on 2023年9月19日
- 中文摘要
- Temppus/ActivityDiagramRecognition
- AD
- C++·0·Updated on 2017年5月14日
- sikandar27666/Hand-Sketched-UML-Diagram-Recognition-and-Conversion
- Python·0·Updated on 2024年11月19日
- allangg107/Entity-Relationship-Diagram-Recognition
- ERDiagram
- C++·1·Updated on 2022年8月5日
- Joshua-Medvinsky/Recognition-and-Conversion-of-Hand-Drawn-ER-Diagrams
- C++·0·Updated on 2022年9月24日
Circuit Diagram Recognition
- daleysoftware/circuitsense
- C++·13·Updated on 2018年2月12日
- ketann26/Automatic-Circuit-Recognition
- XD-mu/Character-Recognition-of-Circuit-Diagram-Based-on-PaddleOCR
- MAC-Projects/PhotoCircuit
- dl423/web-app-for-circuit-analysis
- Aurusine/Electrical-Symbol-Recognition
Chess Diagram Recognition
- IlicStefan/ChessDiagramRecognition
- fratajczak/ChessDiagramOCR
- prokofyev/chess-diagram-recognition-with-keras
Chemical Diagram Recognition
Persistence Diagrams
- ChunyuanLI/Persistence_Diagram
- C++·6·Updated on 2018年10月23日
kit-sdq/uml-diagram-recognition
這個網頁(Updated on 2023年9月19日)是關於在卡爾斯魯厄理工學院 (KIT) 進行的實踐課程 “Werkzeuge für Agile Modellierung” 的代碼和材料。主要目標是研究、探索和開發一個使用 detectron2 來識別手繪草圖的神經網絡。代碼庫基於 detectron2 框架,它是 Meta AI Research 的下一代軟件系統,實現了最先進的目標檢測算法。這個模型是基於 Faster R-CNN 模型,修改為在 ROI head 中包含一個 keypoint regression layer。該模型的文件位於 src/sketch_detection_rcnn 文件夾中。
paper
- “Arrow R-CNN for handwritten diagram recognition” by Bernhard Schäfer.
- (“Arrow R-CNN for handwritten diagram recognition,” 2024)
General Image Recognition
Miscellaneous Applications
Engineering Drawings
Recognitions
- Lattle-y/AI-recognition-for-lq-ed
- Intelligent digital identification of low-quality electrical engineering drawings
- Python·4·Updated on 2024年2月27日
- Paliwal et al., 2021
- heyad/Eng_Diagrams
- Symbols classifications in Engineering Drawings (Multi-class imbalanced dataset)
- Jupyter Notebook·49·Updated on 2021年3月12日
- cvml-Robin/dimension_lines_detection
- engineering drawing recognition
Python·0·Updated on 2024年1月31日
- Haraton/dimension_lines_detection
- engineering drawing recognition
- Python·0·Updated on 2022年4月14日
- msm-amit-regmi/TitleBlock_Recognition
- This project is to detect titleblock of 2D engineering drawings.
- C++·0·Updated on 2021年2月17日
Lattle-y/AI-recognition-for-lq-ed
- source:Lattle-y/AI-recognition-for-lq-ed
- ref: Paliwal et al., 2021
- 掃描管道和儀表圖 (P&ID) 目前的數位化計畫涉及手動處理,因此非常耗時、費力且容易出錯。然而,現有的解決方案面臨許多挑戰,因為 P&ID 中的規模、尺寸和噪音各不相同,圖紙非常複雜且擁擠,並且解釋圖紙需要領域知識。
- 這促使我們開發出名為Digitize-PID 的當前解決方案,該解決方案由一個端到端管道組成,用於檢測P&ID 中的核心組件,如管道、符號和文字訊息,然後將它們相互關聯,最後驗證和修正輸出基於固有領域知識的數據。
- 本文提出了一種新穎、高效的基於核的線條檢測方法和基於細粒度深度識別技術的兩步驟複雜符號檢測方法。此外,我們還透過結合不同類型的雜訊和複雜符號,建立了一個註釋的合成資料集 Dataset-P&ID,其中包含 500 個 P&ID,可供公眾使用(目前還沒有公共 P&ID 資料集)。
- 我們在這個合成資料集和 12 張 P&ID 表的真實匿名私人資料集上評估了我們提出的方法。結果表明,Digitize-PID 的性能優於現有的 P&ID 數位化技術。
heyad/Eng_Diagrams
- source: heyad/Eng_Diagrams
- 這個 GitHub 儲存庫是關於「工程圖符號分類」的內容。其中包含一個包含 2432 個工程符號實例的多類不平衡數據集,這些符號是從管線和儀表圖(P&ID)中提取的。該數據集主要用於研究目的,旨在解決工程圖紋理的自動處理和分析中的挑戰。
- 儲存庫中的重點包括:
- 數據集被分為訓練集和測試集(80% 用於訓練,20% 用於測試),並進一步劃分為訓練集和驗證集。
- 使用卷積神經網絡(CNNs)來分析數據集,特別是對數據的不平衡性進行研究。
- 提供相關研究論文的參考文獻,可進一步探索在處理工程圖紋理時的先進方法。
- cite as follows:
- E. Elyan, C.G. Moreno and P. Johnston, “Symbols in Engineering Drawings (SiED): An Imbalanced Dataset Benchmarked by Convolutional Neural Networks”, In 2020 International Joint Conference of the 21st EANN (Engineering Applications of Neural Networks), EANN 2020. Proceedings of the International Neural Networks Society, vol 2. Springer, Cham, DOI https://doi.org/10.1007/978-3-030-48791-1_16
- For more advanced methods to handle engineering diagrams, please see:
- E. Elyan, L Jamieson, A. A. Gombe, “Deep learning for symbols detection and classification in engineering drawings”, Neural Networks, 129:91-102, 2020, Elsevier, DOI https://doi.org/10.1016/j.neunet.2020.05.025
- For using GANs to handle class-imbalance please see:
- A. A. Gombe, E. Elyan,“MFC-GAN: Class-imbalanced dataset classification using Multiple Fake Class Generative Adversarial Network”, Neurocomputing, 2019, Elsevier, DOI doi:https://doi.org/10.1016/j.neucom.2019.06.043 .
- The code to reproduce results can be found Here was developed by Dr. Adamu Ali-Gombe
Terminology
PD
Persistence Diagrams 是拓撲數據分析領域中的一個重要概念,它用於描述和分析數據的持續性特徵。
具體來說,Persistence Diagrams 是一種可視化工具,它能夠表示數據中的持續特徵,包括:
- 持續時間:
- 數據中存在的特徵或模式持續存在的時間長短。
- 在 Persistence Diagram 中以點的形式表示,點的位置代表特徵的出現時間和持續時間。
- 重要性:
- 數據中不同特徵或模式的重要性或顯著性。
- 在 Persistence Diagram 中以點的大小或顏色表示特徵的重要性。
- 階層結構:
- 數據中存在的多尺度或多層次的特徵。
- Persistence Diagram 能夠反映這種階層性,點的分佈和聚集反映了數據的層次結構。
- Persistence Diagram 最初是在計算拓撲學中提出的,但後來被廣泛應用於各種數據分析領域,如:
- 圖像分析
- 時間序列分析
- 網絡拓撲分析
- 生物信息學
通過 Persistence Diagram,數據分析人員可以更好地理解數據的內在結構和特徵,從而進行更有針對性的分析和建模。這種可視化工具對於發現隱藏的模式和關係,以及進行多尺度分析都非常有用。
總之,Persistence Diagram 是一種強大的數據分析工具,能夠提供數據持續性特徵的直觀表示,在很多領域都有廣泛的應用。
如[Li et al., 2014][Li et al., 2014]
[Li et al., 2014]: https://doi.org/10.1109/CVPR.2014.257 “Li, C., Ovsjanikov, M., Chazal, F. (2014). Persistence-Based Structural Recognition, in: 2014 IEEE Conference on Computer Vision and Pattern Recognition, Presented at the 2014 IEEE Conference on Computer Vision and Pattern Recognition, pp. 2003–2010. doi “
AD
Activity Diagram 是 UML (Unified Modeling Language) 中的一種行為建模圖,用於描述系統或業務流程的動態行為。
Activity Diagram 主要包含以下元素:
- 活動(Activity):表示一個具體的操作步驟或動作。
- 起始/結束節點:表示流程的開始和結束。
- 控制流:用箭頭表示活動之間的順序流向。
- 分支/合併:表示流程的分支和合併,用於描述並行或條件判斷。
- 泳道(Swimlane)::用於劃分不同參與者或部門的責任範圍。
通過 Activity Diagram,可以清楚地描述系統或業務流程中各個步驟的順序、分支、並行等動態行為。它有助於:
- 理解和溝通系統或業務流程的邏輯
- 識別流程中的瓶頸和問題
- 設計和優化流程的執行效率
Activity Diagram 通常用於以下場景:
- 系統開發過程中的需求分析和設計
- 業務流程再造和優化
- 工作流程的建模和自動化
- 軟件系統的功能和行為建模
總之,Activity Diagram 是 UML 中重要的行為建模工具,能夠直觀地描述系統或業務流程的動態行為,在軟件開發和業務分析中都有廣泛應用。
ERD
Entity-Relationship Diagram (E-R Diagram) 是一種用於描述數據庫結構的圖形化方法。它主要用於描述數據實體及其之間的關係。
E-R Diagram 的主要組成元素包括:
- 實體(Entity)
- 表示數據庫中的一個具體對象或概念,如用戶、產品、訂單等。
- 在圖中用矩形表示。
- 屬性(Attribute)
- 描述實體的特徵或性質,如用戶的名稱、年齡等。
- 在圖中用橢圓形表示,並連接到相應的實體。
- 關係(Relationship)
- 表示實體之間的聯繫或關聯,如用戶與訂單之間的關係。
- 在圖中用菱形表示,並用線連接相關的實體。
- 關係類型
- 描述實體之間關係的性質,如一對一、一對多、多對多等。
- 在關係線上標注關係類型。
通過 E-R Diagram,可以直觀地描述數據庫中實體及其之間的關係,有助於:
理解數據結構和模型 設計和優化數據庫架構 分析和解決數據存儲和關聯問題 為數據庫開發提供設計藍圖 E-R Diagram 通常用於以下場景:
- 數據庫設計和建模
- 軟件系統的需求分析和設計
- 業務流程再造和優化
- 數據倉庫和大數據分析
總之,E-R Diagram 是一種強大的數據建模工具,能夠直觀地描述數據實體及其之間的關係,在數據庫設計和軟件開發中都有廣泛應用。
Entity-Relationship Diagram (E-R Diagram) 是 UML (Unified Modeling Language) 中的一種建模技術。
UML 是一種標準化的建模語言,用於描述和設計軟件系統的結構和行為。UML 包含了多種不同類型的建模圖,E-R Diagram 就是其中之一。
具體來說,E-R Diagram 是 UML 中用於描述數據模型的一種圖形化表示方法。它主要用於:
- 描述數據庫中的實體(Entity)及其屬性(Attribute)。
- 表示實體之間的關係(Relationship)及其類型。
- 為數據庫設計提供一個直觀的概念模型。
E-R Diagram 作為 UML 的一部分,與其他 UML 圖形如用例圖、類圖、時序圖等一起,共同構成了 UML 的完整建模體系。
在軟件開發的生命週期中,E-R Diagram 通常用於需求分析和系統設計的階段,幫助開發人員更好地理解和設計數據模型。
因此,我們可以將 E-R Diagram 視為 UML 家族中專門用於數據建模的一種圖形化表示方法。它是 UML 標準的一部分,與其他 UML 建模技術一起,為軟件系統的分析和設計提供了強大的工具支持。
多類不平衡數據集
Multi-class imbalanced dataset 是機器學習領域中一個常見的問題。它指的是一個包含多個類別的數據集,但各個類別之間的樣本數量存在顯著不均衡。
這個問題的意義主要體現在以下幾個方面:
- 模型性能下降:
- 由於少數類別的樣本數量很少,模型很難準確學習到這些類別的特徵。
- 模型往往會傾向於預測更多數的類別,從而導致少數類別的預測性能下降。
- 評估指標失真:
- 傳統的評估指標如準確率、F1-score等,在類別不平衡的情況下會失真。
- 需要使用更合適的評估指標,如加權F1-score、宏觀F1-score等。
- 學習算法失效:
- 一些機器學習算法對類別不平衡問題比較敏感,如決策樹、SVM等。
- 需要使用特殊的學習算法或數據預處理技術來應對這一問題。
- 實際應用困難:
- 很多實際應用中都會遇到類別不平衡的問題,如欺詐檢測、醫療診斷等。
- 如何有效解決這一問題對於模型在實際場景中的部署和應用非常重要。
總之,multi-class imbalanced dataset 是機器學習領域中一個常見而又具有挑戰性的問題。解決這一問題不僅需要合適的算法和評估方法,還需要對問題本質有深入的理解。這是機器學習從業者需要重點關注和解決的問題之