Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

where can i download the unminified library? #2

Closed
Arvrairobo opened this issue Jun 9, 2018 · 1 comment
Closed

where can i download the unminified library? #2

Arvrairobo opened this issue Jun 9, 2018 · 1 comment

Comments

@Arvrairobo
Copy link

Guys very cool library, but it seems to me all the magic that this library does is this file

https://appstatic.jeeliz.com/jeewidget/JeelizNNCwidget.js

but it is minified, do we have unencrypted, unminified code of that file? where can i get it?

cause i am trying to develop a virtual try on for glasses, let me know

@xavierjs
Copy link
Member

xavierjs commented Jun 9, 2018

Hi,

Thank you for your support.
You are right, the core of this library is indeed https://appstatic.jeeliz.com/jeewidget/JeelizNNCwidget.js
it includes our neuron network framework and a custom PBR rendering 3D engine.

We expose the neuron network framework alone with https://github.com/jeeliz/jeelizFaceFilter and this lib includes some demonstrations using THREE.js as a 3D rendering engine like this funky stuff : https://jeeliz.com/demos/faceFilter/demos/threejs/miel_pops/
If you want to develop your own VTO solution, you can start with this example. But this repository uses our glasses database. We can add new models with interesting prices. If you meet some difficulties to integrate it, or if you think it lacks some feature for your own use case, open a new issue and we will see what we can do. This solution also includes a server-side rendering for users who are not WebGL compatible.

We do not have released the core of Jeeliz neural net framework because it is a big and heavy stuff :
it is not compatible with tensorflow or torch. To be more optimized and more efficient we have developped a fully integrated solution:

  • there is a face dataset generator, using one crucial library we cannot distribute for licensing problems (it is proprietary),
  • the dataset generator is too heavy to be released on github,
  • then there is the neural network trainer. It is complex, no so much user friendly and it does not include polyfills for bad graphic drivers and it require a lot of computing power to run it (without a good Nvidia Geforce with a desktop PC it would take too much time to train a neural net such as the NN used for VTO),
  • our toolchain to optimize neural network uses both GLSLx for the shaders and Google closure compiler for javascript, so it is all based on custom python scripts, it is also very specific,
  • the 3D PBR engine is not as user friendly as THREE.JS for example. It is very optimized but complex too,
  • specifically in jeelizGlassesVTOWidget, the rendering engine is very closely integrated with the neural network engine, with a 100% GPU workflow. There is no matrix for example, it uses only textures data. Even for a 3D developer it may not be obvious
  • for the glasses 3D models we have developped a specific workflow with online tools to adjust the position of the glasses, to optimize and compress the models, for our 3D infographist.

There is a huge work in it, I am working on the project since more than 3 years and @jeeliz we are currently only 2 developers. If I released the whole framework in a github repository:

  • it would take me a lot of time to make it more user friendly,
  • I would have a lot of work to answer to the issues about it,
  • I won't have time to work on higher level APIs that may be more useful for people (we will release an API to make animojis in the browser very soon, then we will release API linked to the AR),
  • There is already tensorflow.js which has a lot of documentation, many examples, and may be only a few people will be interested by our neural net framework, even if it is faster (if it is well used...).

In a near futur, we will also open github to open source some of our lower level libraries, for example:

  • the webRTC wrapper, which has a lot of polyfills and workarounds,
  • the neural network compression module,
  • the shader translator...

But currently the release of our whole solution as opensource is not in our roadmap. I like opensource and I would love we find a business model including it, but it is not so obvious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants