HumanML3D adalah kumpulan data bahasa gerak manusia 3D yang berasal dari kombinasi kumpulan data HumanAct12 dan Amass. Hal ini mencakup berbagai tindakan manusia seperti aktivitas sehari-hari (misalnya 'berjalan', 'melompat'), olah raga (misalnya 'berenang', 'bermain golf'), akrobatik (misalnya 'gerakan roda') dan kesenian (misalnya , 'menari').
Setiap klip gerak di HumanML3D dilengkapi dengan 3-4 deskripsi kalimat tunggal yang dijelaskan di Amazon Mechanical Turk. Gerakan diturunkan sampelnya menjadi 20 fps, dengan setiap klip berdurasi 2 hingga 10 detik.
Secara keseluruhan, kumpulan data HumanML3D terdiri dari 14.616 gerakan dan 44.970 deskripsi yang disusun oleh 5.371 kata berbeda. Total durasi gerakan berjumlah 28,59 jam. Durasi rata-rata gerakan adalah 7,1 detik, sedangkan panjang deskripsi rata-rata adalah 12 kata.
Kami menggandakan ukuran kumpulan data HumanML3D dengan mencerminkan semua gerakan dan mengganti kata kunci tertentu dengan benar dalam deskripsi (misalnya, 'kiri'->'kanan', 'searah jarum jam'->'berlawanan arah jarum jam').
Kumpulan Data Bahasa Gerak KIT (KIT-ML) juga merupakan kumpulan data terkait yang berisi 3.911 gerakan dan 6.278 deskripsi. Kami memproses kumpulan data KIT-ML mengikuti prosedur yang sama dengan kumpulan data HumanML3D, dan menyediakan akses dalam repositori ini. Namun, jika Anda ingin menggunakan dataset KIT-ML, harap ingat untuk mengutip makalah aslinya.
Jika kumpulan data ini berguna dalam proyek Anda, kami akan menghargai bintang Anda pada basis kode ini. ??
?♀️ T2M - Karya pertama pada HumanML3D yang mempelajari cara menghasilkan gerakan 3D dari deskripsi tekstual, dengan VAE temporal .
? TM2T - Mempelajari pemetaan timbal balik antara teks dan gerakan melalui token gerakan diskrit.
? TM2D - Menghasilkan gerakan tarian dengan instruksi teks.
? MoMask - Pembuatan text2motion tingkat baru menggunakan sisa VQ dan pemodelan bertopeng generatif.
Untuk dataset KIT-ML bisa langsung download [Disini]. Karena kebijakan distribusi dataset AMASS, kami tidak diperbolehkan mendistribusikan data secara langsung. Kami menyediakan serangkaian skrip yang dapat mereproduksi kumpulan data HumanML3D kami dari kumpulan data AMASS.
Anda perlu mengkloning repositori ini dan menginstal lingkungan virtual.
[2022/12/15] Pembaruan : Menginstal matplotlib=3.3.4 dapat mencegah penyimpangan kecil pada data yang dihasilkan dari data referensi. Lihat Masalah
conda env buat -f lingkungan.yaml conda aktifkan torch_render
Jika terjadi kegagalan instalasi, Anda dapat menginstal yang berikut ini sebagai alternatif:
-Python==3.7.10 - Numpy - Sains - PyTorch - Tqdm - Panda - Matplotlib==3.3.4 // Hanya untuk animasi - ffmpeg==4.3.1 // Hanya untuk animasi - Spacy==2.3.4 // Hanya untuk proses teks
Unduh mode SMPL+H dari SMPL+H (pilih model Extended SMPL+H yang digunakan dalam proyek AMASS) dan model DMPL dari DMPL (pilih DMPL yang kompatibel dengan SMPL). Kemudian letakkan semua model di bawah "./body_model/".
Anda perlu menjalankan skrip berikut untuk mendapatkan kumpulan data HumanML3D:
raw_pose_processing.ipynb
motion_representation.ipynb
cal_mean_variance.ipynb
Ini mungkin opsional. Jalankan jika Anda membutuhkan animasi.
animasi.ipynb
Harap ingat untuk melakukan langkah-langkah pemeriksaan ulang. Ini bertujuan untuk memeriksa apakah Anda berada di jalur yang benar dalam mendapatkan kumpulan data HumanML3D.
Bagaimanapun, data di bawah folder "./HumanML3D" adalah yang akhirnya Anda perlukan.
<DATA-DIR>./animations.rar //Animasi semua klip gerak dalam format mp4. ./new_joint_vecs.rar //Fitur invarian rotasi yang diekstraksi dan vektor fitur rotasi dari posisi gerak 3d. ./new_joints.rar //posisi gerak 3d. ./texts.rar //Deskripsi data gerak. ./Mean.npy //Rata-rata untuk semua data di new_joint_vecs ./Std.npy //Standar deviasi untuk semua data di new_joint_vecs ./all.txt //Daftar nama semua data ./train.txt //Daftar nama data pelatihan ./test.txt //Daftar nama data pengujian ./train_val.txt //Daftar nama data pelatihan dan validasi ./val.txt //Daftar nama data validasi ./all.txt //Daftar nama semua data
Data HumanML3D mengikuti struktur kerangka SMPL dengan 22 sendi. KIT-ML memiliki 21 sendi rangka. Lihat paraUtils untuk rantai kinematik terperinci.
File bernama "MXXXXXX.*" (misalnya, 'M000000.npy') dicerminkan dari file dengan nama yang sesuai "XXXXXX.*" (misalnya, '000000.npy'). File teks dan file gerakan mengikuti protokol penamaan yang sama, artinya teks di "./texts/XXXXXX.txt"(misalnya, '000000.txt') menggambarkan gerakan manusia di "./new_joints(atau new_joint_vecs)/XXXXXX.npy " (misalnya, '000000.npy')
Setiap file teks terlihat seperti berikut:
laki-laki menendang sesuatu atau seseorang dengan kaki kirinya.#a/DET man/KATA BENDA tendangan/KATA KERJA sesuatu/PRON atau/CCONJ seseorang/PRON dengan/ADP nya/DET kiri/kaki ADJ/KATA BENDA#0.0#0.0orang yang berdiri menendang dengan kaki kirinya sebelum kembali ke posisi semula.#the/DET stand/VERB person/NOUN kick/VERB with/ADP their/DET left/ADJ foot/NOUN before/ADP go/KATA KERJA kembali/ADV ke/ADP mereka/DET asli/sikap ADJ/KATA BENDA#0.0#0.0seorang pria menendang dengan sesuatu atau seseorang dengan kaki kirinya.#a/DET man/KATA BENDA tendangan/KATA KERJA dengan/ADP sesuatu/PRON atau/CCONJ seseorang/PRON dengan/ADP nya/DET kiri/kaki ADJ/KATA BENDA#0.0#0.0dia sedang melakukan tendangan terbang dengan kaki kirinya#dia/PRON adalah/AUX terbang/KATA KERJA tendangan/KATA BENDA dengan/ADP nya/DET kiri/ADJ kaki/KATA BENDA#0.0#0.0
dengan setiap baris anotasi tekstual yang berbeda, terdiri dari empat bagian: deskripsi asli (huruf kecil) , kalimat yang diproses , waktu mulai , waktu berakhir , yang dipisahkan oleh # .
Karena beberapa gerakan terlalu rumit untuk dideskripsikan, kami mengizinkan anotator untuk mendeskripsikan sub-bagian dari gerakan tertentu jika diperlukan. Dalam kasus ini, waktu mulai dan waktu berakhir menunjukkan segmen gerakan yang diberi anotasi. Meskipun demikian, kami mengamati bahwa ini hanya menempati sebagian kecil dari HumanML3D. waktu mulai dan waktu selesai diatur ke 0 secara default, yang berarti teks memberi teks pada seluruh rangkaian gerakan yang sesuai.
Jika Anda tidak dapat menginstal ffmpeg, Anda dapat menganimasikan video dalam '.gif', bukan '.mp4'. Namun, membuat GIF biasanya membutuhkan waktu dan memori yang lebih lama.
Jika Anda menggunakan kumpulan data KIT-ML, harap pertimbangkan untuk mengutip makalah berikut:
@article{Plappert2016, author = {Matthias Plappert and Christian Mandery and Tamim Asfour}, title = {The {KIT} Motion-Language Dataset}, journal = {Big Data} publisher = {Mary Ann Liebert Inc}, year = 2016, month = {dec}, volume = {4}, number = {4}, pages = {236--252}, url = {http://dx.doi.org/10.1089/big.2016.0028}, doi = {10.1089/big.2016.0028}, }
Jika Anda menggunakan kumpulan data HumanML3D, harap pertimbangkan untuk mengutip makalah berikut:
@InProceedings{Guo_2022_CVPR, author = {Guo, Chuan and Zou, Shihao and Zuo, Xinxin and Wang, Sen and Ji, Wei and Li, Xingyu and Cheng, Li}, title = {Generating Diverse and Natural 3D Human Motions From Text}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {5152-5161} }
Hubungi Chuan Guo di [email protected] untuk pertanyaan atau komentar apa pun.