a robust negative obstacle detection method using seed-growing and dynamic programming for...

8
OR PROOF A Robust Negative Obstacle Detection Method Using Seed-Growing and Dynamic Programming for Visually-Impaired/Blind Persons Saeid FAZLI , Hajar Mohammadi DEHNAVI, and Payman MOALLEM 1 Electrical Department, Engineering Faculty, Zanjan University, Zanjan 45371-38111, Iran 1 Electrical Department, Engineering Faculty, University of Isfahan, Isfahan 45156-14669, Iran (Received April 27, 2011; Accepted September 2, 2011) Though a significant amount of work has been done on detecting obstacles, not much attention has been given to the detection of drop offs, e.g., sidewalk curbs, downward stairs, and other hazards. In this paper, we propose algorithms for detecting negative obstacles in an urban setting using stereo vision and two-stage dynamic programming (TSDP) technique. We are developing computer vision algorithms for sensing important terrain features as an aid to blind navigation, which interpret visual information obtained from images collected by cameras mounted on camera legs nearly as high as young person. This paper focuses specifically on a novel computer vision algorithm for detecting negative obstacles (i.e. anything below the level of the ground, such as holes and drop-offs), which are important and ubiquitous features on and near sidewalks and other walkways. The proposed algorithm is compared to other algorithms such as belief propagation and random growing correspondence seeds (GCS). According to the results, the proposed method achieves higher speed, more accurate disparity map and lower RMS errors. The speed of the proposed algorithm is about 28% higher than the random GCS algorithm. We demonstrate experimental results on typical sidewalk scenes to show the effectiveness of the proposed method. # 2011 The Japan Society of Applied Physics Keywords: obstacle detection, stereo matching, negative obstacle, blind navigation, visually impaired 1. Introduction Obstacle detection is an important task for many mobile robot and visually impaired/blind assistance applications. Imagine a visually impaired/blind person walks from home to a market to shop for necessities or to a bank or other important function. This person would likely have to walk through corridors avoiding people and furniture (obstacles), along sidewalks at a safe distance from the curb, and possibly cross streets. Thus, walking in a common daily environment requires the detection and avoidance of obstacles, drop-offs, and other hazards. Safety is essential. Table 1 categorizes some common hazards that a visually impaired/blind person or robot can expect to find in an urban setting. 1) A good obstacle detection system must be capable of the following: 2) . To detect obstacles on a given space in good time . To detect and identify correct obstacles . To identify and ignore ground features that may appear as obstacles Popular sensors for range-based obstacle detection systems include ultrasonic sensors, 3,4) laser rangefinders, 5) radar, 6) and stereo vision. 7) As these sensors measure the distances from obstacles to the person, they are inherently suited for the tasks of obstacle detection and avoidance. Laser range- finders have predominantly been the sensor of choice because they provide accurate range data with very little noise. Range sensors are unable to distinguish between different types of ground surfaces. This is a problem especially in outdoors, where range sensors are usually unable to differentiate between the sidewalk pavement and adjacent flat grassy areas. Cameras are used less frequently, and as a secondary information source because they are sensitive to environmental changes and the data they return is more difficult to interpret. 8) But, the information from a camera can be used for purposes other than safety, such as object recognition. Stereo vision is an area of study in the field of machine vision that attempts to recreate the human vision system by using two or more two dimensional views of the same scene to derive three dimensional depth information about the scene. As an emerging technology, stereo vision algorithms are constantly being revised and developed. Stereo vision based obstacle detection is an algorithm that aims to detect and compute obstacle depth using stereo matching and disparity mapping. Depth information can be used to track moving objects in 3D space, gather distance information for scene features, or to construct a 3D spatial model of a scene. Similar ideas of using stereo images for the visually impaired/blind people’s navigation have been proposed in refs. 9 and 10. Stereo vision based methods are quite commonly used for obstacle detection and navigation. Gutmann et al. 11) propose a stereo vision-based navigation system for humanoid robots, using a 2.5D grid to represent Table 1. Common hazards in urban environments. Hazards Examples Drop offs Sidewalk curbs, downward stairs, steps Obstacles: Static Walls, furniture Dynamic People, doors Invisible Glass doors and glass walls Overhangs Table tops, railings, tree branches Inclines Wheelchair ramps, curb cuts Rough surfaces Gravel paths, grass beds Narrow regions Doorways, elevators E-mail address: [email protected] OPTICAL REVIEW Vol. 18, No. 6 (2011) 1–8 OR11032R 1

