9
Research Collection Conference Paper Absolute Scale in Structure from Motion from a Single Vehicle Mounted Camera by Exploiting Nonholonomic Constraints Author(s): Scaramuzza, Davide; Fraundorfer, Friedrich; Pollefeys, Marc; Siegwart, Roland Publication Date: 2009 Permanent Link: https://doi.org/10.3929/ethz-a-010035851 Originally published in: http://doi.org/10.1109/ICCV.2009.5459294 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection . For more information please consult the Terms of use . ETH Library

Originally published in: Research Collection … new method is that, because of the Ackerman steering model, the different motions of camera and vehicle can be computed from the same

Embed Size (px)

Citation preview

Research Collection

Conference Paper

Absolute Scale in Structure from Motion from a Single VehicleMounted Camera by Exploiting Nonholonomic Constraints

Author(s): Scaramuzza, Davide; Fraundorfer, Friedrich; Pollefeys, Marc; Siegwart, Roland

Publication Date: 2009

Permanent Link: https://doi.org/10.3929/ethz-a-010035851

Originally published in: http://doi.org/10.1109/ICCV.2009.5459294

Rights / License: In Copyright - Non-Commercial Use Permitted

This page was generated automatically upon download from the ETH Zurich Research Collection. For moreinformation please consult the Terms of use.

ETH Library

Absolute Scale in Structure from Motion from a Single Vehicle Mounted Cameraby Exploiting Nonholonomic Constraints

Davide Scaramuzza1, Friedrich Fraundorfer2, Marc Pollefeys2, Roland Siegwart11 Autonomous Systems Lab

2 Computer Vision and Geometry GroupETH Zurich

Abstract

In structure-from-motion with a single camera it is wellknown that the scene can be only recovered up to a scale. Inorder to compute the absolute scale, one needs to know thebaseline of the camera motion or the dimension of at leastone element in the scene. In this paper, we show that thereexists a class of structure-from-motion problems where it ispossible to compute the absolute scale completely automati-cally without using this knowledge, that is, when the camerais mounted on wheeled vehicles (e.g. cars, bikes, or mobilerobots). The construction of these vehicles puts interest-ing constraints on the camera motion, which are known as“nonholonomic constraints” The interesting case is whenthe camera has an offset to the vehicle’s center of motion.We show that by just knowing this offset, the absolute scalecan be computed with a good accuracy when the vehiclemoves. We give a mathematical derivation and provide ex-perimental results on both simulated and real data. To ourknowledge this is the first time nonholonomic constraintsof wheeled vehicles are used to estimate the absolute scale.We believe that the proposed method can be useful in thoseresearch areas involving visual odometry and mapping withvehicle mounted cameras.

1. Introduction

Visual odometry (also called structure from motion) isthe problem of recovering the motion of a camera from thevisual input alone. This can be done by using single cam-eras (perspective or omnidirectional) [2, 10], stereo cam-eras [6], or multi-camera systems [1]. The advantage ofusing more than one camera is that both the motion and the3D structure can be computed directly in the absolute scalewhen the distance between the cameras is known. Further-more, the cameras not necessarily need to have an overlap-ping field of view, as shown in [1]. Conversely, when us-ing a single camera the absolute scale must be computed

L

(a) (b)

Figure 1. If the camera is located on the vehicle’s non steeringaxle, the rotation and translation of both the camera and the carare exactly the same (a). If the camera is mounted with an offsetto the axle, rotation and translation of camera and car are different(b). While case (a) can be used to simplify motion estimation, case(b) can be used to compute absolute scale from a single camera.

in other ways, like by measuring the motion baseline or thesize of an element in the scene [2], or by using other sensorslike IMU and GPS [7].

In the case of a single camera mounted on a vehicle, thecamera follows the movement of the vehicle. Most wheeledvehicles (e.g. car, bike, mobile robot) possess an instanta-neous center or rotation, that is, there exists a point aroundwhich each wheel of the vehicle follows a circular course[11]. For instance, for car-like vehicles the existence of thispoint is insured by the Ackerman steering principle (Fig. 2).This property assures that the vehicle undergoes rolling mo-tion, i.e. without slippage. Accordingly, the motion of thevehicle can be locally described by circular motion. As wewill show in the paper, this property puts interesting con-straints on the camera motion. Depending on the positionof the camera on such a vehicle, the camera can undergoexactly the same motion or deviate from it. The interestingcase is when the camera has an offset to the vehicle cen-ter of motion (see Fig. 1). By just knowing this offset andthe camera relative motion from the point correspondences,the absolute scale can be computed. The key concept of

