GNU General Public License v3.0 licensed. Source available on github.com/zifeo/EPFL.
Spring 2015: Introduction à l'Informatique Visuelle
[TOC]
- cognition
- traiter image
- générer réponses
- produire action
- infographie
- produire image
- générer réponses
- traiter actions
- informatique visuelle : Human Computer Interaction + infographie + vision
- réalité augmentée : superposer image digitale sur image physique en temps réel
- perception
- vue : image vaut 1000 mots
- ouïe : verbal
- toucher
- odorat
- goût
- leçons clées : Human Computer Interaction
- La capacité de stockage de notre disque dure (mémoire à long terme) est quasi-illimité ; mais notre RAM (mémoire de travail) est limité à 7 ± 2 éléments
- On « voit » davantage avec son cerveau qu’avec son oeil
- « Computer vision » n’a pas grand chose à voir avec « human vision »
- On ne mesure pas la qualité d’une interface avec des questionnaires mais par un test d’utilisation
- Pas besoin d’avoir un master en psychologie cognitive pour mesurer un effet par une expériences
- « VisualComputing Expert» : ni psychologue, ni designer, mais un ingénieur qui comprend l’ensemble du système
- interface : voiture autonome ? vocal, tactile, brain, joystick ?
- interaction : dépendence de tâche, utilisateur, détails de design et non exclusif
- languages de commandes : shell
- WIMP (windows icons menus pointers) : finder
- manipulation directe : drag & drop, slider
- formulaires
- réalité virtuelle : second life, minecraft, haptic device (recrée sens toucher), datagloves
- tangibles : table réactive (placement d'objet), projet
- réalité augmentée : informations superposées, oculus rift
- contrôle vocale : siri
- contrôle gestuel : kinect
- contrôle cérébral : ECG
- bionique : prothèse mécanique
- wearable : google Glass
- ambiant : nabaztag, philips hue
- commander tickets trains
- command : rapide (expert), extensible, conventions, erreurs
- WIMP : facile, structuré, exploration, complexe, lent, peu flexible (mobile)
- manipulation : facile, actions reversibles, intuitif, lent, coûteux
- forumulaire : facile, cheminement forcé, complétion, rigide
- niveau de connaissance : nécessite certaine fréquence d'utilisation
- novices : connaissances sémantiques liées tâche (qu'est-ce qu'une table des matières)
- intermittents : en plus, connaissances sémantiques liées transposition informatique liées tâche (espace inter-paragraphe)
- experts : en plus, connaissances syntaxiques, arbitraires (change minuscule = changer casse)
- intuitif : oublié qu'on l'a appris
- interface naturelle : mythe (Apple Newton vs Palm)
- qualité d'interface : mesure
- courbe d'apprentissage
- temps pour réaliser tâche
- nombre d'erreurs
- satisfaction utilisateurs
- java DSL open source : for creating visual, interactive media (from MIT)
-
infographie 3D
- coordinate system : y inversed
- rotate : clock-wise
- point :
$p=\m{x\\ y\\ z}\in\R^3$ - monde (base canonique) :
${\v{u},\v{v},\v{w}}={\m{1\\ 0\\ 0},\m{0\\ 1\\ 0},\m{0\\ 0\\ 1}}$ - transformations linéaires :
$T(\vx)=A·\vx$ - homothéties :
$A=nI$ - rotation :
$A=\m{\cos\theta &-\sin\theta\\ \sin\theta & \cos\theta}$ - cisaillement (shearing, déplacement bases d'un carré) :
$A=\m{1 & k\\ 0 & 1}$ (horizontalement),$A=\m{1 & 0\\ k & 1}$ (verticalement)
- homothéties :
- transformations affines :
$T(\vx)=A·\vx+b$ (non linéaire)- idée : ajouter une dimension pour linéariser transformations affines et projectives
$\m{x'\\ y'\\ 1}=\m{1 & 0 & t_x\\ 0 & 1 & t_y \\ 0 & 0 & 1}\m{x\\ y\\ 1}=\m{x+t_x\\ y+t_y\\ 1}$
- idée : ajouter une dimension pour linéariser transformations affines et projectives
- coordonnées homogènes : ensemble des coordonnes du point
$\m{kx\\ ky\\ k}, k\in\R^*$ (projection)- point à l'infini :
$\m{x\\ y\\ 0}$
- point à l'infini :
- coordonnées euclidiennes :
$\m{x\\ y\\ w}\approx\m{x/w\\ y/w\\ 1}$ - en 3D
- translation :
$\m{x'\\ y'\\ z'\\ 1}=\m{1 & 0 & 0 & t_x\\ 0 & 1 & 0 & t_y\\ 0 & 0 & 1 & t_z\\ 0 & 0 & 0 & 1}\m{x\\ y\\ z\\ 1}=\m{x+t_x\\ y+t_y\\ z+t_z \\ 1}$ - rotation :
$\m{x'\\ y'\\ z'\\ 1}=\m{ & & & 0\\ & R_{3\times 3} & & 0\\ & & & 0\\ 0 & 0 & 0 & 1}\m{x\\ y\\ z\\ 1}$ - matrices : bonnes propriétés mathématiques, peu intuitives, courantes
$R_x(\theta)=\m{1 & 0 & 0\\ 0 & \cos\theta & -\sin\theta\\ 0 & \sin\theta & \cos\theta}$ $R_y(\theta)=\m{\cos\theta & 0 & \sin\theta\\ 0 & 1 & 0\\ -\sin\theta & 0 & \cos\theta}$ $R_z(\theta)=\m{\cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1}$
- angles d'Euler : mathématiquement dangereux
- quaternions :
$q=\m{e_x\sin(\theta/2)\\ e_y\sin(\theta/2)\\ e_z\sin(\theta/2)\\ cos(\theta/2)}$ peu intuitif mais très bonnes proprités mathématiques - yaw-pitch-roll : domaine-spécifique (aviation)
- matrices : bonnes propriétés mathématiques, peu intuitives, courantes
- homothétie :
$\m{x'\\ y'\\ z'\\ 1}=\m{\alpha & 0 & 0 & 0\\ 0 & \beta & 0 & 0\\ 0 & 0 & \gamma & 0\\ 0 & 0 & 0 & 1}\m{x\\ y\\ z\\ 1}=\m{\alpha x\\ \beta y\\ \gamma z \\ 1}$
- translation :
- compostion : multiplication de matrix
- scene graph : pushMatrix/popMatrix
- projection
$\v{a}$ sur$\v{u}$ :$(\v{a}·\v{u})\v{u}$ - projection orthographique : unité sur axes voulus
- projections perspective
- oeil (CdP) : hauteur
$y$ - distance focale : distance
$d$ (CdP et plan image) - 2D :
$\m{y\\ z}\to\m{dy/z\\ d}$ - Model-View-Projection :
$M_{MVP}=\m{1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 1/f & 0}\m{ & & & \\ & R _{cam} & & T _{cam}\\ & & & \\ 0 & 0 & 0 & 1}\m{ & & & \\ & R _{obj} & & T _{obj}\\ & & & \\ 0 & 0 & 0 & 1}$ et$\m{x _p\\ y _p\\ f\\ 1}=M _{MVP}\m{x\\ y\\ z\\ 1}$ - 3D :
$\m{1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & z/d}\m{x\\ y\\ z\\ 1}\approx\m{dx/z\\ dy/z\\ d\\ 1}$
- oeil (CdP) : hauteur
- rendu 3D
- visibilité : z-buffer
- illumination
- ombres : shadow mapping, voir le monde à travers source lumière
- textures : plusieurs images (couleurs, éclairages) corespondant aux polygones
- technique rendu
- shaders : programme écrit GLSL (GL Shading Language, OpenGL) ou HLSL (High-Level Shading Language, Direct3D) et exécuté sur GPU
- vision : oeil (peu) + cerveau (beaucoup)
- oeil
- cornée : lentille entrée
- cristalin : lentille biconvexe
- macula : zone de la rétine caractérisée par une concentration maximale de cônes (~18°)
- fovéa : zone centrale de la macula, est la zone de la rétine où la vision des détails est la plus précise (~5°)
- rétine : partie de l'oeil sensible à la lumière composé de photorécepteurs
- point aveugle : dépouvru de récepteur, passage du nerf optique à travers la rétine
- vision fovéale
- zone : 3.5-4mm à l'écran (40cm)
- lecture : 4-5 lettres vues à 100%
- étude du regard : oeil se pose, prélève information et saute
- fixation : 220-250 ms
- saccade : < 50 ms (aveugle pendant ce laps de temps)
- novice : distraction facile, cheminement confus
- expert : structuré, peu perturbable
- écran
- dimensions : 13 pouces
- définition : 640x480 = VGA
- résolution (pixel par pouce carré, dots per inch) : 326 ppp/dpi (Apple Retina)
- profondeur (nombre de bit d'information par pixel) : 8 bpp (= 256 valeurs possibles)
- photorécepteurs
- format d'image : taille = # pixel x profondeur x compression
- GIF : lossless
- JPEG : lossy
- PCD : eye-lossy
- TIFF, FPX, PDF, PNG
- image par seconde : pourquoi 24 fps ?
- hypothèse 1 (oeil) : persistence rétinienne -> probablement faux
- hypothèse 2 (cerveau) : effet PHI/BETA (l'apparition d'images perçues successives, susceptibles d'être raccordées par un déplacement ou une transformation)
- effet STROOP : semantic interference (vert écrit en bleu)
- profondeur : cerveau
- indices binoculaires
- point de fixation à l'infini : parallèle (zero)
- objet distant : petit
- objet proche : grand
- indices monoculaires : perspective
- parralaxe : objets en avant-plan donnent l’impression d’un déplacement plus rapide que les objets en arrière-plan
- effet kinetic depth : mouvements de l’objet donnent une perception de la profondeur
- occlusion : 2D donne l’impression qu’un objet se trouve devant l’autre
- taille relative : plus petit = plus loin sauf si on connait leur taille relative
- position par rapport à l'horizon
- recréation en 2D
- lumière & ombres
- profondeur de champ
- finesse de la texture
- brouillard de distance
- indices binoculaires
- hémisphères cérébraux
- **cognition **
- attention
- raisonnement
- langage
- intelligence
- compétences
- connaissances
- apprentissage
-
mémoire
- sensorielle : < 1 s
- court terme : < 10 min
-
mémoire de travail : CPU
- charge cognitive :
$7\pm 2$ éléments - mesurable physiologiquement : EEG, mouvements occulaires, fréquence cardiaque (pilote)
- mesurable subjectivement : NASA task load index
- charge mental : augmentation de la difficulté sur une tâche augmente une augmentation du nombre d’erreurs sur l’autre tâche, probablement parce qu’elles sollicitent les mêmes ressources
- niveau d'expertise
- novice : freiner, embrayer, changer, débrayer, freiner
- expert : ralentir (connaissance compilées, répertoire de cas typiques, critères de sélection)
- split attention effect : augmentation charge mentale (par ex. figure géométrique séparé des données)
- combien d'information est optimal pour présenter sur un écran
- structure de l’information réduit la charge cognitive (alignement des aiguilles d'un cockpit)
- redondance réduit le split attention (et permet des styles d’interaction personels)
- charge cognitive = quantité d'information (imposée par tâche) / (niveau d'expertise (imposée par public-ciblé) x qualité du design (notre variable))
- principes de design
- usability tests
- cognition distribuée : écran = extension mémoire travail
- charge cognitive :
-
mémoire long terme
- connaissance déclaratives : déplace ton centre de gravité sur le ski aval
- mémoire sémantique (lobes temporaux) : faits, concepts, définitions
- modèle mentaux : évolue avec expérience, liés au contexte, pas forcément correct ni complet, explications simplifiés de phénomènes complexes, permet de comprendre erreurs et gérer l'incertitude de la validité
- termostat comme un minuteur ou robinet ?
- quel glaçon fondra le plus rapidement, celui sous la laine ou sans rien ?
- induction vs discrimination : observations -> patterns -> abstraction
- biais inductif : connaissance préalables permettent choisir une généralisation souhaitable parmi l’infinité des généralisations possibles
- modèle mentaux : évolue avec expérience, liés au contexte, pas forcément correct ni complet, explications simplifiés de phénomènes complexes, permet de comprendre erreurs et gérer l'incertitude de la validité
- mémoire épisodique (hippocample, lobes temporaux) : événements passé ou imaginés
- mémoire sémantique (lobes temporaux) : faits, concepts, définitions
- connaissance procédurales (sous-cortical, cervelet): réflexe
- connaissance déclaratives : déplace ton centre de gravité sur le ski aval
- métacognition (capacité) : connaissance de ses connaissances, raisonnement sur son raisonnement
- assassin creed unity (140 millions) vs candy crush (1/2 millions/jour)
- indie game : don't starve
- jeu vs jouet : buts et régles définis vs à inventer sur le moment
- succès d'un jeu
- on essaie : réseaux sociaux, buzz, nouveauté, prix, plateforme, esthetiques
- on revient : esthetique, méchanisme d'engagement (addiction)
- game mechanics
- espace : l’ensemble des positions qui correspondent à un état
- discret : monopoly, echec
- continu : billard, ski
- espaces nichés : continu (scène 3D) dans discret (étape)
- structure : linéaire (SuperMario), grille (Minecraft), web, partition (Civilisation)
- game space vs modèle mental
- capacité d'orientation spatial (jeux 3D) : test paper folding, test rotation mentale
- orientation : boussole, minimap, radar, cartes, repères (landmarks)
- temps
- discret : tour
- continu : horloge (limité/illimité, ralenti, pause, score)
- objets
- actions
- basic actions (game interface) : move, jump, shoot
- stategic actions (mental model) : protect, sacrifice, trap
- emergent gameplay : petit nombre d’actions de base autorise un grand nombre d’actions stratégiques
- règles
- faisable : qui peut faire quelle action sur quel objet à quel moment ?
- souhaitable : comment les actions déterminent ma performance (score, victoire) ?
- fondamentale : objectif du joueur
- modes : règles différentes s’appliquent pendant différentes phases de jeu
- changement nécessite adaptation et visibilité
- nombre de modes doit être petit
- interface modale : sur un même input produit différents effets selon l'état actif
- mode actif prend 1 slot de mémoire de travail
- interface modeless : produisent moins d'erreur
- skills : équilibre entre skills du joueur (vraie valeur) et du personnage (pouvoir donné au joueur)
- triangle : compétences physique (billard), compétences cognitives (echecs) et chance (roulette)
- chance : équilibre entre skills du joueur (juste) et chance (surprise, pseudo-aléatoire ou aléatoire)
- points de vue : position de la caméra
- fixe : objets et personnages sont rendus en temps réel mais le décor est statique pendant une scène
- top down : vue aérienne en 2D
- scroll latéral : caméra se déplace de gauche à droite avec le déplacement de l’avatar
- bird eye : vue élevée en perspective depuis les yeux d’un oiseau
- first person : vue depuis les yeux de mon avatar
- over the shoulder
- camera lock-on : caméra suit ennemis
- radar : vue de l’ensemble de l’espace, localisation le sous-espace actuellement affiché
- caméra contrôlable
- vue : choisir la meilleure vue au meillleur moment
- roles : différences des règles assignées aux joueurs, qui peut faire quelle action sur quel objet quand ? (gameplay assymétrique)
- secrets : accès à l'information, qui voit quoi ?
- collaboration vs compétition
- modélisation mutuelle : quels mécanismes permettent au joueur A de prédire ce que va faire le joueur B (équipier ou adversaire) ? (compilar par entraînement)
- spectateurs : présence de spectateurs ou streaming
- triangularity (non transitif) : pierre -> ciseau -> papier -> pierre
- échapper à la réalité : devenir Dieu, nouvelle vie
- scoreboard : analytics
- espace : l’ensemble des positions qui correspondent à un état
- gamification : application des mécanismes de jeux à des situations qui ne sont pas intrinsèquement ludiques (cadeaux coop)
- flow : état mental d'une personne immergée dans le jeu (concentration totale sur un objet, perte de conscience de soi/du temps, sentiment de contrôle de la situation)
- nécessite objectifs claires, règles, feedback immédiat, équilibre entre difficulté et compétence
- dynamic game difficulty adjustment : force des joueurs, fréquence d'attaques, tailles cibles, précisions du tir, opportunités offertes, effet élastique (Mario Kart, US Parent)
- type de motivation : je dois vs je veux
- moteur de jeu (game engine) : Unreal Engine
- rendu graphique
- rendu sonore
- moteur physique
- détection des collisions : statique ou dynamique (anticipation)
- language de scripting pour définir comportement
- visualiser : places des données sur une image de base de telle sorte que les propriétés visuelles de l’image reflètent les propriétés abstraites des données en particulier les relations entre données
- grammaires visuelles : correspondance les variables des données et les composantes graphiques
- dimensions : mettre en correspondance un espace de n dimensions vers un espace de moindre dimensions par des méthodes graphique…. et des méthodes statistiques
- principes de conception (Tufte)
- choisir des unités qui conservent du sens à travers les comparaisons (minutes vs big mac)
- choisir des unités qui ont du sens pour le lecteur (GDP per person vs minimum wage minutes of work to buy a big mac)
- choisir des intervalles pertinents (bar plot)
- evaluer les effets du choix des intervalles
- vérifier l’intégrité graphique : est-ce que l’importance visuelle correspond à la quantité représentée ? (perspective grossissante, 3D)
- minimiser le chart junk : eviter les éléments qui n’apportent pas d’information et risquent de bruiter le message (arrière-fond)
- optimiser le data ink ratio : quel pourcentage des pixels correspond à une donnée ? (si on l’efface, on perd de l’information)
- utiliser les small multiple : trellis d'un graphique avec la variation d'une dimensions
- montrer les co-variations : l’aller-retour de l’oeil entre les images crée la correlation (interpolation vs discret)
- montrer le contexte : mort guerre Irak vs WW2
- distorisions géométriques
- forcées : sphère -> plan
- forcées : pyramide -> plan (carte station ski)
- nécessaires : variation de densité, échelles non-linéaires (réseau métro, effet loupe, mode interactif)
- jitter : ajouter un bruilt aléatoire aux données pour rendre tous les points visible
- nécessaires : échelles incompatibles (ratio vertical/horizontal = 5, patrouille des glaciers)
- visuliser c'est communiqué : pas toujours objectif (échelle !)
- pour réveler l'information : carte du monde selon population
- erreurs fréquentes
- couleurs : pas d'information
- empilement nécessite de calculer mentalement les compairsons (addition de couche)
- valeurs extrêmes écrasent l'information (utilisation d'échelles non-linéaire pour résoudre)
- système génère automatiquement une échelle inappropriée
- ordre des données non justifié (jour de la semaine)
- points connectés par des traits ne sont pas réellement des données liées les unes aux autres (discrétisation)
- sensibilité de la moyenne aux valeurs extrêmes (box plots ou comparer la différence de moyenne en fonction de la différence de dispersion)
- sensibilité des courbes de tendance (mauvaise fonction)
- interpréter une corrélation comme un lien de causalité (variable cachée)
- acronymes rares pour l'utilisateur augmentent sa charge cognitive
- split attention effect augmente la charge cognitive
- visulisations dynaminques/interactive : changement d'échelle, rotatation, variable, mouse over
- overhang angle : < 45°
- wall thickness : > 2 mm
- no open face
- no shared edge : gap or overlapping
- no inverted normal
-
edge detection
- line drawing : compressed version of image
- discontinuities
- edges profiles
- noise in reality : zebra, bad quality picture
- illusory contours : 3 pacmans
- ambiguities : which are really contours depends on people
- edge properties
- normal : unit vector in the direction of maximum intensity change
- direction : unit vector perpendicular to the edge normal
- position or center : image location at which edge is located
- strength : speed of intensity variation across the edge
- boundaries types
-
edge operator
- difference operators : gradient methods, large first deivative
- Fourier interpretation : differentiating emphasizes noise
- removing noise : high frequencies lead to trouble, suppress them by convolving with low-pass filter
- convolution operators : smooth first
- derivative theorem : convolution is associative with derivation
- mask : wider masks to add an element of smoothing (
$N\times N$ image and$W\times W$ mask)- Roberts operator : equivalent to fitting plane to patch
$G=\sqrt{[I(x+1,y+1)-I(x,y)]^2+[I(x+1,y-1)-I(x-1,y+1)]^2}$ - average value
- Prewitt (full unit value) & Sobel : equivalent to fitting a quadric to patch
$S_x=\m{-1 & -2 & -1\\ 0 & 0 & 0\\ 1 & 2 & 1}$ and$S_y=\m{-1 & 0 & 1\\ -2 & 0 2\\ -1 & 0 & 1}$ - non separable :
$N^2W^2$ - separable :
$2N^2W$
- non separable :
- larger windows : minize the squared error between surface model and image data
- gaussian smoothing : eliminates high frequency noise (small, separable)
$g_1(x)=\frac{1}{\sqrt{\pi}\sigma}e^{-\frac{x^2}{\sigma^2}}$ with$g(x,y)=g_1(x)g_1(y)$ - gaussian derivative
- Roberts operator : equivalent to fitting plane to patch
- canny edge detector
- gradient convolution : strengh, direction
- non maxima suppression : check if pixel is local maximum along gradient direction, which requires checking interpolated pixels
- hysteresis thresholding : 2 threshold, iteratively label edges from strong ones
- pixel with edge strength above high threshold is an edge
- any pixel with edge strength below low threshold is not
- any pixel above the low threshold and next to an edge is an edge
- Y or T junction problem : empty space
- rapid tracker : estimate contours, find closest edge points to normal direction, minimize distances in least square sense, iterate
- scale space : increasing scale
$\sigma$ removes details but never adds new ones
- trained detectors : training database, machine learning
- difference operators : gradient methods, large first deivative
-
parametric shapes detection
- hough transform : algorithmic, used in computer vision, easy, parametric shape
- lines : 2 parameters (
$\theta$ ,$r$ )- obtain binary edge points :
$G=\sqrt{S_x^2+S_y^2}$ with threshold - accumulator : discretized parameter space where each bin represents a line in image space
- cartesian formulatiom : lines in parameter space, parameter unbounded (infinity)
- polar formulation : sinusoid in parameter space,
$r=x\cos\theta+y\sin\theta$ ,$r\in[0,C]$ and$\theta\in[0,360)$
- voting : action of increasing the accumulator values for each points in image space
- non max suppression : localize local maxima which are large enough
- local maxima : pick pixel location whose value is bigger than any of its neighbors
- obtain binary edge points :
- circle : 3 parameters (
$x_0=x-r\cos\theta$ ,$y_0=y-r\sin\theta$ ,$r$ ) - ellipse : 4 parameters (
$x_0=x-a\cos\theta$ ,$y_0=y-b\sin\theta$ ,$a$ ,$b$ ) - R-table : set of possible positions of a reference point given boundary orientation (allow better voting by making them depending on the direction of edges), template matching
- general steps : R-table, form accumulator (initialized to 0), for each edge point compute possible centers and increment corresponding point in accumulator
- limitation : computation cost exponential in terms of model parameters, lacks flexibility
- lines : 2 parameters (
- radon transform : used in tomography (scanner), mathematically proven, no artefact
- blob detection
- color segmentation : create binary image holding only area of interest
- RGB : red, green, blue, distance between colors are not what it seems (very bright = same ?)
- HSB : hue, saturation, brightness, intuitive color space
- RBG to HSB :
$C=\max(R,G,B)-min(R,G,B)$ - hue :
$H=60°H'$ where- if
$C=0$ : undefined - if
$M=R$ :$H'=(G-B)/C\mod 6$ - if
$M=G$ :$H'=(B-R)/C+2$ - if
$M=B$ :$H'=(R-G)/C+4$
- if
- brightness :
$V=\max(R,G,B)$ - saturation :
$S=C/V$ or$0$ if$V=0$
- RBG to HSB :
- connected component : connect pixels to form blobs, two pass algorithm
- get the neighboring elements of the current element
- if there are no neighbors, uniquely label
- find the neighbor with the smallest label and assign it
- store the equivalence between neighboring labels
- do a second pass replacing each id with smallest equivalent id
- limitation : relies on good first-hand thresholding, need distinctive colors
- others methods
- maximally stable extremal regions (MSER): try multiple threshold, keeps blobs that are stable across different threshold
- scale space blob detection : instead of thresholding, use scale space, keep on smoothing with circular filter, perform non-max suppresion on response
- SIFT : panorama stitching, find key locations
- color segmentation : create binary image holding only area of interest
Games & brains
- hough transform : algorithmic, used in computer vision, easy, parametric shape
-
actions video games as exemplary learning tools : not social or control game
-
individuals who play video game exhibit superior performance
- low level vision
- efficiency of attention
- aspect of cognition
-
importance of study field : mean age of gamer 33 year old (90% school-aged individuals, 70% of the heads of households)
-
effect of gaming on brain function and organization
- contrast sensitivity chart : improved spatial frequency
- correcting cortex optics
- amblyopie (young eye foolness) : pay with one eye more stimulated
- multi-tasking : search
- task switching : decision making
- mental rotation
- approximate mathematics : time estimation
- visual working memory
- attentional control : better at selecting relevant information for task at hand, learn faster how to
-
game factor for brain plastcity
- variable entry learning : novice to expert
- incremental learning : level of difficulty
- reward : opposed to punishment
- self-mastery/confidence : desire to learn
- motivation & arousal
-
action factor
- pacing : worm under time constraints
- load on divided attention : dynamic display with many target to attend to
- flexible shift of focus : precise visuo-motor requirements in the context of divided attention
- need for prediction and thus error monitoring
- rich environment that prevents automatization
-
évaluation interface
- utilisateurs efficaces
- principes de design : partiellement contradictoires, pas des solutions
- golden rules : Ben Schneiderman
- strive for consistency : bouton de comfirmation s’appelle toujours ok et se trouve toujours en bas à droite
- enable frequent users to use shortcuts : raccourci clavier
- offer informative feedback : complexité du mot de passe, statut de téléchargement, action perçue (micro-feeback, hover)
- design dialog to yield closure : précédent/suivant, clair déroulement de la procédure
- offer simple error handling : message d'erreur avec suggestion de solution, prévenir l'erreur
- permit easy reversal of actions : revenir en arrière
- support internal locus of control
- reduce short-term memory load
- usability heuristics : Jakob Nielsen
- visibility of system status : status bar
- user control and freedom
- consistency and standards
- error prevention
- recognition rather than recall (cognitive load) : reconnaissance plutôt qu’évocation
- flexibility and efficiency of use : shortcuts
- aesthetic and minimalist design
- help users recognize, diagnose, and recover from errors
- help and documentation
- match between system and the real world : structure du site web reflète structure de l'entreprise/de besoins des utilisateurs
- desing principles : Don Norman
- golden rules : Ben Schneiderman
- solution : prototyper et tests utilisateurs continuellement
- prototypage rapide : low fidelity (paper) to high fidelity (concret)
- wizard of Oz : test utilisateur avec réactions déclenchées par une personne (cachée, non connu) en fonction des réactions utilisateurs
- usability
- learnability : commbien de temps un novice a-t-il besoin pour manipuler le logiciel (NO USER GUIDE)
- efficiency : combien de temps est nécessaire pour faire la tâche qu’il veut faire ?
- memorability : si ils ne l’utilisent pas pendant un certain temps, est-ce que c’est difficile d’y revenir ?
- errors : combien d’erreurs ? prêtent-elles à conséquence ?
- satisfaction : est-ce agréable d’utiliser l’application ?
- usability testing : en 3 jours
- accessibilité
- utilisable
- user experience
-
comparaison interface
- concevoir expérience : mesurer l'effet (quantifier variations d'une variable dépendante si on modifie une variable indépendante)
- variable dépendante (discrète) : score, vitesse, erreurs, plaisir, longétivité, apprentissage
- variable indépendante (discrète) : input device
- plan expérimental : between subjects, 1 dimensions
- facteur indépendant
- conditions : modalité du facteur
- 1 groupe expérimental & 1 groupe de contrôle : personnes dans la condition 1 sont différents des personnes dans la condition 2
- plan expérimental : within subjects, 1 dimensions - même groupe : personnes dans la condition 1 passent ensuite dans la condition 2
- inverser ordre passage pour la moitié : contre-balancer l'effet d'ordre
- sujets identiques et moins nombreux, mais effet d'ordre possible
- effet d'interaction : dépendance des valeurs
- plans expérimentaux à plus de 2 dimensions : beaucoup de sujets (pour
$N$ facteurs,$M$ modalités par facteur, on accepte au minimum$20M^N$ sujets), résultat difficle à interprêter (mieux vaut décomposer l'expérience) - biais expérimentaux
- sujets soumis équivalents au départ ?
- même age (questionnaire), rato H/F, niveau socio-culturel, niveau scolaire (recrutement), connaissances préalable (test), intelligence, raisonnement spatial, motivation (25.—)
- contrôles : échantillonnage aléatoire, recrutement (variable controlée), analyse statistique des co-variances
- sujet informés but expérience ?
- effet Hawthorne : changer quelque chose dans l'entreprise résulte en gain de productivité
- expérimentateur neutre ?
- effet Pygmalion (Rosenthal) : perforance des sujets est fonction des attentes de l'expérimentateur
- double-aveugle : en Human Computer Interaction, difficle (ni sujet, ni expérimentateur ne savent quel traitement utilisé)
- élément non-controllé peu expliquer les variations de la variable dépendante ?
- variables intermédiaires (processus var. indep. -> var. dép.) : fatigue, précision, hauteur, interaction (input tangible vs joystick, output score moyen)
- effet médiation : relation entre entrée et résultat s'explique statistiquement par une autre variable (par ex. regarde la plaque plutôt que l'écran)
- corrélations != causalité
- différence significative : par rapport à une gaussienne ? (taille échantillon réduit probabilité d'avoir par hasard une moyenne extrême)
- moyenne peuvent faussé : Federer et Dillenbourg ont gagné 8.5 tournois du Grand Chelem en moyenne
- sujets soumis équivalents au départ ?
- méta-analyse : analyse des analyses
- concevoir expérience : mesurer l'effet (quantifier variations d'une variable dépendante si on modifie une variable indépendante)
- computer graphics & geometry
- inverse light simulation
- performance capture & animation
- architectural geometry
- 3D reconstruction
- rendering : how to generate an image from a digital representation of a 3D scene ? (realtime rendering, OpenGL)
- modeling : how to build a digital representation of 3D scene ? (mesh processing, procedural methods)
- animation : how to bring a 3D scene to life ? (character animation, physics-based animation)
- avatar creation
- photos
- reconstruct point cloud
- rigidly align template
- deforme template to scan
- reconstruct texture
- build blendshapes
- regard dépend de la question
- eye-mind hypothesis
- processus bottom-up : ce que je regarde -> ce que je traite
- processus top-down : ce que je traite -> ce que je regarde
- mesurer position oeil
- electro-oculogramme : rétine négative, cornée positive, différence de potentiel = direction, également yeux fermés
- méthodes optique : projeter lumière infrarouge sur l'oeil, augmente contraste pupille-iris, rétine reflète et illumine pupille, calibration par points distribués, caméras détectent réflexion (glints) sur la cornée
- post-calibration souvent nécessaire
- précesion controversée (~0.4°), fréquence (50-500 Hz)
- oeil fait pour détecter des incohérences dans les patterns
- applications : recherche, marketing, sécurité, education (niveau d'expertise), groupware (qualité interaction), contrôler interface