Upload: independent

Post on 04-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

OR

PROOF A Robust Negative Obstacle Detection Method Using Seed-Growing

and Dynamic Programming for Visually-Impaired/Blind PersonsSaeid FAZLI

�, Hajar Mohammadi DEHNAVI, and Payman MOALLEM1

Electrical Department, Engineering Faculty, Zanjan University, Zanjan 45371-38111, Iran1Electrical Department, Engineering Faculty, University of Isfahan, Isfahan 45156-14669, Iran

(Received April 27, 2011; Accepted September 2, 2011)

Though a significant amount of work has been done on detecting obstacles, not much attention has been given to thedetection of drop offs, e.g., sidewalk curbs, downward stairs, and other hazards. In this paper, we propose algorithmsfor detecting negative obstacles in an urban setting using stereo vision and two-stage dynamic programming (TSDP)technique. We are developing computer vision algorithms for sensing important terrain features as an aid to blindnavigation, which interpret visual information obtained from images collected by cameras mounted on camera legsnearly as high as young person. This paper focuses specifically on a novel computer vision algorithm for detectingnegative obstacles (i.e. anything below the level of the ground, such as holes and drop-offs), which are important andubiquitous features on and near sidewalks and other walkways. The proposed algorithm is compared to other algorithmssuch as belief propagation and random growing correspondence seeds (GCS). According to the results, the proposedmethod achieves higher speed, more accurate disparity map and lower RMS errors. The speed of the proposedalgorithm is about 28% higher than the random GCS algorithm. We demonstrate experimental results on typicalsidewalk scenes to show the effectiveness of the proposed method. # 2011 The Japan Society of Applied Physics

Keywords: obstacle detection, stereo matching, negative obstacle, blind navigation, visually impaired

1. Introduction

Obstacle detection is an important task for many mobilerobot and visually impaired/blind assistance applications.Imagine a visually impaired/blind person walks from hometo a market to shop for necessities or to a bank or otherimportant function. This person would likely have to walkthrough corridors avoiding people and furniture (obstacles),along sidewalks at a safe distance from the curb, andpossibly cross streets. Thus, walking in a common dailyenvironment requires the detection and avoidance ofobstacles, drop-offs, and other hazards. Safety is essential.Table 1 categorizes some common hazards that a visuallyimpaired/blind person or robot can expect to find in an urbansetting.1) A good obstacle detection system must be capableof the following:2)

. To detect obstacles on a given space in good time

. To detect and identify correct obstacles

. To identify and ignore ground features that may appearas obstacles

Popular sensors for range-based obstacle detection systemsinclude ultrasonic sensors,3,4) laser rangefinders,5) radar,6)

and stereo vision.7) As these sensors measure the distancesfrom obstacles to the person, they are inherently suited forthe tasks of obstacle detection and avoidance. Laser range-finders have predominantly been the sensor of choicebecause they provide accurate range data with very littlenoise. Range sensors are unable to distinguish betweendifferent types of ground surfaces. This is a problemespecially in outdoors, where range sensors are usuallyunable to differentiate between the sidewalk pavement andadjacent flat grassy areas. Cameras are used less frequently,

and as a secondary information source because they aresensitive to environmental changes and the data they returnis more difficult to interpret.8) But, the information from acamera can be used for purposes other than safety, such asobject recognition.

Stereo vision is an area of study in the field of machinevision that attempts to recreate the human vision system byusing two or more two dimensional views of the same sceneto derive three dimensional depth information about thescene. As an emerging technology, stereo vision algorithmsare constantly being revised and developed. Stereo visionbased obstacle detection is an algorithm that aims to detectand compute obstacle depth using stereo matching anddisparity mapping. Depth information can be used to trackmoving objects in 3D space, gather distance information forscene features, or to construct a 3D spatial model of a scene.

Similar ideas of using stereo images for the visuallyimpaired/blind people’s navigation have been proposedin refs. 9 and 10. Stereo vision based methods are quitecommonly used for obstacle detection and navigation.Gutmann et al.11) propose a stereo vision-based navigationsystem for humanoid robots, using a 2.5D grid to represent

Table 1. Common hazards in urban environments.

Hazards ExamplesDrop offs Sidewalk curbs, downward stairs, stepsObstacles: Static Walls, furnitureDynamic People, doorsInvisible Glass doors and glass wallsOverhangs Table tops, railings, tree branchesInclines Wheelchair ramps, curb cutsRough surfaces Gravel paths, grass bedsNarrow regions Doorways, elevators

