Saturday, August 27, 2016

Color Perceptoid Experiment

The other day I performed an experiment with color.



I have found since then, that it is not a 100% viable solution inside of an environment that is cluttered with lots of color.  Being in Morocco, I've realized that mainly shops have a very cluttered test environment with lots of different colors.  So the clutter allows for some level of failure based on the color bias of any given perceptoid to still get stuck on points which the user/programmer deems "not important".

While in an uncluttered environment, color based perceptoids perform extremely accurately, the cluttered environment tends to pose the same exact problem that caused me to begin experimenting with point color to begin with.  The problem exists in fewer situations, but it is still there.

I am now working toward adding in short-term session based memory and shape recognition into each perceptoid so that this recognition can help the perceptoid to predict movement, orientation, and which colors will be included.

I think to fully represent colors I'm going to have to experiment with more advanced color theory like frequencies, RGB race conditions, hue decomposition, etc.

I'll keep you all posted ;)

Friday, August 26, 2016

Stop and Think: Computer Perception

Progress toward where?

As we run, begging and fighting, toward what Google's Artificial Intelligence (AI) guru Ray Kurzweil likes to call "The Singularity".  As our technology becomes faster: 2D turns to 3D and 3D into 12D, data centers become indescribably large, computing hardware becomes smaller and smaller, and our technology gains new wondrous abilities and intelligence.  We might want to take a moment to profoundly and sincerely stop and think.

We might want to take a moment to re-connect with what we know as Nature and human nature.

We might want to reconsider some of the more important aspects of our technology and the direction in which we take it.

All progress, be it technological, societal, creative or physical, must have a direction.  Progress in technology has a direction and a velocity just like an apple falling from a tree is moving toward the ground.  We are approaching this possible self-created future at an ever accelerating rate (velocity).

So first, ask yourself...


What direction are we "progressing" in?  Out of all possible futures that we can create with our ever evolving imaginations, what future do we actually want to move toward?  What outcomes do we truly want? Do we want peace?  Do we want war? Do we want terror?  Do we want love? What will these provide us in the end?

These questions, of course, come from the main question we all ask...

Is it safe?

Is it safe to be monitored by some unknown people or machines in exchange for socio-egoist rewards?  Is it safe to use artificial intelligence in a giant network of computers in order to monitor and comprehend all of human intelligence?  Is it safe to create a God?

What will be the outcome?

You see, what we fail to recognize while watching and liking and wanting and buying and working for this progress, is that we ARE a technology much more complete than the computers we have created.  Point in case.  In order to build the Goliath artificial intelligence of the corporations, we still need massive amounts of data input by us (humans).

What if instead of only using all of our input for marketing purposes, companies were also using our input as training for their future AI?  What if all that your social network profiles, voice calls, and chats with your friends amount to is actually training sessions for a large sociological experimental artificial intelligence?  It might be just absurd enough to be true.

I think that maybe we have all felt this coming.  After all, our bodies and brains are actually networked, predictive biological super computers, as our scientists are coming to prove.  Do we need science to prove it though?  Does our existence and behavior alone not suggest that it is the case?

Maybe let's not get too deep into this line of thought for the moment.

The idea is simple.


A network of computers, for instance, The Internet, needs individuals in order to be a network.  If there were no humans, there would be no data and no Internet.

The problem however with a network of computers is that the computers themselves are not actually alive.  The network itself can be said to "live", but it only lives because of the data input by the users of the computers that form a part of the network.

Therefore, when you think about our creation (AI), the only approach we have tried so far has been this: build a large network of dumb computers which act as an interface for humans, train the network itself using the data input by the humans, then sell the network back to the humans as new technologies.

Essentially we have created a network of humans, not a network of computers. None of the data which is on the Internet would exist without us. As "western culture" humans, we often make the mistake of rushing to a result as "the best answer" because we are driven by instant reward.

Have you noticed that you're addicted to Google, Facebook, Skype, Video games or Apps?  Or should I say DeepMind, Cortana and Siri? Have you ever said that you cannot live without the Internet?

This is simply not true.  The Internet cannot live without you.

You can live without the Internet.  People do it still every day.  If they can do it, so can you.

You might then ask: what good is a computer without the Internet?

Some of you reading this might not be old enough to remember.

They were still fun, but they were more of a tool than an "every-thing".

Over 20 years of Growth


The Internet, or the World Wide Web, used to be a place where communication actually was the key.  You were not "always connected" but you would have to connect to it if you wanted to be on it.  Sure, companies have always stored and hoarded the sacred data streaming from the fingers of the users of their networks. But computers and connections were not fast enough to provide any mass amount of data at a quick enough speed to train any artificial intelligence about real-time human interaction.  Besides that, not enough people were using it.  As of the beginning of this year, there are over 3.2 billion people connected to the network we call the Internet.

You may have heard of the "Big Data" movement.  This is the key to organizing the massive volume of data that a highly trained, multiplexed artificial neural network receives every microsecond.  Big Data is the statistical arm of our human informatics job network which simplifies the processing of this high-volume of data by creating new techniques with which to view it.  Have you ever heard of DataSift?

