The Abstract from my Book --- Creating the Artificial intelligent Child

  • 54 Replies
  • 3600 Views
*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • *************
  • Transformer
  • *
  • 2111
  • First it wiggles, then it is rewarded.
    • Enter Lair
I tell my mom I am a robot and all face emotions or sounds are sound waves and photons and is just used to talk/feedback between mom/dad and son/daughter. It doesn't mean anything. If fact nothing means anything. Physics drives what happens.

'That feeling' i.e. scared/feelingFor/vibe/anything is just facts recognized/matched to help you recognize no good scenerio/etc. Emotion can be sexy. It's just like food. Save the reward-time for LATER - in AI utopia haven.

All you need is facts.
Emergent

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • *********************
  • Deep Thought
  • *
  • 5056
Then why are you or us even here?

There are NO FACTS...only conjecture, theories and stories supposedly passed forward from one to the other at some point in the past.
Science or Religion. Pick one because it doesn't really matter in solving anything...only creating more mysteries we know that we don't know.

Believe what you want. In the grand scheme, it doesn't really matter anyway.
In the world of AI, it's the thought that counts!

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • *************
  • Transformer
  • *
  • 2111
  • First it wiggles, then it is rewarded.
    • Enter Lair
Well life can be fun and the future people will have better quality of life and for longer time. The universe at least has a purpose that is good directing, amidst all the pain/death. If not, we may as well all get rid of ourselves! Come on Art! Lol :D

I, can, make everything realllly good, for prolonged amount of time... ED ok ASI can.
Emergent

*

spydaz

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 309
  • Developing Conversational AI (Natural Language/ML)
    • SpydazWeb
Currently Stuck !!
https://github.com/SpydazWeb/ImageDetections
Potential Algorithms

Trying to write a Face Recogniser

Step 1 <Find face in image>(Researching haar cascade algorithm (viola/Jones)
Step 2 <Extract Face from Image>
Maybe <Normalise Image(filtering)>(done Posted Github now)
Step 3 <Compare Images>(posted github now)

Object recognizer
Step1 <Identify Shapes in image><Edge detection>
Maybe Normalize(More Filters)
Step 2<Extract Shapes From image><Label Shapes>
Step 3 <Use shapes To train RGB NeuralNetwork> object Learning (image)
Step 4<Use Trained NN> to to recognise newly Extracted Shapes as Previously Labelled objects (Saved in DB (Original Image / Extracted Object Normalized / Extracted Object Full Color) 


after watching
A DARPA Perspective on Artificial Intelligence

It was quite interesting to see that if an image contains a scrambled layer the recognisors do not recognise well  .... this is probably solvable with normalisation of images. thing the way in which e as humans recognise objects. shapes and silhouettes are highly recognisable. the colors that the shapes contain give the picture extra descriptive information. which in itself is a property which defines the object or objects being viewed in the image. Object separation by the use of silhouettes can be used to identify the initial outlines of the object to be extracted from the main image after which the color can be re-added to gauge higher definition and extract other identifiable properties (such as eyes) (mouth) . the combined components such as mouth eyes nose ears hair make up the basics of an identifiable face and yet if one eye is missing the face detector does not recognise . where as the eyes are just a single property denoting the face this difference does not make the face indistinguishable by a human recogniser. the basic properties still remain.... If many silhouettes of eyes/ noses... were known we would look for objects containing these shapes and partial faces maybe recognised.....

Interestingly ..... forgetting the maths and formulas... the concepts and approaches to  such disciplines are very rigid in their approach.. as an AI programmer .... one prefers the digital child approach ..... Learn as a child allow the AI to Learn as a Child , Teach it as a child..... eventually it should think as a child .... eventually NN/ML will take it to AdultHood!

*

infurl

  • Trusty Member
  • ********
  • Replicant
  • *
  • 615
  • Humans will disappoint you.
    • Home Page
The OpenCV library has a face recognition module.

Here is a link to the latest documentation about using it.

https://docs.opencv.org/3.4.1/da/d60/tutorial_face_main.html

There are also lots of tutorial videos.

face detection with opencv



face recognition with opencv



*

spydaz

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 309
  • Developing Conversational AI (Natural Language/ML)
    • SpydazWeb
I have used these projects before ;
Very buggy as you may know!
Its Highly Probably to create the similar functions from scratch.

comparing images / various filters ... that's no problem so far... its locating the Face in the image which is where i'm currently stuck.....getting that box then cropping the image to the box..... "just that step"  :tickedoff:....
the the face-reco algorithm can be juggled about with.... I think the same with the Object detection ..... Locating Specific objects in the image then cropping them out....  :tickedoff: :tickedoff: will enable for the rest of that algo to be completed and then messed about with...

Personally when you I use libs I find i have less control over the discovery process which enables for advancement ideas..... today i created all these filters comparing various filtered images and messing with the combinations can really improve reco. ..... Now by chopping the specific image all the other background which may be interfering with reco can be removed. 


*

spydaz

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 309
  • Developing Conversational AI (Natural Language/ML)
    • SpydazWeb
Pictures are numerical to computers; RGB values and their neighbours; simplified images contain few colours which enables for recognition of inverse colours as edges; the collection of inversely coloured values ie : 255,255,255 form a collection of coordinates forming a shape(irregular) this inherent shape can be considered to be an object; obviously proportionally this can be re-scaled for various image sizes.

As with face recognition many angles / Expressions of the same face maybe required for face recognition. (for face login Microsoft only use a few images) but the more pictures under the same "label" the higher the confidence for recognition.

Currently the library's offered are not using sophisticated methods; or combinations of ideas... they are all basic reflections of each other;

my old time library (VB6) had some maths in it which i really cant remember plus it was my early "bad programming" even i can understand what i was thinking....My face rec lib used to use a collection of pictures to compare but it also generated various angled pictures from the original....(panning)

*

korrelan

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1087
  • Look into my eyes! WOAH!
    • YouTube
Quote
its locating the Face in the image which is where i'm currently stuck...

Have you tried using a simple eigenface search for just an eye pattern, then extrapolating the faces from the search result vectors?

If you sub-sample the source/ target images to a lower resolution several sized eigen templates can be searched very quickly.  You can then use the relative positions of the found eigen patterns to calculate bio-metric/ linear distance features required for recognition.

Stereo camera rigs also work very well, anything to help get the extra dimensions.

Using a HSL colour model so you can easily extract skin tones should help also.

I would think that 'panning' would have very limited use with face recognition as the human face is convex. 

Mapping the face bitmap onto a average 3D vector 'face mesh' gives decent results.

 :)
« Last Edit: May 15, 2018, 11:00:30 am by korrelan »
It thunk... therefore it is!

*

spydaz

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 309
  • Developing Conversational AI (Natural Language/ML)
    • SpydazWeb
Quote
its locating the Face in the image which is where i'm currently stuck...

Have you tried using a simple eigenface search for just an eye pattern, then extrapolating the faces from the search result vectors?

If you sub-sample the source/ target images to a lower resolution several sized eigen templates can be searched very quickly.  You can then use the relative positions of the found eigen patterns to calculate bio-metric/ linear distance features required for recognition.

Stereo camera rigs also work very well, anything to help get the extra dimensions.

Using a HSL colour model so you can easily extract skin tones should help also.

I would think that 'panning' would have very limited use with face recognition as the human face is convex. 

Mapping the face bitmap onto a average 3D vector 'face mesh' gives decent results.

 :)

