+ All Categories
Home > Documents > Ivcnz2010 Ivcnz Format

Ivcnz2010 Ivcnz Format

Date post: 07-Apr-2018
Category:
Upload: alex-woodward
View: 223 times
Download: 0 times
Share this document with a friend
8
Real-Time Stereo Vision on the VisionServer Framework for Robot Guidance Alexander Woodward, David Berry, James Dunning ControlVision Ltd Unit 2, 527B Rosebank Rd, Avondale, Auckland, New Zealand Telephone: +64 9 828 0500 Fax: Email: http://www.controlvision.co.nz/contacts/ Websites: http://www.controlvision.co.nz , http://www.visionserver.co.nz Abstract This paper introduces the VisionServer Framework, a computer vision application framework for devel- opme nt within a visual envi ronment. Its functionality is demo nstr ate d by documenting the desi gn and theory behind a real-time stereo vision system for robot guidanc e. VisionServer implements the required run-time tasks of stereo image capture, image rectication, stereo correspondence and data visualisation as function blocks which can be visually manipulated withi n its sequen ce ed itor. In order to run in re al- time, VisionServer implements stereo correspondence on a graphics processing unit (GPU). Additionally, an end-user GUI can be cre ate d within the framework, making it ea sy to contr ol system settings. The  framewo rk is extendable through custom end-user written function blocks. These feature s promote rapid appl ic ation development, co de reuse, and application sharing. Results show that re al-time ster eo on the GPU is cost-eective and beneci al for interactive ne-tuning of a stereo algorithm. More over, real-time processing is important for time-critical computer vision applications. Keywords: Binocular stere o, stere o vision , stereo corres pondenc e, GPU, Vision Serve r, Cont rolVis ion 1 Intr oduction Intuitive and powerful computer vision tools have beco me desira ble as vision solutions in indust ry grow in tandem with research into advanced vision algorithms. The VisionServer Framework has been designed to address this need by providing a visual environment to organise computer vision and im- age processing algorithms into entire applications. To demonstratethe framework’s practi calit y withi n a research context, the implementation and design of a real-time computational stereo vision system for robot guidance within VisionServer is presen- ted. The description is divided into VisionServer’s implementation of fundamental 3D vision proced- ures as functio nal blocks i.e. camera calibration, image rectication, and dense stereo correspond- ence running on a graphics processing unit (GPU) - which now make up some of the key features of the framework - with the use of VisionServer as a design tool. This all ows a user to create a vision solution through drag-an d-drop system seque nce design GUI creation. Vision Serv er’s importan t features for the rapid design of a computer vision application include: Intuitive function block sequence format al- lowing for the visual design of applications - blocks for data acquisition and communica- tions, vision, math and logic, scripting, and data loggin g - Fig. 1 shows an example of what the function blocks look like within Vis- ionServer. Extendable through custom function blocks that can be written in the .NET program- ming framework. Supports multiple vision libraries including OpenCV [1] and Cognex Vision Pro along with ima ge process ing dev ice s suc h as Cog nex’s In-Sight technology [2]. GPU based computer vision through func- tion blocks that exploit the parallelism of the latest graphics cards. Supports a wide variety of industrial cameras and inte rface techn ologie s: GigE, FireWir e, Cameralink, USB, etc..
Transcript
Page 1: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 1/8

Real-Time Stereo Vision on the VisionServer Framework

for Robot Guidance

Alexander Woodward, David Berry, James Dunning

ControlVision LtdUnit 2, 527B Rosebank Rd, Avondale,

Auckland, New ZealandTelephone: +64 9 828 0500

Fax:Email: http://www.controlvision.co.nz/contacts/

Websites: http://www.controlvision.co.nz, http://www.visionserver.co.nz

Abstract

This paper introduces the VisionServer Framework, a computer vision application framework for devel-opment within a visual environment. Its functionality is demonstrated by documenting the design and theory behind a real-time stereo vision system for robot guidance. VisionServer implements the required run-time tasks of stereo image capture, image rectification, stereo correspondence and data visualisation as function blocks which can be visually manipulated within its sequence editor. In order to run in real-time, VisionServer implements stereo correspondence on a graphics processing unit (GPU). Additionally,an end-user GUI can be created within the framework, making it easy to control system settings. The  framework is extendable through custom end-user written function blocks. These features promote rapid application development, code reuse, and application sharing. Results show that real-time stereo on theGPU is cost-effective and beneficial for interactive fine-tuning of a stereo algorithm. Moreover, real-timeprocessing is important for time-critical computer vision applications.

