Can We create AI and Artificial Life Through Procedural Software?
Whether we like it or not, the future is being affected by computer automation. Part of our future now is the rise of artificial intelligence, and how AI is affecting the visual effects and animation industry. There is already uses of procedural reasoning systems in video games, and small AIs that can generate different custom worlds for characters. But what about the film and VFX industry? Let's take a look.
CmiVFX's Houdini AI Vision System
This is the first and so far the only example I can Find of a procedural artificial intelligence in Houdini. Published about seven years ago, CmiVFX(Thank Sadjad Rabiee) created a tutorial for using AI in animation. It is still currently on sale for $60 on CmiVFX, and I highly recommend watching it.
In this tutorial, they talk about how you can program Houdini to move a car. Before Houdini moves this car, it will be programmed how to avoid obstacles, changes color to match it's surrounding obstacles, and grow and stretch it's size to further avoid collisions. But first, it will need to see the chosen obstacles in 3D space, and decide how to act from there. They have done an excellent way of demonstrating how Houdini has other capabilities beyond animation and visual effects. As well as how they can modify the software to make the animation and texturing process easier.
This is a simple way of illustrating how procedural AI can be used in Houdini. This AI used it's procedural reasoning system to react accordingly to objects in it's environment. In my other article on Andrew Lowell, I mention how his music genus in Houdini can be expanded with AI. You can find it HERE.(If you need something more brain warping)
Other than this one reference, this is the only example I can find of AI being applied in Houdini. This topic probably needs more discussion, and more research. So let's get onto it.
Examples of Existing Procedural AIs
Lets take a look into procedural AIs that already exist, but have nothing to do with visual effects. This will help us have a better understanding on what a procedural AI is, and how dangerous and cool they can be.
All procedural AIs run on a procedural reasoning system and language. A procedural reasoning system is a set of predetermined rules that will tell the AI how to operate. Artificial Intelligence programs also can be based off of many different programming languages. For example most online chat bots all operate on a language called AIML. Some languages provide better and faster learning capabilities than others. While some are designed to only work with certain types of AIs.
One procedural AI we are going to look at today, is something similar to the previously mentioned AI vision software for Houdini. This more of the real life version. In 1994, The University of Michigan created a AI called UM-PRS. (University of Michigan Procedural Reasoning System) UM-PRS could take a fully operating all terrain car, and based on what it saw in it's surrounding environment, could drive around those obstacles. Instead of following a predetermined set of rules, the programmers told it to react on anything it saw surrounding it. This AI had general knowledge about certain situations it could find itself in, but no instructions on how to get out of them. It had to recognize what it's own goal was, and what tasks it had to use to complete it's goal. It was a successful application of AI, and a great one to show here.
Let's move on to chat bots. I briefly mentioned chat bots above, but they are also a great example of procedural AIs. They are a relatively easy AI to mass replicate, and the most widely spread bots out there on the internet. These programs are designed to communicate with humans, recognize our language, and grow from discussions that they have with us. Chat bots are also heavily based off of machine learning. This process allows them to grow through interactions it has in it's environment, rather than a set of pre-programmed rules.
Chat bots also grow through storing past conversations, and referring back to them when faced with a similar situation. This is who your Alexa or Siri home bots seem to respond sometimes when you don't directly ask them a question. They are recognizing context that they have previously logged and think they have to respond justly. Chat bots are also programmed with a default set of conversation logs to work from so it can also understand what types of questions it might be asked, or what a question even is.
Chat bots are also classified into 3 different categories.
Pattern Matching: These chat bots are designed to recognize patterns in text, and groups any inputted text together to form a response.
Natural Language Understanding: These chat bots break the inputted conversation into three different categorizes it uses for processing. Entities, context, and expectations. Based on what type of entity the chat bot is, the bot from there will chose how to interpret your question. Then the bot will analyze the context of what the question requires based on it's stored prior knowledge, and the context of the question. Finally, the bot will decide the outputted response that will fulfill the expectation of the question.
Natural Language Processing: These bots will automatically convert any text or speech based questions into data sets that it can use to grow it's information bank. Then it will choose the most relevant response to the selected question. These bots also grow from learning typos in asked questions, the user's experience, and create automatic searches on topics it is unaccustomed with.
What Can We Learn From This?
Based on the information we have just talked about, here are some general things you could apply into Houdini when regarding AI.
Houdini might be an interesting software to use when considering Deep Fake videos, and intelligent video application. As Houdini's software is built on procedural application, and has processing for audio, compositing, and animation.
Houdini could also be used to create an internal chat bot that exists in 3D space, and could communicate via CHOPs or the geometry spreadsheet.
Any user interface tools created inside of Houdini could also be given a artificial intelligence application to make communication and choices more easier.
Literally anything else that Houdini's software could be applied too.
Artificial Intelligence is something that might start to grow into the visual effects industry. It has potential to affect how we animate, texture, and create dynamics based on situational data. However, there also still might be the need for human created effects, as bots may not fully understand how to successfully implement human emotion into visualization.
However, going forward we need to be fully aware what we can create with AI, and the concerns and advantages of it. By doing so we can be open to create dynamics and animation more easily, and fluidly make environments that appear realistic to the eye. Then at the same time, we can avoid risk and recognize when AI has gone too far.
In another article I will talk more into the disadvantages of AI in procedural software, as well as some other main stream issues. Stay tuned.
The Verge. Revolutionize the Way Video Games are Developed and Played: https://www.theverge.com/2019/3/6/18222203/video-game-ai-future-procedural-generation-deep-learning
Creative AI: Procedural generation takes game development to new worlds: https://newatlas.com/creative-ai-procedural-game-development-angelina/35874/
Procedural reasoning system: https://en.wikipedia.org/wiki/Procedural_reasoning_system
Procedural Content Generation: Using A.I. to Generate Playable Content, The University of Southern Mississippi: https://aquila.usm.edu/cgi/viewcontent.cgi?referer=https://www.google.com/&httpsredir=1&article=1307&context=honors_theses
What about AI for Procedural Generation?: https://www.reddit.com/r/starcitizen/comments/9d3jkm/what_about_ai_for_procedural_generation/
Eight AI trends we’re watching in 2020: https://www.itproportal.com/features/eight-ai-trends-were-watching-in-2020/
Whoever leads in artificial intelligence in 2030 will rule the world until 2100: https://www.brookings.edu/blog/future-development/2020/01/17/whoever-leads-in-artificial-intelligence-in-2030-will-rule-the-world-until-2100/