MakeHuman
   HOME

TheInfoList



OR:

MakeHuman is a free and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement co ...
designed for the
prototyping A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semantics, design, electronics, and software programming. A prototype is generally used to ...
of
photorealistic Photorealism is a genre of art that encompasses painting, drawing and other graphic media, in which an artist studies a photograph and then attempts to reproduce the image as realistically as possible in another medium. Although the term can be ...
humanoid A humanoid (; from English ''human'' and ''-oid'' "resembling") is a non-human entity with human form or characteristics. The earliest recorded use of the term, in 1870, referred to indigenous peoples in areas colonized by Europeans. By the 20t ...
s. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.


Technology

MakeHuman is developed using 3D morphing technology. Starting from a standard (unique)
androgynous Androgyny is the possession of both masculine and feminine characteristics. Androgyny may be expressed with regard to biological sex, gender identity, or gender expression. When ''androgyny'' refers to mixed biological sex characteristics i ...
human base mesh, it can be transformed into a great variety of characters (male and female), mixing them with
linear interpolation In mathematics, linear interpolation is a method of curve fitting using linear polynomials to construct new data points within the range of a discrete set of known data points. Linear interpolation between two known points If the two known poin ...
. For example, given the four main morphing ''targets'' (baby, teen, young, old), it is possible to obtain all the intermediate shapes. Using this technology, with a large
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
of morphing targets, it's virtually possible to reproduce any character. It uses a very simple
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
in order to access and easily handle hundreds of morphings. The MakeHuman approach is to use
sliders Slider or Sliders may refer to: Arts * K.K. Slider, a fictional character within the ''Animal Crossing'' franchise * '' The Slider'', a 1972 album by T. Rex * ''Sliders'' (TV series), an American science fiction and fantasy television series * ...
with common parameters like height, weight, gender, ethnicity and muscularity. In order to make it available on all major
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s, beginning from 1.0 alpha 8 it's developed in
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
using
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
and Qt, with an architecture fully realized with plugins. The tool is specifically designed for the modeling of virtual 3D human models, with a simple and complete pose system that includes the simulation of muscular movement. The interface is easy to use, with fast and intuitive access to the numerous parameters required in modeling the human form. The development of MakeHuman is derived from a detailed technical and artistic study of the morphological characteristics of the human body. The work deals with ''morphing'', using
linear interpolation In mathematics, linear interpolation is a method of curve fitting using linear polynomials to construct new data points within the range of a discrete set of known data points. Linear interpolation between two known points If the two known poin ...
of both
translation Translation is the communication of the Meaning (linguistic), meaning of a #Source and target languages, source-language text by means of an Dynamic and formal equivalence, equivalent #Source and target languages, target-language text. The ...
and
rotation Rotation, or spin, is the circular movement of an object around a '' central axis''. A two-dimensional rotating object has only one possible central axis and can rotate in either a clockwise or counterclockwise direction. A three-dimensional ...
. With these two methods, together with a simple calculation of a form factor and an algorithm of mesh relaxing, it is possible to achieve results such as the simulation of muscular movement that accompanies the rotation of the limbs.


License

MakeHuman is free and
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, with the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
and database released under the GNU Affero GPL. Models exported from an official version are released under an exception to this,
CC0 A Creative Commons (CC) license is one of several public copyright licenses that enable the free distribution of an otherwise copyrighted "work".A "work" is any creative material made by a person. A painting, a graphic, a book, a song/lyric ...
, in order to be widely used in free and non-free projects. These projects may or may not be
commercialised Trade involves the transfer of goods and services from one person or entity to another, often in exchange for money. Economists refer to a system or network that allows trade as a market. An early form of trade, barter, saw the direct exchan ...
.


Awards

In 2004, MakeHuman won the Suzanne Award as best
Blender A blender (sometimes called a mixer or liquidiser in British English) is a kitchen appliance, kitchen and laboratory appliance used to mix, crush, purée or emulsion, emulsify food and other substances. A stationary blender consists of a blender ...
Python script.


Software history

The ancestor of MakeHuman was ''MakeHead'', a python script for Blender, written by Manuel Bastioni, artist and coder, in 1999. A year later, a team of developers had formed, and they released the first version of ''MakeHuman'' for Blender. The project evolved and, in 2003, it was officially recognized by the Blender Foundation and hosted on http://projects.blender.org. In 2004, the development stopped because it was difficult to write a Python script so big using only Blender API. In 2005, MH was moved outside Blender, hosted on SourceForge and rewritten from scratch in C. At this point, version counting restarted from zero. During successive years, the software gradually transitioned from C to
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
. While performant, it was too complex to develop and maintain. Hence, in 2009, the team decided to go back to the Python language (with a small C core) and to release MakeHuman as version 1.0 pre-alpha. Development continued at a pace of 2 releases per year. The stable version 1.0.0 was officially released March 14, 2014. MakeHuman 1.1.0 has been released May 14, 2016, around two years later. The most recent intermediate version is 1.1.1, as of March 5, 2017. A community website was established June 2015 featuring a
forum Forum or The Forum (plural forums or fora) may refer to: Common uses * Forum (legal), designated space for public expression in the United States *Forum (Roman), open public space within a Roman city **Roman Forum, most famous example *Internet ...
section, a wiki, and a repository for user contributed content for the program.


Evolution towards a universal model topology

