Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

SpatialLM ist ein umfangreiches Sprachmodell, das speziell für die Verarbeitung dreidimensionaler (3D) Punktwolkendaten entwickelt wurde. Seine Hauptfunktion besteht darin, unstrukturierte geometrische 3D-Daten zu verstehen und sie in strukturierte 3D-Szenendarstellungen umzuwandeln. Diese strukturierten Ausgaben enthalten architektonische Elemente (z. B. Wände, Türen, Fenster) sowie Bounding Boxes von Objekten mit Orientierung und ihren semantischen Kategorien. Im Gegensatz zu vielen anderen Ansätzen, die spezifische Geräte zur Datenerfassung erfordern, kann SpatialLM Punktwolken aus verschiedenen Datenquellen verarbeiten, z. B. monokulare Videosequenzen, RGBD-Bilder und Laserradarsensoren (LiDAR). Das Modell verbindet auf effektive Weise geometrische 3D-Daten und strukturierte Darstellungen und ermöglicht so ein semantisches Verständnis auf hohem Niveau für Embodied Robotics, automatische Navigation und andere Anwendungen, die eine komplexe 3D-Szenenanalyse erfordern.

 

Funktionsliste

  • Verarbeitung von 3D-PunktwolkenDie Fähigkeit, 3D-Punktwolken direkt als Eingabe zu analysieren und zu verstehen.
  • Strukturierte Szenarien generierenAusgabe strukturierter 3D-Szeneninformationen, einschließlich Gebäudelayout und Objektpositionen.
  • Identifizieren Sie architektonische Elemente:: Genaue Erkennung und Modellierung grundlegender Strukturen wie Wände, Türen, Fenster usw. im Innenraum.
  • 3D-Objekterkennung:: Identifizierung von Objekten wie Möbeln in der Szene und Generierung von Bounding Boxes mit Orientierung, Abmessungen und semantischen Kategorien (z.B. "Bett", "Stuhl").
  • Kompatibilität mit Daten aus mehreren QuellenUnterstützung für die Verarbeitung von Punktwolkendaten, die von verschiedenen Geräten erzeugt wurden (z. B. normale Kameras, Tiefenkameras, LIDAR).
  • Benutzerdefinierte Erkennung von KategorienDer Benutzer kann Kategorien von Objekten von Interesse angeben, und das Modell wird nur diese spezifischen Kategorien von Objekten erkennen und ausgeben.
  • Mehrere Modellversionen:: Es gibt mehrere Versionen, die auf verschiedenen zugrundeliegenden Modellen wie Llama und Qwen basieren, z. B.SpatialLM1.1-Llama-1Bim Gesang antwortenSpatialLM1.1-Qwen-0.5B.

Hilfe verwenden

Der Prozess der Verwendung des SpatialLM-Modells umfasst hauptsächlich die Installation der Umgebung, die Vorbereitung der Daten und die Durchführung der Inferenz. Im Folgenden werden die einzelnen Schritte beschrieben.

Anforderungen an die Umwelt

Bevor Sie beginnen, stellen Sie sicher, dass Ihre Systemumgebung die folgenden Anforderungen erfüllt:

  • Python: 3.11
  • Pytorch: 2.4.1
  • CUDA: 12.4

1. das Installationsverfahren

Klonen Sie zunächst das Code-Repository und wechseln Sie in das Projektverzeichnis. Verwenden Sie dann Conda, um eine eigenständige Python-Umgebung zu erstellen und zu aktivieren.

# 克隆仓库
git clone https://github.com/manycore-research/SpatialLM.git
# 进入项目目录
cd SpatialLM
# 使用Conda创建名为 "spatiallm" 的环境
conda create -n spatiallm python=3.11
# 激活环境
conda activate spatiallm
# 安装CUDA工具包
conda install -y -c nvidia/label/cuda-12.4.0 cuda-toolkit conda-forge::sparsehash

Als nächstes verwenden Sie diepoetryTool installiert die Bibliotheken der Projektabhängigkeit.

# 安装poetry
pip install poetry && poetry config virtualenvs.create false --local
# 安装项目主要依赖
poetry install

Abhängig von der Version von SpatialLM, die Sie verwenden, gibt es zusätzliche spezifische Abhängigkeits-Bibliotheken, die installiert werden müssen.

SpatialLM Version 1.0 ist abhängig von.

# 该命令会编译torchsparse,可能需要一些时间
poe install-torchsparse

SpatialLM Version 1.1 ist abhängig von.

# 该命令会编译flash-attn,可能需要一些时间
poe install-sonata

2) Operative Argumentation

Vor der Durchführung der Inferenz müssen die Eingabedaten vorbereitet werden.SpatialLM erfordert, dass die Eingabedaten achsenorientiert sind, d. h. die Z-Achse ist vertikal nach oben ausgerichtet.

Beispieldaten herunterladen:
Das Projekt bietet einen Testdatensatz, den Sie mit demhuggingface-clium eine Beispiel-Punktwolkendatei herunterzuladen.

huggingface-cli download manycore-research/SpatialLM-Testset pcd/scene0000_00.ply --repo-type dataset --local-dir .

Ausführen von Argumentationsbefehlen:
Verwenden Sie die folgenden Befehle, um die heruntergeladene Punktwolkendatei zu verarbeiten und eine strukturierte Szenenbeschreibungsdatei zu erstellen.

