Instead of looking for radically new approaches in computer language development why doesn't someone introduce more colour into standard C. For instance we have if and while, how about adding verbs such as when, where or how.
Taking it further we might like to introduce more polite language into code such WouldYouBeSoKindAsTo or WhenYouAreReady. Imagine the code you could write...
when (time == "morning")
WouldYouBeSoKindAsTo (turn_on_alarm);
Alternatively we could convert C from English into, say, German. So if would become wenn etc. You could even mix nationalities. For instance if you wanted to be very forceful about a particular if statement you could use the German. If you wanted to seduce the code you might use the French.
Come on all it takes is some imagination. (Alternatively we could all just start using befunge!)
The carbonised version of gnuplot does work well. However, it is based on 3.7.1 which is getting on a bit now. 3.8 (the pre 4.0 version) has some very nice extra features including mouse interaction for zooming and 3d plot rotation. And some very nice surface mapping and image handling functions.
I have had no problems building version 3.8 under OSX 10.2.4. The aqua term works fine but you only get the mouse interaction when running under X11 which also works perfectly well in my experience.
On a related point you can use gnuplot from within octave a matlab-like environment which is open source. This also works fine under OSX 10.2.4 and can make use of the VecLib BLAS and Lapack accelerate libraries under OSX - details on HPC for OSX. However, I must admit my preference is with R for data analysis outside of my own code (several others have already mentioned R) purely because of the wealth of statistical functionaility available.
The next step has to be to get wireless on the chip and put the lot on a live fly (might need to upgrade to a bumble bee). Then we could have a beowulf swarm!
Discussions involving "What NASA should do next" inevitably seem to attract direct critisism of the purpose of manned space flight. There is merit in such discussion as manned space flight is expensive and I for one would be happy to see the greater use of autonomously controlled systems in space exploration (not least because this is my area of research). However, be in no doubt that manned space flight is a use it or loose it technology. And that the quality of NASA missions has been affected by the retirement of those staff who put men on the moon (amongst other things). These people learnt how to put men into space, the current crop are being told. If NASA looses the ability to put men in space it may never regain it - too much of the knowhow is retained by the personnel involved (technical documentation is so often written to be written, not to be read). It may also never again have the economic momentum to justify the cost.
Whatever NASA do about manned space flight, they should do it. Ultimately we need the ability to get off this rock!
I found this article a little confusing as, for many years now, I have considered UNIX as a model for an operating system, and not an operating system itself. I view Linux, Solaris, FreeBSD, etc as specific implementations of this model, with differences, but basically following the UNIX model. I find this is approach provides a useful framework within which to understand the trade-offs of particular platforms. One of the great benefits in investing time in learning and understanding the UNIX model is that you are not limiting yourself to a particular implementation and that you can use a UNIX model OS on any hardware.
Clear then this article was little more than an argument between Dell and Sun over Dells switch from Solaris to Linux. How this spells the end for the UNIX model is quite beyond me.
Having worked in machine vision for over 10 years now (in particular stereo vision) I feel I am able to provide some useful comments on this.
The technology employed (both hardware and software) is limited. CMOS sensors of the type described suffer from poor signal to noise as well as interlacing artifacts. Pixel jitter is of major importance in machine vision and I doubt these sensors offer much clock control over and above the 1 pixel mark (if any).
The matching algorithm described is very primitive, assuming rotation in depth between views doesn't effect the scene projection into the image - ooh but it does. The concensus matching algorithm is very simple and whilst it does recognise the problems of illumination variation it fails to solve the problem in a manner you could describe as robust. Also contrary to popular belief you cannot robustly recover depth from every pixel n the image! There is no evidence that the human vision system does it (without knowledge of the object) so why are people trying it? Even if you ataempt it you are going to need some way of telling which data is more accurate than not in order to start using the results. Edges are your best bet and I didn't see any evidence of preprocessing described in their system (although to be fair I only read it breifly).
I appreciate that this is supposed to be a cheap system and thus its limitations are probably to be expected. Might be fun to play with for a hundred Euros or so.
For more state of the art look at what is possible you could do better than take a look at TINA an open source machine vision system with a very sophisticated stereo depth estimation algorithm (we even built a chip to accelerate it!)
The Intel computer vision library is not the only such resource available. The TINA machine vision system has been developed since 1986 and provides functionality for the machine vision researcher at both the infrastructure level (datastructures and functions for an enormous range of mathematical, statistical and image processing tasks) as well as state-of-the-art solutions to many machine vision problems. These include low-level feature extraction, robust primitive fitting, object tracking, 2D object recognition and 3D object location. Indeed the stereoscopic subsystems in TINA (PMF, Stretch Correlation) have been viewed for many years as the standard for edge based stereo. TINA is almost unique as a resource and living archive of over 70 man years of research and over 200 peer reviewed publications in machine vision and medical image analysis. Functionality in TINA has practical utility in several industrial contexts.
For the past 5 years TINA has been provided as open source under an LGPL license and development is now based at the University of Manchester, UK.
Whilst I am very pleased that Intel recognise the importance of machine vision research and can only commend them on their open source approach I have some reservations regarding the use of OpenCV by the research community at large. Certainly their motives are business orientated (and one cannot argue with this). Therefore, however, the contents of their library are ultimately dictated by what Intel want not necessarily what the research community might need or indeed what is even possible (such as dense estimates of stereo).
Open Source software is vital in research disciplines where there is a significant software component. What better way to disseminate your results than to encapsulate your entire experimental apparatus in a tar file! Why should others in the field waste time reimplementing your algorithms (probably incorrectly) in order to duplicate your results. A process which sits at the very heart of any scientific endeavour.
TINA has recently received direct funding from the European Union for developed as the open source environment for machine vision and medical image analysis research. For more details of TINA visit the website at http://www.tina-vision.net
Sorry to rant a bit but it is not often I read something on here that I know so much about!
Instead of looking for radically new approaches in computer language development why doesn't someone introduce more colour into standard C. For instance we have if and while, how about adding verbs such as when, where or how.
Taking it further we might like to introduce more polite language into code such WouldYouBeSoKindAsTo or WhenYouAreReady. Imagine the code you could write...
when (time == "morning")
WouldYouBeSoKindAsTo (turn_on_alarm);
Alternatively we could convert C from English into, say, German. So if would become wenn etc. You could even mix nationalities. For instance if you wanted to be very forceful about a particular if statement you could use the German. If you wanted to seduce the code you might use the French.
Come on all it takes is some imagination. (Alternatively we could all just start using befunge!)
The carbonised version of gnuplot does work well. However, it is based on 3.7.1 which is getting on a bit now. 3.8 (the pre 4.0 version) has some very nice extra features including mouse interaction for zooming and 3d plot rotation. And some very nice surface mapping and image handling functions.
I have had no problems building version 3.8 under OSX 10.2.4. The aqua term works fine but you only get the mouse interaction when running under X11 which also works perfectly well in my experience.
On a related point you can use gnuplot from within octave a matlab-like environment which is open source. This also works fine under OSX 10.2.4 and can make use of the VecLib BLAS and Lapack accelerate libraries under OSX - details on HPC for OSX. However, I must admit my preference is with R for data analysis outside of my own code (several others have already mentioned R) purely because of the wealth of statistical functionaility available.
The next step has to be to get wireless on the chip and put the lot on a live fly (might need to upgrade to a bumble bee). Then we could have a beowulf swarm!
Discussions involving "What NASA should do next" inevitably seem to attract direct critisism of the purpose of manned space flight. There is merit in such discussion as manned space flight is expensive and I for one would be happy to see the greater use of autonomously controlled systems in space exploration (not least because this is my area of research). However, be in no doubt that manned space flight is a use it or loose it technology. And that the quality of NASA missions has been affected by the retirement of those staff who put men on the moon (amongst other things). These people learnt how to put men into space, the current crop are being told. If NASA looses the ability to put men in space it may never regain it - too much of the knowhow is retained by the personnel involved (technical documentation is so often written to be written, not to be read). It may also never again have the economic momentum to justify the cost.
Whatever NASA do about manned space flight, they should do it. Ultimately we need the ability to get off this rock!
Clear then this article was little more than an argument between Dell and Sun over Dells switch from Solaris to Linux. How this spells the end for the UNIX model is quite beyond me.
The technology employed (both hardware and software) is limited. CMOS sensors of the type described suffer from poor signal to noise as well as interlacing artifacts. Pixel jitter is of major importance in machine vision and I doubt these sensors offer much clock control over and above the 1 pixel mark (if any).
The matching algorithm described is very primitive, assuming rotation in depth between views doesn't effect the scene projection into the image - ooh but it does. The concensus matching algorithm is very simple and whilst it does recognise the problems of illumination variation it fails to solve the problem in a manner you could describe as robust. Also contrary to popular belief you cannot robustly recover depth from every pixel n the image! There is no evidence that the human vision system does it (without knowledge of the object) so why are people trying it? Even if you ataempt it you are going to need some way of telling which data is more accurate than not in order to start using the results. Edges are your best bet and I didn't see any evidence of preprocessing described in their system (although to be fair I only read it breifly).
I appreciate that this is supposed to be a cheap system and thus its limitations are probably to be expected. Might be fun to play with for a hundred Euros or so.
For more state of the art look at what is possible you could do better than take a look at TINA an open source machine vision system with a very sophisticated stereo depth estimation algorithm (we even built a chip to accelerate it!)
The Intel computer vision library is not the only such resource available. The TINA machine vision system has been developed since 1986 and provides functionality for the machine vision researcher at both the infrastructure level (datastructures and functions for an enormous range of mathematical, statistical and image processing tasks) as well as state-of-the-art solutions to many machine vision problems. These include low-level feature extraction, robust primitive fitting, object tracking, 2D object recognition and 3D object location. Indeed the stereoscopic subsystems in TINA (PMF, Stretch Correlation) have been viewed for many years as the standard for edge based stereo. TINA is almost unique as a resource and living archive of over 70 man years of research and over 200 peer reviewed publications in machine vision and medical image analysis. Functionality in TINA has practical utility in several industrial contexts.
For the past 5 years TINA has been provided as open source under an LGPL license and development is now based at the University of Manchester, UK.
Whilst I am very pleased that Intel recognise the importance of machine vision research and can only commend them on their open source approach I have some reservations regarding the use of OpenCV by the research community at large. Certainly their motives are business orientated (and one cannot argue with this). Therefore, however, the contents of their library are ultimately dictated by what Intel want not necessarily what the research community might need or indeed what is even possible (such as dense estimates of stereo).
Open Source software is vital in research disciplines where there is a significant software component. What better way to disseminate your results than to encapsulate your entire experimental apparatus in a tar file! Why should others in the field waste time reimplementing your algorithms (probably incorrectly) in order to duplicate your results. A process which sits at the very heart of any scientific endeavour.
TINA has recently received direct funding from the European Union for developed as the open source environment for machine vision and medical image analysis research. For more details of TINA visit the website at http://www.tina-vision.net
Sorry to rant a bit but it is not often I read something on here that I know so much about!