인프런 커뮤니티 질문&답변

이동훈님의 프로필 이미지
이동훈

작성한 질문수

따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트

데이터로드

prepare_data에서 질문있습니다.

작성

·

354

0

3분 14초쯤에 load_data_hm36.py 파일에서

prepare_data에 56줄에서

pos_3d[:, 1:] -= pos_3d[:, :1]을 빼주는데

각 subject중에서, 어느 한 action에 해당하는 3차원 point배열에서 첫번째 값들만 빼오고 그 값들을 전체 pos_3d에 빼주는 과정을 해주는데, 이 과정을 해주는 이유가 normalization 때문에 해주는 것인가요?

맞다면, 보통 normalization을 하는 과정이 데이터들의 평균값으로 빼주는 것으로 알고 있는데, 첫번째 값을 빼주신이유가 궁금합니다!!

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

load_data_hm36.py 파일의 prepare_data 함수에서 pos_3d[:, 1:] -= pos_3d[:, :1]을 하는 이유는 normalization과 관련된 내용이 아니라, 좌표값을 변경하는 목적으로 이루어지는 과정입니다.

pos_3d 배열의 각 열은 x, y, z 좌표를 의미하는데, 첫 번째 열(x 좌표)의 값들만 빼서 나머지 열에 더해주는 것은 해당 좌표계의 원점을 첫 번째 좌표값에 맞추기 위해서입니다. 이를 통해 모든 좌표값이 양수가 되도록 변환할 수 있습니다.

따라서, 데이터를 정규화(normalization)할 때처럼 평균값을 빼주는 것과는 다른 목적으로 수행되는 작업입니다.

이해에 도움이 되셨길 바랍니다. 감사합니다.

이동훈님의 프로필 이미지
이동훈

작성한 질문수

질문하기