The aim of the project is to develop an application capable of modeling a wide variety of human forms in the full range of natural poses from a single, universal
mesh A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands. Types * A plastic mesh may be extruded, oriented, ex ...
. For this purpose, the design of a 3D humanoid mesh that can readily be parametrically manipulated to represent anatomical characteristics has been pursued, the mesh includes a common skeleton structure that permits character posing. MakeHuman Team developed a model that combines different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The initial
mesh A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands. Types * A plastic mesh may be extruded, oriented, ex ...
occupies a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. Goal was to depict a fair-built androgynous form, named the ''HoMunculus''. The current MakeHuman mesh has evolved through successive steps of MakeHuman project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentation. Evolution of the mesh for the human model: * A first universal mesh prototype (head only), done in 1999 using makeHead script, was adapted for the early MakeHuman in 2000. * The first professional mesh (HM01) for a human model was realized by Enrico Valenza in 2002. * A second remarkable mesh (K-Mesh or HM02) was modelled by Kaushik Pal in 2003. * The third model was created by Manuel Bastioni upon the Z-Mesh or HM03 in 2005. * With experience from preceding versions, a fourth mesh (Y-Mesh or HM04) was done by Gianluca Miragoli (aka Yashugan) in 2007. * The fifth mesh (HM05) was built on the previous one by Gianluca Miragoli and Manuel Bastioni in 2008. * A sixth mesh (HM06) was also created by Gianluca Miragoli in 2010. * Another mesh version was released in 2010 by Waldemar Perez Jr., André Richard, Manuel Bastioni. * The latest and state-of-the-art mesh, released in 2013, was modeled by Manuel Bastioni. Since the first release of makeHead (1999) and MakeHuman (2000), a challenge had been to construct a universal topology that retained all of the capabilities but added ability to interactively adjust the mesh to accommodate anatomical variety found in the human population. This could have been addressed by dramatically increasing the number of vertices for the mesh, but the resultant, dense mesh would have limited performance on processing computers. Technically, the model developed for MakeHuman is: * Light and optimized for subdivision surfaces modelling (15,128 vertices). * Quads only. The human mesh itself is ''triangles free'', using Catmull-Clark subdivision for extra resolution to base meshes, see also
polygon mesh In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedral object. The faces usually consist of triangles (triangle mesh), quadrilaterals (quads), or other simple convex polyg ...
. * Only E(5) Pole and the N(3) Pole, without holes and without 6- edge poles.


Research usage

Because of the freedom of the license, MakeHuman software is widely used by researchers for scientific purposes: MakeHuman mesh is used in
industrial design Industrial design is a process of design applied to physical Product (business), products that are to be manufactured by mass production. It is the creative act of determining and defining a product's form and features, which takes place in advan ...
, to verify the
anthropometry Anthropometry () refers to the measurement of the human individual. An early tool of physical anthropology, it has been used for identification, for the purposes of understanding human physical variation, in paleoanthropology and in various atte ...
of a project, and in
virtual reality Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), educ ...
research, to quickly produce
avatars Avatar (, ; ), is a concept within Hinduism that in Sanskrit literally means "descent". It signifies the material appearance or incarnation of a powerful deity, goddess or spirit on Earth. The relative verb to "alight, to make one's appearance ...
from measures or camera views. MakeHuman characters are used in
biomechanics Biomechanics is the study of the structure, function and motion of the mechanical aspects of biological systems, at any level from whole organisms to organs, cells and cell organelles, using the methods of mechanics. Biomechanics is a branch of ...
and
biomedical Biomedicine (also referred to as Western medicine, mainstream medicine or conventional medicine)
engineering, to simulate the behaviour of the human body under certain conditions or treatments. The human character model for a project of the construction of artificial
mirror neuron A mirror neuron is a neuron that fires both when an animal acts and when the animal observes the same action performed by another. Thus, the neuron "mirrors" the behavior of the other, as though the observer were itself acting. Such neurons hav ...
systems was also generated by MakeHuman. The software was used for visuo-haptic surgical training system development. These simulations combine tactile sense with visual information and provide realistic training scenarios to gain, improve, and assess resident and expert surgeons' skills and knowledge. Full-body 3D virtual reconstructions have been performed using MakeHuman, and 3D analysis of early Christian burials (archaeothanatology). The tool has also been used to create characters to perform Sign Language movements. MakeHuman can also be used for nonverbal behavior research, like facial expressions, which involve the use of Facial Action Coding System


See also

*
Facial Action Coding System The Facial Action Coding System (FACS) is a system to taxonomize human facial movements by their appearance on the face, based on a system originally developed by a Swedish anatomist named Carl-Herman Hjortsjö. It was later adopted by Paul Ek ...
* Blender software *
Poser Poser or ''variant'', may refer to: *a hard problem, a poser *a hard question, a poser People *Poseur, a person who inauthentically adopts a certain subculture *a person playing a role, a role-play, a fake, an imposter * Bob Poser (1910–2002) ...
*
Daz Studio Daz Studio is a free media design software developed by Daz 3D. Daz Studio is a 3D scene creation and rendering application used to produce images as well as video. Renders can be done by leveraging either the 3Delight render engine, or the Ira ...
* FaceGen * ManuelbastioniLAB, a free and open source plug-in for Blender for the parametric 3D modeling of photorealistic humanoid characters


References and Related Papers


External links

* {{Animation editors Free 3D graphics software 3D modeling software for Linux Anatomical simulation Free software programmed in Python 3D graphics software that uses Qt Windows graphics-related software MacOS graphics software Software using the GNU AGPL license