3.0 KiB
3.0 KiB
P&ID 위상 모델링 임계값 튜닝 및 로직 개선 계획
1. 현황 분석
No-10_Plant_PID.dxf 파일 테스트 결과, 기능적 파이프라인은 정상 작동하나 위상 연결성이 매우 낮음.
- 결과: 노드 28,257개 / 엣지 4,045개 (대부분의 노드가 고립됨)
- 원인:
- 현재 설정된
dist_threshold(50.0) 및tag_threshold(100.0)가 도면의 실제 스케일에 비해 너무 작음. - 단순 End-point 기반 연결 로직으로 인해 미세한 간격 차이로 연결이 누락됨.
- 노드 병합(Merging) 로직 부재로 인해 동일 객체가 여러 노드로 분산 추출되었을 가능성이 큼.
- 현재 설정된
2. 개선 목표
- 도면 스케일에 최적화된 임계값(Threshold) 도출.
- 연결성 향상을 위한 기하학적 매칭 로직 고도화.
- 중복/분산 노드 병합을 통한 그래프 단순화 및 정확도 향상.
3. 세부 개선 방안
3.1 임계값 튜닝 (Threshold Tuning)
- 동적 임계값 분석:
- 도면 내 엔티티 간의 평균 거리 및 태그-설비 간 거리를 샘플링하여 통계적 임계값 산출.
dist_threshold(배관-설비 연결 거리) 및tag_threshold(태그-설비 연관 거리) 최적화.
- 설정 파일 분리: 하드코딩된 값을 제거하고 도면별/프로젝트별 설정 파일(
config.json)을 통해 관리.
3.2 연결 로직 고도화 (Topology Logic Revise)
- End-point
\rightarrowProximity 기반 확장:- 단순 End-point 거리 측정에서 벗어나, 배관(Line)의 전체 경로와 설비 BBox 간의 최단 거리(
distance)를 계산하여 연결 판단.
- 단순 End-point 거리 측정에서 벗어나, 배관(Line)의 전체 경로와 설비 BBox 간의 최단 거리(
- 스냅(Snapping) 메커니즘 도입:
- 임계값 이내의 점들을 하나의 가상 정점으로 병합하여 연결 누락 방지.
- 방향성 추론 개선:
- 현재의 단순 순서 기반 엣지 생성을 넘어, 화살표 심볼(Arrow) 또는 공정 흐름 방향성을 분석하여
DiGraph엣지 방향 결정.
- 현재의 단순 순서 기반 엣지 생성을 넘어, 화살표 심볼(Arrow) 또는 공정 흐름 방향성을 분석하여
3.3 노드 병합 및 정제 (Node Merging & Cleaning)
- 기하학적 중복 제거:
- BBox가 거의 일치하거나 겹치는 동일 타입 노드들을 하나로 병합.
- 태그 기반 그룹화:
- 동일한 태그 값을 가진 분산 텍스트 노드들을 하나의 논리적 태그 노드로 통합.
- 고립 노드 필터링:
- 유의미한 연결이 없는 미세 엔티티(Noise)를 제거하여 그래프 복잡도 감소.
4. 실행 단계 (Roadmap)
- [분석]
shared_geo_data.json을 분석하여 엔티티 간 거리 분포 히스토그램 작성\rightarrow최적 임계값 후보 선정. - [구현]
pid_topology_builder.py에 Proximity 기반 연결 로직 및 노드 병합 기능 추가. - [검증]
test_pipeline_phase2.py를 수정하여 튜닝된 임계값 적용 후isolated_nodes비율 감소 확인. - [최적화] 영향도 분석(
analyze_impact) 결과가 실제 공정 흐름과 일치하는지 검토 및 미세 조정.