5/12/2023

Virtual Reality

Virtual Reality

1.1. Introduction

Virtual Reality (VR) is when a simulated environment is created with the use of computer technology and gives a 3D experience to the viewer, complete with enhanced and realistic interaction ability of the viewer with the artificially projected environment displayed [1]. VR benefits many industries with its user engagement. VR is an excellent vehicle for training, conferencing, convenience, and communication [2]. There are 3 primary categories of virtual reality simulations used today: non-immersive, semi-immersive, and fully immersive simulations [2]. Applications of virtual reality include entertainment (particularly video games), education (such as medical or military training), and business (such as virtual meetings). Other distinct types of VR-style technology include augmented reality and mixed reality, sometimes referred to as extended reality or XR [3].

1.1. Virtual Reality (Definition)

The word ‘virtual’ means something that is conceptual and does not exist physically and the word ‘reality’ means the state of being real. So the term ‘virtual reality’ is itself conflicting. It means something that is almost real [5].
Virtual reality is the use of computer technology to create simulated environments. Virtual reality places the user inside a three-dimensional experience. Instead of viewing a screen in front of them, users are immersed in and interact with 3D worlds [2].

1.2. History of Virtual Reality

The exact origins of virtual reality are disputed, partly because of how difficult it has been to formulate a definition for the concept of an alternative existence. The development of perspective in Renaissance Europe created convincing depictions of spaces that did not exist, in what has been referred to as the "multiplying of artificial worlds". Other elements of virtual reality appeared as early as the 1860s. Antonin Artaud took the view that illusion was not distinct from reality, advocating that spectators at a play should suspend disbelief and regard the drama on stage as reality. The first references to the more modern concept of virtual reality came from science fiction [4].

1.3. Types of Virtual Reality

There are 3 primary categories of virtual reality simulations used today: non-immersive, semi-immersive, and fully-immersive simulations [3]. Three types of virtual reality experiences provide different levels of computer-generated simulation [2]. The three main category of VR are illustrated below:

1.3.1. Non-Immersive Virtual Reality

This category is often overlooked as VR simply because it’s so common. Non-immersive VR technology features a computer-generated virtual environment where the user simultaneously remains aware and controlled by their physical environment. Video games are a prime example of non-immersive VR.

1.3.2. Semi-Immersive Virtual Reality

This type of VR provides an experience partially based in a virtual environment. This type of VR makes sense for educational and training purposes with graphical computing and large projector systems, such as flight simulators for pilot trainees.

1.3.3. Fully Immersive Virtual Reality

This type of VR generates the most realistic simulation experience, from sight to sound to sometimes even olfactory sensations. Car racing games are an example of immersive virtual reality that gives the user the sensation of speed and driving skills. Developed for gaming and other entertainment purposes, VR use in other sectors is increasing.

1.4. How Does Virtual Reality Technology Work?

The VR process combines hardware and software to create immersive experiences that “fool” the eye and brain. Hardware supports sensory stimulation and simulation such as sounds, touch, smell or heat intensity, while software creates the rendered virtual environment [2].
Immersive experience creation mimics how the eye and brain form visuals. Human eyes are about three inches apart and therefore form two slightly different views. The brain fuses those views to create a sense of depth or stereoscopic display [2].

1.5. Technology used in Virtual Reality

VR technology commonly consists of headsets and accessories such as controllers and motion trackers. Driven by proprietary downloadable apps or web-based VR, the technology is accessible via a web browser.

1.5.1. Hardware Used in Virtual Reality