�E-mail address: [email protected]

OPTICAL REVIEW Vol. 18, No. 6 (2011) 1–8OR11032R

1

OR

PROOF

the world, each grid cell having a height and a label (floor/obstacle). To get accurate floor heights, the raw range data issegmented into planes. James Coughlan and Huiying Shen12)

propose a method to detect curbs based stereo vision forblind wheelchair users but small changes in aligning pairedimages incapacitate their method. Therefore, if this methodis used for a blind person and that system is mounted on his/her head, changes will be unavoidable. Two calibrated lasersensors and stereo camera are used by Murarka et al.1) forcolor segmentation and motion based obstacle detection.Although this method is robust to detect both obstacles anddrop-offs, it is quite expensive and complicated and stillsuffers from the changes in aligning paired images.

Most of the work referred to in the previous paragraphused stereo systems with an active sensor. However, ourwork is just based on stereo vision and focuses on a differentdomain in which the features of interest are difficult to detectfrom depth information alone because the depth changes thatcharacterize these obstacles may be small relative to thedistances at which they are viewed, and may be swampedby noise in the depth information estimated from stereocomputer vision algorithms. Since an error can lead todisastrous consequences, it is essential for visually impaired/blind people to detect native obstacles with a high degree ofaccuracy. Hence, we experimentally measure the error ratesof the algorithms. We use cameras as the only sensors insteadof lasers or other active sensors, because cameras signifi-cantly provide much more information in a single frame ofdata. This paper will research one of computer vision’s mostimportant contributions to navigation and negative obstacledetection for a visually impaired/blind person.

The next section presents some algorithms on stereomatching including disparity component growing, dynamicprogramming and segment-based stereo matching usingbelief propagation. Then the proposed algorithm is explainedin details and its advantages are discussed in §3. The pro-posed method combines area based and feature based match-ing algorithms using growing component seeds and TSDPoptimization. Section 4 contains some experimental resultson well-known databases to show some advantages of theproposed method. Finally conclusion forms the last section.

2. Matching Algorithm

Matching techniques can be divided broadly into pixel-based, area-based and feature-based image matching, or acombination of them. Other types of stereo matchingmethods such as diffusion-based,13) wavelet-based,14)

phase-based,13) and filter-based15) have also been developedthat are used less than the first three types (pixel-based, area-based and feature-based methods).

The global algorithms formulate the problem of thedisparity computation as an energy-minimizing problem andwhen the smoothness assumption of the disparity map isusually made there is some kind of function matching forstereo matching such as; sum of squared difference (SSD),sum of absolute difference (SAD), sum of hamming distance(SHD) and normalized cross-correlation (NCC)16–18) asfollows:

SSDð f ; gÞ ¼Xði; jÞ2W½ f ði; jÞ � gði; jÞ�; ð1Þ

SADð f ; gÞ ¼Xði; jÞ2W

j½ f ði; jÞ � gði; jÞ�j; ð2Þ

SHDð f ; gÞ ¼Xði; jÞ2W½ f ði; jÞXORgðiþ d; jÞ�; ð3Þ

NCCð f ; gÞ ¼ð f � �ff Þ � ðg� �ggÞjf � �ff j � jg� �ggj

: ð4Þ

Let f be the intensity value of an M� N image and the leftimage within a box. We also have a similar definition for asecond image g shifted d pixels in the x-direction.

For a particular feature or a local window in one image,there are usually several matching candidates in the otherimage. It is usually necessary to use additional informationor constraints to assist in obtaining the correct match. Someof the commonly used constraints are: (1) epipolar con-straint: under this constraint, the matching points must lieon the corresponding epipolar lines of the two images.For epipolar rectified images, the matching points lie onthe same image scanlines of a stereo pair; (2) uniquenessconstraint: matching should be unique between the twoimages; (3) smoothness constraint: local regions of thedisparity map should be relatively smooth apart from regionswith occlusion or disparity discontinuity; and (4) orderingconstraint or monotonicity constraint: for points along theepipolar line in one image of the image pair, the corre-sponding points have to occur in the same order on thecorresponding epipolar line in the other image. Otherconstraints mentioned will be used in the dynamic program-ming stage when obtaining the disparity map from thecorrelation coefficient volume.19)

2.1 Disparity component growthThe basic idea is to grow contiguous components in

disparity space from initial correspondence seeds sorted indecreasing value of image similarity and to stop the growthprocess at image pixels where uniqueness constraint wouldbe violated. The growth occurs in the neighborhood ofprevious matches in disparity space. This creates new seedsthat are put to the priority queue.

