GithubHelp home page GithubHelp logo

dennishnf / project-xr-glasses Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 244.32 MB

Repository for Glasses project of Extended reality (XR)

License: MIT License

C# 100.00%
android course-project extended-reality face-detection face-matching tracking unity unity3d

project-xr-glasses's Introduction

Made with Unity MIT Licence Ask Me Anything ! Open Source Love Tweet

Project XR Glasses

Description

Select the best glasses is time consuming and need to physically search in different shops.

Here we implement a Real-Time Virtual Reality App for Android Devices that helps people to test a different variety of glasses without the need to physically test them.

Hardware & Software details

Developed in: Ubuntu 20.04 LTS
Unity version: 2020.3.20f1
Unity Packages:
ProBuilder
AR Foundation
AR Core XR Plugin
ARKit Face Tracking
ARKit XR Plugin
Intended Devices:
Android Smartphones
Versions >= 8.1.0 Oreo
Tested on:
Samsung Galaxy A32 (Android 11)
Samsung Galaxy S10 (Android 11)

Wireframes

Flowchart

Flowchart

Flowchart

Pseudo code:

start face detection
start landmark extraction
start glasses models

define exit
define next
define save

loop forever:
    if exit==0:
        PASS
    if exit==1:
        STOP
    if next==1:
        select the next glasses model
    if next==0:
        select the same glasses model
    if save=0:
        PASS
    if save=1:
        save model
        STOP
    read the facial landmarks
    update glasses position and direction
    show the glasses in front of face             

Updates

Update 23 Nov 2021:

Face detection and extraction of the most relevant points of the face were successfully implemented. The AR Foundation and ARKit Face Tracking packages were used for this purpose. The main challenges faced were: compatibility with android devices and successfully configuring the building options.

Examples

Update 30 Nov 2021:

Different lens models were collected in .obj format, but were converted to .prefab by creating a prefab object and then pulling the .obj lenses into that object. In addition, we tried to instantiate between a prefab object and a landmark point of the face, but we had problems with finding the indicated references.

Examples

Update 07 Dec 2021:

Successfully performed the attachment of a reference point of the face, and the placement of the lenses. This was done in several stages, in the first tests a prefab object was instantiated, then the position of the eyes was extracted and the position and rotation transformations were instantiated to that prefab object.

Examples

Demos

Demo on a Samsung Galaxy S10 (Android 11):

Examples         Examples         Examples

Using this repository

  1. First, download or clone this repository.

  2. Open Unity3D, and clic on "Add" in order to add the downloaded project

  3. Go to "Settings Build and Run", then select "Android" and then "Switch Platform".

  4. Install the packages: AR Fundation, AR Core XR Plugin, ARKit Face Tracking, ARKit XR Plugin.

  5. Then you can moddify the project or Build and Run on your Android smartphone.

  6. That's all, enjoy! :)

Group members

References

project-xr-glasses's People

Contributors

dennishnf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rgyani avatarchik

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.