Українська   Русский
DonNTU   Masters' portal

statement of the PROBLEM

the Aim of the project is the accumulation and systematization of information for the study of dynamic data structures (DSD). Training module will reduce the training time of users and will teach how to use them, thus enhancing the performance of software implementations and saves allocated memory. The developed module is part of the learning system on the course "Algorithmization and programming".

To create a learning module in General, the following tasks: ‒ preparing and systematization of educational material, adapting material by levels of complexity, development of dynamic illustrations, quizzes and other assignments (knowledge base); ‒ user registration (create a model of the learner), to check the level of knowledge and collection of statistical indicators of learning; ‒ assessment of the level of knowledge, abilities and skills of trainees before and after training, their individual abilities and motivations; ‒ system administration, delivery of educational material at work stations and task feedback to the trainee.

the CONCEPT of DYNAMIC DATA STRUCTURES

Classification of dynamic data structures

the data Object has a dynamic structure if its size changed during program execution or it is potentially infinite. Used in programming data can be divided into two large groups: Static data structures are the data, the relative positions and relations of elements which are always the same. Dynamic data structures are data, the internal structure of which is formed according to any law, but the number of elements, their relative positions and relationships can be changed dynamically during program execution, according to the law of formation. Dynamic data structures include files that are unrelated and associated dynamic data.

note that files in this classification is related to dynamic data structures. This is done on the basis of the above definition. Although removing and inserting elements in the middle of a file is not allowed, but the length of the file in the process program can be changed to increase or decrease to zero. And this is a dynamic property of the file as the data structure. In high level languages one of the aims of descriptions is to fix on the run time the size of the values, and, consequently, the size of the allocated memory space for them. Described in this way are called static variables. All variables declared in the program are placed in a single continuous region of memory – the data segment. The length of the data segment is determined by the architecture of the microprocessor and is usually 65536 bytes.

sometimes, However, not known in advance not only the values but also the very existence of values of a particular variable. For the result variable you have to take the memory based on the largest value, which leads to inefficient use of memory. This is especially difficult when dealing with large data sets. For example, suppose you have a program that requires the array 400 lines, 100 characters each. For this array requires approximately 40K, which is less than the maximum 64K. If the rest of your variables are placed into the remaining 24K, an array of such volume of problems is not. But what if you need two such array? This would require 80K and 64K data segment is not enough.

Another common example is sorting. Normally when you sort a large amount of data, make a copy of the array, sort the copy, then write the sorted data back into the original array. This preserves the integrity of your data, but also requires during the sort of two copies of the data. On the other hand the computer memory is large enough to successfully solve problems with a large dimensionality of the data. A way out could be to use so-called dynamic memory. Dynamic memory (DP) is the operational memory of the computer provided by the program when it is working, minus the data segment (64K), the stack (16 KB) and the actual body of the program. The heap size can be varied. By default, the DP – all of the available memory of the PC.

The contours of the eyelids are separately for each eye. And first there are the contours of the upper eyelid, and then the lower. First, the original area is smoothed by Gaussian and median filters, which will get rid of noise and partially eyelashes. We obtain the contour of the upper eyelid using the Sobel differential operator. The lower border is difficult to obtain, based on the analysis of the edges of the image, so this border was approximated by two straight lines. First you need to find the edge point of the center of the century, for which the Sobel operator was also used. Then by connecting the leftmost and rightmost points of the upper eyelid with the center of the lower eyelid obtained, you can get a fairly accurate approximation of the lower eyelid.

Eyebrow contours are also found separately. Preliminarily, we use a Gaussian and median filter, since the structure of the eyebrow is often heterogeneous. To get the contours of the eyebrow, we use the Sobel operator. But the contour of the eyebrow is quite massive and redundant, so it needs to be skeletonized (to bring in a line with a width of 1 pixel). Let us consider the center between the upper and lower border of the eyebrow.

The contour of the mouth is not expressive enough, therefore, methods based on edge analysis are not applicable for this task. To find the mouth, an approach based on color segmentation was used. In the RGB color space, it is difficult to achieve a clear separation of the image into lip / non lip classes. Therefore, after applying the Gaussian and median filters, it is necessary to switch to the R / G color space, after normalizing the R and G channels. It is much easier to find lips in the resulting color space. Threshold segmentation is used for this.

Output

The proposed mathematical model and holistic information technology for the automatic determination of the arbitrary emotional state of a particular person as a convex combination of certain basic states. To do this, using the mathematical model and the original software creates a basic space of emotional states of a particular person. Further, the arbitrary emotional manifestation of this person decomposes as a convex combination of emotional states in this space. To build the basis of the space of emotional states, flexible patterns of contours of the main facial zones are used. Flexible patterns are described using NURBS curves. Setting the pattern on a point contour of a particular image is performed using the B-spline approximation, by solving the redefined non-uniform system of linear equations. The proposed technology has practical value in the systems of visual control over operators of complex industries (nuclear power, etc.) for automatic control over their emotional state.

References

  1. Кривонос Ю.Г. Моделирование и анализ мимических проявлений эмоций / Ю.Г. Кривонос, Ю.В. Крак, А.В. Бармак // Доклады НАНУ, 2011. - №12. - С. 51-55.
  2. Ekman P. Learning to Make Facial Expressions / P. Ekman, W.V. Friesesen. – Part II. – Palo Alto, 2009. Режим доступа: http://mplab.ucsd.edu/wp-content/uploads/wu_icdl20091.pdf
  3. Ekman P., Facial Action Coding System. / P. Ekman, W.V. Friesesen. – Part II. – Palo Alto, 2006. Режим доступа: https://pdfs.semanticscholar.org/99bf/8ac8c131291d771923d861b188510194615e.pdf
  4. Леонтьев В.О. Классификация эмоций / В.О. Леонтьев. – Одесса : ИИЦ, 2006. – 84 с.
  5. Ефимов А.Н. Моделирование и распознавание мимических проявлений эмоций на лице человека / Г.М. Ефимов // Искусственный интеллект, 2009. - C. 532-542.
  6. Крак Ю.В. Синтез мимических выражений эмоций на основе формальной модели / Ю.В. Крак, А.В. Бармак, М. Ефимов // Искусственный интеллект, 2007. - №2 - C. 22-31.
  7. Piegl L. The NURBS Book / Les Piegl, Wayne Tiller. – [2nd Edition]. – Berlin : Springer-Verlag, 1996. – 646 p.
  8. Ekman P. Cross–cultural studies of facial expression / P. Ekman, W.V. Friesesen // Darwin and facial expression: A century of research in review. – N.Y : Academic, 2010. – P. 196-222.
  9. Ekman P. Measuring facial movement / P. Ekman, W. Friesen // Environmental Psychology and nonverbal Behavior, 1976. – Р. 56-75. Режим доступа: https://link.springer.com/article/10.1007/BF01115465
  10. Изард К. Эмоции человека / К. Изард. – М. : Изд–во МГУ, 2010. – 439 с.
  11. L. Olsson / “From unknown sensors and actuators to actions grounded in sensorimotor perceptions” / L. Olsson, C. Nehaniv, and D. Polani – Connection Science, vol. 18, no. 2, pp. 121–144, 2006.