Virtual reality hardware includes sensory accessories such as controllers, as well as headsets, hand trackers, treadmills and, for creators, 3D cameras.
A VR headset is a head-mounted device, such as goggles. A VR headset is a visual screen or display. Headsets often include state-of-the-art sound, eye or head motion-tracking sensors or cameras.
There are three main types of headsets:
PC-Based VR Headsets: PC headsets tend to be the highest-priced devices because they offer the most immersive experiences. These headsets are usually cable-tethered from the headset and powered by external hardware. The dedicated display, built-in motion sensors and an external camera tracker offer high-quality sound and image and head tracking for greater realism.
Standalone VR Headsets: All-in-one or standalone VR headsets are wireless, integrated pieces of hardware, such as tablets or phones. Wireless VR headsets are not always standalone. Some systems transmit information wirelessly from consoles or PCs in proximity, and others use wired packs carried in a pocket or clipped to clothing.
Mobile Headsets: These shell devices use lenses that cover a smartphone. The lenses separate the screen to create a stereoscopic image that transforms a smartphone into a VR device. Mobile headsets are relatively inexpensive. Wires are not needed because the phone does the processing. Phones don’t offer the best visual experiences and are underpowered by game console- or PC-based VR. They provide no positional tracking. The generated environment displays from a single point, and it is not possible to look around objects in a scene.
VR Accessories: VR accessories are hardware products that facilitate VR technology. New devices are always in development to improve the immersive experience. Today’s accessories include the 3D mouse, optical trackers, wired gloves, motion controllers, bodysuits, treadmills, and even smelling devices.
These are some of the accessories used today in VR:
3D Mouse: A 3D mouse is a control and pointing device designed for movement in virtual 3D spaces. 3D mice employ several methods to control 3D movement and 2D pointing, including accelerometers, multi-axis sensors, IR sensors and lights.
Optical Trackers: Visual devices monitors the user’s position. The most common method for VR systems is to use one or multiple fixed video cameras to follow the tracked object or person.
Wired Gloves: This type of device, worn on the hands, is also known as cyber gloves or data gloves. Various sensor technologies capture physical movement data. Like an inertial or magnetic tracking device, a motion tracker attaches to capture the glove’s rotation and global position data. The glove software interprets movement. High-end versions provide haptic feedback or tactile stimulation, allowing a wired glove to be an output device.
Motion Controllers: These accessories allow users to act in mixed reality. Controllers allow for fine-grained interaction with digital objects because they have a precise position in space.
Omnidirectional Treadmills (ODTs): This accessory machine gives users the ability to move in any direction physically. ODTs allow users to move freely for a fully immersive experience in VR environments.
Smelling Devices: Smell devices are one of the newer accessories in the VR world. Vaqso, a Tokyo-based company, offers a headset attachment that emits odors to convey the size and shape of a candy bar. The fan-equipped device holds several different smells that can change intensity based on the screen action.

1.5.2. Software Used in Virtual Reality

Developers use various software to build VR. They include VR software development kits, visualization software, content management, game engines, social platforms, and training simulators.
VR Content Management Systems Software: Companies use this workplace tool to collect, store and analyze VR content in a centralized location.
  • VR Game Engine Software: Developers use the tools to create a VR video game experience.
  • VR Software Development Kit (SDK): SDKs offer a base to design, build and test VR experiences.
  • VR Social Platforms Software: Users collaborate from remote locations in VR with these tools.
  • VR Training Simulator Software: This software works for almost any industry for employee training in immersive environments.
  • VR Visualization Software: Users experience aggregated data in a virtual environment. to fully understand what data means.

Napster’s Trudgian points out another software technology that may someday disrupt headsets as a standard in VR: “Non-headset VR is coming, as demonstrated by the likes of Spatial, VR Chat and Rec Room.

“These apps allow users or players without headsets to connect to the same environment and interact with one another. Adding support for non-headset users serves virtual worlds well by adding a user base on universally accessible devices and platforms. In theory, if a virtual world is not reliant on headset-only users, it can expand in size tremendously; the amount of people who have access to a web browser or smartphone is far greater than that of any headset.”

1.6. Importance of Audio in Virtual Reality

VR strives to emulate reality, so audio is vital role to creating credible experiences. Audio and visuals work together to add presence and space to the environment. Audio cues are also crucial for guiding users through their digital experience.

1.6.1. Binaural or Spatial Audio in Virtual Reality Experience

People hear in three dimensions. They can discern the direction sound comes from and the rough distance from the sound source. Simulation of aural sense delivers a more authentic multi-dimensional experience and is known as biaural or spatial audio [2].

1.8. Benefits of Virtual Reality