1

our new method is that, because of the Ackerman steeringmodel, the different motions of camera and vehicle can becomputed from the same camera measurements. Then, thedifference between them can be used to compute the abso-lute scale. In this paper, we describe the method to computeabsolute scale for a vehicle moving in a plane. We give aminimal solution as well as a least-squares solution to theabsolute scale. In addition, we also present and efficientalgorithm that can cope with outliers.

The recent street level mapping efforts of various compa-nies and research centers make the proposed approach veryinteresting. In these cases the cars are usually equipped witha single omni-directional camera and with our novel methodit would be possible to compute the absolute scale of the re-covered map.

This paper is organized as follows. Section 2 reviewsthe related work. Section 3 explains the motion model ofwheeled vehicles. Section 4 provides the equations for com-puting the absolute scale. Section 5 explains how to detectthe circular motion. Finally, sections 6 and 7 present theexperimental results and conclusions.

2. Related workThe standard way to get the absolute scale in motion es-

timation is the use of a stereo setup with known baseline. Avery well working approach in this fashion has been demon-strated by Nister et al. [6]. The fields of views of the twocameras were overlapping and motion estimation was doneby triangulating feature points, tracking them, and estimat-ing new poses from them. Other approaches using stereosetups are described in [3, 4] and can be traced back to asearly as [5]. A recent approach from Clipp et al. [1] re-laxed the need of overlapping stereo cameras. They pro-posed a method for motion estimation including absolutescale from two non-overlapping cameras. From indepen-dently tracked features in both cameras and with knownbaseline, full 6DOF 1 motion could be estimated. In theirapproach the motion up to scale was computed from featuretracks in one camera. The remaining absolute scale couldthen be computed from one additional feature track in theother camera.

For the case of single cameras, some prior knowledgeabout the scene has been used to recover the absolute scale.Davison et al. [2] used a pattern of known size for bothinitializing the feature locations and computing the absolutescale in 6DOF visual odometry. Scaramuzza et al. [10] usedthe distance of the camera to the plane of motion and featuretracks from the ground plane to compute the absolute scalein a visual odometry system for ground vehicle applications.

In this paper, we propose a completely novel approach tocompute the absolute scale from a single camera mounted

1DOF = Degrees Of Freedom

on a vehicle. Our method exploits the constraint imposed bynonholonomic wheeled vehicles, that is, their motion can belocally described by circular motion.

3. Motion model of nonholonomic vehiclesA vehicle is said to be nonholonomic if its controllable

degrees of freedom are less than its total degrees of free-dom [11]. An automobile is an example of a nonholonomicvehicle. The vehicle has three degrees of freedom, namelyits position and orientation in the plane. Yet it has only twocontrollable degrees of freedom, which are the accelerationand the angle of the steering. A car’s heading (the directionin which it is traveling) must remain aligned with the orien-tation of the car, or 180◦ from it if the car is going backward.It has no other allowable direction. The nonholonomicity ofa car makes parking and turning in the road difficult. Otherexamples of nonholonomic wheeled vehicles are bikes andmost mobile robots.

The nonholonomicity reveals an interesting property ofthe vehicle’s motion, that is, the existence of an Instanta-neous Center of Rotation (ICR). Indeed, for the vehicle toexhibit rolling motion without slipping, a point must existaround which each wheel of the vehicle follows a circularcourse. The ICR can be computed by intersecting all theroll axes of the wheels (see Fig. 2). For cars the existenceof the ICR is ensured by the Ackermann steering principle[11]. This principle ensures a smooth movement of the ve-hicle by applying different steering angles to the left andright front wheel while turning. This is needed as all thefour wheels move in a circle on four different radii aroundthe ICR (Fig. 2). As the reader can perceive, every point ofthe vehicle and any camera installed on it undergoes locallyplanar circular motion. Straight motion can be representedalong a circle of infinite radius of curvature.

