OpenCV Workshop

From Hackerspace Brussels
Revision as of 13:50, 15 November 2011 by Utopiah (Talk | contribs) (pam-face-authentication)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


OpenCV Workshop
Fri 11 Nov 2011 14:00
till Sat 12 Nov 2011 20:00
Opencv.hsbxl.png
What:
Workshop
Tagline:
OpenCV, playing with images and videos
Where:
HSB Brussels,Belgium
Cost:
0
Who:
User:Utopiah
URL:
https://hackerspace.be/OpenCV_Workshop




[[People::User:Utopiah| ]]


We all have tons of pictures, hours of videos and we all skim over them from time to time. Why not play with them? Why not use algorithms to modify, analyze or just mess around with large quantity of them? OpenCV is a framework started about 10 years dedicated to do just that.

The workshop is dedicated to have hands on experience with it so bring your laptop with a camera and your pictures. If you want to understand a bit more why Numb3rs and other detective series make no sense when they "unblur" pictures or you want to offer your pet robot vision, come!


PS: la page est en anglais mais l'atelier sera aussi en français si besoin est.

Goals[edit]

  • discover what computer vision is
  • have hands-on experience with the OpenCV framework
  • be creative with code, images and videos

Planning[edit]

  1. an hour to generally understand the basics via some introductory slides
    1. vision
    2. computer vision
    3. data structure
    4. key functions
    5. possibilities
    6. limits
  2. some minutes to pick up a project and form groups with at least 1 programmer per group
  3. few hours to hack your way through your project, ask questions, peep around
  4. last 30min to showcase your barely finished project around and get feedback
  5. finish-time extra-time to debate about the future of computer vision and its economical impact (beers required)

Attendees[edit]

Name Level Project Hardware
Utopiah did my own toy program with OpenCV organizing and helping around + setting up an HSBXL frpc laptop (with Debian) + normal webcam
ptr_ did some projects with OpenCV the last years organizing and helping around + solderstation 2.0 (UI, auto-rotating imgs, auto-stitching ?) laptop (with Debian) + quadcore pc (ubuntu) + webcam + cctv framegrabber card (bt8x8) + firewire camera IIDC
U_go played a bit with OpenCV it's fun with openFrameworks laptop (with OSX and Linux) + webcam PS3 + OpenCV book
Seb Zero or below :) frpc, LIDAR, stereo vision, whatever netbook (Ubuntu) + webcam
juliane never used opencv just to understand image recognition better & connect with AI, so hanging around Friday netbook (debian) with cheap webcam

Few others came without being present in this list.

Prerequisites[edit]

  • 1 computer
  • Python or a C++ compiler installed and working*
  • OpenCV installed (basically sudo apt-get install python-opencv should do) and working*
    • the examples from the documentation must run
  • ideas of pet project (see further)
  • knowing how to code or having a geek slave
  • 1 brain

* Remarks on installation : It is simple but it requires some time and is different for every computer, distribution and vision hardware. Since there is very little to learn here it is best if everybody does that part individually. If you still have a problem doing so, feel free to ask on IRC or the mailing list before the event.

Optional but recommended[edit]

  • 1 webcam or a camera, even cheap ones
  • a set of pictures of something or someone you want to train on
  • an Android device (requires lots of work, cf doc)
  • basics of geometry
  • rough idea of what machine learning is
  • ImageMagick convert command-line tool to easily resize or modify tons of images

Ideas of pet projects[edit]

Description Time expected* Resources OpenCV related functions Interested participants
sort galleries of pictures by resemblance 2 CreateHist
search collection of images for the same kind 2 Seeks CreateHist
detect faces 1 Facebook internally uses OpenCV HaarDetectObjects
track faces 2 HaarDetectObjects GoodFeaturesToTrack
move a robot to follow his owner 6 cf ROS also by WillowGarage or more simply arduino servo library HaarDetectObjects GoodFeaturesToTrack
detect a person within a collection of known faces 4 frpc pam-face-authentication HaarDetectObjects GoodFeaturesToTrack CreateHist
finding ways not to have a face recognized 4 CV Dazzle HaarDetectObjects CreateHist
decode the color bands on a resistor 4 redec PreCornerDetect
virtual make up or obfuscation 2 augmented reality, e.g. SimplAR
gesture interface, dance to code 4 e.g. with touchtable, laser, Kinect or just a redglove then Motion Analysis and Object Tracking or OpenTLD Acc
dating scene crawler, possibly relying on the picture library resemblance project 6 HaarDetectObjects CreateHist
distance mirror, how unlike yesterday one looks 2 HaarDetectObjects CreateHist
bring SolderStation to the next level: automagic stitching of pictures you take of a PCB, laser pointing to a selected element, ... 4 video panorama stitching with stabilizing homography estimation Wikipedia:Image registration FindHomography ptr_
use satellite imagery to find paths, estimate yield, ... 4 Orfeo icvCreateIntHaarFeatures
use medical images, e.g. CAT scan, fMRI, ... to recognize specific patterns 4 INRIA related research icvCreateIntHaarFeatures

* This is a completely relative value and often a wild guess. The time would be for somebody moderately familiar with OpenCV and very familiar with a programming language. The precision would be rather low, a proof of concept rather than a 100% hit rate which would instead required considerable time, if even possible. If you are a pro multiply by a factor of 0.5 if you are a total beginning by a factor of 4.

Note that some projects might require much longer than few hours to program but also to train the dataset on. Consequently this could still be started but could also be prepared ahead of the workshop.

Supporting tools[edit]

The goal is to give a boost to newcomers.

Previous workshops[edit]

References[edit]