Keywords: Binocular stereo, stereo vision, stereo correspondence, GPU, VisionServer, ControlVision

1 Introduction

Intuitive and powerful computer vision tools havebecome desirable as vision solutions in industrygrow in tandem with research into advanced visionalgorithms. The VisionServer Framework has beendesigned to address this need by providing a visualenvironment to organise computer vision and im-age processing algorithms into entire applications.

To demonstrate the framework’s practicality withina research context, the implementation and designof a real-time computational stereo vision systemfor robot guidance within VisionServer is presen-ted. The description is divided into VisionServer’simplementation of fundamental 3D vision proced-ures as functional blocks i.e. camera calibration,image rectification, and dense stereo correspond-ence running on a graphics processing unit (GPU)- which now make up some of the key features of the framework - with the use of VisionServer as adesign tool. This allows a user to create a visionsolution through drag-and-drop system sequencedesign GUI creation.

VisionServer’s important features for the rapid design

of a computer vision application include:

• Intuitive function block sequence format al-lowing for the visual design of applications -blocks for data acquisition and communica-tions, vision, math and logic, scripting, anddata logging - Fig. 1 shows an example of what the function blocks look like within Vis-ionServer.

• Extendable through custom function blocksthat can be written in the .NET program-ming framework.

• Supports multiple vision libraries includingOpenCV [1] and Cognex VisionPro along withimage processing devices such as Cognex’sIn-Sight technology [2].

• GPU based computer vision through func-tion blocks that exploit the parallelism of thelatest graphics cards.

• Supports a wide variety of industrial camerasand interface technologies: GigE, FireWire,Cameralink, USB, etc..

Page 2: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 2/8

Figure 1: A screen capture of VisionServer’s sequence editor, showing a subsection of the function blocks involved

in the stereo vision system. The sequence is repeatedly run from left to right using an event based model

coordinated with image capture.

• GUI components allowing for the drag-and-drop visual design of user interfaces.

• Architectural scalability for multiple sensors,sequences and clients.

• Performance management for scheduling andrunning on multi-core systems.

• Optimised for real-time applications.

• Data logging and database connectivity with

a built in SQL database.• Access control features for security.

• Once an application has been developed aseparate run-time can be deployed for endusers.

VisionServer has already found success in manycommercial vision solutions, examples of these andmore information can be obtained by visiting Con-trolVision’s product website [3].

We now detail the structure of this paper: firstly,

related work into real-time computational stereovision and commercial vision hardware and soft-ware is presented in Sec. 2. System hardware isthen given in Sec. 3. Sections 4-6 describe thetheoretical aspects of this work, focusing on cam-era calibration, the binocular stereo setup, imagerectification and dense stereo correspondence fordisparity map generation. It is noteworthy to re-member that within VisionServer all of this theoryis implemented in code as function blocks. Next,a brief description in Sec. 7 is given to how Vis-ionServer can be used to organise these blocks andcreate a custom GUI, all without programming. A

selection of visualisations of recovered depth datais presented in Sec. 8, along with commentary onthe results.

2 Related Work

Binocular stereo vision is one of the most activeresearch areas in computer vision. Subsequently,a large number of dense stereo correspondence al-gorithms have been created with various trade-offsbetween accuracy and execution time. Given a pairof stereo images, the stereo correspondence pro-cess creates a depth map of the scene; this depthinformation can then be used to guide a robot toa desired location when it is calibrated with the

imaging system.

Stereo correspondence algorithms and related re-construction approaches such as augmented bin-ocular stereo with active illumination have beeninvestigated in works such as Woodward et al. [4]and the well known Middlebury stereo website [5].Findings have shown that many of the most ad-vanced 2D optimisation approaches are unsuitablefor real-time implementation - a general approachfor real-time has thus been to investigate simpleroptimisation schemes such as dynamic program-ming. By acquiring images at video rates the designof 3D video scanners based on stereo vision hasemerged; this approach has been used to recon-struct highly realistic facial animations [6].

A quick glance at the literature shows that themajority of stereo vision systems reside in the non-commercial, academic domain. Despite this, a num-ber of commercial stereo vision systems are avail-able, but share a common trait in only using verysimple stereo correspondence algorithms runningin hardware: the Focus Robotics’ PCI nDepth Vis-ion System [7] and the Point Grey Research’s Bumble-bee Stereo Vision Camera System [8] both use thesum of absolute differences (SAD) approaches. TyzxInc.’s Deep Sea Product line, uses the Census match-

