shape_pca — SHAPESTAT model op

• 데이터 종류: shapeset → shapemodel

• 호출: import fullseye as fs; fs.ledger.shape_pca(shapes, n_components: 'int' = 0, align: 'bool' = True)(구현을 직접 호출하려면 import shapestats; shapestats.shape_pca(shapes, n_components: 'int' = 0, align: 'bool' = True), 원장에서 가져오려면 opsshapestat.get("shape_pca"))

사용법

형태 PCA(통계적 형상 모델). → dict(shapemodel).

반환하는 사전: mean (N,3) / components (k, N*3) / variance (k,) / n_points / total_variance / aligned (K,N,3).

n_components=0(기본값)은 min(K-1, N*3) 개 전부. align=True 이면 먼저 generalized_procrustes 를 건다(맞추지 않고 PCA 를 하면 제 1 주성분이 "위치의 차이"가 되어 형상 이야기가 사라진다).

★ 분산은 표본분산(K-1 로 나눈다). K 가 작으면 고윳값은 계통적으로 크게나온다. 개체 수가 두 자릿수에 이르기 전에는 고윳값 자체보다 비를 볼 것.

★★ align=True 는 "크기의 차이"도 없애므로, 크기에 가까운 모드의 분산을먹는다. shape_synth_family 는 제 1 모드를 "장축의 신축", 제 2 를 "굽힘"으로 해 두었고, 가중치의 비는 0.30 : 0.12 이므로 분산비의 참값은 6.25. 실측(K=40, N=80, seed=7):

========================== ========== ======================

전처리 분산비 기여율(제 1 / 제 2)

========================== ========== ======================

align=False 6.981 0.8747 / 0.1253

GPA(scaling=False) 6.981 0.8747 / 0.1253

align=True(기본값) 2.565 0.7188 / 0.2803

========================== ========== ======================

늘어남은 균일 확대와 매우 비슷하므로, Procrustes 의 스케일 제거가 그 절반 이상을가져간다. 오류가 아니라 정의의 귀결 —— "크기를 형질로 셀지"를먼저 정해 두지 않으면 같은 데이터에서 다른 주성분이 나온다. 성장이나 체격 차이를 형상 이야기에포함하고 싶다면 align=False(또는 generalized_procrustes(scaling=False) 를 거친 뒤 align=False)로 할 것.

자세한 사용 가이드

• shape_statistics 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• shapestat_landmark_tour — py -3.11 examples/shapestat_landmark_tour.py

타입이 이어지는 다음 연산자(shapemodel 를 입력으로 받는 것)

shape_project · shape_reconstruct · shape_mahalanobis · shape_explained_variance · shape_synthesize

같은 카테고리(model)

shape_project · shape_reconstruct · shape_mahalanobis · shape_explained_variance · shape_synthesize


*Provenance: shapestats.py — SHAPESTAT 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.