Let us now derive the mathematical constraint on the ve-hicle motion. Planar motion is described by three param-eters, namely the rotation angle θ, the direction of trans-lation ϕv , and the length ρ of the translation vector (Fig.3(a)). However, for the particular case of circular motionand when the vehicle’s origin is chosen along the non-steering axle as in Fig. 3(a), we have the interesting prop-erty that ϕv = θ/2. This property can be trivially veri-fied by trigonometry. Accordingly, if the camera referenceframe coincides with the car reference frame, we have thatthe camera must verify the same constraint ϕc = θ/2. How-ever, this constraint is no longer valid if the camera has anoffset L with the vehicle’s origin as shown in Fig. 3(b). Inthis case, as we will show in the next section, a more com-plex constraint exists which relates ϕc to θ through the off-set L and the vehicle’s displacement ρ. Since L is constantand can be measured very accurately, we will show that itis then possible to estimate ρ (in the absolute scale) by justknowing ϕc and θ from point correspondences.

Figure 2. General Ackermann steering principle.

xv ≡ xc

Ov ≡ Oc

θ

ICR

θ

ρ

zv zc≡

x'v x'c≡

O' O'v c≡

z'v z'c≡

φ θ= /2c v=φ

θ

φ θc /2≠

ICR

θ

L

λ

xv

Ov zv

xc

Oc zc

xv

Ov

zv

xc

Oc

zc

(a) L = 0 (b) L 6= 0Figure 3. Camera and vehicle motion under circular motion con-straint. When camera and vehicle reference systems coincideϕc = ϕv = θ/2 (a). When the camera has an offset L withthe vehicle’s origin, we have still ϕv = θ/2 but ϕc 6= θ/2 (b)

.

4. Absolute scale computation

4.1. Camera undergoing planar circular motion

Figure 3 shows the camera and vehicle coordinate sys-tems. Both coordinate systems are aligned so that there isno additional rotation between them. The camera is denotedby P1 and it is located at C1 = [0, 0, L] in the vehicle coor-dinate system. The camera matrix P1 is therefore

P1 =

1 0 0 00 1 0 00 0 1 −L

(1)

The camera P1 and the vehicle now undergo the followingcircular motion denoted by the rotation R and the transla-tion T (see also Fig. 3).

R =

cos(θ) 0 − sin(θ)0 1 0

sin(θ) 0 cos(θ)

(2)

T = ρ

sin(θ2

)0

cos(θ2

) (3)

The transformed camera P2 is then

P2 = [R2 t2] = P1

[R −RT0 1

](4)

To compute the motion between the two cameras P2 and P1

the camera P2 can be expressed in the coordinate system ofP1. Let us denote it by P ′2.

P ′2 = [R′2 t′2] = P2

[P1

0 0 0 1

]−1

(5)

The rotation part R′2 equals R2 (which equals R) and thetranslation part t′2 is

t′2 =

ρ sin(θ2

)− L sin(θ)0

L cos(θ)− ρ cos(θ2

)− L

(6)

Then, the essential matrix E for our setup describing therelative motion from camera P1 to P ′2 is defined as E =[t′2]×R

′2 and can be written as:

E = 0 L+ ρ cos

(θ2

)− L cos(θ) 0

L− ρ cos(θ2

)− L cos(θ) 0 ρ sin

(θ2

)+ L sin(θ)

0 ρ sin(θ2

)− L sin(θ) 0

(7)

Finally, the essential matrix can also be expressed interms of the absolute distance λ between the two cameracenters, and the camera relative motion (θ, ϕc). Thus, us-ing the previous expression of R′2 and t′2 (but now in termsλ, θ, and ϕc) we obtain:

E = λ

0 cos(θ − ϕc) 0− cos(ϕc) 0 sin(ϕc)

0 sin(θ − ϕc) 0

(8)

These two expressions for E will be used in the next sec-tions.

4.2. Computing ρ and λ from rotation and transla-tion angles

To recap, the parameter ρ is the absolute distance be-tween the two vehicle positions (Fig. 3(a)), while λ is theabsolute distance between the two camera centers which isλ = ||t′2|| (Fig. 3(b)).

