Introduction (00) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz - - PowerPoint PPT Presentation

introduction 00
SMART_READER_LITE
LIVE PREVIEW

Introduction (00) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz - - PowerPoint PPT Presentation

Fundamentals of Computer Graphics and Image Processing Introduction (00) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz Image Processing Lectures 1-6 (21.9 2.11) doc. RNDr. Milan Ftnik,CSc . 2 Computer Graphics Lectures 7-12 (9.11


slide-1
SLIDE 1

Fundamentals of Computer Graphics and Image Processing

Introduction (00)

  • RNDr. Martin Madaras, PhD.

madaras@skeletex.xyz

slide-2
SLIDE 2

2

Lectures 1-6 (21.9 – 2.11)

  • doc. RNDr. Milan Ftáčnik,CSc.

Image Processing

slide-3
SLIDE 3

3

Lectures 7-12 (9.11 – 14.12)

  • RNDr. Martin Madaras,PhD.

Computer Graphics

slide-4
SLIDE 4

4

Overview

 FCGIP introduction  Personal introduction  Projects that might be interested  Computer Graphics intro  CG opportunities & possibilities  FCGIP overview  Lectures…

slide-5
SLIDE 5

5

FCGIP Introduction

 Only one seminar/subject oriented on CG&IP in bachelor

 6 lectures for IP

, 6 lectures for CG

 Main motivation is to explain what is CG&IP about  To show “cool stuff” + avoiding the miss understanding  Two options how to go trough this:

 T

  • p-down

 Bottom-up

 Hybrid?

 1-2 lessons with high level topics  4-5 lessons with low level basics

slide-6
SLIDE 6

6

FCGI

 Intro  Colors  Image processing  Modeling  Transformations  Rasterization  Shading  Visiblity  Textures  Shadows  Animations  Raycasting

slide-7
SLIDE 7

7

  • Ask questions, please!!!
  • Be communicative
  • www.slido.com #ZPGSO00
  • More active you are, the better for you!
  • We will go into depth as far, as there are no questions

How the lectures should look like #1

slide-8
SLIDE 8

8

Introduction Who am I? What do I do here?

Personal Introduction

slide-9
SLIDE 9

9

Short research bio:

  • 2014 - finished PhD at FMFI UK
  • 2014 – 2016 - researcher & freelancer
  • 2016 – 2017 - PostDoc Researcher at TU Wien
  • 2017 – now - CEO, Research lead at Skeletex Research

Collaboration with universities:

  • 2015 – 2018 - research assistant FMFI UK
  • 2018 – now - assistant professor at FIIT STU
  • 2018 – now - assistant professor at FMFI UK

About me

slide-10
SLIDE 10

10

  • Explain basic principles of computer graphics and computer vision
  • Tell a story about me, computer graphics and interesting projects
  • Motivate you, students, into CG and CV
  • Create some kind of collaboration between students and our company
  • And finally, to evaluate you from this lecture

What do I do here

slide-11
SLIDE 11

11

  • Ask questions, please!!!
  • Be communicative
  • More active you are, the better for you!
  • We will go into depth as far, as there are no questions

How the lectures should look like

slide-12
SLIDE 12

12

  • Freelancing research and development company
  • What we used to do:
  • motion capture, skeleton tracking, human body fusion, 3D cameras
  • Currently we are working on:
  • 3D scanners, scan registration, mesh reconstruction, point cloud segmentation
  • Cooperation with universities:
  • lectures, theses supervision, internships, research, publications
  • Cooperation with tech companies:
  • research and development

What does Skeletex Research do

slide-13
SLIDE 13

13

  • Openworm
  • Skeleton-based compression of particle simulation
  • Kinexact
  • Automatic extraction of skeleton
  • Hand scans
  • Optical-Inertial hybrid tracking of skeleton
  • Webcam based
  • Skeleton tracking and body fusion
  • Texture-space surface fusion
  • Skeletex data structure

Previous projects

slide-14
SLIDE 14

14

3D reconstructions and skeletons

slide-15
SLIDE 15

15

Openworm

slide-16
SLIDE 16

16

Kinexact Hand

slide-17
SLIDE 17

17

Kinexact Body

slide-18
SLIDE 18

18

Optinertial

slide-19
SLIDE 19

19

Optinertial

slide-20
SLIDE 20

20

Human skeleton tracking and fusion

slide-21
SLIDE 21

21

Skeletex data structure

slide-22
SLIDE 22

22

Skeletex data structure

slide-23
SLIDE 23

23

  • Capture human motion
  • Reconstruct in

VR

Our main goal

slide-24
SLIDE 24

24

  • 3D scan segmentation
  • Real-time (for 60fps camera)
  • CUDA implementation for GPU and TegraTX1, TX2 build in camera
  • Use hierarchical structure and flood fill approximation
  • 3D scan registration
  • Iterative Closes Point with fast camera space projections
  • Global optimization (use of scan graph)
  • Tracking (if real-time)
  • 3D model fusion and reconstruction
  • Multi-view filtering + Outlier removal
  • Dynamic and progressive triangulation
  • Rigid / Non-rigid? Real-time?

Current projects

slide-25
SLIDE 25

25

  • Real-time CUDA point cloud segmentation
  • a) calculate metrics based on curvature and distance
  • b) threshold the metrics
  • c) fill regions in parallel (accelerated by hierarchical structure)

Point cloud segmentation

slide-26
SLIDE 26

26

  • Point cloud Rigid Alignment and Fusion of Scans

PRAFOS

slide-27
SLIDE 27

27

  • Point cloud Rigid Alignment and Fusion of Scans

PRAFOS Rotable

slide-28
SLIDE 28

28

  • ICP with loop closures

Multi-scan Alignment

slide-29
SLIDE 29

29

  • PhoXi 3D Meshing

P3DM

slide-30
SLIDE 30

30

MotionCam3D data

slide-31
SLIDE 31

31

PCVR

slide-32
SLIDE 32

32

RAVOS

slide-33
SLIDE 33

33

BinSim

 Synthetic data generation for ML

 Physically-based simulation & virtual scanning

slide-34
SLIDE 34

34

HIRO

slide-35
SLIDE 35

35

Development of CG

Computer Graphics

slide-36
SLIDE 36

36

Siggraph 2020

  • ANIMATION / SIMULATION
  • 48 papers
  • IMAGING /

VIDEO

  • 22 papers
  • INTERACTION /VR
  • 11 papers
  • METHODS & APPLICATIONS
  • 9 papers
  • MODELING / GEOMETRY
  • 48 papers
  • RENDERING / VISUALIZATION
  • 27 papers
slide-37
SLIDE 37

37

Development of CG

Computer Graphics

slide-38
SLIDE 38

38

  • Star Wars (1977)
  • first 3D animation
  • Tron (1982)
  • 15 minutes of CGI
  • Wrath of Khan (1982)
  • Particles, fractals
  • Luxo Jr. (1986)
  • Shadows
  • Emotions

In movies

slide-39
SLIDE 39

39

  • Tin Toy (1988)
  • animated Oscar
  • Abyss (1989)
  • water rendering
  • Total Recall (1990)
  • motion capture
  • Toy Story (1995)
  • fully CG movie

In movies

slide-40
SLIDE 40

40

  • Lord of The Rings (2001)
  • mass scenes
  • facial motion capture
  • Beowulf (2007)
  • digital copies of actors
  • Avatar (2009)

In movies

slide-41
SLIDE 41

41

  • Tennis For Two (1958)
  • Oscilloscope
  • Spacewar! (1961)
  • Space Invaders (1978)
  • raster graphics
  • Lunar Lander, Asteroids (1979)
  • vector graphics
  • vector displays

In games

slide-42
SLIDE 42

42

  • Battlezone (1980)
  • First 3D vector game
  • 3D Monster Maze (1981)
  • First 3D raster game
  • Hovertank3D (1981)
  • Raycasting
  • Ultima Underworld (1982)
  • Texture mapping

In games

slide-43
SLIDE 43

43

  • Quake (1996)
  • real 3D (vertical axis look), Gouraud shading
  • Lightmaps

In games

slide-44
SLIDE 44

44

  • Dynamic lights, soft shadows, shader effects, normal maps,

tessellation, parallax mapping, environment mapping,...

In games

slide-45
SLIDE 45

45

Heavy Rain (2010), PS3 Final Fantasy (2001)

50 frames per second 90 minutes per frame

Games now vs. Movies then

slide-46
SLIDE 46

46

Battlefield V (2019) RTX

Games now vs. Movies then

slide-47
SLIDE 47

47

Metro Exodus (2019) RTX

Games now vs. Movies then

slide-48
SLIDE 48

48

Minecraft RTX

Games now vs. Movies then

slide-49
SLIDE 49

49

Horizon: Zero Dawn (PS4) – custom engine, procedural clouds

Games now vs. Movies then

slide-50
SLIDE 50

50

The Order: 1886 (PS4) – custom engine, interior 3D scans

Games now vs. Movies then

slide-51
SLIDE 51

51

Avangers: Endgame (2019)

Games now vs. Movies then

slide-52
SLIDE 52

52

  • Computer Games Development
  • Common motivation
  • Ain’t no fun
  • Hard business
  • Financial problems / hard with capital investment
  • CG skills can be used in other fields as well:
  • Film industry
  • Medical applications
  • 3D printing
  • 3D scanning
  • Optical systems
  • Other software

Why CG? Common view…

slide-53
SLIDE 53

53

Slovakia, Bratislava T ech companies, startups Jobs, university research

Situation

slide-54
SLIDE 54

54

  • CG and years 2010 vs 2014 vs 2019/2020
  • CG Companies in Bratislava
  • Photoneo
  • Capturing Reality
  • Vectary
  • etc.
  • CG Companies in Wien
  • VRVIS
  • Procedural Design
  • CG Companies in Czech
  • Corona

Companies

slide-55
SLIDE 55

55

“The Danube Valley”

Companies

slide-56
SLIDE 56

56

  • STU FIIT
  • Principles of Computer Graphics and Image Processing
  • Advanced Computer Graphics Methods
  • more computer vision courses
  • FMFI UK
  • Fundamentals of Computer Graphics and Image Processing
  • Advanced Computer Graphics
  • Virtual and Augmented Reality
  • Real-time Rendering
  • more computer vision courses
  • You can focus on CG along projects during the study
  • The most important – your B&D Theses!

Universities

slide-57
SLIDE 57

57

  • If you want to do graphics in your professional life after graduation
  • Try it in pro way, get used to such a cooperation during study
  • State of the art research
  • Cooperation of high-end startups and universities
  • Be guided by top experts in the field
  • Winners of student conferences
  • CESCG
  • ŠVOČ
  • PhD. Students internships
  • MIT
  • MPII

Why to collaborate with Skeletex

slide-58
SLIDE 58

58

Fundamentals of Computer Graphics and Image Processing

Lecture

slide-59
SLIDE 59

59

http://www.sccg.sk/~madaras/students.html

Fundamentals of Computer Graphics and Image Processing

Slides and videos

slide-60
SLIDE 60

60

  • Introduction IP (0)

FCGIP

slide-61
SLIDE 61

61

  • Introduction IP (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)

FCGIP

slide-62
SLIDE 62

62

  • Introduction IP (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)

FCGIP

slide-63
SLIDE 63

63

  • Introduction IP (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)
  • 3D Modeling Representations, Transformations, Projections (7)

FCGIP

slide-64
SLIDE 64

64

  • Introduction (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)
  • 3D Modeling Representations, Transformations, Projections (7)
  • Rasterization, Shading (8)

FCGIP

slide-65
SLIDE 65

65

  • Introduction (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)
  • 3D Modeling Representations, Transformations, Projections (7)
  • Rasterization, Shading (8)
  • Visibility, Clipping, Textures (9)

FCGIP

slide-66
SLIDE 66

66

  • Introduction (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing(3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)
  • 3D Modeling Representations, Transformations, Projections (7)
  • Rasterization, Shading (8)
  • Visibility, Clipping (9)
  • Shadows, Animations (10)

FCGIP

slide-67
SLIDE 67

67

  • Introduction (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Introduction CG (6)
  • 3D Modeling Representations, Transformations, Projections (7)
  • Rasterization, Shading (8)
  • Visibility, Clipping (9)
  • Shadows, Animations (10)
  • Ray-casting, Acceleration structures, Global Illumination Intro (11)

FCGIP

slide-68
SLIDE 68

68

  • Introduction (0)
  • Image Processing (1)
  • Image Processing (2)
  • Image Processing (3)
  • Image Processing (4)
  • Image Processing (5)
  • Image Processing (6)
  • 3D Modeling Representations, Transformations, Projections (7)
  • Rasterization, Shading (8)
  • Visibility, Clipping (9)
  • Shadows, Animations (10)
  • Ray-casting, Acceleration structures, Global Illumination Intro (11)
  • WRITTEN EXAM [2nd part, CG] (12)

FCGIP

slide-69
SLIDE 69

69

FCGIP Evaluation

 Image Processing part

 Practical lessons, projects from IP: 25p  Oral exam from IP part: 25p

 Computer Graphics part

 Practical lessons, projects from CG: 25p  Written exam during last lesson: 25p

Standard evaluation from the sum of points: max 100p

slide-70
SLIDE 70

70

Last Lecture (13) 21.12.2019 Computer Graphics Test ? (Lectures 7 - 12)

Computer Graphics

slide-71
SLIDE 71

71

Lectures vs. exam

slide-72
SLIDE 72

72

 Foley, J et. al. -- Computer Graphics: Principles and Practice, Addison-

Wesley 2013, Professional, ISBN 978-0321399526

 HILL, F. Computer graphics using OpenGL. Upper Saddle River: Prentice

Hall, 2001. 922 s. ISBN 0-02-354856-8.

 ŽÁRA, J. -- BENEŠ, B. -- SOCHOR, J. Moderní počítačová grafika. Praha:

Computer Press, 2005. 606 s. ISBN 80-251-0454-0.

 RUŽICKÝ, E. -- FERKO, A. Počítačová grafika a spracovanie obrazu.

Bratislava: SAPIENTIA, 1995. 324 s. ISBN 80-967180-2-9.

 OpenGL Sources SHREINER, D. -- OpenGL ARB, The OpenGL

Programming Guide. Addison-Wesley, 2009. s. ISBN 978-0321552624

 http://www.glprogramming.com/red/  http://nehe.gamedev.net/  www.google.com

Sources and literature

slide-73
SLIDE 73

73

  • Ask questions, please!!!
  • Be communicative
  • www.slido.com #ZPGSO00
  • More active you are, the better for you!

How the lectures should look like #2

slide-74
SLIDE 74

74

Computer Vision / Computer Graphics

slide-75
SLIDE 75

75

Computer Vision/ Computer Graphics

Computer Graphics Computer Vision

slide-76
SLIDE 76

76

What is Image Processing?

Image Processing

slide-77
SLIDE 77

77

  • “Any use of computers to process or manipulate images “
  • “The image can be a 2D (intensity, RGB) or 3D (depth map, structured

point cloud)“

  • “Computer

Vision uses image processing algorithms to solve tasks”

What is IP?

slide-78
SLIDE 78

78

What is Computer Graphics?

Introduction

slide-79
SLIDE 79

79

 “Any use of computers to create or manipulate images “  “The pictorial representation and manipulation of data by a computer “

What is CG?

slide-80
SLIDE 80

80

 Recreating reality - convincingly  Creating alternative reality  Convert information into an optical form

Goals of CG

slide-81
SLIDE 81

81

Recreating reality

slide-82
SLIDE 82

82

Recreating reality

slide-83
SLIDE 83

83

Recreating reality

slide-84
SLIDE 84

84

Alternative reality

slide-85
SLIDE 85

85

What is rendered image? How do we perceive the color image on a device?

Introduction

slide-86
SLIDE 86

86

Frame Buffer

slide-87
SLIDE 87

87

Color Mixing

  • Mixture of Red, Green and Blue
slide-88
SLIDE 88

88

Color Display

slide-89
SLIDE 89

89

Modern Displays

LCD - liquid crystal display

slide-90
SLIDE 90

90

Pixel

PIxEL - Picture Element

slide-91
SLIDE 91

91

Color Frame Buffer

Each color intensity needs to be stored separately

slide-92
SLIDE 92

92

Color Depth

Bits per pixel determine image color depth

slide-93
SLIDE 93

93

8-bit Palette

Each pixel points to a color number in palette Palette is 24bit but contains only 256 colors

slide-94
SLIDE 94

94

Display Resolution and Memory

 Frame-buffer memory size and speed as limiting factor  1024x768 24bit - 2.25 MB - 0.79 megapixels  1920x1080 24bit - 5.94 MB - 2 megapixels  4096x2160 30bit - 31.64 MB - 8.84 megapixels  For animated displays we need to read the frame buffer at

least 24 times per second

slide-95
SLIDE 95

95

Double Buffering

 Q: What happens if we write directly to the framebuffer ?  We need a second buffer to solve this problem

slide-96
SLIDE 96

96

Aspect Ratio

 Display aspect ratio

 TV 4:3  HDTV 16:9  35mm film 3:2

 Pixel aspect ratio

 Nowadays, almost always 1:1

slide-97
SLIDE 97

97

Frame-buffer Manipulation

 Direct memory access,

 Limited by OS security policies

 Various graphical toolkits and libraries

 Often slow for complex geometry and 3D graph

 OpenGL and DirectX

 Fast but requires hardware

slide-98
SLIDE 98

98

  • Rectilinear 2D array of pixels

Reality Digital Image

What is an image?

slide-99
SLIDE 99

99

  • Rectilinear 2D array of pixels

Reality Digital Image

What is an image?

slide-100
SLIDE 100

100

  • Pixels are NOT little squares! Pixels are samples!

Reality Digital Image

What is an image?

slide-101
SLIDE 101

101

  • For a programmer it is a memory structure
  • Usually represented as sequence of pixels
  • Typically line after line, left to right
  • Pixels have their own structure

What is an image?

slide-102
SLIDE 102

102

  • Spatial resolution
  • Image has “Width” x “Height” pixels
  • DPI (dots per inch) is more representative
  • Intensity resolution
  • Each pixel has limited “Depth” bits per color
  • Temporal resolution
  • Image is updated at “Rate” Hz in case of a video sequence

Image resolution

slide-103
SLIDE 103

103

  • Images
  • What is an image?
  • How to capture images?
  • How to display images?
  • Color
  • What is a color?
  • How do we perceive the color?
  • How computers represent the color?

Raster Graphics

slide-104
SLIDE 104

104

  • Distribution of energies amongst frequencies of visible light

range

What is color?

slide-105
SLIDE 105

105

  • The perceived color of light is characterized by
  • Hue = dominant frequency (peak)
  • Lightness = luminance (area under curve)
  • Saturation = excitation purity (ratio of highest to rest)

White light Orange light

Visible light

slide-106
SLIDE 106

106

  • Color as perceived reflectance of the light source

How do we perceive color?

slide-107
SLIDE 107

107

  • Color as perceived reflectance of the light source

How do we perceive color?

slide-108
SLIDE 108

108

  • The density of cones is not linear
  • Fovea contains most color cones

Color Perception

slide-109
SLIDE 109

109

  • The density of cones is not linear
  • Fovea contains most color cones

Color Perception

slide-110
SLIDE 110

110

  • Common color models
  • RGB
  • CMY
  • XYZ
  • HSV
  • HLS
  • etc…

Color representation by computers

slide-111
SLIDE 111

111

FCGIP Prerequisites

  • C++ programming language
  • C++ series in content of game development
  • https://www.youtube.com/user/TheChernoProject
  • https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
slide-112
SLIDE 112

112

  • Ask questions, please!!!
  • Be communicative
  • www.slido.com #ZPGSO00
  • More active you are, the better for you!

How the lectures should look like #3

slide-113
SLIDE 113

113

Modeling and Transformations

Next Two Weeks

slide-114
SLIDE 114

114

Acknowledgements

 Thanks to all the people, whose work is shown here and whose

slides were used as a material for creation of these slides:

Matej Novotný, GSVM lectures at FMFI UK Peter Drahoš, PPGSO lectures at FIIT STU Output of all the publications and great team work Very best data from 3D cameras

slide-115
SLIDE 115

115

www.skeletex.xyz madaras@skeletex.xyz

Questions ?!