Page 3: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 3/8

ing algorithm [9], a hardware efficient yet relat-ively simple algorithm, and the Surveyor Corpor-ation’s SVS system [10] provides a hardware plat-form but no inbuilt stereo processing. These ex-amples reflect the computational burden imposedby dense stereo correspondence algorithms - there-

fore we have looked at leveraging the parallelismof the GPU to provide real-time stereo vision, anarea which is now quite active e.g. [11, 12] aregood examples. Other hardware platforms such asstereo vision on FPGAs has also being investigated[13], but the benefits of GPUs lie in their cheapercost, ease of programming and rapidity of compil-ation, and in turn scalability through code flexib-ility, and the rate at which newer and faster cardsappear on the market (a new generation of cardappears roughly every year). Lastly, the aforemen-tioned commercial vision systems do not come with

a complete visual framework like VisionServer.

3 System Hardware

System hardware design consists of two Basler AceacA1300-30gm video cameras mounted and alignedon aluminum plates to conform as near as possibleto standard stereo geometry (described in Sec. 4.1).Any remaining misalignment is accounted for insoftware through image rectification, see Sec. 5.

Table 1: Hardware Platform

Cameras: Two Basler Ace acA1300-30gmarea scan cameras, capable of 1296 x 966 pixel images.Gig-E 1/3 sensor.

Camera lenses: Fujion TF4DA-8 4 mm f/2.2C-Mount.

Computer: Intel Core i7 960 @ 3.2 GHz,6.00 GB RAM.

Operating System: Windows 7 64-bit.Graphics card: NVIDIA GTX 470 with

1280 MB RAM.

The Basler Ace cameras connect to a desktop com-puter running VisionServer through gigabit Ether-

net and are powered using Power over Ethernet(PoE).

4 Camera Model and Binocular

Stereo

VisionServer’s geometric camera model is based oncentral projection, defining a camera’s intrinsic andextrinsic parameters and lens distortion is mod-elled using low order polynomials. To estimatethese camera parameters a camera calibration pro-

cedure must be performed, currently the Tsai andOpenCV calibration approaches are supported (see[14, 15] and [1, 16] for details).

Figure 2: The geometric camera model with distortion

correction [17].

Intrinsic parameters determine pixel coordinatesof an image point, given in the camera referenceframe. Extrinsic parameters describe the location

and orientation of the camera in a world coordin-ate frame. The projection of a 3D point, P =(X,Y,Z, 1)T , represented in homogeneous coordin-ates in a world coordinate frame, into a point p =(u,v, 1)T , in pixel coordinates is given by:

sp = K[R|T]P, (1)

the scale factor s exists due to the homogeneousrepresentation of a pixel position.

The rigid transformation of a camera in a sceneis described by the extrinsic camera parameters

contained in the joint rotation-translation matrix[R|T], where T = −RO and O is the camera op-tical centre defined in the world coordinate frame- this is often referred to as just the matrix of extrinsic parameters. The camera matrix, K, ormatrix of intrinsic parameters contains focal lengthscaled by pixel scale factors, (f x, f y) and the prin-cipal point c = (xc, yc).

The camera model in Equ. (1) assumes linearityto be an accurate representation of the imagingprocess. However, in reality there exist deviationsfrom this - many of these are systemic within the

lens optics and are dealt with by a polynomialdistortion model that accounts for deviations fromthe ideal pinhole camera model [18]. Adjustmentis made to the distorted image plane coordinatepd = (xd, yd), to generate an undistorted coordin-ate pu = (xu, yu). The Tsai calibration algorithmmodels a single order radial distortion κ1, whereasthe OpenCV calibration algorithm models up tothe second order in both radial κ1, κ2 and tangen-tial distortions ρ1, ρ2.

The full geometric camera model is depicted inFig. 2. Once a system is calibrated, metric inform-

ation of the scene from the non-metrical projectivegeometry can be obtained through this section’sequations.

Page 4: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 4/8

4.1 Binocular Stereo Principles

Binocular stereo involves the recovery of depth in-formation from a pair of cameras viewing the samescene. The stereo correspondence problem involvesthe identification of conjugate points in the stereo

image pair. Through only the parallax of conjugatepoints one can computationally evaluate the depthover a scene.

The vectorial difference in pixel coordinates of theprojection of a point P into the two image planesis known as the disparity , d, or parallax.

