Profile cover photo
Profile photo
Mark Cummins

Post has attachment
This is very cool work on using curiosity as an intrinsic reward for RL agents.
Add a comment...

Post has shared content
future: projectors, projectors everywhere
Add a comment...

A sad day. The signal to noise ratio was always pretty good here, even if the audience was small. Always felt I could post things and at least sometimes get genuinely useful discussion. Twitter is just not the same. Ah well. Romantic Google's dead and gone, it's with G Reader in the grave.
Add a comment...

Post has attachment
Embedded WaveNet!

I listen to a lot of text-to-speech on Instapaper, and the quality isn't great, so I would personally love to have this.
Add a comment...

Post has attachment

Post has attachment
Add a comment...

Post has shared content
Schmid explains Borwein

Suppose we have a rectangular pulse, centred on the origin, with a height of 1/2 and a half-width of 1.

Now, suppose we keep taking moving averages of this function, again and again, with the average computed in a window of half-width 1/3, then 1/5, then 1/7, 1/9, and so on.

There are a couple of features of the original pulse that will persist completely unchanged for the first few stages of this process, but then they will be abruptly lost at some point.

The first feature is that F(0) = 1/2. In the original pulse, the point (0,1/2) lies on a plateau, a perfectly constant segment with a half-width of 1. The process of repeatedly taking the moving average will nibble away at this plateau, shrinking its half-width by the half-width of the averaging window. So, once the sum of the windows’ half-widths exceeds 1, at 1/3+1/5+1/7+...+1/15, F(0) will suddenly fall below 1/2, but up until that step it will remain untouched.

In the animation below, the plateau where F(x)=1/2 is marked in red.

The second feature is that F(–1)=F(1)=1/4. In the original pulse, we have a step at –1 and 1, but if we define F here as the average of the left-hand and right-hand limits we get 1/4, and once we apply the first moving average we simple have 1/4 as the function’s value.

In this case, F(–1)=F(1)=1/4 will continue to hold so long as the points (–1,1/4) and (1,1/4) are surrounded by regions where the function has a suitable symmetry: it is equal to an odd function, offset and translated from the origin to these centres. So long as that’s true for a region wider than the averaging window being applied, the average at the centre will be unchanged.

The initial half-width of each of these symmetrical slopes is 2 (stretching from the opposite end of the plateau and an equal distance away along the x-axis), and as with the plateau, this is nibbled away each time we take another moving average. And in this case, the feature persists until 1/3+1/5+1/7+...+1/113, which is when the sum first exceeds 2.

In the animation below, the yellow arrows mark the extent of the symmetrical slopes.

OK, none of this is difficult to understand, but why should we care?

Because this is how Hanspeter Schmid explained the infamous Borwein integrals:

∫sin(t)/t dt = π/2
∫sin(t/3)/(t/3) × sin(t)/t dt = π/2
∫sin(t/5)/(t/5) × sin(t/3)/(t/3) × sin(t)/t dt = π/2
∫sin(t/13)/(t/13) × ... sin(t/3)/(t/3) × sin(t)/t dt = π/2

But then the pattern is broken:

∫sin(t/15)/(t/15) × ... sin(t/3)/(t/3) × sin(t)/t dt < π/2

Here these integrals are from t=0 to t=∞. And Schmid came up with an even more persistent pattern of his own:

∫2 cos(t) sin(t)/t dt = π/2
∫2 cos(t) sin(t/3)/(t/3) × sin(t)/t dt = π/2
∫2 cos(t) sin(t/5)/(t/5) × sin(t/3)/(t/3) × sin(t)/t dt = π/2
∫2 cos(t) sin(t/111)/(t/111) × ... sin(t/3)/(t/3) × sin(t)/t dt = π/2


∫2 cos(t) sin(t/113)/(t/113) × ... sin(t/3)/(t/3) × sin(t)/t dt < π/2

The first set of integrals, due to Borwein, correspond to taking the Fourier transforms of our sequence of ever-smoother pulses and then evaluating F(0). The Fourier transform of the sinc function:

sinc(w t) = sin(w t)/(w t)

is proportional to a rectangular pulse of half-width w, and the Fourier transform of a product of sinc functions is the convolution of their transforms, which in the case of a rectangular pulse just amounts to taking a moving average.

Schmid’s integrals come from adding a clever twist: the extra factor of 2 cos(t) shifts the integral from the zero-frequency Fourier component to the sum of its components at angular frequencies –1 and 1, and hence the result depends on F(–1)+F(1)=1/2, which as we have seen persists for much longer than F(0)=1/2.

"Two curious integrals and a graphic proof" by Hanspeter Schmid
Elem. Math. 69 (2014) 11–17

Animated Photo
Add a comment...

Post has shared content
If you are at ECCV tomorrow, come to the oral presentation our paper titled: Asynchronous, Photometric Feature Tracking using Events and Frames, in the afternoon oral session. We will present a method to photometrically track features in the blind time between two frames using only events. This approach will allow one day to run VR/AR applications at much lower frame rate (1-5 Hz) by relying solely on events in between, thus saving a lot of power. More in detail, our method extracts features on frames and subsequently tracks them asynchronously using events, thereby exploiting the best of both types of data: the frames provide a photometric representation that does not depend on motion direction, and the events provide low-latency updates. In contrast to previous works, which are based on heuristics, this is the first principled method that uses raw intensity measurements directly, based on a generative event model within a maximum-likelihood framework. As a result, our method produces feature tracks that are both more accurate (subpixel accuracy) and longer than the state of the art, across a wide variety of scenes.

Reference: Daniel Gehrig, +Henri Rebecq, +Guillermo Gallego, Davide Scaramuzza. Asynchronous, Photometric Feature Tracking using Events and Frames.
European Conference on Computer Vision (ECCV), Munich, Sept. 2018.
Add a comment...

Post has attachment

Post has shared content
We think that representation is the key problem in SLAM as it evolves into more general and powerful Spatial AI, and that there are big advantages to avoiding bottom up reconstruction and directly making object-level scene models.This is our new method called Fusion++, from +John McCormac, +Ronnie Clark, Michael Bloesch, +Stefan Leutenegger and myself at the Dyson Robotics Lab at Imperial College.

Inspired by and generalising our older system SLAM++, Fusion++ uses Mask-RCNN to generated proposals for arbitrary objects, and then fuses depth measurements over time to generate an individual volumetric 3D model for each one. The global model is then a 3D graph of objects which can be optimised and used for tracking, loop closure and relocalisation like any SLAM graph. We build a highly efficient and semantically meaningful scene representation as a depth camera makes loops around the lab, while getting good quality camera localisation without needing any additional standard SLAM system.
Add a comment...
Wait while more posts are being loaded