cool! glad to see some more interest. I'll post my code up 2moz, with a write up to follow later.
EDIT: Here's a write up I did for my final year project. It should serve as a good computer vision primer.
Printable View
cool! glad to see some more interest. I'll post my code up 2moz, with a write up to follow later.
EDIT: Here's a write up I did for my final year project. It should serve as a good computer vision primer.
ok, I've managed to get some code up and running :) it's attached.
inside the zip, you'll find a jar and the source code.
you'll need to install the java media framework first, and have a device capture card working. you can do this by running JMStudio (when JMF is installed, you get this) and going to File->Preferences. Under the "Capture Devices" tab, press "Detect Capture Devices" (can take a while), then look at the location of that device. it should be something like: vfw://0. commit and exit that screen then try File->Capture. If you can capture in JMStudio, and the location is vfw://0 then the jar application should just work. If the capture doesn't work, sort that out :)
If the location is different, then you'll need to edit the ProcessorTest.java and change the location.
about the code:
currently, it's not optimised or anything, but it does get you familiar and started with grabbing and processing.
If you leave the camera pointed in a direction, it will slowly learn that background. After about 10 seconds, try to move around in front of the camera. Only the moving parts should appear in the image (plus a load of noise, depending on the quality of the cam, but you always get noise).
Be careful not to make the camera's auto-intensity change too much, by going too close to it, since this will fool the algorithm into thinking the background has changed.
have a mess around with this and any questions, fire away.
Thanks for the update and the code to check out. I started reading but have not yet finished your projects write up (very good by the way) And plan to look at the code early next week (planning a wedding kills your weekends :p) I also just received my nitemax cameras in the mail today, but I have to wait to find the correct ac-dc power source to fire them up.
Once I get everything up and running I will give any thoughts (hopefully helpful) that I can think of, and hopefully I might be able to provide some help on the project as it really interests me. BTW if you are into AI at all check out On Intelligence by Jeff Hawkins, the only reason I mention it, is because he spends some thought in his book as to how the brain can recognize and identify people and objects at any angle, with such precision and speed, when it is so difficult on a computer. He also goes into depth on what we know of how the brain interprets the signals sent from our retinas over the optic nerve.
Sorry about my rambling. :)
Ill probably give it a try tomorrow in my carputer.
this will be very interesting. currently I'm using hue and saturation to identify moving objects, and ignoring illumanatoin (see HSI colour models in teh write up). The nitemax will be B&W I beleive, which means it has to work on a single channel RGB-style model. The code doesn't yet deal with that, but I'll modify it so it does... hopefuly by the time your wedding is sorted :)Quote:
Originally Posted by alti
use an ATX supply for power?
cool.Quote:
Originally Posted by alti
I am very much into AI. There's a book called Vision by a genius called David Marr. I highly recommend this (if you can find it). He delves into explaining how human vision is a process, and not some magic, and he mixes neuropsychology with computer programs. I've been trying to locate a copy ever since I read a part of it. I may have to buy it for the full price of $300-400 (out of print now). I will look into the Jeff Hawkins stuff too.Quote:
Originally Posted by alti
all input is good input dude!Quote:
Originally Posted by alti
nice. what camera do you have? does it have automatic intensity control or is that fixed?Quote:
Originally Posted by 84RegalRider
ps. my dad had an 84 regal! :)
Just some cheapy.
Fixed intensity.
Sorry its taking a bit long but just got my carputer reading my ecu/pcm and thus my gauges working. Just need to finish coding that before i want to dive into this.
good that you have fixed intensity, let me know how it all goes. I've been really pressed for time recently so the carputer is on hold :(
anyone had anytime to test this yet?
Crap... didn't know anyone was working on this stuff... I've been looking into AI / Computer Vision stuff for years. I got a grip on a lot of the theories / problems / etc, but the upper level math keeps me away from programming any real solutions. I can help work on integration stuff, but it would be in Delphi.
I'm D/L what ya got. Really interested to check it out!
Quote:
Originally Posted by sama
this is exactly my aim, to try to get a framework going so that people with little or no knowledge of vision algorithms can build applications, which in turn would drive the development of algorithm plugins to use.
my maths isn't the best either, but there are plenty of resources out there.
the current download offers a fairly simple motion detection algorithm. it learns the background by continously averaging pixel values over time. It detects foreground objects by subtracting the current frame from the learnt background.
the problems currently with it are that any major change in lighting will render the background model useless, since it no longer applies to the new lighting conditions. a way of detecting this would be useful, so a reset can be issued to the background learning loop. This infers that there would be a window where the foreground is not determined whilst the background is being learnt again.
Perhaps another motion detection algorithm can kick in at that stage, something like differential analysis (subtracting previous frame from current). hopefully, by using knowledge prior to the light change, the regions of last known moving objects can be applied to the differntial algorithm.
Im' thinking out loud here on how the impact of lighting changes can be minimised. you may need to study the code a little to to see what I'm gettin at.