A commonly used stereo camera geometry is thestandard stereo geometry (SSG), also known asthe canonical stereo geometry. This describes aparticular camera setup where image planes arecoplanar and epipoles1 exist at infinity. It followsthat the SSG has scalar disparities and the sym-

metric epipolar constraint applies:

d = |x1 − x2| = x1 − x2. (2)

For computational efficiency, stereo correspondencealgorithms assume a SSG setup and they outputdata in the form of a scalar disparity map D(x, y),defined in disparity space, (x,y,d), given by theimage spatial dimensions and disparity in the ranged ∈ [dmin, dmax].

5 Stereo Image RectificationStereo image rectification is the process of trans-forming a stereo image pair to conform to standardstereo geometry (SSG). Rectification reduces a 2Dsearch over the image for conjugate points into a1D search along scanlines and a quality rectifica-tion is important for getting good results. Vision-Server implements a calibration based rectificationapproach over a feature point, fundamental mat-rix approach such as in [19]. This gives greaterrectification precision and is suitable for camerasarranged near standard stereo geometry. Rectified

images can be conceptualised as being acquired bythe system after the original cameras have beenrotated to a common orientation. This commonorientation is calculated using the calibration para-meters.

6 Depth Map Computation us-

ing the Semi-Global Matching

Algorithm on the GPU

A dense stereo correspondence algorithm was usedto acquire a dense disparity map, D. From previ-

ous studies, a wide range of algorithmic approaches1Points of intersection of the baseline with the image

planes.

are available, ranging from the simplest winnertakes all (WTA) strategies, to 1D optimisation suchas dynamic programming, to full 2D optimisationtechniques like belief propagation and graph-cuts[21, 4]. Generally, the more complex algorithmshave longer computation times and the most suit-

able approach for real-time stereo is an algorithmthat can be easily scaled up in quality when fasterhardware becomes available. To this end the Semi-global matching (SGM) algorithm, first proposedby Hirschmuller [22], was chosen. This algorithm isbased around multiple 1D dynamic programmingoptimisations in different scans through the dispar-ity cost volume. Dynamic programming withoutback-tracing has a very small memory footprintand only requires the previous disparity columnto be stored in local memory as the algorithm pro-gresses. The entire stereo correspondence algorithm

exists as a single function block within VisionServer;the block accepts a stereo image pair and the al-gorithm’s run-time parameters.

6.1 Pixelwise Cost Calculation

A disimmilarity measure C  is taken between eachpixel grey-value at p = (x, y) in the base image,I b(p), and at q = (x − d, y), d ∈ [dmin, dmax] inthe match image, I m(q). This measure is takenas the sum of dissimilarities within local match-ing windows around p and q (of size M  × N ),appropriate sizes were empirically found to be in

the range M, N  ∈ [1, 15]. Any suitable measurecan be chosen and for the current implementationthe user has the choice of the Birchfield and To-masi sampling insensitive cost measure C BT  [23],or the sum of absolute pixelwise differences (SAD),C SAD . The similar sum of squared differences (SSD)measure was discarded due to its empirically found,slightly worse performance compared to SAD.

Cost calculation operates under the photo-consistencyassumption; that object points appear with thesame intensity in both images. This is one reasonwhy traditional stereo algorithms struggle with highly

specular, reflective surfaces that will appear differ-ent in each image. To enforce photo-consistencyit is important to ensure that stereo cameras arephotometrically calibrated. Although some stereoalgorithms can cope with pixel intensity contrastand offsets (e.g. through the use of the normalisedcross correlation similarity metric), prior removalof such imaging discrepancies is preferable.

6.2 SGM Optimisation Step

For a particular scan direction v, the cost Lv(p, d)for a pixel position p and disparity d is recursivelygiven as:

Page 5: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 5/8

Lv(p, d) = C (p, d) + min(Lv(p− v, d),

Lv(p− v, d − 1) + P 1,

Lv(p− v, d + 1) + P 1, M p,v + P 2) − M p,v

(3)

where M p,v = mini Lv(p − v, i) is the minimummatching cost for the previous pixel position, p−v.The regularisation parameters, P 1 and P 2 (P 1 ≤P 2), are set with respect to local matching windowsize since pixel-wise costs are summed. Costs Lv

are summed over directional scans through the costvolume:

S (p, d) =

ni=1

Lvi(p, d) (4)

where n is the number of scan directions and the

upper limit for S  is S  ≤ n(C max + P 2), here C max