It is convenient to be able to express ρ and λ in termsof the rotation angle θ and the directional angle ϕc of thecamera translation vector because these parameters can beestimated from feature correspondences. For this we equatethe camera center C ′2 = −RT t′2 with a parameterization in

ϕc. From this we can get the equations for ρ and λ in termsof θ and ϕc.

ρ =L sin(ϕc) + L sin(θ − ϕc)

− sin( θ2 − ϕc)(9)

λ =−2L sin( θ2 )sin( θ2 − ϕc)

(10)

Note, expressions (9) and (10) are exactly the core of thispaper, that is, we can actually compute the absolute dis-tance between the vehicle/camera centers as a function ofthe camera offset L and the camera relative motion (θ, ϕc).In the next subsection we will give a minimal and a least-square solution to compute the (θ, ϕc) directly from a set ofpoint correspondences. Finally, note that (9) and (10) arevalid only if θ 6= 0. Thus, we can only estimate the absolutescale if the vehicle rotates. The accuracy on the absolutescale estimates will be evaluated in Section 6.1.

Observe that we can also write an equation for L. Thisallows us to compute the offset of the camera from the rearaxis of the vehicle from ground truth data (GPS, wheelodometry, etc.), i.e. to calibrate the camera to the vehiclecoordinate frame. By solving (9) with respect to L we have:

L = ρ− sin( θ2 − ϕc)

sin(ϕc) + sin(θ − ϕc)(11)

4.3. Least-squares solution: the 3-point algorithm

In this section, we provide a least-squares solution tocompute θ and ϕc from a set of good feature correspon-dences. Two corresponding points p = (x, y, z)T andp′ = (x′, y′, z′)T must fulfill the epipolar constraint

p′TEp = 0 (12)

Using the expression (8) of the essential matrix, the epipolarconstraint expands to:

−xy′ cos(ϕc) + yx′ cos(θ − ϕc) +zy′ sin(ϕc) + yz′ sin(θ − ϕc) = 0. (13)

Givenm image points, θ and ϕc can be computed indirectlyusing singular value decomposition of the coefficient matrix[xy′, yx′, zy′, yz′] being [h1, h2, h3, h4] the unknown vec-tor which is defined by:

h1 = − cos(ϕc), h2 = cos(θ − ϕc)h3 = sin(ϕc), h4 = sin(θ − ϕc).

(14)

Note, as the solution is valid up to a scale, we actually needat least 3 point correspondences to find a solution.

Finally, the angles θ and ϕc can be derived by means ofa four-quadrant inverse tangent. However, as the elementsof the unknown vector are not independent from each other,nonlinear optimization could be applied to recover more ac-curate estimations. The next section covers how to deal withit.

4.4. Minimal solution: non-linear 2-point algorithm

As shown by Eq. (13), the epipolar constraint can bereduced to a non-linear equation f(θ, ϕc) = 0 which can besolved by Newton’s iterative method. This method is basedon a first order Taylor expansion of f , that is,

f(θ, ϕc) ≈ f(θ0, ϕc0) + Jf (θ0, ϕc0)[

(θ − θ0)(ϕ− ϕc0)

](15)

where f(θ0, ϕc0) can be computed from (13) and the Jaco-bian Jf (θ0, ϕc0) can be written as:

Jf (θ0, ϕc0) =

[−yx′ sin(θ0 − ϕc0) + yz′ cos(θ0 − ϕc0)

xy′ sin(ϕc0) + yx′ sin(θ0 − ϕc0)− yz′ cos(θ0 − ϕc0) + zy′ cos(ϕc0)

](16)

Newton’s method is an iterative method which startsfrom an initial seed and converges to the solution throughsuccessive approximations which are computed as:[

θi+1

ϕci+1

]= Jf (θi, ϕci)−1f(θi, ϕci) +

[θiϕci

](17)

In all the experimental results we had convergence by tak-ing the point (θ0, ϕc0) = (0, 0) as initial seed. The algo-rithm converged very quickly (3-4 iterations). Since onlytwo unknowns are determined, two is the minimum num-ber of matches required by this algorithm to compute thesolution.

A comparison of the performance between the linear 3-point and the non-linear 2-point algorithm is given in theexperimental section 6.1.

5. Circular motion detection

