visuelle perzeption für mensch- maschine schnittstellen€¦ · edgar seemann, 09.11.2009 14...
TRANSCRIPT
![Page 1: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/1.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 1
Visuelle Perzeption für Mensch-Maschine Schnittstellen
Vorlesung, WS 2009
Prof. Dr. Rainer StiefelhagenDr. Edgar Seemann
Institut für AnthropomatikUniversität Karlsruhe (TH)
http://[email protected]
![Page 2: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/2.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 2
Programming
Assignments
WS 2009/10
Dr. Edgar Seemann
![Page 3: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/3.jpg)
Edgar Seemann, 09.11.2009 3
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Termine (1)
3
TBA21.12.2009
Stereo and Optical Flow18.12.2009
Termine Thema19.10.2009 Introduction, Applications
23.10.2009 Basics: Cameras, Transformations, Color
26.10.2009 Basics: Image Processing
30.10.2009 Basics: Pattern recognition
02.11.2009 Computer Vision: Tasks, Challenges, Learning, Performance measures
06.11.2009 Face Detection I: Color, Edges (Birchfield)
09.11.2009 Project 1: Intro + Programming tips13.11.2009 Face Detection II: ANNs, SVM, Viola & Jones
16.11.2009 Project 1: Questions
20.11.2009 Face Recognition I: Traditional Approaches, Eigenfaces, Fisherfaces, EBGM
23.12.2009 Face Recognition II
27.11.2009 Head Pose Estimation: Model-based, NN, Texture Mapping, Focus of Attention
30.11.2009 People Detection I
03.12.2009 People Detection II
07.12.2009 Project 1: Student Presentations, Project 2: Intro11.12.2009 People Detection III (Part-Based Models)
14.12.2009 Scene Context and Geometry
![Page 4: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/4.jpg)
Edgar Seemann, 09.11.2009 4
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Performance Measures
![Page 5: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/5.jpg)
Edgar Seemann, 09.11.2009 5
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Performance Measures
� Measuring the performance of object recognition algorithms is not trivial
� There different measures depending on the application
1. For classification (i.e. yes/no decision, if object is present or not)� ROC (Receiver-Operating-Characteristic)
2. For localization (i.e. detecting the object’s position)� RPC (Recall-Precision-Curve)� DET (Detection Error Trade-Off)
![Page 6: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/6.jpg)
Edgar Seemann, 09.11.2009 6
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Classifying a hypothesis
� When comparing recognition hypotheses with ground-truth annotations have to consider four cases:
� Example:
Prediction: Yes No Yes No
Case: TP FN FP TN
![Page 7: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/7.jpg)
Edgar Seemann, 09.11.2009 7
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
ROC
� Used for the task of classification� Measures the trade-off between true positive rate
and false positive rate:
� Example:� Algorithm X detects 80% of all cups (true positive
rate), while making 25% error on images not containing cups
![Page 8: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/8.jpg)
Edgar Seemann, 09.11.2009 8
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
ROC
� Each prediction hypothesis has generally an associated probability value or score
� The performance values can therefore plotted into a graph for each possible score as a threshold
1
1
15% TPR, 1% FPR
35% TPR, 3% FPR
60% TPR, 11% FPR
72% TPR, 30% FPR
85% TPR, 68% FPR
100% TPR, 100% FPR
True positive rate
false positive rate
ROC
heaven
ROC
hell
![Page 9: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/9.jpg)
Edgar Seemann, 09.11.2009 9
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Recall-Precision
� For localization ROC is not appropriate, since the number of hypothesis varies
� We therefore define:� Recall: percentage of objects found
� Precision: percentage of correct hypotheses
classification localization
![Page 10: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/10.jpg)
Edgar Seemann, 09.11.2009 10
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Plotting Recall-Precision
� RPC are typically plotted on a recall vs. 1-precision scale:
1
1
15% recall, 99% precision
35% TPR, 97% precision
60% recall, 89% precision
70% recall, 68% precision
72% TPR, 70% precision
1-precision
recall
![Page 11: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/11.jpg)
Edgar Seemann, 09.11.2009 11
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Detection Error Trade-Off
� DET measures the number of false detections per tested image window with respect to the miss-rate (1 – recall)
� Used for a sliding window based detector
� Disadvantages:� Chart more difficult
to read (e.g. log-scale)� Depends on the number
of windows tested(i.e. image size, slidingwindow parameters)
� Does not measure the performance of the complete detection system including non-maximum suppression
![Page 12: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/12.jpg)
Edgar Seemann, 09.11.2009 12
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Further measures
� In order to express the performance in a single figure, the following measures are common:� Equal Error Rate (EER)
� The point where the errors for true positives and false positives are equal (i.e. points on the diagonal from (0,1) to (1,0))
� Not well-defined for RPC
� Area Under Curve (for ROC)� The area under the curve ;-)
� Mean Average Precision (for RPC)� Average precision values� Sometimes measured only at pre-defined recall values
� False Positives per Image (FPPI)
![Page 13: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/13.jpg)
Edgar Seemann, 09.11.2009 13
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Tracking Measures
� For tracking there are performance measures considering object id changes [Bernadin&Stiefelhagen 2008]
![Page 14: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/14.jpg)
Edgar Seemann, 09.11.2009 14
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Localization and Ground-Truth
� For localization, the test data is mostly annotated with ground-truth bounding boxes
� It is often not obvious when to count a hypotheses as true or false detection� Misaligned hypotheses
� Double detections
ground-truth
detection
![Page 15: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/15.jpg)
Edgar Seemann, 09.11.2009 15
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Comparing hypotheses to Ground-Truth
� Comparison measures1. Relative Distance
2. Cover and Overlap
1. Relative distance
![Page 16: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/16.jpg)
Edgar Seemann, 09.11.2009 16
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Comparing hypotheses to Ground-Truth
2. Cover and Overlap
� There is no standard for which values to choose
� Sometimes used as threshold:� Cover> 50%, Overlap>50%, Relative Distance <0.5
� Double detections are counted as false positive
![Page 17: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/17.jpg)
Edgar Seemann, 09.11.2009 17
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Assignments
![Page 18: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/18.jpg)
Edgar Seemann, 09.11.2009 18
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hci
Organisatorisches
� Gruppe 3� Tingyun, Zhang� Ning, Zhu
� Gruppe 4� Andreas, Wachter� Sina, Martens� Sijie, Shen
� Gruppe 8� Alexander, Herzog� Stefan, Bürger� Jonathan, Wehrle
� Gruppe 9� Marc, Essinger
� Gruppe ?
� Gruppe 5� Christian, Wittner� Matthias, Steiner� Christoph, Weber
� Gruppe 6� Nils, Adermann� Jan, Issac
� Gruppe 7� Alexander, Wirth� Dimitri, Majarle� Paul, Märgner
� Gruppe 1� Patrick, Grube� Benjamin, Hohl� Bastiaan, Hovestreydt
� Gruppe 2� Sebastian, Bodenstedt� Mchael, Heck
![Page 19: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/19.jpg)
Edgar Seemann, 09.11.2009 19
Com
pute
r V
isio
n fo
r H
uman
-Com
pute
r In
tera
ctio
n
Res
earc
h G
roup
, Uni
vers
itätK
arls
ruhe
(TH
)cv
:hciQuestions, Answers, Discussions …
� Mailing List� [email protected]
![Page 20: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/20.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 20
This Lecture
� Overview of programming assignments
� Short Intro into Programming� C++
� Documentation: Thinking in C++ http://www.mindviewinc.com/Books/
� Qt� Documentation: http://doc.trolltech.com
� Includes many tutorials
![Page 21: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/21.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 21
Qt Documentation
� http://doc.trolltech.com/4.5/index.html
![Page 22: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/22.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 22
Assignment 1
� Skin-Color Detection� Detect skin color pixels as accurate as possible
� Data set contains images from different lighting conditions
Data
Ground-Truth
![Page 23: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/23.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 23
The whole thing
� Goal:1. Develop the algorithm
2. Visualize the results
3. Do a thorough quantitative evaluation
4. Present your results in front of the class
![Page 24: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/24.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 24
It’s a competition
� View it as a competition against the other students
� Don’t just make it work more or less
� I want to see the best possible results
� Apply all tricks you can imagine
� No cheating!!!
![Page 25: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/25.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 25
Current directory structure
� See README.TXT
![Page 26: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/26.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 26
Some more details
� Training Set:
� The file trainingset.idl lists these files:� "/home/student/Programming/data/christian1.png";
� "/home/student/Programming/data/cond2-alicia.png";
� "/home/student/Programming/data/robo-edi.png";
� …
![Page 27: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/27.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 27
Test Set
� Test set is defined in testset.idl� Ground-Truth is defined in testset-groundtruth.idl:
� "/home/student/Programming/data/cond2-john.png": (507, 121, 508, 122):255, (508, 121, 509, 122):255, (509, 121, 510, 122):255, (510, 121, 511, 122):255 …
� "/home/student/Programming/data/cond2-muntsin.png": (306, 202, 307, 203):255, (307, 202, 308, 203):255, (308, 202, 309, 203):255, (309, 202, 310, 203):255 …
� "/home/student/Programming/data/petra1.png": (282, 244, 283, 245):255, (283, 244, 284, 245):255, (284, 244, 285, 245):255, (285, 244, 286, 245):255, (286, …
� "/home/student/Programming/data/rainer1.png": (324, 180, 325, 181):255, (325, 180, 326, 181):255, (326, 180, 327, 181):255, (327, 180, 328, 181):255, (328, …
� "/home/student/Programming/data/robo-klaus.png": (365, 95, 366, 96):255, (366, 95, 367, 96):255, (367, 95, 368, 96):255, (368, 95, 369, 96):255, (369, 95, 370 …
� "/home/student/Programming/data/robo-rainer.png": (163, 65, 164, 66):255, (164, 65, 165, 66):255, (165, 65, 166, 66):255, (166, 65, 167, 66):255, (167, 65, 16 …
![Page 28: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/28.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 28
Your Task
� Produce an .idl file, which specifies for each pixel in the image, the probability of being skin colored� i.e. specify a 1x1 rectangle for each pixel
� Annotool helps to display results at different confidence levels
![Page 29: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/29.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 29
Quantitative Evaluation
� For the evaluation, we have two Python scripts� Directory: evaluation
� ./fpr-rec-skin.py testset-groundtruth.idl result.idl
� Computes true positive and false positive rate for all thresholds and writes it to plotdata.txt
� Directory: plotting� ./plotSimple.py ../evaluation/plotdata.txt
� Plots the results from plotdata.txt
![Page 30: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/30.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 30
Presentation
� Shortly present what exactly you have implemented
� Show the performance plot for different implementations / parameter choices � What worked best?
� What did not work?
� What problems did you encounter?
� What were the lessons learned?
� Each group has approximately 8 minutes
![Page 31: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/31.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 31
VirtualBox: getting data in/out
� Internet access should work through NAT, if not:� ifconfig –a //shows all network interfaces
� sudo dhclient ethX //request IP address
� alternatively edit /etc/network/interfaces
� Shared Folders� Menu -> Devices -> Shared Folders -> Machine
Folders
� Mount folder:� sudo mount.vboxsf SHARE_NAME /mnt
� alternatively edit /etc/fstab
![Page 32: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/32.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 32
Assignment 2
� People Classification
![Page 33: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/33.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 33
Programming Intro
![Page 34: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/34.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 34
C++
� Hello World
main.cpp:
#include <iostream> // contains cout, cin, cerr …
int main(int argc, char** argv)
{
std::cout << “Hello World\n”;
std::cout << “Number of arguments: “ << argc << std::e ndl;
if (argc>1)
std::cout << “First argument: “ << argv[1] << std::en dl;
return 0;
}
![Page 35: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/35.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 35
Headers and Source
mainwindow.h:
#include <iostream>
class MainWindow
{
private:
int memberVariable1;
int memberVariable2;
public:
MainWindow();//constructor
~MainWindow();//destructor
void setValue1(int val);
int getValue1();
};
mainwindow.cpp:
#include “mainwindow.h”
MainWindow::MainWindow()
{}
MainWindow::~MainWindow()
{}
void MainWindow::setValue1(int val)
{
memberVariable1 = val;
}
int MainWindow::getValue1()
{
return memberVariable1;
}
� Header: defines class structure / api
� Source: the implementation
![Page 36: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/36.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 36
Compiling and linking
� The manual way� g++ -c main.cpp mainwindow.cpp
� Compiles main.cpp and mainwindow.cpp into .o files� g++ -o MainProgram *.o
� Links .o files into an executable
![Page 37: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/37.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 37
Qt: Creating a GUI
mainwindow.h:
#include <iostream>
#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>
class MainWindow : public QWidget
{
Q_OBJECT
private:
QLabel* imageWidget;
public:
MainWindow(QWidget* parent =0);
void open(const char* file);
};
mainwindow.cpp:
#include “mainwindow.h”
MainWindow::MainWindow(QWidget* parent) : QWidget(parent)
{
QVBoxLayout* layout = new QVBoxLayout();
imageWidget = new QLabel();
layout->addWidget(imageWidget);
setLayout(layout);
resize(320, 240);
show();
}
void MainWindow::open(const char* file)
{
QImage image(file);
imageWidget->setPixmap(QPixmap::fromImage(image));
}
![Page 38: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/38.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 38
Adding window to mainmain.cpp:
#include <iostream>
#include “MainWindow.h”
#include <QApplication>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
MainWindow window;
if (argc>1)
window.open(argv[1]);
return app.exec();
}
![Page 39: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/39.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 39
Linking libraries
� In order to use Qt, we have to link against the qt libraries
� Manual way:� g++ -c *.cpp –I/path/to/headerfiles
� g++ -o MainProgram *.o –L/path/to/library –lName
� Qmake (the Qt build system):1. qmake –project (create project file: dirname.pro)
2. qmake (create a Makefile)
3. make (execute Makefile)
4. make clean (to delete built files)
� To add a new file/class you have to edit dirname.pro and repeat step 2 and 3
![Page 40: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/40.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 40
LD_LIBRARY_PATH
� -L parameter tells linker, where to look for libraries� g++ -o MainProgram *.o –L/path/to/library –lName
� Run-Time� Dynamically linked libraries are linked at start up� Dynamic libraries may be moved after linking
i.e. we have to define search path� export
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/path/to/library
� You may define LD_LIBRARY_PATHin your .bashrc, then you don’t have to set it after each login
� Search path for system libraries is typically already defined in /etc/ld.so.conf
![Page 41: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/41.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 41
Include Guards
mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <iostream>#include <QWidget>#include <QLabel>#include <QVBoxLayout>
class MainWindow : public QWidget{
Q_OBJECT
private:QLabel* imageWidget;
public:MainWindow(QWidget* parent =0);
void open(const char* file);};
#endif
� Avoid to include a header file multiple times
![Page 42: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/42.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 42
Pointers and References
� Essentially the same thing, but� References cannot be null
� References are syntactically handled as objects
� Example:� QImage& img1 = open1(file);
� QImage* img2 = open2(file);
� img1.getPixel(0,0);
� img2->getPixel(0,0);
� (*img2).getPixel(0,0);
� Please: Avoid using pointers!!!
![Page 43: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/43.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 43
Memory management
� If we create objects with new, we have to delete them� Otherwise we have a memory leak
� There are nice tools to detect memory leaks e.g. valgrind
� Example� Object* obj = new Object()
� delete obj;
� Object* array = new QObject[20]; //points to the fi rst element
� delete[] array;
� Delete is typically called in the destructor� Exception:
� Qt GUI elements typically use pointers, however youdon’t have to worry about memory management
![Page 44: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/44.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 44
Tips� Avoid calling “new”
� Object obj(params)
� Creates object in the current scope
� Object is automatically destroyed if obj is out of scope
� Object* obj = new Object(params)
� Creates object on the heap
� Object needs to be explicitly deleted: delete obj;
� Avoid objects as return values, instead pass references� QImage open(const string& file) vs.
� void open(const string& file, QImage& open)
� Removes copying overhead (even though compiler may optimize this)
� This is also the solution to multiple return values
![Page 45: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/45.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 45
Const correctness
� Consider the following function signatures1. open(string filename)2. open(string& filename)3. open(const string& filename)
1. Bad: filename is passed by value, i.e. involves a copy of the string object
2. Good: filename is passed as a referenceBad: filename may be altered in the function
3. Assures that filename is only read in the functionUse const where ever possible
![Page 46: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/46.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 46
The QImage class
� QImage provides:� Reading and writing of various image formats
� QImage img(filename)
� Creating an empty image� QImage img(w, h, QImage::Format_ARGB32)
� Access to image data� QRgb pixel = img.getPixel(x,y)
� int width = img.width()
� int height = img.height()
� QImage smallImage = img.scaled(w, h, Qt::AspectRatioMode, Qt::TransformationMode )
� uchar* bits = img.bits()
� QRgb pixel = img.getPixel(x,y)
![Page 47: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/47.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 47
QRgb
� QRgb represents a RGB value� QRgb pixel = qRgb(100,200,150)
� int red = qRed(pixel)
� int green = qGreen(pixel)
� int blue = qBlue(pixel)
� Grayscale images are stored as RGB, with r=g=b for all pixels� QRgb grayPixel = qRgb(100,100,100)
![Page 48: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/48.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 48
OpenCV
� Okapi is based on OpenCV 2.0
� OpenCV is an open source computer vision library containing a large number of existing algrithms� Image Processing:
� Edge Detection
� Interest Point Detection
� Morphological Operations
� Machine Learning� SVM
� Boosting
� Optical Flow
� Stereo Computation
� Tracking
![Page 49: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/49.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 49
Images as matrices
� Load imageMat img = imread(image_fname);
� Load image as grayscale imageMat maskimg = imread(mask_fname, CV_LOAD_IMAGE_GRAYS CALE);
� Access image elementsint pixelValue = img.at<uchar>(y,x);
Vec3b& pixelValue = img.at<Vec3b>(y,x);
int red = pixelValue[2];
int green = pixelValue[1];
int blue = pixelValue[0];
![Page 50: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/50.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 50
STL
� The C++ Standard Template Library provides many useful functions/classes/containers etc.
� Documentation can be found at http://www.sgi.com/tech/stl
� Examples:� std::vector
� std::sort
� std::search
� Tip: “using namespace std;” avoids the additional typing of std:: (only do this in .cpp files)
![Page 51: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/51.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 51
Containers
� Vectors� Provide dynamic arrays
� Example:� std::vector<int> numbers; //create vector of intege rs
� numbers.push_back(5); //add 5 to vector
� int val = numbers.back();
� int val = numbers[0]; // array style access
� Iterators are a generalization of pointers� Example:
� std::vector<int>::iterator it;
� for (it=numbers.begin(); it!=numbers.end; ++it)std::cout << *it;
![Page 52: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/52.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 52
Sorting
� Sorting� std::vector<double> numbers;
…std::sort(numbers.begin(), numbers.end());
� Comparators/Functors� class compMag : public binary_function<double, doubl e,
bool>{
bool operator()(double x, double y){
return fabs(x) < fabs(y);}
};
std::sort(numbers.begin(), numbers.end(), compMag());
![Page 53: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/53.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 53
Signals and Slots
� GUI events in Qt are handled via so-called signals and slots
� Signals correspond to events
� Slots correspond to event handlers
� signals and slots are connected by the following command:� QObject::connect(button, SIGNAL(clicked()), this,
clickHandler());
� Internally Qt does some magic to make this work (you should not bother)
![Page 54: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/54.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 54
Examplemainwindow.cpp:
#include “mainwindow.h”
MainWindow::MainWindow(QWidget* parent = 0) : QWidget(parent)
{
QVBoxLayout* layout = new QVBoxLayout();
QPushButton* open = new QPushButton();
layout->addWidget(open);
QOjbect::connect(open, SIGNAL(clicked()), this, ope n());
setLayout(layout);
resize(320, 240);
show();
}
void MainWindow::open()
{
QString filename = QFileDialog::getOpenFileName(this , “Open", QDir::currentPath());
QImage image(filename);
imageWidget->setPixmap(QPixmap::fromImage(image))
}
![Page 55: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/55.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 55
Scripting
� Typically every computer vision tasks involves a large number of parameters, which have to be tested
� It is often extremely useful to use your programs solely from the command line with a GUI� Allows batch processing
� Allows scripting
� …
� Consequently try to separate GUI and functionality as good as possible
� Automate learning, testing
� Doing things manually does not pay off on the long run
![Page 56: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/56.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 56
Visualization
� Visualization often helps to understand what your code is doing (and what it is doing incorrectly)
� Possibilities:� Write a GUI
� Render an image and store it to disk
� Write data to a file and use some other tool to visualize them
![Page 57: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/57.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 57
libAnnotation
� Classes:� AnnoRect : represents a single annotation rectangle� Annotation : represents all annotation rectangles for an image� AnnotationList : represents a set of annotations (i.e. for a
complete data set)
� Example:� AnnotationList list(filename);� Annotation& anno = list[i];� AnnoRect r(x1,y1,w,h,score);� anno.add( r );� list.save(fileoutName);
� There is also a python implementation (evaluation: AnnotationLib.py)
![Page 58: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/58.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 58
Plotting
� Different kinds of 2D plots are very common in computer vision� ROC, RPC� Histograms� etc.
� Possibilities� Write your own plotting routines� Use Qt-based plotting (e.g. QtiPlot)� GnuPlot� Matlab/Octave� Matplotlib (Python-based)
![Page 59: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/59.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 59
Matplotlib
� I have written a small script for you, which allows plotting of RPC curves:
./plotSimple.py data.txt
� Data.txt has to have the following format (and has to be sorted by score already):
Column1 Column2 Column3precision recall score
![Page 60: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/60.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 60
Example
Example:……0.919075 0.878453 245.1910.918605 0.872928 247.2710.923977 0.872928 247.7230.923529 0.867403 248.576
…
…
![Page 61: Visuelle Perzeption für Mensch- Maschine Schnittstellen€¦ · Edgar Seemann, 09.11.2009 14 Computer Vision for Human-Computer Interaction Research Group, Universität Karlsruhe](https://reader033.vdocuments.site/reader033/viewer/2022050207/5f5a42dc059a86052452bd2b/html5/thumbnails/61.jpg)
Interactive Systems Laboratories, Universität Karlsr uhe (TH)Edgar Seemann, 09.11.2009 61
End of Lecture