can be set to an arbitrary ‘large’ value, dependenton an implementation’s primitive data type. Fi-nally, the disparity for pixel p can be chosen bytaking the minimal aggregated cost of the columnS (p, ∗).

The computational complexity of the algorithm isO(W Hdrange) [22], where W, H  are the dimensionsof the input images and drange = dmax − dmin isthe disparity range. Here, the number of optim-isation passes and local matching window size arethe parameters that most influence computation

time. Regularisation parameters P 1 and P 2 controlhow smooth the disparity volume should be andact to remove noise. When P 1 = P 2 = 0 thealgorithm functions as a simple WTA approach.With a single optimisation pass along scanlines,SGM performs as a traditional dynamic program-ming stereo algorithm. This scalability allows awide generation of GPUs to be supported. Ourcurrent implementation was written in CUDA us-ing the NVIDIA GTX 470 graphics card.

6.3 Occlusion Detection

Occlusions can be found by comparing disparitymaps generated using the costs from matching thebase image to the match image, Db, and costs frommatch to base, Dm. The final disparity map, D,can be marked with invalid disparities, dinvalid, if the two conjugate disparity values from both mapsdiffer by a threshold φ:

D(p) =

Db(p) if  |Db(p) − Dm(q)| < φ

dinvalid otherwise(5)

where | · | denotes the absolute value. Occlusionidentification is an enforcement of the uniqueness

constraint , where only one to one mappings betweenconjugate pixels are allowed. Using a thresholdvalue φ relaxes this constraint and for practicalsituations it can be set as high as 8 pixels when onlythe most prominent occlusions are sought after.

6.4 Data Visualisation

A traditional method to visualise a disparity mapD is as a height map image, I , where the dis-parity range is mapped to [0, 255] and each pixelposition is assigned a grey-value, e.g. as in Fig.3e. The downside of this approach is that it canbe hard to see the change in depth over the dis-parity map. To address this a colour mappingof a grey scale image, I , to the hue range of theHSV colour space was performed. The HSV colourspace is then mapped to the RBG colour spaceby the function f  : (H,S ,V ) → (R,G,B). Theinput to f  is the triplet (sI (p), 1, 1), with s be-ing a scale factor to exploit the convention H  ∈[0, 360]; S, V  ∈ [0, 1]; R,G,B ∈ [0, 255]. This map-ping procedure can be seen in the results shown inFig. 4.

7 Designing the System in Vis-

ionServer

The theory presented in sections 4-6 has been im-plemented as function blocks within VisionServer.

For the designer of a computer vision applicationthis means that a large amount of code need not bewritten and application creation only involves thevisual manipulation of functional blocks in a drag-and-drop environment along with some scripting.

Required function blocks are chosen from a menuand dragged into the sequence editor. Their inputsand outputs can then be connected in order to con-struct the logical flow of the system process. Blocksfor each of the theoretical components describedin this paper are available for the design of thesystem. Additionally, variables and overall system

control are handled through a GUI that was alsocreated within VisionServer.

As shown earlier, Figure 1 shows a screen-captureof VisionServer’s user interface - here function blocksare arranged and connected, demonstrating the easeof creation and how the theory presented in thispaper is subsumed into VisionServer blocks.

8 Results

Figure 4 shows depth map results of the stereovision system running a seven pass stereo recon-

struction and using the colour mapping techniqueof Sec. 6.4. Figure 3 shows the reference leftcamera image that acted as the base image for

Page 6: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 6/8

(a) (b) (c)

(d) (e) Grey-valued heightmap of Fig. 3a

Figure 3: A selection of test images using our stereo system. These images are the base (left) images of the stereo

pairs given as input into our stereo correspondence algorithm. The depth data for these test images, visualised

in colour, is shown in Fig.s 4a-4d. As an example, a grey-valued height map visualisation of Fig. 3a is shown in

Fig. 3e; the colour visualisation provides a lot more fidelity in change of depth to the human eye.

(a) (b)

(c) (d) With occlusion detection.

Figure 4: Visualisations using the depth-to-colour mapping described in Sec. 6.4. Sub-figure 4d shows an example

of occlusion detection where poor disparity values are discarded and set to zero disparity (for colour reproductions

of this paper, a zero disparity is shown in red); this is most easily seen around the right (physical) side of the

hands, face and torso.

these depth map results - each pixel position of thebase image maps one to one with the depth map.

For reference, Fig. 3e shows an example grey-scaleheight map, where closer points are lighter. Figure

Page 7: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 7/8

