Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
313 changes: 313 additions & 0 deletions .ipynb_checkpoints/cal_mean_variance-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,313 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import sys\n",
"import os\n",
"from os.path import join as pjoin\n",
"\n",
"\n",
"# root_rot_velocity (B, seq_len, 1)\n",
"# root_linear_velocity (B, seq_len, 2)\n",
"# root_y (B, seq_len, 1)\n",
"# ric_data (B, seq_len, (joint_num - 1)*3)\n",
"# rot_data (B, seq_len, (joint_num - 1)*6)\n",
"# local_velocity (B, seq_len, joint_num*3)\n",
"# foot contact (B, seq_len, 4)\n",
"def mean_variance(data_dir, save_dir, joints_num):\n",
" file_list = os.listdir(data_dir)\n",
" data_list = []\n",
"\n",
" for file in file_list:\n",
" data = np.load(pjoin(data_dir, file))\n",
" if np.isnan(data).any():\n",
" print(file)\n",
" continue\n",
" data_list.append(data)\n",
"\n",
" data = np.concatenate(data_list, axis=0)\n",
" print(data.shape)\n",
" Mean = data.mean(axis=0)\n",
" Std = data.std(axis=0)\n",
" Std[0:1] = Std[0:1].mean() / 1.0\n",
" Std[1:3] = Std[1:3].mean() / 1.0\n",
" Std[3:4] = Std[3:4].mean() / 1.0\n",
" Std[4: 4+(joints_num - 1) * 3] = Std[4: 4+(joints_num - 1) * 3].mean() / 1.0\n",
" Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9] = Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9].mean() / 1.0\n",
" Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num*3] = Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num*3].mean() / 1.0\n",
" Std[4 + (joints_num - 1) * 9 + joints_num * 3: ] = Std[4 + (joints_num - 1) * 9 + joints_num * 3: ].mean() / 1.0\n",
"\n",
" assert 8 + (joints_num - 1) * 9 + joints_num * 3 == Std.shape[-1]\n",
"\n",
" np.save(pjoin(save_dir, 'Mean.npy'), Mean)\n",
" np.save(pjoin(save_dir, 'Std.npy'), Std)\n",
"\n",
" return Mean, Std"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# The given data is used to double check if you are on the right track.\n",
"reference1 = np.load('./HumanML3D/Mean.npy')\n",
"reference2 = np.load('./HumanML3D/Std.npy')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"📘 Mean.npy shape: (263,)\n",
"Top 10 giá trị đầu tiên trong Mean.npy:\n",
"[-1.03839448e-05 -3.12114498e-05 1.09036025e-02 9.35517669e-01\n",
" 5.61682135e-02 8.50852609e-01 -9.22142435e-03 -5.96521795e-02\n",
" 8.47016096e-01 -1.00206519e-02]\n",
"\n",
"📗 Std.npy shape: (263,)\n",
"Top 10 giá trị đầu tiên trong Std.npy:\n",
"[0.01489514 0.02076071 0.02076071 0.1500181 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793]\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"def check_reference_data(mean_path, std_path, top_n=10):\n",
" reference1 = np.load(mean_path)\n",
" reference2 = np.load(std_path)\n",
"\n",
" print(\"📘 Mean.npy shape:\", reference1.shape)\n",
" print(\"Top 10 giá trị đầu tiên trong Mean.npy:\")\n",
" print(reference1[:top_n])\n",
"\n",
" print(\"\\n📗 Std.npy shape:\", reference2.shape)\n",
" print(\"Top 10 giá trị đầu tiên trong Std.npy:\")\n",
" print(reference2[:top_n])\n",
"\n",
"# Gọi hàm\n",
"check_reference_data('./HumanML3D/Mean.npy', './HumanML3D/Std.npy')\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(2191926, 263)\n",
"[-1.03839448e-05 -3.12114498e-05 1.09036025e-02 9.35517669e-01\n",
" 5.61682135e-02 8.50852609e-01 -9.22142435e-03 -5.96521795e-02\n",
" 8.47016096e-01 -1.00206519e-02 -3.45199624e-05 1.05221903e+00\n",
" -3.63960341e-02 1.17378183e-01 4.99920160e-01 4.72080037e-02\n",
" -1.20139033e-01 4.97536749e-01 4.56939898e-02 -2.47492630e-04\n",
" 1.19074190e+00 3.75931873e-03 9.88527164e-02 1.04053952e-01\n",
" -5.07620610e-02 -1.01210706e-01 1.07580900e-01 -5.07357344e-02\n",
" -2.95429694e-04 1.22119427e+00 2.47317124e-02 1.42412677e-01\n",
" 5.12279198e-02 5.90304546e-02 -1.46887317e-01 5.26042059e-02\n",
" 6.35762736e-02 -5.61898691e-04 1.44361055e+00 3.36999148e-02\n",
" 7.06304982e-02 1.33715022e+00 2.34650169e-02 -7.45727867e-02\n",
" 1.34506810e+00 2.31429040e-02 -7.05347571e-04 1.48842430e+00\n",
" 9.94738936e-02 1.90338433e-01 1.32878268e+00 2.41578687e-02\n",
" -1.86426789e-01 1.33457303e+00 2.34030969e-02 2.51533508e-01\n",
" 1.12345576e+00 2.20350106e-03 -2.48369038e-01 1.12301922e+00\n",
" 7.07851199e-04 2.74772704e-01 9.78893816e-01 1.17656335e-01\n",
" -2.71994710e-01 9.77389872e-01 1.17384762e-01 4.10277665e-01\n",
" -7.94034004e-01 -7.21916556e-02 5.58863223e-01 4.98951137e-01\n",
" -4.55520265e-02 4.12868917e-01 7.89685488e-01 6.82888925e-02\n",
" -5.59208512e-01 4.98897702e-01 -4.13234159e-02 7.69626975e-01\n",
" 1.41538054e-04 -2.63520889e-03 4.20157858e-06 9.33114648e-01\n",
" -2.05915764e-01 3.13521177e-01 8.50986123e-01 3.85009646e-02\n",
" -8.18409145e-01 3.21360320e-01 -1.72695920e-01 3.14085782e-01\n",
" -8.51511955e-01 -3.72499898e-02 8.18751216e-01 3.21653932e-01\n",
" -1.72134742e-01 9.66012418e-01 -5.82688954e-04 -1.35261726e-04\n",
" 5.89909614e-04 7.76775122e-01 4.19852734e-01 9.49863255e-01\n",
" -1.52659237e-01 -2.21206844e-02 1.43100590e-01 7.94648051e-01\n",
" 2.53118336e-01 9.51009512e-01 1.51994780e-01 2.20180079e-02\n",
" -1.42357707e-01 7.95577526e-01 2.53528208e-01 9.89599586e-01\n",
" -2.39383895e-04 -7.81588897e-05 2.45350762e-04 9.47646618e-01\n",
" 6.59239367e-02 7.77234912e-01 -3.32972151e-03 -2.64888614e-01\n",
" 1.76207032e-02 8.84397388e-01 1.83548942e-01 7.78611422e-01\n",
" 4.04106826e-03 2.62810171e-01 -1.78565569e-02 8.85229349e-01\n",
" 1.83455810e-01 9.84383583e-01 5.65050577e-04 -1.55308488e-04\n",
" -5.58983709e-04 9.04012084e-01 -2.62933850e-01 3.78813475e-01\n",
" 7.94350326e-01 -1.49574894e-02 -5.60764730e-01 4.82002586e-01\n",
" 1.76811349e-02 3.77226174e-01 -7.96095490e-01 1.12690711e-02\n",
" 5.61106920e-01 4.82153773e-01 1.36994794e-02 9.09557045e-01\n",
" -2.62261543e-04 -9.18289530e-04 -4.33052599e-04 5.64815521e-01\n",
" -6.99468374e-01 5.95113397e-01 2.98070073e-01 1.08402930e-02\n",
" -5.01311183e-01 6.52549267e-01 -1.92495417e-02 5.95143974e-01\n",
" -2.97382116e-01 -8.26226920e-03 5.01323342e-01 6.52519286e-01\n",
" -2.02467460e-02 4.23221409e-01 -6.49836481e-01 1.31164361e-02\n",
" 6.12879694e-01 3.44750762e-01 5.97855039e-02 4.23525065e-01\n",
" 6.49513245e-01 -1.20427869e-02 -6.12739265e-01 3.44783843e-01\n",
" 6.16712123e-02 7.98856676e-01 -8.43466073e-02 -5.09356931e-02\n",
" 1.00723775e-02 5.71187735e-01 -4.36023831e-01 7.98229873e-01\n",
" 8.53761658e-02 5.08573875e-02 -1.15064047e-02 5.71032286e-01\n",
" -4.35627371e-01 -3.12603188e-05 6.64494564e-06 1.09527716e-02\n",
" -3.54243566e-05 5.97536882e-06 1.09692374e-02 -2.71006393e-05\n",
" 5.95488109e-06 1.09701995e-02 -3.10894975e-05 7.26151575e-06\n",
" 1.09319407e-02 -6.32220826e-06 1.85041554e-05 1.11111086e-02\n",
" -5.77885439e-05 1.83763750e-05 1.11101661e-02 -3.10606483e-05\n",
" 3.25940960e-06 1.09234322e-02 5.33055936e-05 4.72917927e-05\n",
" 1.11895790e-02 -1.17800591e-04 4.67138780e-05 1.11860558e-02\n",
" -3.10462965e-05 4.24390282e-06 1.09144114e-02 6.23307715e-05\n",
" 3.63463259e-05 1.12053119e-02 -1.27391817e-04 3.52883471e-05\n",
" 1.12017868e-02 -3.10238975e-05 1.15050477e-06 1.08913928e-02\n",
" -4.80403105e-05 1.93144092e-06 1.09029803e-02 -1.32744426e-05\n",
" 1.86131354e-06 1.09028071e-02 -3.06511938e-05 6.95700555e-06\n",
" 1.08025894e-02 -9.04958288e-05 2.12706473e-05 1.09060807e-02\n",
" 2.64286773e-05 1.99768547e-05 1.09056458e-02 -6.92553585e-05\n",
" 8.56247279e-05 1.09784901e-02 4.27348004e-06 8.58790881e-05\n",
" 1.09793702e-02 -2.64543178e-05 1.79968032e-04 1.09710442e-02\n",
" -3.99090677e-05 1.81499548e-04 1.09722409e-02 8.46179545e-01\n",
" 8.61126721e-01 8.46463799e-01 8.61388564e-01]\n",
"[0.01489514 0.02076071 0.02076071 0.1500181 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793 0.11935793\n",
" 0.11935793 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.284643 0.284643 0.284643 0.284643 0.284643\n",
" 0.284643 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257 0.02279257\n",
" 0.02279257 0.35368326 0.35368326 0.35368326 0.35368326]\n"
]
}
],
"source": [
"if __name__ == '__main__':\n",
" data_dir = './HumanML3D/new_joint_vecs/'\n",
" save_dir = './HumanML3D/'\n",
" mean, std = mean_variance(data_dir, save_dir, 22)\n",
" print(mean)\n",
" print(std)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Check if your data is correct. If it's aligned with the given reference, then it is right"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"abs(mean-reference1).sum()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"abs(std-reference2).sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Loading