This and other data "fire-hoses" are some of the newest technologies that are being sold back to us as products of our data input as a network.  Your intelligence is what fuels the network's intelligence.  In turn, the network's intelligence fuels your intelligence.  It's what computer scientists refer to as a feedback network.  Every one of the 3.2 billion Internet users are a part of it:  the feedback "auto-training" part.

The question might arise: Yes, but what is Artificial Intelligence really?

In a simplified sense, It's statistics.

It's not "alive" in any classical sense. It's mathematical prediction based on trusted data.  It's also not necessarily the same type of intelligence that we consider ourselves to be.  Any one AI is only a vast stored set of probabilities that are created by a network and the communication that the "nodes" of that network provide.

Alright, at this point, we might have gone off-topic a little bit.  This is not a blog about human-kind progressing down a path toward possible destruction.  This is about controlling technology, not letting technology control us.

Right now, AI is at the stage where it's becoming more and more experimented with by scientists and engineers.  This means that the classical approaches to problems like computer vision and machine learning are all being revised.  The current approach to computer vision, however, relies very heavily on neural networks.  DeepMind and others are really "clouds" of computers on a network which are only set up to record feedback from human input, organize this feedback, and assimilate the feedback into it's statistical structure for future use.

Yes, if you are scared of that, it's a normal response.  You could even argue that it's an invasion of privacy.

What are perceptoids?


A new approach to computer vision and perception.

An open source technology.

A solution which uses devices we already have.

Perceptoids are not Artificial Intelligence.  They are Artificial Life.

The perceptoid technology allows you to control the computer in a more natural way by getting artificial life to follow real life.

A perceptoid is a virtual "bird" that acts in an environment created by a stream of data.  For instance, visual perceptoids exist in an environment created by the video data coming from your camera.  This video data is simplified into points.  Each point of data in the video either attracts a perceptoid or is ignored.  You could say that a perceptoid is an artificial life creature which "flocks" to objects a camera sees.

You control a perceptoid using the camera, and you can in-turn use the perceptoid to control anything else inside, or outside of your computer.

What are the benefits to this approach?


To begin with, you don't have to be connected to the Internet to use perceptoids.  No AI training is involved or required for any basic use.  This means that what your camera sees stays private.  Your video stream does not have to be exported to a company's servers for statistical analysis just so that you can control a video game character.  Even when simple neural networks are applied to perceptoid technology, it will not be required that the data perceived be uploaded or downloaded anywhere in order to use these virtual controllers.

No statistics need to be collected, no complex data analysis of your body need be done.  No lasers, no infrared, nothing but your one web camera need be used.  If a one-eyed dog can still find food, a computer can tell where your hand is and roughly where it's pointing using just one camera and math.

You may have seen or used the Microsoft Kinect. You will notice by clicking the article link above, that it's not all bells and whistles.  They maintain your data will be kept private, but since they will be the creator of any resulting AI product, and your information is only used statistically, this is actually true.  It will be kept private, by Cortana for instance!

Perceptoids in the Future


As of this moment, visual perceptoids are the only type of perceptoid there is.  This means the majority of my efforts are currently focused on computer vision. It is possible, however to now easily create audio perceptoids or perhaps use some other sense environment to put perceptoids in.  Therefore perceptoids are not a project in computer vision but in computer perception.

And when it comes to perception, apart from the doors, we don't know much.

Let's explore together...

So then how can we purport to know how a computer will perceive things?  Well, that's where the imagination comes in.  One man, using his imagination with an open mind, can do more than any number of networked computers still today.  After all, what is a number compared with the infinite knowledge hidden within in just one cell of your body?

Welcome


This blog is where I will theorize about what I have learned in the imaginary land of perception, and the resulting technology that I have created.

This is an open source project.  One of my goals is to give each perceptoid a simple brain that will be able to recognize the objects (point pattern) which they are following in their environments.  Another goal is to cluster them and network them so that they may come to represent some larger view of the relationships of real phenomena.

While I study these possibilities I will be making demos so that others may play and contribute to the technology as they wish.  My sentiment with this technology is that it must be used wisely.  The idea that it is simple and only serves one purpose is a good one which seems to keep my more wild application ideas at bay.

Below is my introduction video to the perceptoid technology.


It has implications and can be applied in Augmented Reality, Virtual Reality, Computer Vision, Computer Hearing, Natural Language Processing, Machine Learning, Quantum Computing, and many more industries and branches of study.

Here is me using to perceptoids as virtual controllers to play a clone of the classic arcade game Pong!  Thanks to David Laurell for the pong clone source code.



I will be updating this blog on a regular basis with more theory and updates on applications of the perceptoid technology.  Until next post!  Please leave a comment with any ideas or support.  Perceptoid.com and perceptoid.org are coming up soon, as well as the github project.  Right now I'm finishing out some of these basic concepts before I really try to get other people involved.