Specifications

User Stories

Authenticated User Front-End

  1. As a user, I want to create an account by using my own personal email.
  2. As a user, I want to log in and log out of my account seamlessly. 
  3. As a user, I want to be able to reset my password so that I am not at risk of losing my data in case I forget my password.
  4. As a user, I want to be able to change the email linked to my account and my username. 
  5. As a user, I want a simple way to view all aspects of my project without requiring numerous clicks.
  6. As a user, I want to be able to delete projects I no longer need so that I can easily access relevant projects.

Authenticated User Back-End

  1. As an authenticated user, I want to upload the video and get the images, scenes, and models from the portal finally.
  2. As an authenticated user, I want the portal to automatically process the 3D model capture on the server without any additional operations from myself to reduce the chance of errors.
  3. As an authenticated user, I want to get the model as soon as possible so that I can begin using it for other applications.
  4. As an authenticated user, I want to be able to see the status of my projects while they are being processed by the server.
  5. As an authenticated user, I want to be able to download the model to my local machine.

Administrator

  1. As an administrator, I want to be able to see and download all the videos, images, scenes, and models on the server from the portal.
  2. As an administrator, I want to be able to change the email, username and password once users have some login issues and are unable to reset those things by themselves.
  3. As an administrator, I want to be able to delete any videos, images, scenes, models and deactivate any account once the user violates the terms of use.
  4. As an administrator, I want to use the least resources to process and store users’ project data.

Requirements

Functional

Model Creation Workflow

Definite:

  • Given a set of images, the system will automatically prepare this dataset by organizing the images into the proper file structure required by EasyMocap. The data will then be run through EasyMocap and produce a folder containing SMPL key-points in JSON format.
  • Given a set of images, the system will automatically be prepared into a dataset required for CIHP-PGN. This dataset will then be run through the CIHP-PGN deep learning model to produce segmented images. 
  • The outputs from EasyMocap and CIHP-PGN will be used as input for neuralbody to produce 3D meshes. Before this happens, the data must be organized into the required file structure, which separates the images by camera number and renames them using a five-digit naming convention. This naming convention begins with 00000 and increases by 1 for each image. The output produced by neuralbody is multiple 3D meshes.
  • The pipeline of volumetric capture will be automated so that after the raw images are provided as input they will be automatically run through each learning model to produce 3D models of humans.

Perhaps:

  • The server can optimize the process and save computing time by running processes simultaneously.
  • The server will optimize memory by avoiding saving intermediary files locally.

Improbable:

  • The server can take a video as input and create the camera configuration files automatically.
  • The server will have its own GPUs to perform the 3D model processing.

Non-functional

Definite:

  • The interface for creating a 3D model will ask for all required inputs at first and then create the model automatically after pressing run.
  • The GUI will be easy to use and not require any kind of programming knowledge.
  • Users can create accounts that will hold all their project data. User and project data will be stored within a database.
  • Users can reset their password through a “forgot password” interface.
  • Users can download the completed 3D model to their local machine.
  • The application should work with Windows Operating System / Mac OS.

Perhaps:

  • Users will be able to signin with Google.
  • Users can check a “remember me” button to keep them signed in between sessions if checked.
  • Users will be able to see the current status of their projects with an estimated time until completion.
  • Users can obtain email/phone notifications about the status of the model rendering.

Improbable:

  • Users can view or download other users’ accounts/models.
  • The application will have a mobile interface.