The equations for absolute scale estimation give onlycorrect results if the motion is circular. Thus we haveto identify sections of circular motion in a camera pathprior to computing the absolute scale. For circular mo-tion θ/2 − ϕv = 0, the idea is therefore to look for mo-tion that satisfies this condition. The first step is to com-pute ϕv from the camera motion (θ, ϕc). ϕv is a func-tion of L, ρ, ϕc, but ρ is unknown. We therefore proposeto search for ϕv(L, ρ, ϕc) that minimizes the criterion forcircular motion θ/2 − ϕv by varying ρ. This is a 1D opti-mization over ρ that can be solved with Newton’s method.The optimization converges very quickly and returns ϕvthat minimizes our circular motion condition. If the mo-tion is circular |θ/2 − ϕv| gets very small; for non-circularmotion the condition is not exactly satisfied. To distinguishbetween circular and non-circular motion we introduce thethreshold threshcirc. A motion is classified as circular if|θ/2− ϕv| < threshcirc and non-circular otherwise.

0 5 10 15 20 25 300

5

10

15

20

25

30

35

40

45

50Absolute scale relative error (%) vs. rotation angle

Rotation angle (deg)

Abs

olut

e sc

ale

rela

tive

erro

r (%

)

mean non−linear 2−pointmean linear 3−pointstd non−linear 2−pointstd linear 3−point

Figure 4. The relative error % of the absolute scale estimate asa function of the rotation angle θ. Comparison between the lin-ear 3-point method (circles) and the non-linear 2-point method(squares).

6. Experiments6.1. Synthetic data

We investigated the performance of the algorithms in ge-ometrically realistic conditions. In particular, we simulateda vehicle moving in urban canyons where the distance be-tween the camera and facades is about 10 meters. We setthe first camera at the origin and randomized scene pointsuniformly inside several different planes, which stand forthe facades of urban buildings. We used overall 1600 scenepoints. The second camera was positioned according to themotion direction of the vehicle which moves along circu-lar trajectories about the instantaneous center of rotation.Therefore, the position of the second camera was simulatedaccording to the previous equations by taking into accountthe rotation angle θ, the vehicle displacement ρ, and the off-set L of the camera from the vehicle’s origin. To make ouranalysis more general, we considered an omnidirectionalcamera (with the same model used in the real experiments),therefore the scene points are projected from all directions.Finally, we also simulated feature location errors by intro-ducing a σ = 0.3 pixel Gaussian noise in the data. Theimage resolution was set to a 640× 480 pixels.

In this experiment, we want to evaluate the accuracy ofthe estimated absolute scale as a function of the rotationangle θ. As observed in equation (9), the estimate of theabsolute scale ρ from the camera relative motion is possibleonly for θ 6= 0. Therefore, we can intuitively expect that theabsolute scale accuracy increases with θ. In this experiment,we performed many trials (one hundred) for different valuesof θ (varying from 0 up to 30 deg). The results shown inFig. 4 are the average. As observed, the accuracy improveswith θ, with an error smaller than 5% for θ larger than 10

• Algorithm:

– Compute camera motion estimate up to scale

– Identify sections for which the circular motion issatisfied

∗ Transform camera translation vector into ve-hicle translation vector

∗ Check circular motion criterion (| θ2 −ϕv| <threshcirc)

– Compute absolute scale (λ, ρ) from θ, ϕc, L forthe detected sections

Figure 5. Outline of the absolute scale algorithm

deg. The performance of the linear and non-linear algorithmare similar when θ > 10 deg, while the non-linear methodperforms better for smaller θ.

6.2. Real data