4 shows how the colour mapping brings out thedetail of the test subject’s collared vest (in thefirst three images) and the creasing in the clothing.This detail is something that is very hard to seewhen using a grey-scale height map visualisation.

The input image size was 648 × 482 pixels, with anadjustable disparity range of 0 − 256 units. Thesystem was capable of running a single-pass dy-namic programming stereo reconstruction at over60 fps when the disparity range was set to 196.With seven passes, results were dramatically im-proved but the frame-rate dropped to around 12fps. To gain an appreciation of the speedup thatthe GPU provides: for the seven pass algorithm asingle reconstruction took about 0.08 seconds whilea comparable CPU implementation running on thesame computer took approximately 7 seconds, thisis roughly an 87 fold increase in speed for the GPU

implementation. It is worthwhile noting that costvolume calculation took 5 seconds for the CPUimplementation and it is also wise to assume thatfurther CPU optimisations would reduce the notedspeed increase, however not by an amount to dis-regard the benefit a GPU offers stereo vision.

Figure 4d shows a result with occlusion detectionturned on - erroneous disparity values are discardedand set to zero disparity (for colour reproductionsof this paper, a zero disparity is shown in red); thisis most easily seen around the right (physical) sideof the hands, face and torso. At the bottom of 

this same figure the top of a chair can be seen (inyellow).

Generally, noise appears in the background regionsof these results, especially in the over-exposed win-dow region in the right side of the images. Largehomogeneous regions such as the walls were poorlyreconstructed. The algorithm sometimes had dif-ficulty delineating a person’s fingers, primarily dueto occlusions and also illumination variation betweenimages. Using longer camera focal lengths, thussetting the view volume further away, could reducelarge occlusions. It is also a general feature that

reflective and specular objects, e.g. glass bottles,are poorly reconstructed due to their different ap-pearance in each stereo image.

Being able to view a stereo algorithm in real-timeprovides a great deal of insight into how its run-time parameters affect results. It was found thatthe most important regularisation parameter of theSGM algorithm was P 2, which penalises large changesin depth value. To retain fine detail P 1 shouldbe set much lower than P 2 but high enough tominimise surface noise. By adding further scansto the stereo algorithm the initial cost calculation

window can also be reduced - this actually has theaffect of reducing noise while also providing a slightspeedup in computation time. Of course, these are

general guidelines and parameters often have to beselected depending on scene content.

9 Conclusion

This paper has demonstrated how the VisionServerframework was used to develop a stereo vision sys-tem which runs in real-time on consumer hardwareby leveraging the computational power of a GPU.The required theory and algorithms were imple-mented as function blocks within VisionServer, al-lowing the system to be rapidly designed in a drag-and-drop sequencing environment.

Modularising many low-level vision and image pro-cessing tasks greatly eases application design andpromotes code reusability and application sharing.We see the intuitive GUI approach of VisionServer,along with the ability to write custom code and

script blocks as key to creating larger and morecomplex computer vision applications.

The benefits of real-time stereo have also been elu-cidated: the interactive adjustment of a stereo al-gorithm’s parameters provided greater insight intoits operation. This made it easier to fine tunestereo parameters, validate system settings, andvisually appraise the types of depth map artifactsthat can occur due to occlusions and specularities.This a step up from when one had to wait secondsto hours for comparable CPU based stereo results.

Future work will involve further optimisations to

the GPU stereo vision implementation. Frame-rates can be increased as the current top of theline NVIDIA card, the GTX 480, is roughly 25%faster than the card used in this paper (the GTX470), and there is also the benefit of multi-GPUconfigurations using technologies such as SLI.

For many applications, further processing of depthdata is often necessary and research into 3D fea-ture detection and visualisation approaches will beundertaken.

Future plans for VisionServer are to continually

expand the functionality of the framework and, of special interest for the vision community, the abil-ity to share user written function blocks uploadedto the VisionServer website [3].

References

[1] Open source BSD license, “OpenCV computervision library,” Open source BSD license.,2010. [Online]. Available: http://sourceforge.net/projects/opencvlibrary/. [Accessed: Sep.14, 2010].

[2] Cognex Corp., “Cognex Machine Vision Sys-

tems and Machine Vision Sensors,” 2010.[Online]. Available: http://www.cognex.com/Main.aspx. [Accessed: Sep. 16, 2010].

Page 8: Ivcnz2010 Ivcnz Format

8/6/2019 Ivcnz2010 Ivcnz Format

http://slidepdf.com/reader/full/ivcnz2010-ivcnz-format 8/8


Recommended