Emil Hunefalk

Computer Vision – The 7 Applications

Posted on | July 16, 2007 | No Comments

A while back I wrote about Computer Vision with a short description of what it is and what we can do with it, today I decided to create a list of what we can do with it, either using only Computer Vision techniques or in conjunction with other technologies.

  1. Augmented reality/Virtual Reality: Track a person with cameras and place him in a different context on the screen. This is used for creating movies, helping the animation by tracking a persons movements.
  2. Eye-tracking: Usability eye trackingThis can be used for people who can’t move their fingers, to write with their eyes instead of with the hands. Another common use for eye-tracking is Usability testing of websites, where users are left alone with the screen and a camera to track the eye movements, where after a heatmap is created depending on those movements.
  3. Tracking and movement sensing: People, vehicles, animals etc – anything can be tracked. This can be used in shops for the owner to see which parts are most popular, or to find movement where there should be none – i.e. from an intruder or similar. This can also be used to track point in a video and insert objects such as 3D models on top.
  4. Creating panoramas: Instead of a user having to define a number of points you can let the system suggest correspondences between images.
  5. 3D Reconstruction: Reconstructing buildings in 3D can be useful to a historian who wants to show how an environment once looked, or to an architect who wants to create a building. The artist can change current landscapes, the gamer can see a real landscape and the traveler can be helped to decide where to go.
  6. Commercial: Show ads in stadiums on TV depending on the audience – we can easily show an ad for Carlsberg on Danish TV on Old Trafford Stadium where in reality the ad is for Guinness.
  7. Sports: Balls, pucks, players and everything else in the modern games can be tracked with cameras, giving statistic to help for example managers with the coaching or golf players improve their game. This type of tracking was first used in rocket science, now it’s explored at universities with normal off-the-shelf webcams and cheap digital cameras.

There are of course many more applications to Computer Vision, but as you can see there is everyday use of it which seamlessly integrate with our everyday passtime. I could also touch on for example robotics, but will wait with that for another time…


Bookmark and Share

Photography and imaging

Posted on | July 15, 2007 | No Comments

A few months back I bought my first digital camera, and have already taken about 2000 pictures with it, probably throwing at least half of them away soon afterwards. You can see some of my photos on Picasa, and others on Flickr, mixed with other types of images. Actually, I started writing this post after returning from another photowalk in Copenhagen, where I covered ’søerne’ (’the lakes’) and adjacent areas. On some of my photowalks I can’t believe how many of the old buildings still stand, especially after the Germans invading. The photowalk consisted of 4-5 hours of photography with a few breaks for beer or coke.

– another photowalk I’d recommend for the Copenhagen visitor is the ‘CowParade’, consisting of a number of cows spread around Copenhagen in interesting locations, and if you walk there you will certainly find other places as well ….

Of course, I used Picasa on some of the photos, working miracles instead of making me throw them away. Another tool I was considering is Picnic, allowing me to edit online so I don’t have to keep track of which computer I started with (I consistently switch between three computers with different OS) and instead let me take a break and then continue on another computer seamlessly…

For the apprentice photographer like myself, I would recommend PhotonHead, and especially the camera review. But of course, you can also learn much from for example 10 ways and many other sites which can tell you about the arts of light, composition, posture and stance….


Bookmark and Share

More Web 2.0 – 0.3

Posted on | July 14, 2007 | No Comments

I’ll keep exploring web 2.0 sites with this post, recommending a phone company for global calls at local cost, voki (I put one on my front page), a pretty meaningless timeticker, learning japanese, another time management tool and a nice tool for creating mindmaps.

You probably know about Twitter for short messages on what you’re up to – now you can find a similar service for the french speaking crowd at Yelago. WeShow is another beta showing videos, Streamy promises to become a new way for sharing stories online and Walletproof helps you save money both online and offline.


Bookmark and Share

AJAX with script.aculo.us for Wordpress

Posted on | July 11, 2007 | No Comments

I’ve been looking at script.aculo.us and prototype for making this site a bit more user friendly, and less static, with some simple effects. Using Wordpress this could mean having to alter in the current theme, which I’m not fond of since I would have to remember altering again in another theme if I decide to switch. For this reason I decided to have a look for a plugin, and found what I wanted from the Signified site, with both prototype and script.aculo.us plugins for Wordpress.

After installing the plugins (don’t forget that the prototype plugin is needed for the script.aculo.us plugin to work, if you want to try it yourself) it was a simple thing to add the functionality to the site – you can Click to see a description of how to do it.

In the near future I’ll explore other nice plugins and effects and show results here. Until then, have a happy playtime!


Bookmark and Share

Web 2.0 Usability

Posted on | July 5, 2007 | No Comments

I noticed that an old post became relatively popular, the one called “The Web – past, present and future“, looking mostly at different solutions for the future web, and touching lightly on what others have said. Today I instead describe some of my own thoughts about the future of the web – with 3D applications such as Google Earth and Second Life, vertical search engines such as momondo, Ziggs and SimplyHired, and online applications like for example BudgetPulse and LabPixies helping you replace old offline applications with online equivalents.

