Laboratory
of
Artificial
Intelligence
for
Design
|
|||||
|
|||||
creating smarter
design tools the quest for
artificial imagination first online 3D
sketch interpreter now machines
think spatially free 3D CAD
for experiments an initiative of Lai4d Systems
|
The practical implementation of the project has been conceived as a dual web application that
can work as a 3D viewer widget or as a free light 3D CAD tool providing
the adequate environment for the project. This CAD tool incorporates a special
design assistant
capable of extracting conceptual geometries from pictures or sketches
provided by the user as input thanks to innovative AI algorithms.
Additionally LAI4D tries to reduce the inherent complexity of professional design tools which, despite being suitable for experienced users, are almost unreachable for other people not trained in the usage of CAD systems and only in need of an occasional use. The selected implementation approach not only allows the users an easy access to the tool, but is also an excellent mean to build a community of designers that will provide the necessary feedback for the system in order to make it bigger and smarter. Start creating 3D models with the LAI4D designer. |
||||||||||||||||||||||||||||||||||||||||||||||||
FEATURES OF THE FREE WIDGETThe LAI4D widget is a minimalist 3D viewer and designer for the web, all in one, and is used as a test-bed for the research. This widget can be easily embedded in other web pages in the form of an IFRAME element whose URL indicates the drawing source. The viewer allows to render and explore 3D drawings in web pages without the need of plugins even if the device is not WebGL enabled. The designer is the free drawing tool for the people without the time to learn the usage of a professional CAD application and that need results in minutes. It allows to create 3D drawings by writing the description of the geometries using a really simple language.As opposed to most modern applications, direct source edition as plain text takes again relevance in LAI4D because it is straightforward for occasional and inexperienced users requiring a minimum learning effort. At the same time, the created drawings can be shared through the Internet uploading them to the LAI4D server from the own designer widget. And if a more advanced usage is required, a rich command and graphic interface is also available. Although LAI4D has not been conceived as a professional CAD tool, it can handle any kind of design since it offers the following elements:
|
||||||||||||||||||||||||||||||||||||||||||||||||
All graphic functions of LAI4D are based on the capabilities of the canvas HTML element. Although major web browsers are WebGL enabled, in case of need LAI4D can work both with WebGL and canvas 2D rendering contexts. Obviously the performance when using canvas 2D is less than that when using WebGL (accelerated graphics hardware) but, at least, it allows to handle 3D geometries in any device. LAI4D can be used not only online but also offline. The LAI4D web page downloaded from the Internet can be saved to a local drive of the client's machine using the standard "Save as" function of the web browser normally located in the "File" menu. This will allow the user to work offline regardless of whether the LAI4D page has been cached or not by the browser. This is particularly necessary if the user wants to create a distributable HTML document containing embedded LAI4D drawings as IFRAME elements that can be displayed both online from the Internet or offline from the local drive of a computer. The user interface is structured in order to allow an easy access to the functions. The most common functions are grouped at the corners of the viewport while the rest of functions and configurations are organized in a tree view control. The detailed functionalities of LAI4D can be found in the reference manual at the documentation section. |
||||||||||||||||||||||||||||||||||||||||||||||||
RESEARCHWe taught the machines to understand our speech.
We taught the machines to understand our writing. And now we are teaching the machines to understand our spatial ideas Designers spend an important part of their work time transferring decisions to the design tool. This is normally done by means of commands configured with coordinates or other parameters. The design assistant available in the designer widget is an experimental tool intended to provide a new way of communication between the user and the design application. Its goal could be explained as the capability of understanding the user ideas. When the assistant analyzes a user's input, what it is essentially doing is trying to understand that input in order to generate a canonical or formal response ready to be exploited for design purposes. The tool can be basically used in two ways:
|
||||||||||||||||||||||||||||||||||||||||||||||||
The sketch interpreter of the design assistant is the face of the conceptualizer program JAIC. The goal of this program is to "imagine" the conceptual
geometry represented by an imprecise raster image in a probabilistic way
regardless of whether it is a recognizable shape or not.
The sample image shows a set of irregular strokes at the left side, and
it is what it is, a sketch with irregular strokes. Despite their
imprecision, a person could also say that the strokes represent a
box, like the one at the right side. The necessary process to reach to
the conclusion that those irregular strokes are representing a
perspective view of a box is a conceptualization process. While a
box is a well-known shape, the conceptualization can also be extended
to the comprehension of non-recognizable and never-seen-before
geometries when such geometries have some kind of sense. JAIC only uses recognition for the OCR function. Convolutional neural networks are very good for finding similarities between an input and a database of patterns, like in the OCR, but this approach is not enough to solve the problem of conceptualizing generic images. Although humans count with biological 3D sensors like stereographic view and ocular focus, much of the image interpretation is achieved through conceptualization. Indeed when a human watches TV or plays a computer simulation game or remotely pilots a vehicle through a screen, is the conceptual vision the only mechanism in charge of building the 3D scenes on his mind because no other 3D information is actually available. The LAI4D research is an indirect approach to the understanding of the human conceptual vision which probably is one of the key pieces for an enhanced motor dexterity of autonomous robots and higher cognitive capabilities like artificial imagination. JAIC is progressively implementing the necessary knowledge to try to understand the 2D or 3D conceptual geometry represented by sketch images under certain conditions. When the analysis is successful the program generates the corresponding canonical geometric entities offering the possibility of adding them to the drawing. Although the current capabilities of JAIC are still very limited its potential is great. Traditionally humans share complex ideas through plans, sketches or other graphic means because they are more efficient for transmitting the huge amount of information needed to describe such ideas. Unfortunately this strategy does not work so efficiently when the recipient is a machine since it usually demands the information in a canonical format. But, what if the machine were able to understand the user's ideas? That is the path LAI4D is trying to open by developing JAIC. This technology is absolutely experimental and is at a very early stage of development. A big effort has been done for implementing the first versions as a client side application offering useful offline capabilities, but this cannot be a long term strategy due to the limited power of personal computers. In the future most of its functionality will run on remote servers better fitted for executing the heavy queries and brute force algorithms involved in artificial intelligence tasks. See the section "Working with sketches" of the Reference manual for more details. |
||||||||||||||||||||||||||||||||||||||||||||||||
LINKS TO OTHER RESOURCES
Although the research carried out by LAI4D is quite singular due to the
fact of not being based on conventional deep learning, there are other
research projects or organizations pursuing similar goals. Next it is
offered a list of interesting links that can be classified under the
concepts of sketch recognition, 3D reconstruction or 3D shape retrieval, as well as others with a more general AI scope:
|
||||||||||||||||||||||||||||||||||||||||||||||||
CAD EXAMPLESClick on the image links to open the examples in a new window. Some of them may take several seconds to render. All details about the entities used to compose these examples can be found in the reference manual at the documentation section.
|
||||||||||||||||||||||||||||||||||||||||||||||||
DOCUMENTATION► Beginner's tutorial: This tutorial is the recommended introduction for all persons new to LAI4D. It is intended to teach the basics of design in 20 minutes. It shows step by step how to create a simple 3D geometry from the idea up to the publishing of the drawing on the Internet using the easiest tools. Thanks to this exercise the user will understand the working philosophy of LAI4D, will be able to generate polyhedral surfaces and polygonal lines with colors, and will learn to share designs online. The created geometry can be inspected in the link: cubicle_sample.► How to design a 3D model with LAI4D: This video-tutorial covers the designing of a 3D model using different strategies as well as its later saving to share it online. It is based on the Beginner's tutorial of the LAI4D designer but extended in order to show also how the user can work with the menu of commands or the sketch interpreter. ► UI quick help: This help document summarizes the functions available through the user's interface of the viewer widget. ► Reference manual: This document is the most complete guide to the functions of the LAI4D widget but it is not a tutorial. It is indicated for people willing to make a deeper usage of the tool. The following topics are covered by the reference manual:
Find more interesting tutorials and articles in the community. |
||||||||||||||||||||||||||||||||||||||||||||||||
FAQ
|
||||||||||||||||||||||||||||||||||||||||||||||||
RELEASE NOTES
3.6.20241124
The command "Physic properties" doesn't perform a topology checking and fixing any more. Those processes slowed down the command execution a lot when analyzing complex geometries. The information command "Topology" now indicates whether the topology es well constructed or not. Improvements and new functions developed in the Iquix framework for the project PEG. The command "Generate surface contour" does not perform any more a previous vertices merging since that option was not always convenient, and can be performed at will through the specialized command "Merge entities". Export to PLY format also exports vertex colors.
|
||||||||||||||||||||||||||||||||||||||||||||||||
PARTICULAR TERMS AND CONDITIONSSee the General terms and conditions. |
Generative art is a way to express the beauty through computational
creativity. Generative algorithms are able to create awesome and
beautiful artworks. However those algorithms usually depend on a high
number of parameters which meanings are not easy to interpret. The GENEVL configurator allows the user to explore all the universe of parameter combinations handling a simple UI control and regardless of the algorithm complexity. Additionally it includes several functions for saving and sharing the explored configurations as well as utilities for obtaining the generated models. Thanks to the project GENEVL many different persons can enjoy the same artwork but having a completely customizable experience. |
||||||||||||||||||||||||||
FEATURES OF THE CONFIGURATORThe GENEVL configurator is an experimental tool expressly conceived to make any person capable of managing complex parametric models which judgement mainly depends on aesthetic criteria. This tool must not be confused with conventional web configurators whose goal is to modify some characteristics (typically color or material) of predefined parts of a 3D model.The GENEVL configurator works over a generative algorithm. This kind of algorithms are commonly used in the field of generative art. The algorithm takes a set of parameters as argument and processes them according to the mathematical instructions composing it. The result is normally a 3D model defined by its geometry and colors, but the truth is that it can generate videos, 2D pictures, musical melodies or any other thing definable through information. Its user interface has been simplified to the most. Apart from the basic controls necessary to handle the camera configuration, the UI only shows a dial-like control: It is the evolution control bar and permits the user to control the evolution speed of the model (that is an involution when negative). The tool evolves the model automatically modifying the parametric configuration according to the rules of the internal engine. The evolution history is saved in memory so the user can return back to a previous stage at any moment. The tool offers other interesting utilities:
It is important to understand the difference between the GENEVL configurator and a conventional design tool. Although the result of a generative algorithm is a 3D shape with vertices, faces and colors, you can't expect to directly alter the coordinates of specific vertices nor to modify the orientation of specific faces nor to edit the components of specific colors as if you were working with a CAD application. You cannot even expect to handle something similar to a B-rep. The only thing you can modify are the variables (parameters) consumed by the mathematical equations of the generative algorithm. And to guess the final effects in geometry or colors of such variations can be really difficult for a person due to the deviousness of those equations. The singular capability of exploring that universe of parameter combinations is what makes the experience of using the GENEVL configurator so different from that of using a design tool, and is the reason why it is named configurator instead of designer. |
||||||||||||||||||||||||||
RESEARCHThe GENEVL configurator is based on the LAI4D's technology Probabilistic evolutionary generation (PEG). The PEG technology allows the configuration of highly parametrized models through one unique numerical input. While the model to configure can depend on a huge number of parameters, both continuous and discrete, the user interface only shows a simple control like a slider or a dial.Internal AI engine The PEG engine automatically generates evolutionary paths for the parametric model basing its decisions on probabilities which are initially set to default values. The user continuously communicates whether he likes or not the current evolution stage (mutation) of the model through the single UI control that represents the evolution speed. If that entered speed is negative then the PEG engine involves the model configuration instead of evolving it. The user's feedback allows the reinforce learning mechanism of the PEG engine to recalibrate the decision probabilities with the goal of accelerating the convergence. Convergence is reached when the user is satisfied with the model configuration and no more evolution is necessary. Improving convergence is the main research vector of the project. This probabilistic approach makes the PEG engine tolerant to user errors. The user input will provoke one evolutionary path to become more or less likely to happen but the engine will never absolutely discard a parametric configuration. The automatic evolution can get to show interesting and unexpected mutations that would have been ignored in the case the user was responsible for manually set the model configuration. Furthermore the manual configuration of parameters could be unpractical when their individual or combined effects are difficult to interpret, which is a common issue in complex generative algorithms even for their authors. User interface The minimalist and easy to handle interface leads to an entertaining user experience regardless of the model complexity. This technology really opens the door to the concept of custom art since the user is allowed not only to modify a few evident properties of model parts like in conventional online configurators, but he also can customize models involving sophisticated mathematical algorithms with immediate results. During the research phase other UI options has been tested. The challenge was how to easily and effectively manage an undefined amount of parameters (typically dozens) whose functions within the model are far from being clear. The "easily" requirement implied to handle the whole set of parameters from an standard input device like a mouse or a track-ball. These devices allow to generate a two-parameter input normally intended for defining an X-Y graphic input. After several tests and taking into account that users actually judge what they see with a like-dislike decision, the input was reduced to a single number through a dial-like control. This approach has proven to be effective and avoids the user confusion when handling an X-Y input working on a geometric model because he intuitively expects some kind of X-Y effect. Generative algorithm Obviously the GENEVL configurator can work over any generative algorithm. But the complexity of that algorithm must be carefully analyzed since the target hardware has a limited processing power and the user cannot judge in real time a very high number of aesthetic details. Having selected a fancy snail shell as the first algorithm to work with responds to a series of reasons. Probably the most important reason is the fact that with a snail algorithm it is relatively easy to obtain a beautiful shape. Other important reason is that it offers a good beauty-complexity balance for a non-abstract geometry. Although an abstract geometry can also be beautiful it is more probable to find beauty in a recognizable shape. To implement a generative algorithm for a non-abstract geometry was more challenging but has offered the possibility of testing the tool with a model of near 40 parameters. Furthermore an snail shell is an open surface that needs a non-trivial post-processing before being sent to 3D-printing what constituted another relevant exercise for the GENEVL project. LAI4D is working on the development of more algorithms to enrich the user experience. Nevertheless integrating new generative algorithms is a work of software craftsmanship not supported by any kind of API or industrial standard due to the characteristics of the underlying technology. Hardware requirements The operation of this tool evolving a complex model in real time is possible thanks to the generalized availability of GPU powered hardware. Fortunately this hardware is also accessible from a web browser through WebGL so the GENEVL configurator could finally be implemented as a web application running on any device. This execution environment highly conditions the way generative algorithms are structured constituting itself a programming challenge. The performance achieved by the tool in mean computers equipped with low power GPUs is reasonable. But this also depends on the requirements of the generative algorithm. In the future, using more powerful hardware, this technology could be exploited for engineering or architectural purposes involving real time evaluation of physical constrains, and not only for artistic purposes. As an experimental AI tool, the accumulated training coming from the user interaction not only improves the performance of the application thanks to its learning capabilities but also constitutes a valuable scientific data about the user behavior (coherence, contradiction, attention, aesthetic judgment, curiosity...) that can be exploited for research. |
||||||||||||||||||||||||||
LINKS TO OTHER RESOURCES The
concept of generating things by computationally emulating the process
of biological evolution has been present in art and science almost since
the inception of computers. And the concept of interactive art is
neither new. Unfortunately many of the online projects conceived to
explore those technologies have been apparently discontinued or
abandoned. Here are some interesting references related to the field of
generative art:
|
||||||||||||||||||||||||||
CONFIGURATION EXAMPLESClick on the image links to open the examples in a new window.
Other interesting examples can be found at REIVGEN Studio. |
||||||||||||||||||||||||||
DOCUMENTATION► GENEVL Configurator help: Document explaining the basics about the functionality of the configurator tool.Find more interesting tutorials and articles in the community. |
||||||||||||||||||||||||||
FAQ
|
||||||||||||||||||||||||||
RELEASE NOTES
1.1.20241124
User interface styling improved. Now the "Share model" function also shares a screenshot. Convergence of the engine improved.
|
||||||||||||||||||||||||||
PARTICULAR TERMS AND CONDITIONSThe GENEVL configurator is not a design application but a configurator tool that allows to explore different parametric combinations of a generative algorithm. Any resulting configuration is considered a derived work from the underlying generative algorithm (the original work).By using this software tool you renounce to any exclusive right over any derived work resulting from the usage of the tool which will be the property of the author of the original work. The exploitation of any derived work resulting from the usage of the tool is subject to the obtaining of a license from the author of the original work. You are free to publish snapshots of the derived works with the corresponding attribution. Unless otherwise specified, the author of the original work and owner of all its associated rights is Lai4d Systems. See also the General terms and conditions. Companies licensing this technology may have other terms of use. |
You can contact the LAI4D team at info@lai4d.com.
If you want to contribute with tutorials or interesting articles send us an email.
LAI4D's board at MAKEPROJECTS.com LAI4D's blog at Medium Topic: Tutorials LAI4D's YouTube channel Other references to LAI4D:
|
||
|