VR benefits many industries with its user engagement. VR is an excellent vehicle for training, conferencing, convenience, and communication [2].
Here are some of the benefits of VR:
  • Practical Training: VR is a safe way to simulate dangerous situations for training purposes. Firefighters, pilots, astronauts and police can learn in a controlled environment before going into the field. Immersive experience narrows timeframes so trainees can more quickly become professionals.
  • Engagement and Connection: VR is an engaging and entertaining experience for its users.
  • Convenient Conferences: Virtual meetings save time and money, yet help maintain a sense of collegiality.
  • “Tryout” Capability: Shoppers’ remorse may become a thing of the past with VR. You can use virtual reality to furnish your home, test-drive a car or try on wedding bands without leaving home.

1.9. Challenges of Virtual Reality

VR has some disadvantages despite its appealing sense of engagement, including technical issues, the potential for addiction, loss of human connection, and expense. It’s possible to mitigate some problems, but others are a fixed part of the VR experience [2].
Here are some VR disadvantages:
  • Addiction: Some people become addicted to the VR experience in gaming and social media applications. People can assume different identifies, which can be addictive and cause social, psychological and biological issues.
  • Health Problems: Extensive use of VR can create a loss of spatial awareness, nausea, dizziness, disorientation and nausea, also known as simulator sickness.
  • Screen Door Effect: When you use a headset, the display is within inches of your eyes. That means you see pixels or the spaces between them, no matter how excellent the display resolution may be. This mesh-like effect can irritate some users. Newer headsets have improved but not eliminated the issue.
  • Loss of Human Connections: When you rely on virtual connections rather than real-life social interactions, trouble may result. Over-reliance on VR can lead to disassociation or depression.
  • Training Doesn’t Translate in the Real World: People trained in virtual reality may do well in the app or platform but can’t perform to the necessary standard in real-world situations.
  • Expense: While prices are coming down, VR systems are not affordable for everyone.

1.10. The Difference Between Virtual Reality and Augmented Reality

The distinctions between VR and AR come down to the devices they require and the experience itself [6]:
  • AR uses a real-world setting while VR is completely virtual
  • AR users can control their presence in the real world; VR users are controlled by the system
  • VR requires a headset device, but AR can be accessed with a smartphone
  • AR enhances both the virtual and real world while VR only enhances a fictional reality

1.11. Major Players in Virtual Reality and Latest Entries

VR is always improving due to technology refinements, and the latest “category killers” change rapidly. Top-of-the-pack players include ongoing favorites from Oculus, HTC, Sony, and Valve.

1.11. Future of VR Technology

In five to ten years, today’s headsets will look like first-generation cell phones or boxy CRT TVs.
“This change will be driven by the significant opportunity ahead of a VR creator economy. New tools created for developers and anyone interested in creating VR content are necessary. Remember when YouTube started? Most people weren’t making and sharing videos, and now anyone can quickly become a video creator.”
“Today, most people don’t have a VR headset. Once the hardware is simplified and usage is more widespread, we’ll see the same phenomenon. Eventually, wearables like smart glasses of some type will replace smartphones. These wearables will allow even more uses for both VR and AR because users won’t need specialized hardware but will take advantage of the same device they use to communicate, search and interact with the world around them.”
AR and VR have a decidedly bright future, and the years to come will bring many new capabilities and more widespread usage. Improvements in video quality, processing power, mobile bandwidth, and AR/VR hardware will drive more mainstream acceptance, and falling development costs and complexity will provide more options for creators to explore. Systems that track eye movement and facial expressions will slowly make clunky joysticks and other controllers obsolete [7].
While video gaming and entertainment will continue to drive this market, AR and VR will also see emerging practical applications. In the world of virtual reality, these include fully virtual surgery, in which surgeons perform their jobs only in a simulated environment and robotic systems do the actual work. In the world of AR, the ability to virtually travel anywhere is made possible by an emerging tech platform called Mirror world, which aims to replicate the physical universe on a 1:1 scale. Education will likely continue to shift to a virtual model on AR and VR platforms both in academia and in the corporate world. And finally, retailers will continue to rely on AR applications to upgrade virtual shopping applications, slowly rendering the need for physical storefronts obsolete [7].