Some keywords for the future as I see it are Usability, Attitude, Flexibility and Creativity. What is missing most now is the Usability, and looking at the average web 2.0 application you can easily see many flaws – some of which I’ll consider here later. For some testing, I joined a few of the new networks and similar ‘Web 2.0′ sites, such as yumondo, tried some online tools like udutu, while wondering how those names suddenly became so popular – but at the same time positive about the globalised feeling and relaxed attitude it shows for names.

I’ll write more about my findings here later – for now I can say that many of the sites have slow loading, that it’s often difficult or impossible to bookmark search results and similar, and that many of the designers have tried being too cool and forgot that someone should be able to use the site as well…


Bookmark and Share

Maps

Posted on | July 5, 2007 | No Comments

Since I’m creating a travel section of this site, I decided it could be interesting to make research on some of the mapping API’s out there, with Google Maps, Yahoo! Maps and MS MapPoint being the obvious first candidates. These candidates are soon reduced to two when I look at MSN Maps, and especially the navigation and general feel of this application disheartens me, thereby leaving two of the giants as candidates.

Both Yahoo! and Google have extensive documentation and help for their mapping API’s, which of course helps when developing – but I’ve often found that smaller startups can have more interesting products, leading to a further search for mapping tools. The first API I find in this quick search is ZoomIn, another free system which reminds of the others, but feels a bit slow at the first look – and while looking around at their site it hits me with quite a few bad links which of course renders a bad feeling.

Moving on, I found MapQuest and the OpenAPI used for their service, including geocoding, routing, seamless movements in the map and a few other interesting features. Another option I found while looking around was MultiMap, which targets business clients and have many high profile clients.

With the options above, I started testing the interfaces with geocoding and to see if they have simple dragging, zooming and other features which are essential for a usable interface. I found that MapQuest, Google maps, MultiMap and Yahoo! were the most friendly and decided to go on with those.

In a next post I’ll give short tutorials for each api after some testing – and comment on how simple each them are. My progress can be seen under my travel section where I started with a WordPress plug-in for Google maps, and will continue next with a London map from Yahoo! maps.

Happy mapping!


Bookmark and Share

Computer Graphics

Posted on | July 2, 2007 | No Comments

As with Computer Vision, 3D Computer Graphics can be explained in a few different way – so I’ll stick to the simple, the medium and the advanced explanation. The simple explanation is that it’s what you see on the screen when playing many modern computer games or when seeing movies such as Shrek or Ice Age. These are often done with tools such as 3Ds Max or Maya by the professionals, or with free tools like Blender for the hobby artist or the learning 3D designer.

The 3D Computer Graphics (CG for short) I’ve been using is both the professional wysiwyg tools (mostly 3Ds Max) and the programming further behind the scenes,

OpenGL with both DirectX, OpenGL and Cg development for the GPU (translates as a CPU for graphics calculations). Going further behind the scene lets you create more advanced features and scenes with less computational power than if using the traditional tools – meaning the effect is mostly positive, but of course the cost is in time, and developing for 3D is not a simple thing.

Leading on to the medium advanced explanation of CG, we have high school mathematics, simple physics models such as gravitation and not walking through walls and the more advanced physics when looking at how light works and how it reflects on different types of surfaces.

As with Computer Vision, I will create a separate post for the more advanced parts of Computer Graphics, before becoming more detailed in the subject. Given time, I will also introduce simple tutorials both for programming and for software packages to create 3D scenes and objects – and suggest literature and online resources which can help in learning more.


Bookmark and Share

Introduction to Computer Vision

Posted on | July 2, 2007 | No Comments

There’s a simple explanation to everything, at least if you don’t care about how sufficient the explanation is. The simple explanation for Computer Vision is that this is the reversed technology for 3D Computer Graphics. The medium explanation makes the simple one look ashamed, while the advanced could be seen as advanced physics warping the universe .

Let’s start with the simple explanation – the ‘opposite of 3D Computer Graphics’ – which tells us that since 3D CG maps locations in 3D space to a 2D screen, Computer Vision should do the opposite, meaning we have one or more images of a location and want to find the scene from these images. This translation from 2D back to three dimensions can be done in a number of ways, most of them needing more complex explanations than the simple version can offer.

Moving on to the medium difficulty explanation, we see that Computer Vision has close relatives in fields such as Photogrammetry, Signal Processing and Image Analysis, that it can be used in for example robotics or for creating 3D scenes to walk around in, and that it is one of the most advanced fields in Computer Science at the moment, with very few systems which are both simple/fast to use and completely robust. Much of the focus is on cameras, and the external and internal parameters of these cameras as photos were taken.

