explaingit

hliang2/splatshot

Analysis updated 2026-05-18

13PythonAudience · researcherComplexity · 5/5Setup · hard

TLDR

A research tool that turns a single face photo into a viewable 3D avatar using 3D Gaussian Splatting.

Mindmap

mindmap
  root((SplatShot))
    What it does
      Photo to 3D face
      Gaussian Splatting
      Multi-angle views
    Tech stack
      Python
      Diffusion models
      Gaussian Splatting
    Use cases
      Face reconstruction research
      Build 3D datasets
      Inspect generated views
    Audience
      Researchers
      3D vision engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a 3D face model from a single photo for research into face reconstruction.

USE CASE 2

Build training datasets of multi-angle face views from single images.

USE CASE 3

Inspect the intermediate AI-generated views used to build the 3D model.

USE CASE 4

Study or extend the accompanying CelebA-3D dataset.

What is it built with?

Python3D Gaussian Splatting

How does it compare?

hliang2/splatshot1lystore/awaekactashui/sjtu-ppt-template-skill
Stars131313
LanguagePythonPythonPython
Setup difficultyhardmoderatemoderate
Complexity5/52/52/5
Audienceresearchervibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Needs a GPU with 24GB memory, one image takes 10 to 15 minutes to process.

In plain English

SplatShot is a research tool from Rice University and Samsung Research that turns a single ordinary photo of a person's face into a 3D avatar. You provide one image, and the tool produces a full three-dimensional face model that can be viewed from any angle, including angles that were not visible in the original photo. No lengthy setup or training on that specific person is required. The way it works is through a technique called 3D Gaussian Splatting, which represents a 3D scene as a large collection of tiny overlapping blobs rather than traditional polygons. The tool starts from a base face template, then uses image-generating AI to fill in views of the face from dozens of different angles. Those generated views are combined with the template to produce the final 3D model. An identity-preservation step ensures the generated views stay consistent with the person in the original photo. The output is a .ply file, which is a standard 3D point cloud format that can be opened in free 3D viewers designed for this type of content. The README includes the viewer names you would need to look up. Alongside the 3D model, the tool also saves the intermediate diffusion images it generated per camera angle, so you can inspect the process. The hardware requirement is steep: the authors recommend a GPU with 24 gigabytes of memory, and processing one image takes roughly ten to fifteen minutes. This puts it firmly in the research and professional category rather than casual personal use. The project was published alongside a research paper and a companion dataset called CelebA-3D, which was itself built using SplatShot. The code is available for academic and research use, and the project acknowledges several open-source libraries it builds on.

Copy-paste prompts

Prompt 1
Explain how SplatShot turns one photo into a full 3D face model.
Prompt 2
What is 3D Gaussian Splatting and how does this project use it?
Prompt 3
What GPU and time requirements do I need to run SplatShot on one image?
Prompt 4
How do I view the .ply output file this tool produces?

Frequently asked questions

What is splatshot?

A research tool that turns a single face photo into a viewable 3D avatar using 3D Gaussian Splatting.

What language is splatshot written in?

Mainly Python. The stack also includes Python, 3D Gaussian Splatting.

How hard is splatshot to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is splatshot for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.