Asked
— Edited
This thread contains the more recent information about EZ-AI. For information about EZ-AI visit http://www.ez-ai.net And visit the plugin page at https://www.ez-robot.com/EZ-Builder/Plugins/view/123
I just have to say that it is good having a son who has his math degree and is in his final year of his comp sci degree. I have the 2 camera taking pictures using the roborealm API, These pictures are then analyzed to find the point that is being put on the image from the AVM Navigation object recognition module for each image. It then calculates a number of things based on these points, but the jist of it is that based on the distance in pixels that these objects are from each other in the images and other variables, I can determine how far away a recognized object is.
I am working on cleaning up the interface and testing the calculations more. I am also working on ways to speed up this process as the current process takes about 8 seconds to run. 5 of these seconds is spent making sure to give time to both RoboRealm instances (1 for each eye) to recognize the object. This is as fast as my setup will run. I am making these wait times configurable as each computer will be different. Mine is an I7 with 32gb ram and raided SSD drives. I think this is about the quickest configuration that I can imagine without spending $5K on a computer for your robot. Ping sensors would be faster but only able to find objects at a limited distance. I have tested this at 10.5 feet. I plan on testing at greater distances when the robot is complete and I can take it outside.
Props to my son who was able to come up with the calculations for the estimated distance. I need to pass some of my EZ-Robot stuff off to him and get him hooked, but I don't want to interfere with him finishing school or his new career.
I will include this in the next version of EZ-AI which will pass this distance back to ARC in the $RobotAnswer variable.
WOW, phenomenal work. I have an old PC collecting dust. Definitely going to repurpose it just for ARC and to run EZ-AI 24/7. I have to give it a try this week. Definitely wish I had your level of skills what language do you program in. If you don't mind me asking?
I should mention that I have 2 identical cameras running at 1920x1080. I have to make the app use smaller resolutions also. It's all doable, it's just going to take some time. The cameras I use are Logitech 920 cameras.
I also am going to start working on the ability to measure the distance using calculus based on the height of the camera, the identified floor from roborealm and the identified objects intersection point with the floor. It will use the angle of the camera also when the object is in the center of the camera frame. This will only require one camera.
The thing that I have to overcome is the height of the object. For example, if you recognize the face of someone, I will have to find the first pixel in that same column of pixels that matches the pixels at the bottom of the image to identify where the base of the object is. This part isn't hard to do, but takes time.
In otherwords, it may be a while before I release these features.
PowerBuilder... Just kidding...
All of EZ-AI is programmed in C#. I was a programmer for 20 years and got burned out on learning new languages or learning new frameworks every year, so I moved to management. The program would be faster in C++ but I just don't have it in me to refresh my C++ skill set. It has been too long since I have messed with it. I like kicking new features out more quickly and find C# to be a good language to do this.
I understand that not everyone can program or program the types of things that are in EZ-AI. I also see a great opportunity for EZ-Robot in that by using the features in ARC and EZ-AI, a user can do things that will blow away other robot platforms. ARC is already the best platform out there and the ability to use the SDK to develop other tools for it, it just becomes that much better.
My goal is to have those who are building robots like InMoov to sit up and take notice of EZ-Robot. What is possible with these tools completely blows away anything else that is out for it. By taking a platform that has a lot of attention on it, and making something that is far more advanced than anything else out for that platform, EZ-Robot will get a lot of attention. I want all of our robots to be able to use the features and most of EZ-AI will always be free. There are some modules that I will charge for but everything that has been released up to 1.0.1.0 will be free. That is about 4 more releases from now. I don't know exactly what will be added in those.
I know that I will add a basic learning module at some point before 1.0.1.0. A more advanced learning module will be being developed for a long time and I am sure that I will end up charging for that. There is a lot of work that goes into making something like I want to do, including using Data Cubes as opposed to using just tables. This requires a full blown license of SQL Server which I would have to charge for, but associating information to other information would allow robots to become much more intelligent. The amount of storage and the speed of the storage would also require that a dedicated server be installed. This would also cost someone more cash, along with the server licenses and all of the other expenses such as power, cooling.... This will be designed for use by companies instead of individuals, but a limited free version will be available that uses data tables. It will still learn, but the sources that it uses to learn from will me more limited and more common sources. It will also have a more limited ability to associate information to other information but some association will be possible.
David, absolutely stunning work you are doing! Your EZ-AI is already amazing and adding the learning ability and associative memory will make it so much more powerful. In my humble opinion, you are doing some of the most exciting things this forum has ever seen! Keep up the great work and you are right with this AI tech more people will be noticing EZ-Robot. The combination of your AI and EZ-Robot will be epic!
Tony
Thank you Tony. I am working on the parser based on information that is retrieved from the sources. As you know, parsing this data isn't easy. I am at about 40% accuracy at this point with the first write of the parser. There is a lot of work that will have to go into this with every new data feed that is added. The english language is not easy to understand by a computer, but I am making headway.
Thanks for the kind words. They mean a lot.
David, 40% accuracy is pretty good for a first write, you will have it higher in no time. We are doing work now on semantic parsing you may want to take a look at this at some point, it is very interesting.
Tony