어찌저찌 2d image -> smplx 로 변환을 했으나, pkl 파일을 SMPL-Anthropometry 에 넣었더니 pickle 프로토콜 파일 에러가 떴다.
나는 애초에 pkl 이라는 이름을 가진 파일도 이번에 첨 봤고, 파이썬도 하나도 모르는 바보이다...^^ ㅎㅎ
그래서 깃허브를 열심히 뒤져보다가
https://github.com/DavidBoja/SMPL-Anthropometry/issues/2
obj 파일을 가지고 분석하는 법을 알아냈다.
if __name__ == "__main__":
from measure import MeasureSMPL
from measurement_definitions import SMPLXMeasurementDefinitions, STANDARD_LABELS
smplx_path = "/Users/vecherish/Desktop/test2/SMPL-Anthropometry/data/smplx"
scan_path = "/Users/vecherish/Desktop/test2/SMPL-Anthropometry/data/obj/sample.obj"
measurer = MeasureSMPLX()
verts = trimesh.load(scan_path,process=False).vertices
verts_tensor = torch.from_numpy(verts)
verts = verts_tensor.float()
measurer.from_verts(verts)
measurement_names = SMPLXMeasurementDefinitions.possible_measurements
measurer.measure(measurement_names)
print("Measurements")
pprint(measurer.measurements)
measurer.label_measurements(STANDARD_LABELS)
print("Labled measurements")
pprint(measurer.label_measurements)
measure.py에 적었고, 그대로 돌리면 실행된다. 원리는 obj 파일을 토치 텐서로 바꾸는 것 같다.
중간에 verts를 float()로 바꾸지 않으면 RuntimeError:expected scalar type Float butfound Double 라는 에러가 뜨므로 꼭 넣어줘야 한다.
결과:
캡스톤 화이팅 ㅎㅎ
'SCHOOL > 캡스톤' 카테고리의 다른 글
[졸프 백엔드] JWT로 로그아웃 구현하기 2 (0) | 2024.07.01 |
---|---|
[졸프 백엔드] JWT로 로그아웃 구현하기 (0) | 2024.06.30 |
[졸프 딥러닝] [버그 수집] smplfiy 코랩 오픈포즈 오류 (0) | 2024.04.04 |
[졸프 딥러닝] [버그 수집] 파이토치 버전 에러 (1) | 2024.04.02 |
[졸프 딥러닝] [버그 수집] config.hh 환경변수 에러 (1) | 2024.04.02 |