In this section we demonstrate the absolute scale com-putation on an image sequence acquired by a car equippedwith an omnidirectional camera driving through a city in a3Km tour. A picture of our vehicle (a Smart) is shown inFig. 1. The omnidirectional camera is composed of a hy-perbolic mirror (KAIDAN 360 One VR) and a digital colorcamera (SONY XCD-SX910, image size 1280 × 960 pix-els). The camera was installed as shown in Fig. 1(b). Theoffset of the camera from the rear axle is L=0.9m. Thecamera system was calibrated using the toolbox from Scara-muzza [9, 8]. Images were taken at an average framerate of10Hz at a vehicle speed ranging from 0 to 45km/h. In an ini-tial step, up to scale motion estimation has been performed.We did this for the all 4000 frames of the dataset. In additionto the visual measurements, we have the wheel odometrymeasurements of the car. We will use the odometry mea-surements as baseline to which we compare our absolutescale values. Here it should be noted that the wheel odom-etry does not represent exactly the same measurements asour estimated absolute scale. The wheel odometry repre-sents the length of the arc the wheels were following whilethe absolute scale represents the direct distance between thelocations at which frames were captured. To identify sec-tions of circular motion we look at the motion of neighbor-ing frames. If the motion between neighboring frames istoo small we look ahead to frames that are further out. Inthe experiments we maximally look ahead 15 frames. Foreach frame pair we check if it represents circular motion bychecking if |θ/2 − ϕv| < threshcirc as described in sec-tion 5. The basic outline of the algorithm is described inFig. 5. Fig. 6(a) shows a single curve from the path. Thesection apparently is partly a circular motion. It is quitereasonable if you look at it. In the picture, sections of cir-

−196 −194 −192 −190 −188 −186 −184 −182 −180

−196

−194

−192

−190

−188

−186

−184

x[m]

y[m

]

Camera path up to scaleTested positive for circular motionCircular motion with correct scale estimate

(a)

1045 1050 1055 10600

5

10

15

20

25

30

35

40

frame number

angl

e (d

egre

e)

θϕcar

θ/2

(b)Figure 6. (a) Section of the camera path that shows circular mo-tion. Red circles mark beginning of circular motion section fromwhich a correct absolute scale was computed (section ends at greencircle). (b) θ, ϕcar, θ2 of this section. For exact circular motionθ/2− ϕcar = 0.

cular motion are indicated by green dots. The section endsat the green circles. The sections were detected based on|θ/2 − ϕv| < threshcirc. For each detected section wecomputed the absolute scale and compared it to the wheelodometry. The difference was less than 30%. In the follow-ing we classify measurements with a difference less than30% as correct and wrong otherwise. Fig. 6(b) shows thegraph of the values θ, θ/2 and ϕv for this section. It isclearly visible that it is largely a circular motion as θ/2 andϕv are almost equal for large parts. At the end of the sec-tion the motion stops to be circular, which is also evidentin Fig. 6(a) as the last part of the curve straightens. Fig. 7shows θ/2 and ϕc for the full sequence. At around 50%of the sequence θ/2 and ϕv overlap, thus indicating circu-lar motion. Multiple sections show a high turning angle θ

0 500 1000 1500 2000 2500 3000 3500 40000

10

20

30

40

50

60

frame number

angl

e (d

egre

e)

θ/2

ϕcar

Figure 7. θ, ϕ, θ2

of the full camera path. Circular motion occurswhen ϕ is close to θ

2(around 50% of the motion is circular). How-

ever for small angles of θ absolute scale estimation is very inaccu-rate. Only the few peaks with high θ are useful.

(peaks) which can be used to compute the absolute scaleaccurately according to our previous synthetic results.

Results on the accuracy of the method and on the influ-ence of the thresholds are shown in Table 1. Here we listthe number of correctly computed scales, and the number ofall detected circular motion sections. By tuning the thresh-olds θthresh and threshcirc the results can be optimized.threshcirc controls if a section of the path is classified ascircular. The absolute scale of such a section will only becomputed if the turning angle θ is larger than θthresh. Witha larger threshold on θ it is possible to reduce the of num-ber wrong computed scales. With a threshold setting of 30◦

it was possible to remove all wrong estimates. With thissetting 8 circular motion sections got detected and the ab-solute scale difference to the wheel odometry was belowthe threshold of 30%. The mean difference in this case was20.6% (std. dev. 7.6%). This is a mean absolute differenceof 2.3m (std. dev. 0.9m) which is a satisfying result. Notethat the number of detected circular sections can be largerthan the number of frames as we look at frame pairs.

Fig. 8 shows a plot of the full path. Sections of circularmotion are shown as green dots. Circular motion appearsnot only in sharp turns but also at slight curves. Red circlesshow the sections where we computed the most accurateabsolute scale measurements.

The results demonstrate that our method is able to prop-erly detect sections of circular motion in a camera path andthat it is possible to compute the absolute scale accurately.In our case the offset of L = 0.9m is actually rather smalland we would expect even better results with a larger offset.