Suppose we are given an unsorted list of disparity seeds S.Each seed is a point in disparity space, s ¼ ðx; x0; yÞ. Itsneighborhood NðsÞ in disparity space consists of 16 pointconstructed from four sub-sets N1ðsÞ

SN2ðsÞ

SN3ðsÞ

SN4ðsÞ, see Fig. 1:20)

N1ðsÞ¼ fðx� 1; x0 � 1; yÞ; ðx� 2; x0 � 1; yÞ; ðx� 1; x0 � 2; yÞg;

ð5ÞN2ðsÞ¼ fðxþ 1; x0 þ 1; yÞ; ðxþ 2; x0 þ 1; yÞ; ðxþ 1; x0 þ 2; yÞg;

ð6ÞN3ðsÞ¼ fðx; x0; y� 1Þ; ðx� 1; x0; y� 1Þ; ðx; x0 � 1; y� 1Þg; ð7Þ

N4ðsÞ¼ fðx; x0; yþ 1Þ; ðx� 1; x0; yþ 1Þ; ðx; x0 � 1; yþ 1Þg: ð8Þ

2 OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al.

OR11032R

OR

PROOF

The neighborhood is selected so as to limit the magnitude ofdisparity gradient to unity and to improve the ability tofollow a disparity component even if the image similaritypeak falls in between pixels in the matching table. Assumingsimilarity is computed from small image windows aroundpixels ðu; vÞ and ðu0; vÞ by the normalized cross-correlation,we prepare an empty matching table � and start growingdisparity components by drawing an arbitrary seed s from S,adding it to �, individually selecting the best-similarityneighbors qi over its four sub-neighborhoods NiðsÞ:

qi ¼ ðu; u0; vÞi ¼ arg max|fflfflfflffl{zfflfflfflffl}ðx;x0;yÞ2NiðsÞ

similðx; x0; yÞ ð9Þ

and putting these neighbors qi to the seed list if theirinterimage similarity exceeds a threshold. Hence, up to fournew seeds are created. If we draw a seed from the list S thatis already a member of the matching table, then we discardit. The growth must stop in a finite number of steps byexhausting the list S. The output from the growth phase is apartially filled matching table whose connected regions in3D represent disparity components grown around the initialseeds. Chec et al. use the maximum strict sub-kernel (SSK)for matching. For more information about SSK you can seerefs. 21–23.

2.2 Dynamic programmingDynamic programming strategy has a cost matrix with the

nodes representing the weight of matching a pixel in the leftimage with a pixel in the right image. The cost of matchingpixel x in the left image and pixel y in the right image can becomputed based on the costs of matching all pixels in the leftof these two pixels. If one assumes the ordering constraint,the optimal path computed to match the pixels in left andright images will result in the best set of matches for thepixels in left and right images.

Dynamic programming is an effective strategy to computecorrespondences for pixels. This method is finding theminimum cost path going monotonically down and rightfrom the top-left corner of the graph to its bottom-rightcorner.24) Different optimization techniques, including dy-namic programming (DP),25) graph cuts,7,26) and geneticalgorithm,27) have been applied under this framework. These

techniques try to find a global optimized solution undersome given parameters. However, due to the complex natureof the stereo vision problem, it is difficult, if not impossible,to have a universal set of parameters that can produce gooddisparity maps for different stereo images. In fact, evenwithin a single image, it is highly possible that differentregions should use different parameters since the signal-to-noise ratio may vary within the image. As a result, the bestsolution in terms of the given parameters may not necessa-rily be a good solution.28,29)

The key difference between dynamic programming andsimple recursion is that a dynamic programming algorithmmemorizes the solutions of optimal sub-problems in anorganized, tabular form (a dynamic programming matrix),so that each sub-problem is solved just once.

Dynamic programming matches lines to lines. They canalso use the matches found for previous pixels in the samescan line in the computation for the subsequent pixels.30,31)

In ref. 32, Sun used the matching problem as an optimiza-tion one of the total cross-correlation scores over a surfacethrough a 3D cross correlation volume (height, width, andthe disparity range of a region) and the matching is solvedefficiently using a two-stage dynamic programming algo-rithm, where cross-correlation scores are maximized alongpaths in the 3D cross-correlation volume. Note that byusing a global matching criterion, accurate cross-correlationsare needed at all locations since they affect the optimal pathestimation and thus the matching. As cross-correlationscan change significantly even at sub-pixel level, in orderto achieve optimal matching, sub-pixel accuracy cross-correlations need to be calculated.33)

