Here I will write, what I need to be sure that I can find again, and far more which I probarbly don't need to find again :)

Tuesday, March 11, 2008

Initiating Master Project

I have started my master project, I am making it with Uni, like all the other projects.

We are programming two ABB robots model IRB140, so they can play chess against each other. We will use a ready chess engine, and the only communication between the robots will be the vision system.

Update, The robots are gonna play against each other using network communications, but will also play against humans, here we are going to use some image processing. The Report will get uploaded.

Saturday, December 1, 2007

Crossing modals, brain adaption test

A few days ago, I got an idea that it would be funny to cross modals. That is, convert visual information to audio, and vice versa, the idea for vision to audio is simple and I started working on some of the required sub-systems. Until a friend of mine, after informing him of the idea, informed me that such a system is already devoped.

The most interisting part is itthat the transormation function is working exactly as I would have done it myself, and it is reported to make it possible to make blind people see! coool.

Vision->audio explenation.

The scientific consideration is possible to find at http://www.artificialvision.com/: ( sample rate, human sensory bandwidth problems etc.).

But a simple overview is given on the figures at: (source), I am apparetly not allowed to show the image here, so you have to navigate to the adress to see the image.
To make the sound experince more smooth, I am considering if adding a gausion over the entire image would help, the referenced system is not trying to smoothin the audio representation from one image to another, but considering the very slow framerate the system seems targeted at ( around 0.5-1 sec for each image playback) , it might be a bad idea to throw away information, there seems to be a problem regaring the bandwidth of the ears, the framerates I would aim for would probably only give a headache.
anway, if you are interested, both the source, and a working windows application can be downloaded from http://www.artificialvision.com/.

Future City

We are going to have dynamic houses, not dynamic in the way you are used to think dynamic houses.

To understand the concept, think that you do not own a house, instead, you own a location, and a configuration amount. The configuration amount + your imagination is the only limit, when you want a house, you comuninicate to your configuration, that it must manifest a given house. If you have more need of a garden, a swimming pool and/or something else, you communicate the wish to your configuration and it obeys.

The idea is now introduced, you might be thinking; crazy idea, how is this possible. it is simple. you own millions of nano robots, which can attach to each other to form inanimate objets at least.
I estimate this is possible in 10-50 years from now.

But I am not sure how we can preserve nature in such a city. ofcourse there could simply be spots of nature enviroment, and small capsules and perhaps a tunneling system where the configarable robots lives, in this way the configuration can manifest where it is needed... and live in harmony with nature.

Friday, October 19, 2007

3d laser scanner

Ok not much happening the past few dayes, it seems...

In reality, it is because I am bussy working on a 3D laser scanner with a friend of mine from the school, We have created a blog, right here on blogspot, which we hope to use as a journal for what we have done.

Sunday, October 7, 2007

Fast median image

[INSERT PAPER NAME]

While reading a paper about 3D object reconstruction, the authors mention that median images would be good to surpress camera noise... They state that thre downside of mediam images are that they are slow to calculate.

I would say... not soo. The update pr. pixel can be made as a O(log(n) ) problem.
if we treat every pixel value as a sorted lost, insertion can ( as far as i remember, be given the complextiy as stated), the rest is straight forward. The reading of a pixel value will be a table lookup -> resulting in a O(1) complexity.

The following defines the interface as I think it shall be.

class MedianImage {
  • MedianImage( width, height, filterdepth )
  • void Accumulate( x, y, value )
  • datatype Get(x,y)
  • datatype AccumulateAndGet( x, y, value )
}

Another possible interesting thing to look at would be the pixelwise variation, a very crude measure of camera noise could be made like this, furthermore, it would be possible to use this information as a simple activity localization.

class StatisticalMedianImage : MedianImage {
  • datatype GetVariance( x, y )
}

One yet undefined thing is what data we choose to throw away when adding pixel values to a full buffered pixel, I propose throwing away the pixel whit the longest distance to the median of that pixel.

I will implement this as soon as possible. now I will sleep.

Saturday, October 6, 2007

Shit vista!

Ok around 3 dayes of vista, and I had to reinstall. The machine simply booted into black screen! Not even the repair console worked...

The good thing is that I have installed xp on a partition also now.. sob really looking forward to installing linux...

Wednesday, October 3, 2007

New laptop - It is nice ;)

Finaly I did it. I bought a new laptop, I have been thinking about it for very long time, and even sleept in front of a store for nothing.

Actually, I was thinking "I don't need a new laptop", until my old trusted IBM P-IV 1.4 GHz laptop began to have big problems accesing disks attached to the secondary controller. I even tried to revoke my zombi celeron 500MHz Toshiba laptop with a mixed succes... Now it is reminding the audience of an old movie.. The computer shows randomly white stribes on the screen, and sometimes, begin fading to.. white... from outside to the center of the monitor, whery odd, and the machine is frozen while it is experiencing these magical moments...

O.K. enough babling
The new excellent machine is a Fujitsu siemens 2GHz turion64x2 with loads of hd(320GB), 2GB of memory AND: gf8600GT graphics :D. The last was the primary requirement for buying a new pc, since I will now be able to code the GPU in C.

mmmm power.

Machine, full name FUJITSU SIEMENS Xa AMILO 2528, is generally perfoming excelent. the bad part is, that I have not been able to install any linux distributions yet, I think they fail to find the dvd-drive, and thus cannot read the media :(.


Machine ships with Windows vista, which I had sworn I would never get to use, but once again I am beaten by microsoft and the masses, and what can a poor man do... But it runs better that I expected, everything is ALMOST as snappy as with KDE on my P-IV2,4GHz ;).

Now, what have caught me with so amazing surprize, is the bizarre amount of windows vista updates I am downloading and installing. I have activated the baground installation and download of updated, and now, 3 dayes after I bought machine, I still have to wait around 1-2 hours every day on windows shutting down, and windows starting... configuring updates, 1-2 hours every day. way to go microsoft. you have made the fastest machine i have ever had the on average slowst starting device I have ever owned. I will not even coment on the other bizare things vista throws on me. I will instead try to get the most out of the operating system.

And in 3-4 month, I will hand in my assignment, kill vista, liberate the free people and install linux...

luckily there is lot of fun stuff I can use it for, I have installed visual c++ 2008 beta , SDL-development, platform SDK and openGL, next thing I will download is Nvidia's CUDA, and then the fun begins :)

ohh and another fun thin, which I have to share with the world...
Note: "Fuldført" means completed, "Mislykkedes" means failed... If in doubt, this is the log of windows update...



The really funny part is the attemts to update to .NEt 3.0 since visual c++ ships whit .NET3.5...