python inference.py --point_cloud pcd/scene0000_00.ply --output scene0000_00.txt --model_path manycore-research/SpatialLM1.1-Qwen-0.5B
```- `point_cloud`: 指定输入的点云文件路径。
- `output`: 指定输出的结构化文本文件路径。
- `model_path`: 指定使用的模型,可以从Hugging Face选择不同版本。
### 3. 按指定类别检测物体
SpatialLM 1.1版本支持用户指定想要检测的物体类别。例如,如果你只想在场景中检测“床(bed)”和“床头柜(nightstand)”,可以使用以下命令:
```bash
python inference.py --point_cloud pcd/scene0000_00.ply --output scene0000_00.txt --model_path manycore-research/SpatialLM1.1-Qwen-0.5B --detect_type object --category bed nightstand
  • detect_type objectLegen Sie als Aufgabentyp nur die 3D-Objekterkennung fest.
  • category bed nightstand: Geben Sie an, dass nur die Kategorien "Bett" und "Kopfteil" erkannt werden sollen.

4. die Visualisierung der Ergebnisse

Um die Auswirkungen der Modellausgabe zu visualisieren, können Sie diererunWerkzeuge zur Visualisierung.

Konvertieren Sie zunächst die Textdatei der Modellausgabe in das Rerun-Format:

python visualize.py --point_cloud pcd/scene0000_00.ply --layout scene0000_00.txt --save scene0000_00.rrd
  • layout: Geben Sie den Schritt der Argumentation an, um die.txtLayout-Dateien.
  • save: Geben Sie die Ausgabe des.rrdVisualisieren Sie den Dateipfad.

Verwenden Sie dann rerun, um die Ergebnisse anzuzeigen:

rerun scene0000_00.rrd

Mit diesem Befehl wird ein Visualisierungsfenster geöffnet, in dem die ursprüngliche Punktwolke sowie die vom Modell vorhergesagten Wände, Türen, Fenster und Objektbegrenzungsrahmen angezeigt werden.

Anwendungsszenario

  1. Verkörperte Intelligenz und Robotik
    Roboter können SpatialLM nutzen, um die Innenraumumgebung, in der sie sich befinden, zu verstehen. Durch die Analyse der Punktwolke eines Raums kann ein Roboter zum Beispiel erkennen, wo sich Türen, Hindernisse, Sofas und Tische genau befinden, was eine intelligentere Pfadplanung und Interaktionsaufgaben ermöglicht.
  2. Automatische Navigation und Kartenerstellung
    In Anwendungen zur automatischen Navigation in Innenräumen, wie z. B. bei Servicerobotern in Einkaufszentren oder Lagerhallen, kann SpatialLM dabei helfen, schnell strukturierte 3D-Karten aus Sensordaten zu erstellen, die reichhaltigere semantische Informationen liefern als herkömmliche SLAM-Methoden.
  3. Architektur, Ingenieurwesen und Bauwesen (AEC)
    Architekten oder Ingenieure können mit tragbaren Scannern einen Raum schnell scannen und dann mit SpatialLM automatisch ein strukturiertes Modell dieses Raums erstellen, einschließlich der Wände, Tür- und Fensterpositionen usw., was den Prozess der Innenraumkartierung und -modellierung erheblich vereinfacht.
  4. Erweiterte Realität (AR) und Spiele
    AR-Anwendungen erfordern ein genaues Verständnis des räumlichen Layouts der realen Welt, um virtuelle Objekte realistisch in der Umgebung zu platzieren. SpatialLM kann dieses präzise Verständnis der Szene liefern, so dass virtuelle Möbel oder Spielfiguren auf natürliche Weise mit der realen Szene interagieren können.

QA

  1. Was ist SpatialLM?
    SpatialLM ist ein 3D-Big-Language-Modell, das 3D-Punktwolkendaten versteht und strukturierte Beschreibungen von Innenraumszenen ausgibt, einschließlich architektonischer Elemente wie Wände, Türen und Fenster sowie Objekte mit Annotationen.
  2. Welche Arten von Eingabedaten kann dieses Modell verarbeiten?
    Es kann 3D-Punktwolkendaten aus einer Vielzahl von Quellen verarbeiten, einschließlich Daten, die über monokulare Videokameras, RGBD-Kameras wie Kinect und Laserradarsensoren (LiDAR) erfasst wurden.
  3. Welche Art von Hardware-Konfiguration ist für die Verwendung von SpatialLM erforderlich?
    Da es sich um die Berechnung von Deep-Learning-Modellen handelt, wird empfohlen, es auf einem Rechner mit einem NVIDIA-Grafikprozessor auszuführen und sicherzustellen, dass die entsprechende Version des CUDA-Toolkits (z. B. CUDA 12.4) installiert ist.
  4. Wie unterscheidet sich SpatialLM von anderen Methoden zum Verstehen von 3D-Szenen?
    Es kombiniert die Leistung eines großen Sprachmodells, um direkt strukturierte, semantisch beschriftete Ausgaben zu erzeugen, nicht nur geometrische Informationen. Darüber hinaus unterstützt es benutzerspezifische Kategorien für die Erkennung und bietet so mehr Flexibilität.
  5. Welches Format hat die Modellausgabedatei?
    Die Modellinferenz erzeugt eine.txtEine Textdatei, die auf strukturierte Weise die Position, Größe, Ausrichtung und Kategorieinformationen jedes Elements (Wand, Tür, Objekt usw.) in der Szene beschreibt.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Neue Veröffentlichungen

zurück zum Anfang

de_DEDeutsch