เครื่องจำลอง 3 มิติที่เปิดใช้งานฟิสิกส์ประสิทธิภาพสูงพร้อมการสนับสนุน:
ปรัชญาการออกแบบของที่อยู่อาศัยคือการจัดลำดับความสำคัญความเร็วในการจำลองความกว้างของความสามารถในการจำลอง เมื่อแสดงฉากจากชุดข้อมูล MatterPort3D Habitat-SIM จะประสบความสำเร็จหลายพันเฟรมต่อวินาที (FPS) ที่ใช้เธรดเดี่ยวและเข้าถึงได้มากกว่า 10,000 FPS หลายกระบวนการใน GPU เดียว Habitat-SIM จำลองหุ่นยนต์ดึงข้อมูลโต้ตอบในฉากจำลองที่มากกว่า 8,000 ขั้นตอนต่อวินาที (SPS) โดยแต่ละขั้นตอน 'ขั้นตอน' เกี่ยวข้องกับการสังเกต 1 RGBD การสังเกต (128 × 128 พิกเซล) และพลวัตของร่างกายที่แข็งสำหรับ 1/30sec
โดยทั่วไปแล้วที่อยู่อาศัยจะใช้กับ Habitat-Lab ซึ่งเป็นห้องสมุดระดับสูงแบบแยกส่วนสำหรับการทดลองแบบ end-to-end ใน AI ที่เป็นตัวเป็นตน-กำหนดงาน AI ที่เป็นตัวเป็นตน (เช่นการนำทางการสอนการตอบคำถามการตอบคำถาม) ตัวแทนการฝึกอบรม
หากคุณใช้แพลตฟอร์มที่อยู่อาศัยในการวิจัยของคุณโปรดอ้างถึงที่อยู่อาศัย 1.0 ที่อยู่อาศัย 2.0 และที่อยู่อาศัย 3.0 เอกสาร:
@misc{puig2023habitat3,
title = {Habitat 3.0: A Co-Habitat for Humans, Avatars and Robots},
author = {Xavi Puig and Eric Undersander and Andrew Szot and Mikael Dallaire Cote and Ruslan Partsey and Jimmy Yang and Ruta Desai and Alexander William Clegg and Michal Hlavac and Tiffany Min and Theo Gervet and Vladimír Vondruš and Vincent-Pierre Berges and John Turner and Oleksandr Maksymets and Zsolt Kira and Mrinal Kalakrishnan and Jitendra Malik and Devendra Singh Chaplot and Unnat Jain and Dhruv Batra and Akshara Rai and Roozbeh Mottaghi},
year={2023},
archivePrefix={arXiv},
}
@inproceedings{szot2021habitat,
title = {Habitat 2.0: Training Home Assistants to Rearrange their Habitat},
author = {Andrew Szot and Alex Clegg and Eric Undersander and Erik Wijmans and Yili Zhao and John Turner and Noah Maestre and Mustafa Mukadam and Devendra Chaplot and Oleksandr Maksymets and Aaron Gokaslan and Vladimir Vondrus and Sameer Dharur and Franziska Meier and Wojciech Galuba and Angel Chang and Zsolt Kira and Vladlen Koltun and Jitendra Malik and Manolis Savva and Dhruv Batra},
booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
year = {2021}
}
@inproceedings{habitat19iccv,
title = {Habitat: {A} {P}latform for {E}mbodied {AI} {R}esearch},
author = {Manolis Savva and Abhishek Kadian and Oleksandr Maksymets and Yili Zhao and Erik Wijmans and Bhavana Jain and Julian Straub and Jia Liu and Vladlen Koltun and Jitendra Malik and Devi Parikh and Dhruv Batra},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
year = {2019}
}
Habitat-Sim ยังสร้างการทำงานโดยผู้อื่น หากคุณใช้วิธีการ/รุ่นที่มีส่วนร่วมโปรดอ้างอิงผลงานของพวกเขา ดูส่วนผลงานภายนอกสำหรับรายการของสิ่งที่มีส่วนร่วมจากภายนอกและงาน/การอ้างอิงที่สอดคล้องกัน
สามารถติดตั้งที่อยู่อาศัยได้ 3 วิธี:
pip install . เพื่อรวบรวมการสร้างหัวขาดล่าสุดด้วยกระสุน อ่านคำแนะนำการสร้างและปัญหาการสร้างทั่วไปที่อยู่อาศัยอยู่ระหว่างการพัฒนาอย่างแข็งขันและเราแนะนำให้ผู้ใช้ จำกัด ตัวเองให้มีการเผยแพร่ที่มั่นคง เริ่มต้นด้วย v0.1.4 เรามีแพ็คเกจคอนด้าสำหรับแต่ละรุ่น
การเตรียม conda env
สมมติว่าคุณติดตั้ง Conda มาเตรียม conda env:
# We require python>=3.9 and cmake>=3.10
conda create -n habitat python=3.9 cmake=3.14.0
conda activate habitatConda ติดตั้งที่อยู่อาศัย
เลือกหนึ่งในตัวเลือกด้านล่างขึ้นอยู่กับระบบ/ความต้องการของคุณ:
ในการติดตั้งบนเครื่องด้วยจอแสดงผลที่แนบมา:
conda install habitat-sim -c conda-forge -c aihabitatในการติดตั้งบนเครื่องจักรที่ไม่มีหัว (เช่นไม่มีจอแสดงผลที่แนบมาเช่นในคลัสเตอร์) และเครื่องจักรที่มี GPU หลายตัว (พารามิเตอร์นี้อาศัย EGL และ ไม่ ทำงานบน MacOS):
conda install habitat-sim headless -c conda-forge -c aihabitat
[ สถานการณ์ที่พบบ่อยที่สุด ] เพื่อติดตั้งที่อยู่อาศัย-ซิมด้วยฟิสิกส์กระสุนปืน
conda install habitat-sim withbullet -c conda-forge -c aihabitat
หมายเหตุ: พารามิเตอร์การสร้างสามารถถูกล่ามโซ่ไว้ด้วยกัน ตัวอย่างเช่นในการติดตั้งที่อยู่อาศัย SIM ด้วยฟิสิกส์บนเครื่องจักรที่ไม่มีหัว:
conda install habitat-sim withbullet headless -c conda-forge -c aihabitat
แพ็คเกจ Conda สำหรับรุ่นเก่าสามารถติดตั้งได้โดยการระบุเวอร์ชันอย่างชัดเจนเช่น conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat
นอกจากนี้เรายังจัดให้มีการสร้างคอนดายามค่ำคืนสำหรับสาขาหลัก อย่างไรก็ตามควรใช้สิ่งนี้หากคุณต้องการคุณสมบัติเฉพาะที่ยังไม่ได้อยู่ในเวอร์ชันรุ่นล่าสุด เพื่อให้ได้การสร้างหลักล่าสุดของ Main ล่าสุดเพียงแค่สลับ -c aihabitat สำหรับ -c aihabitat-nightly
ลองดาวน์โหลดสินทรัพย์ 3 มิติโดยใช้ยูทิลิตี้ดาวน์โหลดข้อมูล Python ของเรา:
ดาวน์โหลด (การทดสอบ) ฉาก 3D
python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path /path/to/data/ โปรดทราบว่าฉากทดสอบเหล่านี้ไม่ได้ให้คำอธิบายประกอบความหมาย หากคุณต้องการทดสอบเซ็นเซอร์ความหมายผ่าน example.py โปรดใช้ข้อมูลจากชุดข้อมูล MatterPort3D (ดูชุดข้อมูล)
ดาวน์โหลดตัวอย่างวัตถุ
python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path /path/to/data/การทดสอบแบบอินเทอร์แอคทีฟ : ใช้ตัวชมเชิงโต้ตอบที่มาพร้อมกับที่อยู่อาศัย SIM ใน C ++ หรือ Python:
# C++
# ./build/viewer if compiling locally
habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb
# Python
# NOTE: depending on your choice of installation, you may need to add '/path/to/habitat-sim' to your PYTHONPATH.
# e.g. from 'habitat-sim/' directory run 'export PYTHONPATH=$(pwd)'
python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glbคุณควรจะสามารถควบคุมตัวแทนในฉากทดสอบนี้ได้ ใช้ปุ่ม W/A/S/D เพื่อเลื่อนไปข้างหน้า/ซ้าย/ย้อนหลัง/ขวาและลูกศรหรือลูกศรหรือเมาส์ (คลิกซ้าย) เพื่อควบคุมทิศทางการจ้องมอง (ค้นหา/ลง/ซ้าย/ขวา) พยายามหาภาพของผู้หญิงที่ล้อมรอบด้วยพวงหรีด มีความสุข!
ปฏิสัมพันธ์ทางกายภาพ : Habitat-SIM ให้การจำลองพลวัตที่เข้มงวดและประกบผ่านการรวมเข้ากับฟิสิกส์กระสุน ลองใช้ฟังก์ชั่นการใช้งานอินเทอร์แอคทีฟของเราใน C ++ หรือ Python
ก่อนอื่นให้ดาวน์โหลดชุดข้อมูลอพาร์ทเมนต์ Replicacad แบบโต้ตอบแบบอินเทอร์แอคทีฟของเรา (140 MB):
# NOTE: by default, data will be downloaded into habitat-sim/data/. Optionally modify the data path by adding: `--data-path /path/to/data/`
# with conda install
python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset
# with source (from inside habitat_sim/)
python src_python/habitat_sim/utils/datasets_download.py --uids replica_cad_dataset--uids replica_cad_baked_lighting (480 MB)จากนั้นโหลดฉาก Replicacad ในแอปพลิเคชัน Viewer ที่เปิดใช้งานฟิสิกส์ หากคุณแก้ไขเส้นทางข้อมูลด้านบนให้แก้ไขในการโทรดูด้านล่าง
# C++
# ./build/viewer if compiling locally
habitat-viewer --enable-physics --dataset data/replica_cad/replicaCAD.scene_dataset_config.json -- apt_1
# python
# NOTE: habitat-sim/ directory must be on your `PYTHONPATH`
python examples/viewer.py --dataset data/replica_cad/replicaCAD.scene_dataset_config.json --scene apt_1--dataset data/replica_cad_baked_lighting/replicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00แอปพลิเคชัน Viewer ส่งออกรายการคีย์บอร์ดและตัวเลือกอินเตอร์เฟสเมาส์ทั้งหมดไปยังคอนโซลที่รันไทม์
ตัวอย่าง QuickStart:
WASD จะย้ายLEFT และลากเมาส์เพื่อมองไปรอบ ๆSPACE เพื่อสลับการจำลอง/เปิด (เริ่มต้น)'m' เพื่อเปลี่ยนเป็นโหมด "คว้า" เมาส์LEFT หรือ RIGHT แล้วลากเพื่อย้ายวัตถุหรือเปิดประตู/ลิ้นชักและปล่อยเพื่อวางวัตถุALT ): หมุนวัตถุที่กำหนดกรอบข้อ จำกัด (หันเห)CTRL ): หมุนวัตถุที่กำหนดกรอบข้อ จำกัด (พิทช์)ALT + CTRL ): หมุนวัตถุเฟรมข้อ จำกัด คงที่ (ม้วน)การทดสอบแบบไม่โต้ตอบ (เช่นสำหรับระบบหัวขาด): เรียกใช้สคริปต์ตัวอย่าง:
python /path/to/habitat-sim/examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb เอเจนต์จะสำรวจเส้นทางที่เฉพาะเจาะจงและคุณควรเห็นสถิติประสิทธิภาพในตอนท้ายสิ่งนี้: 640 x 480, total time: 3.208 sec. FPS: 311.7
ในการทำซ้ำตารางมาตรฐานจาก Habitat ICCV'19 RUN examples/benchmark.py --scene /path/to/mp3d_example/17DRP5sb8fy/17DRP5sb8fy.glb 17drp5sb8fy.glb
อาร์กิวเมนต์เพิ่มเติมเกี่ยวกับ example.py มีให้เพื่อเปลี่ยนการกำหนดค่าเซ็นเซอร์สถิติการพิมพ์ของคำอธิบายประกอบความหมายในฉากคำนวณวิถีการดำเนินการเชิงพื้นที่ที่สั้นที่สุดและตั้งค่าการทำงานที่เป็นประโยชน์อื่น ๆ อ้างถึง example.py และ demo_runner.py ไฟล์ต้นฉบับสำหรับภาพรวม
โหลด MP3D เฉพาะหรือ Gibson House: examples/example.py --scene path/to/mp3d/house_id.glb
นอกจากนี้เรายังได้จัดทำตัวอย่างตัวอย่างสำหรับการอ้างอิง
เพื่อเรียกใช้ตัวอย่างฟิสิกส์ใน Python (หลังจากสร้างด้วย "การจำลองทางฟิสิกส์ผ่าน Bullet"):
python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb --enable_physics โปรดทราบว่าในโหมดนี้เอเจนต์จะถูกแช่แข็งและมุ่งเน้นไปที่วัตถุทางกายภาพที่วางไข่ นอกจากนี้ --save_png สามารถใช้เพื่อส่งออกเฟรมการสังเกตภาพตัวแทนของฉากทางกายภาพไปยังไดเรกทอรีปัจจุบัน
หากคุณกำลังทำงานบนเครื่องระยะไกลและแสดงข้อผิดพลาดในการแสดงผลเมื่อเริ่มต้นเครื่องจำลองเช่น
X11: The DISPLAY environment variable is missing
Could not initialize GLFW ตรวจสอบให้แน่ใจว่าคุณไม่มี DISPLAY ที่กำหนดไว้ในสภาพแวดล้อมของคุณ (เรียกใช้ unset DISPLAY เพื่อยกเลิกการกำหนดตัวแปร)
หากคุณเห็นข้อผิดพลาดของ libgl เช่น:
X11: The DISPLAY environment variable is missing
Could not initialize GLFWโอกาสที่ Libgl ของคุณตั้งอยู่ในสถานที่ที่ไม่ได้มาตรฐาน ดูเช่นปัญหานี้
เรียกดูเอกสารที่อยู่อาศัยออนไลน์
ตรวจสอบซีรี่ส์การสอน ECCV ของเราเพื่อรับประสบการณ์การเริ่มต้นอย่างรวดเร็ว
ไม่พบคำตอบสำหรับคำถามของคุณ? ลองถามนักพัฒนาและชุมชนในฟอรัมการสนทนาของเรา
HOWTO ใช้ชุดข้อมูลที่รองรับทั่วไปกับ Habitat-SIM
หากคุณใช้โมเดลเสียงจาก Pyrobot โปรดอ้างอิงรายงานทางเทคนิคของพวกเขา
โดยเฉพาะแบบจำลองเสียงที่ใช้สำหรับฟังก์ชั่นควบคุมที่มีเสียงดังชื่อ pyrobot_* และกำหนดไว้ใน src_python/habitat_sim/agent/controls/pyrobot_noisy_controls.py
หากคุณใช้โมเดลเสียงเรดวู้ดเชิงลึกโปรดอ้างอิงกระดาษของพวกเขา
โดยเฉพาะแบบจำลองเสียงที่กำหนดไว้ใน src_python/habitat_sim/sensors/noise_models/redwood_depth_noise_model.py และ src/esp/sensor/RedwoodNoiseModel.*
Habitat-Sim ได้รับใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด
สคริปต์การสาธิตใช้: