Development of Model and Software for Tracking Head Avatars in E-Learning Systems

Development of Model and Software for Tracking Head Avatars in E-Learning Systems

Anatoly Korikov (Tomsk State University of Control Systems and Radio Electronics, Russia) and Oleg Krivtsov (Tomsk State University of Control Systems and Radio Electronics, Russia)
DOI: 10.4018/978-1-4666-9489-7.ch031
OnDemand PDF Download:
No Current Special Offers


In this chapter, we focus on the theoretical basis of the method of tracking a person's head, based on the construction of its geometric texture patterns, and finding the parameters of its movement between pairs of consecutive video frames. The task of tracking the position of geometric head model is formulated as the problem of determining the parameters of the model (translation and rotation) so that the projection of a 3D model of the head on the video frame coincides with the real image of the head in this picture. To solve this problem, we use an efficient algorithm for infrared imaging. The application of the expressions is obtained during movement of the head as a three-dimensional body with six degrees of freedom and the use of perspective projection and for avatars modeling by Prof Vardan Mkrttchian last publications in IGI Global 2011-2015.
Chapter Preview


Our chapter uses computer graphics terminology. These terms are known, but, unfortunately, many authors observed differences in their interpretation and interpretation. Therefore, the following provides a brief description of the terminology used with computer graphics.

Vector Graphics uses the term ‘vectors’. For example, you can set the line pair of vectors - coordinates of the start and end points. Vector images are easily modified (moved, rotated, scaled, etc.) using the transformation vectors. If the vector belongs to three-dimensional space, we speak about of three-dimensional (3D) graphics, if the two-dimensional - a 2D graph. In raster graphics image is a two-dimensional array consisting of discrete elements (pixels) also called pixels. The bitmap can contain a different set of colors, for example, 256 shades of gray or palette containing several million colors. If the image contains shades of gray, then the value of the pixel of the image is called its intensity. The intensity of the pixel – a scalar value is an integer ranging from 0 to 255. For images that contain a rich color palette, we do not speak about the intensity of the pixel values. Color being asked is a set of three components RGB. Each color component - a scalar, are integers ranging from 0 to 255 and can convert a color image into RGB grayscale-image, however, reverse conversion (grayscale in RGB) is not possible. Vectors can be translated into a bitmap, this process is called rasterization. In the course of many years of work of various researchers in the field of computer graphics, they developed a standard called specification OpenGL. Standard Library Computer Graphics OpenGL - a software interface to graphics hardware, allows you to set the objects and operations involved in the production of high-quality graphics. OpenGL is keen to work with 3D and 2D vector graphics that after rasterization can be displayed on the screen of the user. We emphasize that the OpenGL is only a specification, a set of rules that must be followed by implementation. For example, different implementations may use different OpenGL algorithm to rasterize the primitives and differ in other respects. OpenGL specification clearly indicates the set of properties that are invariant to any implementation. In the field of computer vision that gradually acquired its own standard – there is computer vision library OpenCV. This is a collection of functions written in C, realizing many popular algorithms for image processing and computer vision algorithms (Mkrttchian, 2011).

The head of the person / avatar as a three-dimensional object (Figure 1 a), in 3D computer graphics can be represented as a model that defines the geometric shape and texture of the object (Figure 1, b, c). The geometric shape of the object model can be approximated by a set of primitive geometric shapes. OpenGL allows various primitive shapes (Figure 1, d), such as triangles, the sequence of triangles, quadrangles flat, flat polygons. Top of the three-dimensional coordinates are assigned, specifying its position in three-dimensional space. As mentioned earlier, the value of the vertex color is determined by three components of RGB.

Figure 1.

Head modeling, a) – 3D objeject – head, b) The model of the object and the associated object coordinate system (RMS), c) The textures applied to the surface of the object model, and the coordinate system of the texture, d) Primitive figures. The arrows show the direction of traversal of vertices clockwise.


Important task sequence of vertices of the primitive (direction of rotation), since it depends on the appearance of primitive shapes. It is believed that if projected onto the plane of the vertices of the frame traversal order of the vertices clockwise, the primitive see otherwise - invisible. Top of the figure can be assigned two-dimensional texture coordinates 978-1-4666-9489-7.ch031.m01 that define the corresponding point on the top of a two-dimensional texture. To set the vertex texture coordinates, is use the command glTexCoord2d (Mkrttchian, 2012).



We present an algorithm for constructing a texture for the model of the head:

Key Terms in this Chapter

Stakeholder: Person, group or organization (or categories) that are interested in the system or have other related problems. Examples of stakeholders: customers, clients, project manager, system architect, the end user, developer, designer, staff, etc. Stakeholder interests impose a number of non-functional requirements (constraints) on the key characteristics of the system, which is also referred to as a system. Examples qualities: performance, fault tolerance, cost, etc.

Template: Is a general solution to the general problem in this context.

View and View Point: Each interested person (or group of stakeholders) on how the system should work. View defines the language (notation, the model) that are used to describe the species as well as modeling and analysis techniques applicable to these types. Types typically consist of modules, such as a set of UML diagrams and descriptions. Point of view have the ability to not depend on the particular system (as opposed to specific and stakeholders), so they are isolated in separate frameworks, such as framework “4 + 1”.

Architecture Description, AD.: Documented architectures tend to be more elaborate - and therefore more effective - the undocumented, because the process of recording the architecture naturally leads to full deliberation. Description allows us to express the system and its development, interaction between stakeholders, test and compare different architectures in an orderly manner; plan, manage and implement actions to develop a system to verify the implementation of the system for compliance with the description.

Context: Determines the course and the circumstances of economic, operational, political and other influences on the system. It may include other systems that interact with the system. Setting defines the limits within which the system must operate, and this, in turn, influences the architecture. Environmental factors that influence the architecture - it is the mission of the business, which will support the architecture, interested in the internal technical limitations (eg, the requirement to meet the standards of the organization) and external technical constraints (such as the need to interact with the external system or to conform to external regulatory.

Complete Chapter List

Search this Book: