| CARVIEW |
Select Language
HTTP/2 200
cross-origin-resource-policy: cross-origin
etag: W/"2cf8362aeb0ae1e8014df14f17dce6c8d9ff249e910f16107657b35bcd7eaf77"
date: Fri, 16 Jan 2026 06:16:42 GMT
content-type: application/atom+xml; charset=UTF-8
server: blogger-renderd
expires: Fri, 16 Jan 2026 06:16:43 GMT
cache-control: public, must-revalidate, proxy-revalidate, max-age=1
x-content-type-options: nosniff
x-xss-protection: 0
last-modified: Fri, 25 Oct 2024 02:10:58 GMT
content-encoding: gzip
content-length: 5599
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
tag:blogger.com,1999:blog-15077948 2024-10-25T04:10:58.862+02:00 vanishing points Computer Vision & Haskell Unknown noreply@blogger.com Blogger 12 1 25 tag:blogger.com,1999:blog-15077948.post-4292916790152051507 2011-05-17T19:43:00.000+02:00 2011-05-17T19:43:00.524+02:00 metric rectification from circles The circular points encode the metric structure of the 2D plane. They are invariant to rotation, isotropic scaling and translation. If the plane undergoes a more general (e.g. affine or projective) transformation they move to some unknown location. Metric rectification can be performed if we find the image of the circular points and move them back to their original location. These points Unknown noreply@blogger.com 3 tag:blogger.com,1999:blog-15077948.post-2834386868369760153 2011-03-02T12:48:00.000+01:00 2011-03-02T12:49:02.199+01:00 easyVision in a netbook I have updated the installation instructions, including help for the recent IPP 7.0.In one of the tests I have installed the whole system (except the CUDA package for SIFT) in a cheap netbook with Ubuntu 10.10. The applications obviously run slower, but I am surprised to find that most of them are perfectly usable. I can use it for class demos.The built-in camera works without any problem, and Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-1187908538785023035 2011-02-22T21:48:00.000+01:00 2011-02-22T21:48:17.220+01:00 Tensor Diagrams In 2009 we attended ICCV at Kyoto. Visiting Japan was a fantastic experience.We presented a graphic interpretation of multiview geometry:For instance, this is the beautiful internal structure of the Fundamental Matrix:All tensor constructions in the paper were developed and checked with the Haskell package hTensor. Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-2050830333132832574 2011-02-14T19:31:00.000+01:00 2011-02-14T19:31:20.403+01:00 GEA I'm sorry that I have not updated this blog for so long, there are many ideas to try out! But I have decided that at least I must include the screenshots of the prototypes I am working on, if only to remember them in the future.We are happy to have a paper accepted at CVPR 2011, so I will start with the screenshot of an old friend:This is obtained by a Haskell implementation of the GEA (global Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-3245041354945175192 2009-05-28T13:17:00.006+02:00 2009-05-28T17:15:48.134+02:00 SiftGPU The library now includes an interface to the excellent ChangChang Wu's GPU implementation of SIFT. Vision problems that were recently considered infeasible can now be easily solved in standard computers.With a NVIDIA 9800 GT we obtain interest points and descriptors at ~ 25 fps for 640x480 images, depending on the level of detail in the scene. Fast GPU point matching is also provided.(Using a Unknown noreply@blogger.com 1 tag:blogger.com,1999:blog-15077948.post-36936471727448470 2009-01-12T16:21:00.002+01:00 2011-05-18T23:45:55.215+02:00 Tutorial After a long delay, I have finally released a first version of a tutorial for easyVision. I know that this system is only useful to me, but trying to explain something to other people is the best way to find things that can be improved, have a poor design, or more probably, that I don't really understand.
For instance, I noticed that the definition of camera combinators was too verbose. We can Unknown noreply@blogger.com 6 tag:blogger.com,1999:blog-15077948.post-779728723383057268 2008-06-28T20:50:00.000+02:00 2008-11-13T19:40:04.300+01:00 Interest Points Recent algorithms for detection of scale and rotation invariant interest points have produced fantastic advances in many computer vision fields. For instance, explicit segmentation is no longer required in some object recognition applications.Interest points are typically computed as local extrema in the scale-space of an appropriate response function. The celebrated SIFT by D. Lowe is based on Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-8522404048682004841 2008-01-12T18:13:00.000+01:00 2008-11-13T19:40:04.922+01:00 3D point sensor The position of a point in space can be computed from two views using triangulation:Of course, to get a reasonably accurate 3D reconstruction (modulo scale) we need the parameters of the stereo pair (focal lengths and relative position and orientation of the cameras). Otherwise the estimated 3D points may suffer unacceptable projective deformation.One of the most wonderful results of multiview Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-7742589186964724868 2007-12-21T21:03:00.000+01:00 2008-11-13T19:40:05.424+01:00 simple object recognition Under controlled conditions, simple objects can be recognized using just elementary texture and color features. For example, we can recognize playing cards from histograms of local binary patterns and hue values.First we must locate the cards in the scene. To do this we can use any method which is able to find rectangles with the right aspect ratio:Then we rectify the perspective views:And Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-872085229079531442 2007-11-19T12:37:00.000+01:00 2007-11-19T12:40:04.359+01:00 camera combinators Lazy evaluation and higher order functions are the basis of a very useful programming abstraction. Using standard Haskell list functions we can easily define combinators which work on the infinite sequence of images captured by a camera.A camera is just an action which returns an image:Type Camera = IO ImageA camera combinator is a function which typically takes one or more cameras and other Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-6325410021682477961 2007-10-30T20:22:00.000+01:00 2008-11-13T19:40:06.143+01:00 functional augmented reality Camera pose estimation is very useful to create amusing toy applications, allowing the insertion of virtual objects in the scene. Let's show a simple example. First we take a sheet of paper with known aspect ratio (A4), which serves as our 3D reference frame:When the rectangle is properly detected we insert the desired virtual objects as seen by the estimated camera:Interestingly, the objects Unknown noreply@blogger.com 0 tag:blogger.com,1999:blog-15077948.post-112308719832714745 2007-10-27T18:13:00.000+02:00 2008-11-13T19:40:06.386+01:00 strange loop In the first post I would like to show something related to the perceptual strange loops described by Hofstadter.We have a simple application for contour recognition based on Fourier properties. The screenshot shows the raw contours in blue and the corresponding affine-normalized versions in yellow. We have clicked on one "A" and then all the similar shapes are shown in red:The interesting thing Unknown noreply@blogger.com 2