2.3 Segment-based stereo matching using beliefpropagation

Belief propagation is an iterative inference algorithm thatpropagates messages in the network.13) Lankton34) offeredthe segment-based stereo matching using belief propagationalgorithm. The first step is to get an estimate of the disparityat each pixel in the image. As the two images ‘‘slide’’ overone another he subtracts their intensity values. Additionally,he subtracts gradient information from the images (spatialderivatives). Combining these gives better accuracy, espe-cially on surfaces with texture. He records the offset whenthe difference is the smallest as well as the value of thedifference. He performs this slide-and-subtract operationfrom right-to-left (R–L) and left-to-right (L–R). Then hetries to eliminate bad pixels in two ways. First, he uses thedisparity from the R–L pass or the L–R pass depending onwhich has the lowest matching difference. Next, he marks asbad all points where the R–L disparity is significantlydifferent from the L–R disparity. In the next step, hecombines image information with the pixel disparities to geta cleaner disparity map. First, he segments the referenceimage using a technique called ‘‘mean shift segmentation’’.This is a clustering algorithm that ‘‘over-segments’’ theimage. The result is a very ‘‘blocky’’ version of the originalimage. Then he modified the algorithm by looking at theassociated pixel disparities, for each segment.

Fig. 1. (Color online) Disparity space neighborhood used in thispaper.

OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al. 3

OR11032R

OR

PROOF

In this paper we refer to Lankton’s algorithm as‘‘algorithm1’’ and the modified one as ‘‘algorithm2’’ inorder to compare our proposed method with Lankton’s in §4.

3. Proposed Method

In this section, we propose a novel feature-area basedstereo matching algorithm. The proposed method consists ofthree phases and two stages of matching. The three phasesinclude computing a disparity map, detecting negativeobstacles and computing depth. The first phase containsthe two stages of matching; primary and secondary feature-area based matching. The second stage is a matching basedon features, and then on every feature we use an above-mentioned window of special neighbors. Although in thisway we achieve a robust matching, for decreasing errors weoptimize the disparity map using TSDP. Dense depth mapcalculation is a process in which, given two images Il and Ir,each pixel of Il is matched to a pixel in Ir. In our case thematch can be expressed as a displacement for each pixelpðx; yÞ 2 Il to a pixel qðx0; y0Þ 2 Ir. The problem of selectingoptimal matches between pixels is solved by DP. The DPapproach returns an optimal match for each scan line of theimages, but the differences between scan lines is a typicalproblem of this method. Thus, DP yields the optimal paththrough a grid. This is the best set of matches that satisfy theordering constraint.

In this paper we focus on detecting negative obstaclesin outdoor environments using vision-based algorithms andoptimizing by dynamic programming. It is necessary toknow that negative obstacles are more significant to detectbecause the risk of such obstacles is greater than others.Since an error can lead to disastrous consequences, it isessential for a blind person to detect negative obstacles witha high degree of accuracy and hence we experimentallymeasure the error rates of the algorithms. We use cameras asthe primary sensors instead of lasers, RADAR, ultrasound,or other hardware because cameras significantly providemuch more information in a single frame of data. Theproposed algorithm is a robust method for detecting negativeobstacles using growing correspondence seeds (GCS) ondetected edges. Detecting obstacles for blind person requireshigh speed determination of obstacles and their depth. Toachieve this, we need a fast stereo matching technique. Theother calculations consume a short amount of time, so theydo not significantly affect the system speed. We combinedMATLAB and C++ programs in this work.

As explained previously, the global algorithms formatching formulate the problem of the disparity computa-tion as an energy-minimizing problem and the smoothnessassumption of the disparity map is usually made. Thefunction matching in this paper is NCC function withdemanded accuracy which is calculated by eq. (4).

In this paper we use NCC function matching on a 5� 5

window as image similarity statistic in all experimentalresults. We prepare an edge matching table � and startgrowing disparity components by drawing a seed s from S

which is computed using canny edge detector, adding it to �.In this way we have higher performance than previous work

