Git Product home page Git Product logo

analysis's Introduction

Motion Sickness Quantification

ETRI SW콘텐츠연구소 차세대콘텐츠연구본부 및 서울시립대 연구과제

모션 플랫폼에서 발생하는 VR멀미 정량화 및 저감 연구

dependencies

see requirements.txt

pip install -r requirements.txt

File Structures

project
│   README.md
│   preprocess_video.py
|   preprocess_motion.py
|   processing.py
|   make_video_with_SSQ.py
|   CalQ.cs
|   PlayMenu.cs
|───data
│   |───raw
│   |   |─motion < from unity synchronized with video, 3hz sample rate
│   |   |─video < from unity synchronized with motion, 3hz sample rate
│   |───preprocessed
│   |   |─motion < preprocess_motion.py; probability of motion in simulation level
│   └───processed
│       |─video < make_video_with_SSQ.py; highlight SSQ and optical flows
│       |─table < processing.py; pending currently
│       |─graph < processing.py < preprocess_video.py
│───old
|───test

Explanation

Procedure Abstraction

  1. subsampling Motion of Platform(MoP)
    Raw data of MoP which is sampled as 3hz
    → Making lookup-table by scanning all motion in simulation(a video; E.g. probably there are 2 MoP in S1_pitch, up and down)
    → At frame level, take probability of the frame's probability with the lookup table
    → Save probability as json; Motion Probability as json,
  2. Subsampling optical flow
    Raw data of optical flow which is sampled as 3hz
    → Polarization all optical flow
    → Making lookup-table by scanning all optical flows in simulation(a video) at frames and all pixels in frames(pixels in frame*frames in simulation; E.g. 1024*768*60 at 20s simulation)
    → At frame level, take probability of the polarized pixel's optical flow with the lookup table
    → Store Optical Probability in memory.
  3. Calculate KLD and entropy of optical flow
    With Motion Probability as json and Optical Probability in memory
    → Make KLD at a frame and entropy of optical flow at a frame
    → Save it as figure(.jpg)

Project Files

  • preprocess_motion.py

Subsampling(3hz) raw motion data of txt file to probability of all motion vector in experiment as json and excel file

  • preprocess_video.py --FIXME--

Subsampling(3hz) raw video, however 1024*768 pixel probability are hard to save as json or other format.For now, it used to import optical flow data in processing.py.

  • processing.py --FIXME--

From subsampled data by preprocess_video.py and preprocess_motion.py, this module calculate KLD and Entropy of optical flow and save it as jpg.

  • make_video_with_SSQ.py

To analysis when VR sickness at simulation, it visualize optical flow of video and highlight SSQ

For search which function currently used in project please see # HERE! in project

Usage example

  • process raw data of motion of platform to probability density
python preprocecess_motion.py
  • process raw data of video and preprocessed MoP to KLD and Entropy of Optical Flow
python processing.py

TO-DO:

  • comment project
  • add calculate probability of optical flow in video at frame level and export data
  • modulize processing.py

analysis's People

Contributors

nearj avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.