AR Applications • Increasing AR Realism with Lighting • Developing the First AR Experience for Google Maps • Augmenting Faces and Images • AR as a Feature: How to Supercharge Products Using Augmented Reality
OpenGL • develop in AndroidStudio ◦ SDK ◦ Plugins for AndroidStudio • pre-requirement ◦ Android Studio 3.1 or higher ◦ Android SDK Platform version 7.0 (API level 24) or higher
I/O’19) • Shows AR object with accurate shadows, highlights and reflections ◦ Estimate using machine learning with a single camera frame Before and after Environmental HDR is applied to the digital mannequin on the left, featuring 3D printed designs from Julia Koerner(https://developers.googleblog.com/2019/05/ARCore-IO19.html)
Get light estimation from frame LightEstimate lightEstimate = frame.getLightEstimate(); If (lightEstimate.getState() != LightEstimate_state.VALID) { return; } // Get main light intensity & direction float[] direction = lightEstimate.getMainLightDirection(); float[] intensity = lightEstimate.getMainLightIntensity();
according to the images • Enable to track those images simultaneously ◦ Multiple images can be tracked at the same time An example of how the Augmented Images API can be used with moving targets by JD.com(https://developers.googleblog.com/2019/05/ARCore-IO19.html)
freedom pose with respect to the image ◦ x,y,z and orientation(pitch, yaw and roll) → this enables to show 3D augmented images with right position (https://ja.wikipedia.org/wiki/6DoF)
position ex) signposts of Google I/O How 3D images can be shown in each position of landmark? landmark position wrt signpost + device position wrt signpost = overlay images with the right position
create a database of storing up to 1,000 images ◦ offline tool enable to use to generate this database ◦ enable to execute it at runtime → Adding images to the database enables to use to trigger showing 3D images
of TensorFlow Lite platform ◦ transfer training ▪ way of training the dataset using neural network ▪ predict both 3D vertices & 2D contours • run on device in real time
in the SDK ◦ developer-guides/creating-assets-for-augmented-faces • 2D: template texture file is prepared as well ◦ Flatter version of face mesh ◦ `reference_face_texture.png`
... // Load the face regions renderable. // Load 3D Contain into scene form ModelRenderable.bundler() .setSource(this, R.raw.fox_faces).build().thenAccept( modelRenderable -> { faceRegionsRenderable = modelRenderable; ... });
// Load the face mesh texture // 2D texture you designed Texture.builder() .setSource(this, R.drawable.flag_texture) .build() .thenAccept(texture -> faceMeshTexture = texture);
faceList) { // Create a face node and add it to the scene. AugumentedFaceNode faceNode = new AugumentedFaceNode(face); faceNode.setParent(scene); } } // Overlay the 3D assets on the face. faceNode.setFaceRegionsRenderable(faceRegionsRenderable);