Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Administrator
rvtouch3d-evaluation
Commits
bb599a8b
Commit
bb599a8b
authored
Sep 12, 2025
by
Administrator
Browse files
REAEMD.md 수정
parent
80cdf0be
Changes
1
Show whitespace changes
Inline
Side-by-side
README.md
View file @
bb599a8b
# 3D 객체인식 평가시스템
# 3D 객체인식 평가시스템
[

](https://github.com/your-repo/rvtouch3d-evaluation/actions)
[

](https://codecov.io/gh/your-repo/rvtouch3d-evaluation)
[

](https://opensource.org/licenses/MIT)
[

](https://opensource.org/licenses/MIT)
[

](https://www.python.org/downloads/)
[

](https://www.python.org/downloads/)
[

](https://www.docker.com/)
3D 객체인식 평가시스템은
3D 모델의 성능을 종합적으로 평가하는 고급
시스템입니다. 다양한 평가 지표
와 최신 기술을
활용하여 정확하고 신뢰할 수 있는 평가 결과를 제공합니다.
3D 객체인식 평가시스템은
TRELLIS 모델을 통해 변환된 3D 모델의 객체 인식 정확도를 측정하는
시스템입니다. 다양한 평가 지표
를
활용하여 정확하고 신뢰할 수 있는 평가 결과를 제공합니다.
## ✨ 주요 기능
## ✨ 주요 기능
...
@@ -13,27 +12,26 @@
...
@@ -13,27 +12,26 @@
-
**다중 지표 평가**
: 2D/3D mAP, Chamfer Distance, EMD, 클래스 정확도
-
**다중 지표 평가**
: 2D/3D mAP, Chamfer Distance, EMD, 클래스 정확도
-
**가중치 기반 점수**
: 사용자 정의 가중치로 맞춤형 평가
-
**가중치 기반 점수**
: 사용자 정의 가중치로 맞춤형 평가
-
**성능 등급**
: A-F 등급으로 직관적인 성능 표시
-
**성능 등급**
: A-F 등급으로 직관적인 성능 표시
-
**개선된 점수 정규화**
: 지표별 특성을 고려한 정규화 알고리즘
### 🚀 Empir3D 프레임워크
### 🎨 3D 렌더링 시스템
-
**해상도 평가**
: 점군 밀도와 메시 품질 분석
-
**정확도 평가**
: 기하학적 정확성과 형태 유사도
-
**커버리지 평가**
: 객체 표면 완전성 분석
-
**아티팩트 평가**
: 노이즈와 이상치 탐지
### 🧠 DeepEMD 기술
-
**Transformer 기반**
: 최신 딥러닝 기술 활용
-
**계산 복잡성 해결**
: 기존 EMD 계산의 성능 문제 해결
-
**고정밀도**
: 더 정확한 EMD 값 계산
### 🎨 SceneDreamer 통합
-
**3D 장면 생성**
: 고품질 3D 모델 자동 생성
-
**다각도 렌더링**
: 다양한 시점에서의 이미지 생성
-
**다각도 렌더링**
: 다양한 시점에서의 이미지 생성
-
**객체 탐지**
: 복잡한 장면에서의 다중 객체 탐지
-
**OSMesa 지원**
: 헤드리스 렌더링 환경 지원
-
**고품질 렌더링**
: 512x512 해상도로 고품질 이미지 생성
### 🔧 자동화 시스템
-
**자동 카메라 설정**
: 최적의 카메라 위치 자동 계산
-
**CI/CD 파이프라인**
: GitHub Actions 기반 자동화
### 📊 평가 지표
-
**2D mAP**
: 2D 객체 탐지 정확도 측정
-
**3D mAP**
: 3D 객체 탐지 정확도 측정
-
**Chamfer Distance**
: 3D 기하학적 유사성 측정
-
**EMD (Earth Mover's Distance)**
: 3D 분포 유사성 측정
-
**클래스 정확도**
: 객체 분류 정확도 측정
### 🔧 시스템 기능
-
**Docker 지원**
: 컨테이너화된 배포 환경
-
**자동 테스트**
: 단위, 통합, 성능 테스트
-
**자동 테스트**
: 단위, 통합, 성능 테스트
-
**코드 품질**
: 린팅, 포맷팅, 타입 체크
-
**성능 모니터링**
: 메모리 사용량 및 실행 시간 추적
-
**상세 로깅**
: 평가 과정의 상세한 로그 기록
## 📋 시스템 요구사항
## 📋 시스템 요구사항
...
@@ -63,6 +61,7 @@ pip install -r requirements.txt
...
@@ -63,6 +61,7 @@ pip install -r requirements.txt
### 2. 기본 사용법
### 2. 기본 사용법
#### Python 코드로 실행
```
python
```
python
from
src.evaluator
import
Evaluator
from
src.evaluator
import
Evaluator
...
@@ -80,20 +79,30 @@ print(f"종합 점수: {result['comprehensive_score']:.2f}")
...
@@ -80,20 +79,30 @@ print(f"종합 점수: {result['comprehensive_score']:.2f}")
print
(
f
"성능 등급:
{
result
[
'grade'
]
}
"
)
print
(
f
"성능 등급:
{
result
[
'grade'
]
}
"
)
```
```
### 3. Empir3D 사용법
#### 명령행으로 실행
```
bash
# 기본 실행
python main.py
--model
path/to/model.glb
--reference
path/to/reference.jpg
# 출력 디렉토리 지정
python main.py
--model
model.glb
--reference
reference.jpg
--output
results/
```
python
# 시각화 포함
from
src.metrics.empir3d_evaluator
import
Empir3DEvaluator
python main.py
--model
model.glb
--reference
reference.jpg
--visualize
# 상세 로그
python main.py
--model
model.glb
--reference
reference.jpg
--log-level
DEBUG
```
# Empir3D 평가기 초기화
### 3. Docker로 실행
evaluator
=
Empir3DEvaluator
()
# 3D 모델 평가
```
bash
result
=
evaluator
.
evaluate_3d_model
(
model_3d
,
ground_truth_3d
)
# Docker 이미지 빌드
docker build
-t
rvtouch3d-evaluation
.
print
(
f
"Empir3D 점수:
{
result
[
'empir3d_score'
]:.
2
f
}
"
)
# Docker 컨테이너 실행
print
(
f
"해상도:
{
result
[
'resolution'
][
'score'
]:.
2
f
}
"
)
docker run
-v
$(
pwd
)
/data:/app/data
-v
$(
pwd
)
/results:/app/results
\
print
(
f
"정확도:
{
result
[
'accuracy'
][
'score'
]:.
2
f
}
"
)
rvtouch3d-evaluation
--model
data/model.glb
--reference
data/reference.jpg
```
```
## 📚 문서
## 📚 문서
...
@@ -129,68 +138,307 @@ open htmlcov/index.html
...
@@ -129,68 +138,307 @@ open htmlcov/index.html
시스템 설정은
`config/evaluation_config.py`
에서 관리됩니다:
시스템 설정은
`config/evaluation_config.py`
에서 관리됩니다:
### 평가 가중치 설정
```
python
```
python
# 평가 가중치
EVALUATION_WEIGHTS
=
{
EVALUATION_WEIGHTS
=
{
'2d_map'
:
0.25
,
'2d_map'
:
0.25
,
# 2D mAP 가중치 (25%)
'3d_map'
:
0.30
,
'3d_map'
:
0.30
,
# 3D mAP 가중치 (30%)
'chamfer_distance'
:
0.20
,
'chamfer_distance'
:
0.20
,
# Chamfer Distance 가중치 (20%)
'emd'
:
0.15
,
'emd'
:
0.15
,
# EMD 가중치 (15%)
'class_accuracy'
:
0.10
'class_accuracy'
:
0.10
# 클래스 정확도 가중치 (10%)
}
```
**가중치 설명:**
각 지표는 3D 모델의 서로 다른 측면을 평가하며, 가중치는 전체 점수에서 각 지표가 차지하는 비중을 나타냅니다. 총 가중치는 1.0(100%)입니다.
-
**2D mAP (0.25 = 25%)**
:
-
**의미**
: 2D 이미지에서 객체를 얼마나 정확하게 찾아내는지 측정
-
**예시**
: 의자를 찍은 사진에서 "의자가 여기 있다"고 정확히 표시하는 능력
-
**왜 25%인가**
: 2D는 3D 모델의 한 면만 보여주므로 상대적으로 낮은 비중
-
**영향**
: 2D 성능이 좋지 않아도 다른 지표로 보완 가능
-
**3D mAP (0.30 = 30%)**
:
-
**의미**
: 3D 공간에서 객체의 위치와 크기를 얼마나 정확하게 파악하는지 측정
-
**예시**
: 의자의 3D 위치, 크기, 방향을 정확히 인식하는 능력
-
**왜 30%인가**
: 3D 모델의 핵심 기능이므로 가장 높은 비중
-
**영향**
: 3D 성능이 전체 평가에 가장 큰 영향을 미침
-
**Chamfer Distance (0.20 = 20%)**
:
-
**의미**
: 3D 모델의 모양이 실제 객체와 얼마나 비슷한지 측정
-
**예시**
: 의자 모델이 실제 의자와 형태적으로 얼마나 유사한지 비교
-
**왜 20%인가**
: 모양의 정확성은 중요한 평가 요소
-
**영향**
: 모델이 실제 객체와 비슷할수록 높은 점수
-
**EMD (0.15 = 15%)**
:
-
**의미**
: 3D 모델의 점 분포가 실제 객체의 점 분포와 얼마나 일치하는지 측정
-
**예시**
: 의자 표면의 점들이 실제 의자의 표면 분포와 얼마나 비슷한지
-
**왜 15%인가**
: 세밀한 분포 비교이지만 상대적으로 낮은 비중
-
**영향**
: 모델의 세부적인 품질을 평가
-
**클래스 정확도 (0.10 = 10%)**
:
-
**의미**
: 3D 모델이 어떤 종류의 객체인지 얼마나 정확하게 분류하는지 측정
-
**예시**
: "이것은 의자다", "이것은 테이블이다"라고 정확히 구분하는 능력
-
**왜 10%인가**
: 분류는 상대적으로 단순한 작업이므로 가장 낮은 비중
-
**영향**
: 기본적인 인식 능력을 평가하지만 전체 점수에는 적은 영향
**가중치 조정 가이드:**
-
3D 성능을 더 중시하고 싶다면 → 3D mAP 가중치를 높이세요
-
모양의 정확성을 더 중요하게 생각한다면 → Chamfer Distance 가중치를 높이세요
-
2D 성능도 중요하다면 → 2D mAP 가중치를 높이세요
-
모든 가중치의 합은 1.0이 되도록 조정해야 합니다
### 평가 임계값 설정
```
python
EVALUATION_THRESHOLDS
=
{
'2d_map'
:
0.8
,
# 2D mAP 임계값 (80% 이상이면 우수)
'3d_map'
:
0.7
,
# 3D mAP 임계값 (70% 이상이면 우수)
'chamfer_distance'
:
0.3
,
# Chamfer Distance 임계값 (0.3 이하면 우수)
'emd'
:
0.3
,
# EMD 임계값 (0.3 이하면 우수)
'class_accuracy'
:
0.8
# 클래스 정확도 임계값 (80% 이상이면 우수)
}
}
```
# 렌더링 설정
**임계값 설명:**
임계값은 각 지표에서 "우수한 성능"으로 간주되는 기준점입니다. 이 값들을 기준으로 점수가 정규화됩니다.
-
**2D mAP (0.8 = 80%)**
:
-
**의미**
: 2D 이미지에서 객체를 80% 이상 정확하게 찾아내면 우수
-
**예시**
: 100개의 의자 중 80개 이상을 정확히 찾아내면 우수한 성능
-
**점수 계산**
: 80% = 70점, 90% = 85점, 100% = 100점
-
**조정 가이드**
: 더 엄격하게 평가하려면 0.9로, 관대하게 평가하려면 0.7로 설정
-
**3D mAP (0.7 = 70%)**
:
-
**의미**
: 3D 공간에서 객체를 70% 이상 정확하게 인식하면 우수
-
**예시**
: 3D 공간에서 의자의 위치, 크기, 방향을 70% 이상 정확히 파악하면 우수
-
**점수 계산**
: 70% = 70점, 80% = 85점, 90% = 95점
-
**조정 가이드**
: 3D는 2D보다 어려우므로 상대적으로 낮은 임계값 사용
-
**Chamfer Distance (0.3)**
:
-
**의미**
: 모델과 실제 객체 간의 평균 거리가 0.3 이하면 우수
-
**예시**
: 의자 모델의 각 점이 실제 의자와 평균 0.3 단위 이하로 떨어져 있으면 우수
-
**점수 계산**
: 0.1 = 95점, 0.3 = 70점, 0.5 = 50점
-
**조정 가이드**
: 더 정밀한 모양을 원한다면 0.2로, 관대하게 평가하려면 0.5로 설정
-
**EMD (0.3)**
:
-
**의미**
: 점 분포의 유사성이 0.3 이하면 우수
-
**예시**
: 의자 표면의 점 분포가 실제 의자와 0.3 이하의 차이를 보이면 우수
-
**점수 계산**
: 0.1 = 95점, 0.3 = 70점, 0.5 = 50점
-
**조정 가이드**
: 세밀한 분포를 중시한다면 0.2로, 관대하게 평가하려면 0.5로 설정
-
**클래스 정확도 (0.8 = 80%)**
:
-
**의미**
: 객체를 80% 이상 정확하게 분류하면 우수
-
**예시**
: 100개의 객체 중 80개 이상을 올바른 클래스(의자, 테이블 등)로 분류하면 우수
-
**점수 계산**
: 80% = 70점, 90% = 85점, 100% = 100점
-
**조정 가이드**
: 분류 정확도를 더 중시한다면 0.9로, 관대하게 평가하려면 0.7로 설정
**임계값 조정 팁:**
-
**더 엄격한 평가**
: 모든 임계값을 10-20% 높이세요
-
**더 관대한 평가**
: 모든 임계값을 10-20% 낮추세요
-
**특정 지표 중시**
: 해당 지표의 임계값만 조정하세요
-
**실제 성능 확인**
: 여러 모델을 테스트하여 적절한 임계값을 찾으세요
### 렌더링 설정
```
python
RENDERING_CONFIG
=
{
RENDERING_CONFIG
=
{
'num_views'
:
36
,
'num_views'
:
36
,
# 렌더링할 뷰의 개수 (36개 방향)
'image_size'
:
(
512
,
512
),
'image_size'
:
(
512
,
512
),
# 렌더링 이미지 크기 (가로x세로)
'camera_distance'
:
2.0
,
'camera_distance'
:
2.0
,
# 카메라와 객체 간 거리
'camera_elevation'
:
30.0
'camera_elevation'
:
30.0
,
# 카메라 고도각 (도)
'num_views_for_evaluation'
:
8
# 평가용 뷰 개수 (성능 최적화)
}
}
```
```
**렌더링 파라미터 설명:**
-
**num_views (36)**
: 객체를 36개 방향에서 렌더링하여 다양한 시점의 이미지를 생성합니다.
-
**image_size (512x512)**
: 각 렌더링 이미지의 해상도입니다. 높을수록 정확하지만 처리 시간이 증가합니다.
-
**camera_distance (2.0)**
: 카메라와 객체 중심점 간의 거리입니다. 객체가 화면에 적절히 보이도록 조정됩니다.
-
**camera_elevation (30.0)**
: 카메라의 수직 각도입니다. 30도는 객체를 위에서 내려다보는 각도입니다.
-
**num_views_for_evaluation (8)**
: 실제 평가에 사용할 뷰의 개수입니다. 성능 최적화를 위해 전체 뷰 중 일부만 사용합니다.
### 점군 생성 설정
```
python
POINTCLOUD_CONFIG
=
{
'num_points'
:
10000
,
# 기본 점군 점의 개수
'num_points_emd'
:
5000
,
# EMD 계산용 점의 개수
'num_points_chamfer'
:
10000
# Chamfer Distance 계산용 점의 개수
}
```
**점군 파라미터 설명:**
-
**num_points (10000)**
: 3D 모델에서 생성할 기본 점군의 점 개수입니다.
-
**num_points_emd (5000)**
: EMD 계산 시 사용할 점의 개수입니다. EMD는 계산 복잡도가 높아 적은 점을 사용합니다.
-
**num_points_chamfer (10000)**
: Chamfer Distance 계산 시 사용할 점의 개수입니다.
### 성능 등급 기준
```
python
GRADE_THRESHOLDS
=
{
'A'
:
90.0
,
# A등급: 90점 이상 (우수)
'B'
:
80.0
,
# B등급: 80점 이상 (양호)
'C'
:
70.0
,
# C등급: 70점 이상 (보통)
'D'
:
60.0
,
# D등급: 60점 이상 (미흡)
'F'
:
0.0
# F등급: 60점 미만 (부족)
}
```
**등급 기준 설명:**
-
**A등급 (90점 이상)**
: 우수한 성능으로 모든 지표에서 높은 점수를 받은 모델
-
**B등급 (80-89점)**
: 양호한 성능으로 대부분의 지표에서 좋은 점수를 받은 모델
-
**C등급 (70-79점)**
: 보통 성능으로 일부 지표에서 개선이 필요한 모델
-
**D등급 (60-69점)**
: 미흡한 성능으로 여러 지표에서 개선이 필요한 모델
-
**F등급 (60점 미만)**
: 부족한 성능으로 전반적인 개선이 필요한 모델
### 클래스 분류 설정
```
python
CLASSIFICATION_CONFIG
=
{
'num_classes'
:
10
,
# 예상 클래스 개수
'class_names'
:
[
# 클래스 이름 리스트
'chair'
,
'table'
,
'sofa'
,
'bed'
,
'desk'
,
'bookshelf'
,
'lamp'
,
'cabinet'
,
'door'
,
'window'
],
'clustering_enabled'
:
True
,
# 클러스터링 기반 분류 사용 여부
'num_clusters'
:
5
# 클러스터 개수
}
```
**클래스 분류 파라미터 설명:**
-
**num_classes (10)**
: 시스템이 인식할 수 있는 객체 클래스의 총 개수입니다.
-
**class_names**
: 인식 가능한 객체 클래스들의 이름 리스트입니다. 가구류 중심으로 구성되어 있습니다.
-
**clustering_enabled (True)**
: 클러스터링 기반 분류 방법을 사용할지 여부입니다.
-
**num_clusters (5)**
: 클러스터링 시 사용할 클러스터의 개수입니다.
### IoU 임계값 설정
```
python
IOU_THRESHOLDS
=
{
'2d_iou'
:
[
0.5
,
0.75
],
# 2D IoU 임계값 리스트
'3d_iou'
:
[
0.5
,
0.7
]
# 3D IoU 임계값 리스트
}
```
**IoU 임계값 설명:**
-
**2d_iou [0.5, 0.75]**
: 2D 객체 탐지에서 사용하는 IoU 임계값들입니다. 0.5와 0.75에서 mAP를 계산합니다.
-
**3d_iou [0.5, 0.7]**
: 3D 객체 탐지에서 사용하는 IoU 임계값들입니다. 3D에서는 일반적으로 더 낮은 임계값을 사용합니다.
### 출력 설정
```
python
OUTPUT_CONFIG
=
{
'save_images'
:
True
,
# 렌더링된 이미지 저장 여부
'save_pointclouds'
:
False
,
# 점군 데이터 저장 여부
'generate_report'
:
True
,
# 리포트 생성 여부
'report_format'
:
'html'
,
# 리포트 형식 ('html', 'json', 'txt')
'visualize_results'
:
True
# 결과 시각화 여부
}
```
**출력 설정 설명:**
-
**save_images (True)**
: 렌더링된 이미지들을 파일로 저장할지 여부입니다.
-
**save_pointclouds (False)**
: 생성된 점군 데이터를 파일로 저장할지 여부입니다. 기본적으로 저장하지 않습니다.
-
**generate_report (True)**
: 평가 결과 리포트를 생성할지 여부입니다.
-
**report_format ('html')**
: 생성할 리포트의 형식입니다. HTML, JSON, 텍스트 중 선택할 수 있습니다.
-
**visualize_results (True)**
: 평가 결과를 시각화할지 여부입니다.
### 성능 최적화 설정
```
python
PERFORMANCE_CONFIG
=
{
'parallel_processing'
:
True
,
# 병렬 처리 사용 여부
'max_workers'
:
4
,
# 최대 워커 수
'memory_limit_gb'
:
8
,
# 메모리 제한 (GB)
'cache_enabled'
:
True
,
# 캐시 사용 여부
'cache_size_mb'
:
100
# 캐시 크기 (MB)
}
```
**성능 최적화 파라미터 설명:**
-
**parallel_processing (True)**
: 병렬 처리를 사용하여 평가 속도를 향상시킬지 여부입니다.
-
**max_workers (4)**
: 병렬 처리 시 사용할 최대 워커(스레드) 수입니다.
-
**memory_limit_gb (8)**
: 시스템이 사용할 수 있는 최대 메모리 제한입니다.
-
**cache_enabled (True)**
: 중간 결과를 캐시하여 반복 계산을 줄일지 여부입니다.
-
**cache_size_mb (100)**
: 캐시에 사용할 메모리 크기입니다.
### 검증 설정
```
python
VALIDATION_CONFIG
=
{
'validate_input_files'
:
True
,
# 입력 파일 검증 여부
'check_file_formats'
:
True
,
# 파일 형식 검증 여부
'min_file_size_kb'
:
1
,
# 최소 파일 크기 (KB)
'max_file_size_mb'
:
100
# 최대 파일 크기 (MB)
}
```
**검증 설정 설명:**
-
**validate_input_files (True)**
: 입력 파일들의 유효성을 검증할지 여부입니다.
-
**check_file_formats (True)**
: 파일 형식이 지원되는지 검증할지 여부입니다.
-
**min_file_size_kb (1)**
: 허용되는 최소 파일 크기입니다. 너무 작은 파일은 오류일 가능성이 높습니다.
-
**max_file_size_mb (100)**
: 허용되는 최대 파일 크기입니다. 메모리 사용량을 제한하기 위한 설정입니다.
## 🏗️ 아키텍처
## 🏗️ 아키텍처
```
```
src/
src/
├── evaluator.py # 메인 평가기
├── evaluator.py # 메인 평가기
├── data_loader.py # 데이터 로더
├── renderer.py # 3D 렌더러
├── visualizer.py # 결과 시각화
├── metrics/ # 평가 지표
├── metrics/ # 평가 지표
│ ├── empir3d_evaluator.py # Empir3D 평가기
│ ├── map_2d.py # 2D mAP 계산기
│ ├── deep_emd_calculator.py # DeepEMD 계산기
│ ├── map_3d.py # 3D mAP 계산기
│ ├── resolution_calculator.py # 해상도 계산기
│ ├── chamfer_distance.py # Chamfer Distance 계산기
│ ├── accuracy_calculator.py # 정확도 계산기
│ ├── emd.py # EMD 계산기
│ ├── coverage_calculator.py # 커버리지 계산기
│ ├── class_accuracy.py # 클래스 정확도 계산기
│ └── artifact_calculator.py # 아티팩트 계산기
│ └── accuracy_calculator.py # 정확도 계산기
├── renderer/ # 렌더링
├── utils/ # 유틸리티
│ └── improved_renderer.py # 개선된 렌더러
│ ├── reference_extractor.py # 참조 데이터 추출기
├── generators/ # 생성기
│ ├── exception_handler.py # 예외 처리기
│ └── scene_dreamer.py # SceneDreamer
│ ├── normalization_validator.py # 정규화 검증기
├── integration/ # 통합
│ ├── performance_monitor.py # 성능 모니터링
│ └── scene_detection.py # 장면 탐지
│ ├── logging_utils.py # 로깅 유틸리티
├── models/ # 모델
│ ├── config_validator.py # 설정 검증기
│ └── transformer_emd.py # Transformer EMD
│ └── system_monitor.py # 시스템 모니터링
└── utils/ # 유틸리티
├── config/
├── reference_extractor.py # 참조 데이터 추출기
│ └── evaluation_config.py # 평가 설정
├── exception_handler.py # 예외 처리기
├── tests/ # 테스트
└── normalization_validator.py # 정규화 검증기
│ ├── automated_tests.py # 자동화 테스트
```
│ ├── test_coverage.py # 커버리지 테스트
│ ├── test_metrics.py # 지표 테스트
## 🚀 CI/CD 파이프라인
│ └── test_evaluator.py # 평가기 테스트
└── main.py # 메인 실행 파일
GitHub Actions를 통한 자동화된 파이프라인:
```
-
**테스트**
: 단위, 통합, 성능 테스트
## 🚀 자동화 및 테스트
-
**코드 품질**
: 린팅, 포맷팅, 타입 체크
-
**보안**
: 보안 취약점 스캔
### 자동화된 테스트 시스템
-
**배포**
: 자동 배포 및 릴리스
-
**단위 테스트**
: 개별 모듈별 기능 테스트
-
**통합 테스트**
: 전체 시스템 통합 테스트
## 📊 성능 벤치마크
-
**성능 테스트**
: 메모리 사용량 및 실행 시간 테스트
-
**커버리지 테스트**
: 코드 커버리지 측정
| 지표 | 기존 시스템 | 개선된 시스템 | 향상도 |
|------|-------------|---------------|--------|
### Docker 지원
| 평가 시간 | 5-10분 | 1-3분 | 60-70% |
-
**컨테이너화**
: 완전한 Docker 환경 지원
| 메모리 사용량 | 8-12GB | 4-6GB | 50% |
-
**OSMesa 렌더링**
: 헤드리스 렌더링 환경
| 정확도 | 85% | 95% | 10% |
-
**의존성 관리**
: 모든 필요한 라이브러리 포함
| 안정성 | 70% | 95% | 25% |
## 📊 성능 특징
### 평가 지표
-
**2D mAP**
: 2D 객체 탐지 정확도 (0.0-1.0)
-
**3D mAP**
: 3D 객체 탐지 정확도 (0.0-1.0)
-
**Chamfer Distance**
: 3D 기하학적 유사성 (낮을수록 좋음)
-
**EMD**
: 3D 분포 유사성 (낮을수록 좋음)
-
**클래스 정확도**
: 객체 분류 정확도 (0.0-1.0)
### 성능 등급 기준
-
**A등급**
: 90점 이상 (우수)
-
**B등급**
: 80점 이상 (양호)
-
**C등급**
: 70점 이상 (보통)
-
**D등급**
: 60점 이상 (미흡)
-
**F등급**
: 60점 미만 (부족)
### 시스템 요구사항
-
**평가 시간**
: 일반적으로 1-5분 (모델 복잡도에 따라)
-
**메모리 사용량**
: 4-8GB (모델 크기에 따라)
-
**지원 형식**
: GLB, OBJ, PLY 등 3D 모델 형식
## 🤝 기여하기
## 🤝 기여하기
...
@@ -207,9 +455,12 @@ GitHub Actions를 통한 자동화된 파이프라인:
...
@@ -207,9 +455,12 @@ GitHub Actions를 통한 자동화된 파이프라인:
## 🙏 감사의 말
## 🙏 감사의 말
-
[
Open3D
](
https://github.com/isl-org/Open3D
)
- 3D 데이터 처리
-
[
Open3D
](
https://github.com/isl-org/Open3D
)
- 3D 데이터 처리
-
[
PyTorc
h
](
https://
pytorch.org/
)
- 딥러닝 프레임워크
-
[
Trimes
h
](
https://
github.com/mikedh/trimesh
)
- 3D 메시 처리
-
[
Ultralytics
](
https://github.com/ultralytics/ultralytics
)
- YOLO 모델
-
[
Ultralytics
](
https://github.com/ultralytics/ultralytics
)
- YOLO 모델
-
[
OpenCV
](
https://opencv.org/
)
- 컴퓨터 비전
-
[
OpenCV
](
https://opencv.org/
)
- 컴퓨터 비전
-
[
PyTorch
](
https://pytorch.org/
)
- 딥러닝 프레임워크
-
[
NumPy
](
https://numpy.org/
)
- 수치 계산
-
[
Matplotlib
](
https://matplotlib.org/
)
- 시각화
## 📞 지원
## 📞 지원
...
@@ -219,18 +470,15 @@ GitHub Actions를 통한 자동화된 파이프라인:
...
@@ -219,18 +470,15 @@ GitHub Actions를 통한 자동화된 파이프라인:
## 🔄 업데이트 로그
## 🔄 업데이트 로그
### v2.0.0 (2024-01-15)
### v1.0.0 (2024-01-15)
-
✨ Empir3D 프레임워크 도입
-
🎯 기본 3D 객체인식 평가 시스템
-
🚀 DeepEMD 기술 적용
-
📊 2D/3D mAP, Chamfer Distance, EMD, 클래스 정확도 계산
-
🎨 SceneDreamer 통합
-
🎨 다각도 3D 렌더링 시스템
-
🔧 자동화 시스템 구축
-
🐳 Docker 지원 및 OSMesa 헤드리스 렌더링
-
📚 완전한 문서화
-
🔧 자동화된 테스트 시스템
-
📚 상세한 문서화 및 API 레퍼런스
### v1.0.0 (2023-12-01)
-
🎛️ 설정 가능한 평가 가중치 및 임계값
-
🎯 기본 평가 시스템
-
📈 성능 모니터링 및 상세 로깅
-
📊 2D/3D mAP 계산
-
🎨 렌더링 시스템
-
🔧 기본 테스트
---
---
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment