my blog my blog

Monthly Oktober 2015
Displacement priors

What is the target of all this ? Driving in an automotive scenario with a given speed and turnrate at any moment, we want to predict the displacement of a 2D-projection (pixel) between two frames:
p(\vec{uv}_{x,y} | speed, turnrate, camera-matrix, world-geometry)

By using the camera-calibration, I can create artificial curves and walls as 3D point-sets and project them back to 2D. Using discretized values for speed, turnrate, streetwidth and wall-height, I can then simulate the displacement of these 3D-Points when they are projected to 2D (our image).
(Note for me: this is the backprojection-code, main-file:


Symmetry detection

This will probably become one of our modalities in the future: symmetry !

Thanks to the guys at hs-niederrhein, there is symmetry-detection-code that can already be used
for some first estimates:

This software implements the gradient product transform for symmetry
detection that is described in the paper

C. Dalitz, R. Pohle-Froehlich, F. Schmitt, M. Jeltsch:
„The gradient product transform for symmetry detection
and blood vesselm extraction.“ International Conference on
Computer Vision Theory and Applications (VISAPP), pp. 177-184,

And the first results look quite promising:

Lane detection

Today I will try to detect some lanes..

– We know the lane-width (plus minus)
– We are inside the middle of a lane
– We know the camera geometry
– Based on the turnrate of the IMU we can estimate the curvature of the street
– A line in pixels can be detected by a upward flank and a downward flank

Here are some exemplary results:

1) Of course, the best one first 😉

Training Cascades to detect cars

I spent some time on training several cascades to detect cars in ego-view automotive videos,
and will now document what I’ve learned.

I will use the existing OpenCV-tools.

Data preparation
-> pos/ 1000 images containing the desired object
-> (containing the filenames of the objects, number of objects in the frame and bounding boxes in the format x,y,width,height)
-> neg/ 2000 images that do not contain cars at all
-> negs.txt text-file containing the filenames of all negative images

For the positive images I used tight bounding boxes. You actually do not need as many negative images as you want to use negative samples later on, as the training-script will sample patches from the negative images given, so it can actually be less images than negative samples.

Some of the positive images, the bounding-boxes have been annotated by hand (ground-truth-data):