θthresh[◦] # correct # detected0 449 3057

10 65 15320 21 3630 8 8

(a) threshcirc = 10−4

θthresh[◦] # correct # detected0 649 10803

10 170 226720 74 78930 28 168

(b) threshcirc = 0.1

Table 1. Table shows the number of detected circular motionsand the number of correct estimated absolute scales (within 30%of wheel odometry measurements) for different thresholds ofθthresh. A threshold on θ is very effective in removing inaccurateestimates, i.e. only motions with large θ give accurate estimates.

Figure 8. Camera path showing sections of circular motion(marked with green dots). Red circles show sections with correctscale estimates. By putting a proper threshold on the turning angleθ, most sections that lead to a bad scale estimate can be filtered.

7. Conclusion

In this paper, we have shown that the nonholonomic cos-ntraints of wheeled vehicles (e.g. car, bike, differential driverobot) make it possible to estimate the absolute scale in

structure from motion from a single vehicle mounted cam-era. We have shown that this can be achieved whenever thecamera has an offset to the vehicle center of motion andwhen the vehicle is turning. This result is made possibleby the fact that the vehicle undergoes locally planar circularmotion.

Our experiments show that a good accuracy can beachieved even with a small offset like 0.9m, although alarger offset would increase the accuracy. The camera doesnot need to be placed at a specific place. This allows usto process data that has already been captured, as mostcameras will be placed off-axis. We also showed that ourmethod successfully detects sections of circular motion in acamera path. The experiments showed that actually a largeamount of vehicle motion is in fact circular. Future workwould include improvement of the circular motion detectionas this is very important to create a robust algorithm. Thiscould then be used to reduce the unavoidable scale drift ofstructure-from-motion system. If an absolute scale can becomputed reliably every hundred frames or so this will sta-bilize scale over time.

References[1] B. Clipp, J. Kim, J. Frahm, M. Pollefeys, and R. Hartley.

Robust 6dof motion estimation for non-overlapping, multi-camera systems. In Proc. IEEE Workshop on Applications ofComputer Vision, pages 1–8, 2008. 1, 2

[2] A. Davison. Real-time simultaneous localisation and map-ping with a single camera. In International Conference onComputer Vision, 2003. 1, 2

[3] I. Jung and S. Lacroix. Simultaneous localization and map-ping with stereovision. In Robotics Research: the 11th Inter-national Symposium, 2005. 2

[4] M. Maimone, Y. Cheng, and L. Matthies. Two years of vi-sual odometry on the mars exploration rovers: Field reports.Journal of Field Robotics, 24(3):169–186, 2007. 2

[5] H. Moravec. Obstacle avoidance and navigation in the realworld by a seeing robot rover. In tech. report CMU-RI-TR-80-03, Robotics Institute, Carnegie Mellon University.September 1980. 2

[6] D. Nister, O. Naroditsky, , and B. J. Visual odometry forground vehicle applications. Journal of Field Robotics, 2006.1, 2

[7] M. Pollefeys, D. Nister, J. Frahm, A. Akbarzadeh, P. Mor-dohai, B. Clipp, C. Engels, D. Gallup, S. Kim, P. Merrell,C. Salmi, S. Sinha, B. Talton, L. Wang, Q. Yang, R. Y.H. Stewenius, G. Welch, and H. Towles. Detailed real-timeurban 3d reconstruction from video. International Journal ofComputer Vision. 1

[8] D. Scaramuzza. Ocamcalib toolbox: Omnidirectional cam-era calibration toolbox for matlab, 2006. Google for”ocamcalib”. 5

[9] D. Scaramuzza, A. Martinelli, and R. Siegwart. A toolboxfor easy calibrating omnidirectional cameras. In IEEE In-

ternational Conference on Intelligent Robots and Systems(IROS 2006), oct 2006. 5

[10] D. Scaramuzza and R. Siegwart. Appearance-guided monoc-ular omnidirectional visual odometry for outdoor ground ve-hicles. IEEE Transactions on Robotics, Special Issue on Vi-sual SLAM, 24(5), October 2008. 1, 2

[11] R. Siegwart and I. Nourbakhsh. Introduction to AutonomousMobile Robots. MIT Press, 2004. 1, 2