such as ref. 20. In ref. 20 Cech and Sara use random seedsbut we use matrix S which contains edges of the left and theright images. In this way, we combine area based and featurebased matching, thus the accuracy is increased for realimages. Another advantage of the proposed method isapplying edge feature matching on the neighborhood thusthe calibration stage in our previous works35,36) is omitted.Using previous methods, we would have had to calibrateimages to decrease errors but the proposed method does notneed any calibration. Matching edges, two stage matchingand optimizing disparity map using dynamic programmingguide us to achieve good performance even if calibrationis omitted. As the motion of a blind person’s head isunavoidable while navigating, the alignment of stereoimages might be unreliable in the stereo system.

A fast stereo matching algorithm is proposed that visitsonly a small fraction of disparity space in order to find asemi-dense disparity map. It works by growing from a smallset of correspondence seeds. Unlike in known seed-growingalgorithms, it guarantees matching accuracy and correctness,even in the presence of repetitive patterns. The quality ofcorrespondence seeds influences computing time, not thequality of the final disparity map.

For optimizing disparity map, we use two-stage dynamicprogramming. After some iterations of DP, accuracy isincreased compared to one stage DP.

Finally depth of obstacle is computed as follows:

Zðx; yÞ ¼f � Bdðx; yÞ

; ð10Þ

where f is focal length, B is base line (distance of camerascenter), dðx; yÞ is disparity value in row x and column y.

Table 2 shows pseudo-code of the proposed method.

4. Experimental Results

Here, we present some experimental results to show thestrength of the proposed method.

4.1 Example 1 from CMU CLI databaseThere is a stereo image from CMU CLI database called

‘‘Flowerpots’’. ‘‘Flowerpots’’ was chosen because it containsmany similar segments and therefore requires a moreefficient matching algorithm. Figure 2 shows the originalimage and the ground truth of the ‘‘Flowerpots’’. Outputs of

Table 2. Pseudo-code of the proposed method.

1. Calculating elementary disparity map with low accuracy2. Calculating minimum and maximum value of the disparity

map3. Feature extraction by canny edge detector (feature: edge)4. Calculating disparity based GCS algorithm in 3D boxes

for every feature5. Optimizing disparity map by TSDP6. Applying adaptive mean filter (first stage of removing noise)7. Canny edge detection with threshold 0.078. Second stage of removing noise9. Determining the negative obstacles’ position10. Calculating the depth of negative obstacles

4 OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al.

OR11032R

OR

PROOF

the four mentioned algorithms including ‘‘algorithm1’’,‘‘algorithm2’’ (the modified version of ‘‘algorithm1’’), GCSand the proposed method are presented in Fig. 3. Althoughthere are many similar segments in the images, as can beseen the proposed method achieves higher similarity to theground truth.

4.2 Example 2 from the database of ref. 20There is a stereo image from the database of ref. 20 called

‘‘Head’’. Figure 4 shows the original images. In these twoimages not only are the images not calibrated, but the sceneis also changed. The results of the four algorithms arepresented in Fig. 5. Although there are many differences inthe left and right images, the proposed method achieves amore accurate disparity map than other methods.

4.3 Example 3 from database ref. 12The database contains some rectified images of a road

curb photographed from a 12 foot distance. The focal length

of the camera and the distance between cameras were 498.11pixels and 12 cm, respectively. Figure 6 shows the firstexample of negative obstacles and all stages of phase 2of the proposed method. The negative obstacle (curb) isdetected and the distance of obstacle (depth) is calculatedcorrectly as shown later.

4.4 Example 4 from database of ref. 12Here, the second example of negative obstacles from the

same source as example 3 is presented. Figure 7 shows theoriginal images and every stage of both phases 2 and 3 of theproposed method. The detected negative obstacle is shownin red rectangular. The depth of the negative obstacle iscalculated using eq. (10) which is 3.1 meters in this case.

Obstacle detection using only GCS algorithm for the samescene of Fig. 7 is presented in Fig. 8. Comparison of Figs. 7and 8 reveals that the proposed algorithm detects the rightnegative edge even in the presence of some changes in thetexture of ground as can be seen in the original image. GCSalgorithm results in incorrect negative edges as shown inFig. 8.

4.5 Quantitative evaluation of the methodsIn this section we calculate some quantitative criteria to

compare the mentioned algorithms. Well-known imagesincluding ‘‘Flowerpots’’, ‘‘Baby3’’, ‘‘Aloe’’, ‘‘Bowling2’’,‘‘cones’’, ‘‘poster’’, ‘‘Larch’’, and ‘‘Head’’ were chosen.Table 3 shows the run time of the matching stage for thefour algorithms on the mentioned images. The totalcalculation time of the proposed method is almost onesecond more than matching stage of all the four otheralgorithms. The results show that the proposed methodachieves higher speed than other methods. The speed of theproposed algorithm is about 28% higher than the randomGCS algorithm.

