• Interactive Poisson Blending on GPU
    Interactive Poisson Blending on GPU
  • 404 Not Found In Two Triangles
    404 Not Found In Two Triangles
  • Simplest and Fastest GLSL Edge Detection using Fwidth
    Simplest and Fastest GLSL Edge Detection using Fwidth

[Summary] Google I/O and Microsoft Build 2018

Today, two technology festivals were held in Mountain View and Redmond respectively: Google I/O and Microsoft Build 2018. In summary, both companies have all in AI. Google published email auto-completion, photo auto-spot, auto-colorization, better sound synthesis, memorable Q&A, Android P, text from images, style match. Microsoft presented its Fluent Design, Azure AI-enabled edge devices (phone,…


[Summary] StackGAN: Text to Photo-realistic Image Synthesis

StackGAN Results

StackGAN has got nearly 200 citations since first appeared on arXiv on December 10, 2016.  The StackGAN is the first to generate 256*256 image with photo-realistic details from text description.   Generative Adversarial Network (GAN), originally proposed by Ian. It takes advantage of a generator network and a discriminator. The generator is trained to fool…


[Summary] Omnipresence 3D for Multiview Mixed Reality

Christian Laforte leads the development of Fortem’s Omnipresence 3D software. It helps organizations prevent costly mistakes and respond to incidents in record time — protecting our communities against increasingly complex security threats. This is definitely a great leap of my prior work, VideoFields. At the time, I was offered only three surveillance video cameras and would…


[Summary] PointNet, PointNet++, and PU-Net

Shuo Li presented a talk at GVIL weekly seminar: PointNet, PointNet++, and PU-Net PointNet Instead of 3D convolution, PointNet directly consumes point clouds, which well respects the permutation invariance of points in the input. A point cloud is an unordered set of vectors. Each point Pi is a vector of its (x, y, z) coordinate plus extra…


Gradient, Circulation, Laplacian, Divergence, Jacobian, Hessian, and Trace

Here is a summary of all these concepts. Most the concepts are from Wikipedia. A larger figure is shown below: In mathematics, the gradient is a multi-variable generalization of the derivative. While a derivative can be defined on functions of a single variable, for functions of several variables, the gradient takes its place. The gradient…


[Summary] Talk by Dr. Chakareski: Networked Virtual and Augmented Reality: The New Frontier

Jacob Chakareski is an Assistant Professor of Electrical and Computer Engineering at The University of Alabama, where he leads the Laboratory for VR/AR Immersive Communication (LION). His interests span networked virtual and augmented reality systems, UAV-IoT sensing and communication, and rigorous machine learning for stochastic control. Dr. Chakareski received the Adobe Digital Experience Faculty Research…


Estimated Cost of Per Atom Function in Real-time Shaders on the GPU

I have created a grouped list of estimated cost of instructions according to this Chinese reference. This may not be accurate, but is mostly correct from my experience. Some intuitions are: Abs, saturate are free (Why is clamp in GLSL not free? I doubt it) Log, exp, sqrt are almost free! (That’s why Kernel Foveated Rendering…


Tianqi Chen published WebGL-based deep learning…

Tianqi Chen, a senior fellow student from ACM Class of Shanghai Jiao Tong University (now at UW) published TVM, which introduced the first WebGL-based deep learning… This is fully possible given existing neural network code on ShaderToy… But still, real-time deep learning at the browser side is clever, and ambitious… and they did it!  …


The Web Version of My AI Chatbot – LJAI

LJAI is a personal chatbot hosted in my private server, available on the WeChat platform by searching 爱打滚的玲酱, and now available via the Web platform! What makes LJAI different is the virtual and real mapping of our own cat. Recently, we have acquired over 120 users, and thousands of chat messages. http://veritayuan.com/lingjiang  Compared with the…


Exploration of the IEEE-754 Floating Point Standard

IEEE-754 Question: Execute the following while loops (modifying the code to add a counter). Explain the reasons these loops for the observed count value.

  Solution The counter is 53, 1024, 1075 for the above three for loops. The code is attatched in 4.2. According to IEEE-754 (double precision), the machine epsilon is $2^{-52}$….