Dev Depot: Headtrackr Provides Unique Possibilities For Motion Control

Microsoft’s Xbox Kinect, Nintendo Wii and Sony’s PlayStation Move all use motion-sensing game controllers to provide an added dimension of user engagement and “fun” to the game play of formerly thumb-bound fans, forced to use a hand-held game controller. Apple’s iPhone ushered in the widespread use of gesture controls, such as swiping or pinching and pulling a screen, as well as shaking the device to initiate software behaviors.

Now, forward looking web developers are moving beyond the mouse and keyboard to embrace innovative, sometimes “hands free” methods, of providing full user control over the computing and display environments.

Now, forward looking web developers are moving beyond the mouse and keyboard to embrace innovative, sometimes “hands free” methods, of providing full user control over the computing and display environments.

If this seems like the kind of cutting edge component that you would like to add to your website, then headtrackr (www.github.com/auduno/headtrackr/), a JavaScript library for real-time face tracking and head tracking via webcam, provides unique possibilities worthy of exploration.

Links from the depository provide additional information on the algorithms and tools, as well as the science behind the technology, providing for interesting further reading, such as the guide at https://dev.opera.com/articles/view/head-tracking-with-webrtc/.

The headtrackr script uses the WebRTC/getUserMedia standard, supporting browsers able to stream video and audio content directly from native devices, such as a webcam.

According to developer Audun Mathias Øygard, one rather exciting use for WebRTC is head tracking — detecting the movement of the user’s head (or other appendages) in relation to a webcam — which in turn allows developers to create gesture-based controls.

Øygard cites FaceKat (www.shinydemos.com/facekat/), an Opera 12 release demo employing head tracking as an example of the technology, noting that Opera 12 was the first desktop browser to support camera access via the getUserMedia API. There is also a video showcasing the technology at https://player.vimeo.com/video/44049736 that might give you an idea of its potential.

The demo and actual production examples are best when used with a laptop that has a builtin camera and a browser that has camera webRTC/getUserMedia support (you can see the overview of browsers supporting getUserMedia at https://caniuse.com/stream).

Better results are obtained when the user’s face is evenly lighted and looking ahead.

Using this technology is as simple as downloading the minified headtrackr.js library and including it on a webpage, just as with any other JavaScript, i.e. using HTML 5:

<script src=?headtrackr.js?></script>

To implement the script, the following code initiates the headtrackr using a video element to contain the mediastream and a canvas element to copy the videoframes to:

<canvas id=?inputCanvas? width=?320? height=?240? style=?display:none?></canvas>
<video id=?inputVideo? autoplay loop></video>
<script>
var videoInput = document.getElementById(?inputVideo?);
var canvasInput = document.getElementById(?inputCanvas?);
var htracker = new headtrackr.Tracker();
htracker.init(videoInput, canvasInput);
htracker.start();
</script>

Once the headtracker script is initiated, it will regularly generate the JavaScript events headtrackingEvent and facetrackingEvent on the relevant document, allowing coders to program various interactions between the site and its visitors, based on where they look.

“The event headtrackingEvent has the attributes x, y, z, which tells us the estimated position of the users head in relation to the center of the screen, in centimeters,” Øygard explains. “The event facetrackingEvent has the attributes x, y, width, height and angle, which tell us the estimated position and size of the face on the video.”

This allows users to either create an eventlistener to handle these events, or if using the three.js script, one of the pre-packaged controllers from this library could be used to create pseudo-3D images, also known as “head-coupled perspective” effects.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

The Search for Perfection in Your Payments Page

There has been a lot of talk about changes to cross sales and checkout pages. You have likely noticed that acquirers are now actively pushing back on allowing merchants to offer a negative option, upsell or any cross sales on payment pages.

Cathy Beardsley ·
opinion

Unpacking the Payment Card Industry's Latest Data Security Standard

The Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements and guidelines that apply to all businesses that accept credit card payments, and is designed to ensure the security of those transactions.

Jonathan Corona ·
opinion

Compliance With State Age Verification Laws

During the past year, website operators have faced a slew of new state age verification laws entailing a variety of inconsistent compliance obligations.

Lawrence Walters ·
opinion

Merchants in Spotlight With Visa's VIRP

By now, most merchants know about the Visa Integrity Risk Program (VIRP) rolled out in spring 2023. The program is designed to ensure that acquirers and their designated agents — payment facilitators, independent sales organizations and wallets — maintain proper controls and oversight to prevent illegal transactions from entering the Visa payment system.

Cathy Beardsley ·
opinion

How to Know When Hosting Upgrades Are Really Needed

I was reminded about an annoyingly common experience that often frustrates website owners: upgrades. Sometimes, an upgrade of physical system resources like CPU, RAM or storage really is required to solve a problem or improve performance… but how do you know you’re not just being upsold?

Brad Mitchell ·
profile

WIA Profile: Natasha Inamorata

Natasha Inamorata was just a kid when she first picked up a disposable camera. She quickly became enamored with it and continued to shoot with whatever equipment she could afford. In her teens, she saved enough money to purchase a digital Canon ELPH, began taking portraits of her friends, shot an entire wedding on a point-and-shoot camera and edited the photos with Picnik.

Women in Adult ·
trends

Collab Nation: Top Creators Share Best Practices for Fruitful Co-Shoots

One of the fastest ways for creators to gain new subscribers and buyers, not to mention monetize their existing fan base, is to collaborate with other creators. The extra star power can multiply potential earnings, broaden brand reach and boost a creator’s reputation in the community.

Alejandro Freixes ·
opinion

Bridging Generational Divides in Payment Preferences

While Baby Boomers and Gen Xers tend to be most comfortable with the traditional payment methods to which they are accustomed, like cash and credit cards, the younger cohorts — Millennials and Gen Z — have veered sharply toward digital-first payment solutions.

Jonathan Corona ·
opinion

Legal and Business Safety for Creators at Trade Shows

As I write this, I am preparing to attend XBIZ Miami, which reminds me of attending my first trade show 20 years ago. Since then, I have met thousands of people from all over the world who were doing business — or seeking to do business — in the adult industry.

Corey D. Silverstein ·
opinion

Adding AI to Your Company's Tech Toolbox

Artificial intelligence is all the rage. Not only is AI all over the headlines, it is also top of mind for many company leadership teams, who find themselves asking, “How can this new tool help our company?”

Cathy Beardsley ·
Show More