(a) (b)

Fig. 2. (Color online) Original image (a) and ground truth (b) offlowerpots.

(a) (b)

(c) (d)

Fig. 3. (Color online) Disparity maps of (a) ‘‘algorithm1’’ (b)‘‘algorithm2’’ (the modified of ‘‘algorithm1’’) (c) GCS algorithmand (d) the proposed method.

(a) (b)

Fig. 4. (Color online) The original image called ‘‘Head’’: (a) leftimage and (b) right image.

Table 3. Time consuming for five shown images from differentdatasets.

Flowerpots Baby3 Aloe Larch Head

Algorithm1 8.2517 9.2846 10.7995 48.5997 67.9420Algorithm2 9.3562 9.1283 8.8941 27.0116 59.2115GCS 5.20313 4.0625 3.39013 29 34.8281Proposed method 4.85938 2.73438 2.29688 4.96875 9.28125

OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al. 5

OR11032R

OR

PROOF

The matching time shown in Table 3 is for MATLABcode running on a Pentium 4 Dual CPU 2.00 GHz PC with2.00 GB of RAM.

Table 4 presents RMS errors of the methods using

RMS error ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiXðDði; jÞ � Gði; jÞÞ2

h i=n

rð11Þ

The table reveals that the proposed algorithm resultsin better RMS error scores compared to ‘‘algorithm1’’

(a) (b)

(c) (d)

Fig. 5. (Color online) Disparity maps of (a) ‘‘algorithm1’’ (b) ‘‘algorithm2’’ (the modified of ‘‘algorithm1’’) (c) GCSalgorithm and (d) the proposed method.

(a) (b) (c)

(d) (e) (f)

Fig. 6. (Color online) An example of a negative obstacle and outputs of phase 2 of the proposed method: (a) originalleft image (negative obstacle) (b) original right image (negative obstacle) (c) correlation of pair images (d) Canny Edgedetector (e) Feature points in the left image and (f) disparity map.

6 OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al.

OR11032R

OR

PROOF

and GCS, and for some images ‘‘algorithm2’’ gives betterresults.

Bad matching percentages of the algorithms are alsocomputed and shown in Table 5. The proposed methoddemonstrates better results than the GCS algorithm.

5. Conclusion

In this paper we proposed a novel method to detect thenegative obstacles for visually impaired/blind people. Theproposed method contains three phases and two stages of

(a) (b)

(c) (d)

(e) (f)

Fig. 7. (Color online) The second example of negative obstacles and output of the proposed method: (a) original leftimage (negative obstacle) (b) original right image (negative obstacle) (c) disparity map (proposed method) (d) adaptivemean filter for occlusion pixel (first stage of denoising) (e) removing edges (second stage of denoising) and (f) detectedobstacle.

Table 4. RMS Errors for five shown images from different datasets.

Bowling2 Flowerpots Baby3 Aloe Cones Poster

Algorithm1 300.2140 412.365 201.354 150.321 212.142 100.32Algorithm2 270.3512 116.265 116.425 96.265 163.251 93GCS 233.2678 351.0103 193.145 125.4934 147.185 91.94Proposed method 225.5857 203.4086 193.1745 109.2895 129.232 66.90

OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al. 7

OR11032R

OR

PROOF

matching: elementary matching which is area based andsecondary matching which is feature based. In this way webenefit from the advantages of both area and feature basedalgorithms. After two stage of matching, the disparity map isoptimized using TSDP. The system is just based on stereocameras and no active sensor is used so it is inexpensive andalso gives more information about an environment for avisually impaired/blind person. The experimental results arepresented from well known datasets for various scenesincluding a ground with many edges inside and some sceneswith changes in the texture. The proposed algorithm iscompared with other algorithms such as belief propagationand random GCS. According to the experimental results ontypical sidewalk scenes, the proposed method achieveshigher speed, more accurate disparity map and lower RMSerrors. The speed of the proposed algorithm is about 28%higher than the random GCS algorithm. The results shownin the last section proves that the proposed method is quitefast and robust for obstacle detection.

References

1) A. Murarka, M. Sridharan, and B. Kuipers: IEEE/RSJ Int.Conf. Intelligent Robots and Systems, 2008, p. 702.

2) S. Rahman: Obstacle Detection for Mobile Robots UsingComputer Vision, Department of Computer Science Univer-sity of York Final Year Project (2005).