References

[1]"https://www.tutorialspoint.com/careers-in-virtual-reality,".
[2]" https://www.marxentlabs.com/what-is-virtual-reality/,".
[3]"https://heizenrader.com/the-3-types-of-virtual-reality/,".
[4]"https://en.wikipedia.org/wiki/Virtual_reality,".
[5]"https://www.geeksforgeeks.org/virtual-reality-augmented-reality-and-mixed-reality/," [Online].
[6]"https://sopa.tulane.edu/blog/whats-difference-between-ar-and-vr,".
Woluman Urgesa Feyisa

Mojo

 

Mojo: The Programming Language for AI That Is Up To 35000x Faster Than Python

Image created with Midjourney

A new programming language for AI developers was just released: Mojo.

I know what you might be thinking — a new programming language to learn from scratch … Well, I have good news, Mojo is designed as a superset of Python, so if you already know Python learning Mojo shouldn’t be hard.

But that’s not all. Mojo combines the usability of Python with the performance of C obtaining a speed that is up to 35000x faster than Python.

If you’re into AI and already know Python, Mojo is definitely worth a try. Here’s everything you need to know about Mojo.

Why do we need Mojo if we already have Python?

Python’s simplicity and versatility made it the language of choice in fields such as data science, machine learning, and AI. It has tons of packages that are very useful for anyone working with data, but for libraries that require great performance, Python only acts as a glue layer and low-level bindings to C, C++, and other languages with better performance.

This enabled the development of libraries such as numpy and TensorFlow. However, this comes with a drawback: building these libraries is very complicated, it requires a low-level understanding of the internals of CPython, requires knowledge of C/C++, etc.

According to the Mojo doc, the issues brought by Python go deeper and particularly impact the AI field.

Python alone isn’t able to address all the issues that applied AI systems need and that’s how Mojo was born. Mojo is a programming language that combines the usability of Python with the performance of C.

The best of both worlds!

But Mojo isn’t a random project that emerged out of nowhere. In fact, Mojo comes from a company named Modular, co-founded by Chris Lattner, the same guy who created the Swift programming language and LLVM.

That’s why I think this project is worth paying attention to. Now let’s see some of Mojo’s best features.

Features of Mojo

Mojo comes with many interesting features out of the box. Here are some of them.

1. Mojo is designed as a superset of Python

Mojo aims to be fully compatible with the Python ecosystem.

This means that you could easily work with Mojo if you’re a Python programmer because both programming languages have many functions, features, and libraries in common.

Libraries such as numpy, pandas, and matplotlib are also available in Mojo. Here’s how you’d make a plot with matplotlib using Mojo.

Screenshot: Mojo

That said, Mojo is still in a very early stage, so it still misses many features of Python (for example it doesn’t support classes yet).

Hopefully, in future updates Mojo will be fully compatible with Python.

2. Strong type checking

Mojo leverage types for better performance and error checking.

Screenshot: Mojo

Although you can still use flexible types like with Python, Mojo lets you use strict type-checking. This can make your code more predictable, manageable, and secure.

3. Memory ownership and borrowing checker

Mojo supports a owned argument convention that is used for functions that want to take exclusive ownership over a value.

Screenshot: Mojo

This will help you take advantage of memory safety without the rough edges.

4. Auto-tuning

Mojo has built-in autotuning that helps automatically find the best values for your parameters to take advantage of target hardware.

Screenshot: Mojo

5. Mojo leverages MLIR

By using the full power of Multi-Level Intermediate Representation (MLIR), Mojo developers can take advantage of vectors, threads, and AI hardware units.

This helps Mojo achieve great performance because, unlike Python which works with single-threaded execution, Mojo can work with parallel processing across multiple cores.

Screenshot: Mojo

That’s one of the reasons why Mojo it’s 35000x faster than Python.

Screenshot: Mojo

How to start using Mojo

Mojo is still a work in progress, but you can try it today on the JupyterHub-based Playground. To try Mojo go to this website to register and don’t forget to check the Mojo box in the “Modular Product Interest” section.

Happy coding!

Reference: The PyCoach

So funny

 What a meme?

popular posts