The internal camera parameters include the zoom/focal length, the aspect ratio and the pixel size, while the external parameters are the position and rotation of the camera in three dimensions. Since the taken photos are always in two dimensions this leads to major mathematical computational difficulties. These difficulties have for some applications lead to combining the area with preparatory methods. An example is to create an estimated ‘pre-model’ with constraints for the final result, when trying to recreate a scene using Computer Vision methods, or putting constraints by trying to predict the next step of a tracked object.

Since this post is getting a bit long I’ll continue with the advanced explanation and some tips for books and online resources in another post…


Bookmark and Share

Computer day

Posted on | June 30, 2007 | No Comments

Today I’ve had a complete ‘computer day’, buying a wireless router yesterday was continued by the purchase of a switch for using two computer with one monitor, mouse and keyboard, and I also got a graphics cardUbuntu (my first GeForce – I always used ATI before). Since all this took time to make work, and I still can’t get the TV connection to work on the graphics card, I decided to install Ubuntu Linux on another computer while waiting for all those reboots for the first computer…

So far so good – Ubuntu is up and running, and all media files and plugins seem to either work right away or have a codec automatically downloaded after asking if I want to download it and of course also asking if I really really want to download it. For example getting the codecs for my old video files only took a minute, even though I had created them with unusual codecs (a few years back while studying I made movies for presentations etc).

The router was no problem to install, as long as I stayed away from the manual, which had suggested that I had to install something before I plug the router in – but the software on the CD was for another piece of hardware, so in the end I just plugged everything in, turned the devices on and had instant contact. Of course, there was still some configurations to be done for security, but that’s another story…

The graphics  card was a pain in windows, and then a pain in Linux as expected. Never having tried the Nvidia interface before didn’t make it easier, but at the end it all looked much nicer than with the old crashed graphics card – even though I still didn’t manage to get the image on the tv…

Finally the switch was left to install, but now it’s getting late so I’ll watch a movie before bedtime and continue tweaking and installing tomorrow – and perhaps also make a note here about configuring wireless networks..


Bookmark and Share

Usability

Posted on | June 28, 2007 | 3 Comments

Having a site everyone can use is obviously something every designer should strive for, but how should we do it, and why are certain methods better than others? As with many other research areas, there are divided opinions also within Usability. Some believe that the Usability rule set could be applied anywhere and goes above everything else, while others believe that usability should go hand in hand with a pleasing design to let the users have a relaxed look while trying to find what they look for. However, all agree that the user come first and the designer opinion last – meaning we must understand the target group to understand how to create the product…

In my first University course in the subject, we were first introduced to this way of thinking by looking at the Usability of real objects, such as kitchen appliances and parking meters. The books we used for a start were Designing visual interfaces by Mullet and Sano and The Design of Everyday Things by Norman – two books I can highly recommend both for a novice in the area and for someone who wants to know more about Usability in general. If you look at everyday things such as stereos, cellphone, laundry machines or even toasters, you can easily notice some part of the object which is more difficult, which is true especially the more advanced objects.

So what can designers, programmers, developers, managers, users and others do to help making for example web applications more user friendly? What can the ordinary man or woman do to help the designer, and what can the annoyed user with no patience do to help the programmer get it right? What can the programmer do to help both designers and users and what can the graphical designer do to help himself and everyone else?

What the users can do is pretty simple to answer – give feedback, comment and tell both what is good and what is not good enough. For this, the designer should give space for simple ways of contact – after all, the users is what should make the site live. However, the designer should still allow some security precautions to avoid spam, which can distract both programmers and designers…

One of the so called gurus of Usability is Jakob Nielsen, creator of the useit website and author of multiple books. If you want something simple and fast to read I recommend his book ‘50 websites deconstructed‘ – but when you look at his own site it’s easy to wonder if he cares at all about the design, and then the thought can be extended

The last course I had in Usability included one of the simplest books on the subject (besides many articles and essays of course) – ‘Don’t make me think‘ by Steve Krug – a well thought out book with simple illustrations and explanations of how the designers and programmers should think, to let the users keep their mind on the intended goal.

Over the next few weeks, I’ll write more about Usability and Accessibility, with simple rules to follow and methods to use – and also include simple analysis of a few websites. You are welcome to make comments here (or send a mail) to ask for an analysis of a specific site, or I’ll find one or a few myself which catches the eye – and maybe I’ll even use my own site as a starting point (yes, I am aware that it has flaws)…

Happy reading :-)


Bookmark and Share

« go backkeep looking »
  • LinkedIn

    If you want to see my LinkedIn profile, click on this button:

    Emil Hunefalk
  • Find & Follow

    hunefalk StumbleUponhunefalk Twitterhunefalk Flickrhunefalk Delicioushunefalk Facebookhunefalk Friendfeedhunefalk LinkedInhunefalk YouTubehunefalk Last.fmhunefalk MyBlogLoghunefalk Google Readerhunefalk Picasawebhunefalk Facebook Profile
  • Comments

  • Tag Cloud

  • addin
  • development
  • mail-client
  • ms-outlook
  • programming
  • visual-csharp