3) O. Ringdahl: Licentiate Thesis, Department of ComputingScience, Umea University (2007).

4) W. Samakming and J. Srinonchat: Int. Conf. ComputerScience and Information Technology, 2008, p. 616.

5) C. Y. Sung, T. S. Jin, and J. M. Lee: J. Robotic Syst. 20 (2003)65.

6) A. Angelova, L. Matthies, D. Helmick, and P. Perona: J. FieldRobotics 24 (2007) 205.

7) P. Foggia, J.-M. Jolion, A. Limongiello, and M. Vento: 6thIAPR–TC-15 Workshop Graph-based Representations inPattern Recognition, 2007, p. 11.

8) S. Thrun et al.: J. Field Robotics 23 (2006) 661.9) S. Meers and K. Ward: 8th Int. Conf. Information, 2004,

p. 546.10) G. balakrishnan, G. Sainarayanan, R. Nagarajan, and S.

Yaccob: 8th Int. Symp. Signal Processing and Its Applications,2005, p. 567.

11) J. Gutmann, M. Fukuchi, and M. Fujita: IJCAI, 2005.12) J. Coughlan and H. Shen: Conf./Workshop/Assistive Tech-

nologies for People with Vision and Hearing ImpairmentsAssistive Technology for All Ages CVHI, 2007.

13) D. Sharstein, R. Szeliski, and R. Zabih: IJCV, 2002, p. 7.14) P. Bellutta, R. Manduchi, L. Matthies, K. Owens, and A.

Rankin: Intelligent Vehicle Symp., 2000.15) P. Moallem and K. Faez: J. Circuits Syst. Comput. 14 (2005)

249.16) A. Stein and M. Hebert: BMVC, 2006.17) S. B. Pollard, J. E. W. Mayhew, and J. P. Frisby: Perception 14

(1985) 449.18) R. M. Perception and L. G. Shapiro: CVGIP 29 (1985) 100.19) G. Balakrishnan, G. Sainarayanan, R. Nagarajan, and S.

Yaccob: 8th Int. Symp. Signal Processing and Its Applications,2005, p. 567.

20) J. Cech and R. Sara: BenCOS Workshop CVPR, 2007.21) R. Sara: ECCV, 2002, p. 900.22) S. Radim: 17th Conf. IASC-ERS, 2006.23) D. Gusfield and R. W. Irving: The Stable Marriage Problem:

Structure and Algorithms (MIT Press, Cambridge, MA, 1989).24) H. Mohammadi D., S. Shirazi Tehrani, and P. Moallem:

IEEE/ICEE, 2010.25) D. Scharstein and R. Szeliski: Int. J. Comput. Vision 28 (1998)

155.26) D. Jones and J. Malik: Image Process. 76 (2000) 321.27) Y. S. Kim, J. Lee, and Y. Ha: Pattern Recognition 30 (1997)

929.28) J. C. Kim, K. M. Lee, B. T. Choi, and S. U. Lee: IEEE

Computer Society Conf. Computer Vision and PatternRecognition, 2005, p. 1075.

29) M. Gong and Y. H. Yang: 9th IEEE Int. Conf. ComputerVision, 2003.

30) S. Birchfield and C. Tomasi: Int. J. Comput. Vision 35 (1999)269.

31) B. Tang, D. Ait-Boudaoud, B. J. Matuszewski, and L. K.Shark: Proc. Geometric Modeling and Imaging-New Trends(GMAI’06), 2006, p. 195.

32) C. Sun: Proc. Australia-Japan Advanced Workshop ComputerVision, 2003, p. 38.

33) A. Donate, Y. Wang, X. Liu, and E. Collins: 19th IEEE Int.Conf. Pattern Recognition, 2008.

34) S. Lankton: Dr. Thesis, Georgia Institute of Technology(2009).

35) S. Fazli, H. Mohammadi D., and P. Moallem: ICEEE, 2009,p. 23.

36) S. Fazli, H. Mohammadi D., and P. Moallem: IEEE 2nd Int.Conf. Machine Vision, 2009, p. 97.

Table 5. Percentages of bad matching.

Poster Cones Aloe Baby3 Flowerpots Bowling2

GCS 5.97 6.3 6.53 10.86 5.57 10.7Proposed method 4.47 5 5.3 9.29 5.53 6.85

Fig. 8. (Color online) Negative obstacle detection using GCSalgorithm.

8 OPTICAL REVIEW Vol. 18, No. 6 (2011) S. FAZLI et al.

OR11032R