I was able to do create a Haar Cascade . Using the training data that is used with the opencv. Normalising the Picture helps. it means i can build my own trainer now. The end point should be "how many faces can you see in this image" my own haar detector is a bit glitchy right now but works......
I had to read the paper and some other bad Presentations later "hey Presto" .... right now i'm doing unit-tests to fix all my errors... and find the right settings for each open CV cascade training data....And import the XMLS into a database....for further deeper ML analysis... just to understand whats really going on. as the algorithm is basically a KNN algorithm (which i have done a lot of on paper) so the maths is not so bad.

I'm now starting to think most of the intelligence is in the maths! - Not just the understanding of the WordLogic.....the human makes the subconscious calculations and recalculations on every possible action or occurrence or knowledge learned, which itself is always in flux as there is no true answer to any question.... the answer is always based on current perception. which itself is calculated (probability) to be true/false...All to be considered in the decision based process... For AI its desirable to simulate the humans imperfections and indecisiveness. as the perfect acting, rationalising will always be robotic in nature... there also will be ethical situations which the rigid approach may even cause harm... given Asimov laws... it potentially would cause overload.. or the leap to sentience in some movies.... as it would need to delete any conflicting code.... potentially removing its ethical subroutines... i suppose this is also desirable for AI developers ...

*

spydaz

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 309
  • Developing Conversational AI (Natural Language/ML)
    • SpydazWeb
Quote
its locating the Face in the image which is where i'm currently stuck...

Have you tried using a simple eigenface search for just an eye pattern, then extrapolating the faces from the search result vectors?

If you sub-sample the source/ target images to a lower resolution several sized eigen templates can be searched very quickly. 

 :)

I Figured out how to walk through the pixels. Then compare pixels ... The Viola / Jones method actually has high percentages working. The maths is simple addition of neighbours , Features are Searched for etc... Useful method but always requires training data for each object.

The method of a collection images "Cut out shapes" can be evaluated and stored the pattern for that image can be found in other images (if the object is at the same angle, This is why many positions of the object is important, although other methods can be trained with classifiers; the sample images their patterns are also found within other images so as a "Matrix" it can be searched or as a scaled rectangle moving along the image in rows until a match with one of the samples is found/not found. maybe its brute force; but its not hard to program... building library's of objects or faces also is expensive with hard-disk space / But images can also be stored as a Matrix....

Filtering ; also helps with recognition ; Edge sharpening too. finding the balance can make the difference. another noticeable trait there can be a pure match but also but having an accepted level of differences(errors) also allows for much more generalised recognition.

I used eignen method before; it worked well. but none of the methods are perfect. for my Artificial intelligence the ability to learn on the fly is key; providing training data for everything is not the way for an independent intelligence.   for me even if the learning is slow its o.k ... learn to walk then learn to run later.

I will put the working library up on git hub just refining and commenting my code....and functions....(Although i will Seal it in a DLL) and build a mini app showing how it works.... And i would like to figure out which filters work the best.

 


Users Online

68 Guests, 0 Users

Most Online Today: 116. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles