33
Real time video annotations for augmented reality Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond

Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Real time video annotations foraugmented reality

Ed Rosten, Dr. Gerhard Reitmayr,

Dr. Tom Drummond

Page 2: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Label Placement

• Sreen stabilized labels• Object labels (nearby with follower lines)

Page 3: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Label placement in videoPlace labels in uninteresting parts of the image• Screen stabilised

◦ Sports broadcasts / subtitles◦ Screen edges / corners deemed uninteresting

• Modelled world (Bell et. al.)◦ Uninteresting areas explicitly modelled and tracked

• Non temporal (Thanedar and Höllerer)◦ Motion / uniformoity of color determines interest◦ Optimized over many frames

Page 4: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

High speed and causal necessary• Real time required for live video• 30ms per frame available• Limited CPU on portable devices• AR application requires CPU• High speed operation necessary

Page 5: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Image of interest• Image has:

◦ Cluttered areas(interesting)

◦ Uniform areas(uninteresting)

• Blue is uninteresting• Red is disallowed

Page 6: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Image of interest• Image has:

◦ Cluttered areas(interesting)

◦ Uniform areas(uninteresting)

• Corners detected onclutter

• Blue is uninteresting• Red is disallowed

Page 7: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Image of interest• Image has:

◦ Cluttered areas(interesting)

◦ Uniform areas(uninteresting)

• Corners detected onclutter

• Blue is uninteresting• Red is disallowed

Page 8: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 9: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

16 1 23

456

79 810

11

121314

15

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 10: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

16 1 23

456

79 810

11

121314

15

• ≥ 12 contiguous pixels brighter than p+threshold

• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 11: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

1

9

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9

• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 12: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

1

5

9

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9, 5

• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 13: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

1

5

9

13

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9, 5 then 13

• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

Page 14: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

The FAST feature detector

p

1

5

9

13

• ≥ 12 contiguous pixels brighter than p+threshold• Rapid rejection by testing 1, 9, 5 then 13• 1.59ms (Opteron 2.6GHz) - 8% of available CPU time• Source code available•

�� � �� � ��� �� � � �� � �� �� � �� � � �� � � ��� �� � � �

Page 15: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Suitability image

•max corners occluded−number of corners occluded

max corners occluded

• Efficiently computed• Gives suitability for label as a function of image

position

Page 16: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Filtering

• Detect corners and compute suitability

• Add constant to previous filter• Multiply new filter by new suitability

Page 17: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Filtering

+C

• Detect corners and compute suitability• Add constant to previous filter

• Multiply new filter by new suitability

Page 18: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Filtering

+C

• Detect corners and compute suitability• Add constant to previous filter• Multiply new filter by new suitability

Page 19: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Filtering

• Detect corners and compute suitability• Add constant to previous filter• Multiply new filter by new suitability

Page 20: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Adding constraints• Filter gives potential position of labels• Position of maximum is the best position

• Label shouldn’t jump too often• May want

◦ labels near objects◦ screen stabilized labels

• Arbitrary constraints can be added by multiplication

Page 21: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Adding constraints• Filter gives potential position of labels• Position of maximum is the best position

• Label shouldn’t jump too often• May want

◦ labels near objects◦ screen stabilized labels

• Arbitrary constraints can be added by multiplication

Page 22: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Adding constraints• Filter gives potential position of labels• Position of maximum is the best position

• Label shouldn’t jump too often• May want

◦ labels near objects◦ screen stabilized labels

• Arbitrary constraints can be added by multiplication

Page 23: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Circular constraint• Detect object location (AR toolkit)• Center circular constraint on object position

• f(r) = rae−rb

, r =√

x2 + y2

• Close, but not too close

0 20 40 60 80 100Radius / pixels

f(r)

Page 24: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Circular constraint• Detect object location (AR toolkit)• Center circular constraint on object position

• f(r) = rae−rb

, r =√

x2 + y2

• Close, but not too close

0 20 40 60 80 100Radius / pixels

f(r)

Page 25: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Circular constraint• Detect object location (AR toolkit)• Center circular constraint on object position

• f(r) = rae−rb

, r =√

x2 + y2

• Close, but not too close

0 20 40 60 80 100Radius / pixels

f(r)

Page 26: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Circular constraint• Detect object location (AR toolkit)• Center circular constraint on object position

• f(r) = rae−rb

, r =√

x2 + y2

• Close, but not too close

0 20 40 60 80 100Radius / pixels

f(r)

Page 27: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Video of filter+C

max

Page 28: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Other constraints

• Directional constraint

• Screen stabilized

Page 29: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Other constraints

• Directional constraint

• Screen stabilized

Page 30: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Timing breakdown

Time (ms)Per-frame cost Feature detection 1.76

Integral image 0.65Per-label cost Suitability measurement 1.03

Filter measurements 0.63Insert constraint 0.51

Total cost For one label 4.58For n labels 2.41 + 2.17n

Cost per frame over 10 frames 0.46

Page 31: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Video

Page 32: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Summary• Labels placed to avoid occluding interesting items• Interest defined by density of corners• Filtering allows smooth motion and infrequent jumps

of label• Purely image based—no modelling of world required• Filter allows arbitrary constraints• Efficient implementation

◦ using very efficient corner detector◦ computation every n frames only

Page 33: Ed Rosten, Dr. Gerhard Reitmayr, Dr. Tom Drummond...Ed Rosten, Dr.Gerhard Reitmayr, Dr. Tom Drummond Label Placement Sreen stabilized labels Object labels (nearby with follower lines)

Any Questions?