Convex Cut: A Realtime Pseudo-Structure Extraction Algorithm for 3D Point Cloud Data ChangHyun Jun1 , Jihwan Youn1 , Jongmoo Choi2 , G´erard Medioni2 , and Nakju Lett Doh1 Abstract— In this paper, a realtime pseudo-structure extraction algorithm for 3D indoor point cloud data (PCD) is proposed. This algorithm is called Convex Cut (CC) because of its two main steps: cutting the PCD with arbitrary planes, and extracting convex parts. CC can be used as a preprocessing module for other existing algorithms to extract static parts in dynamic environments or to represent a principal 3D model of a given PCD. Its calculation time is 24 milliseconds for 50k PCD on a consumer PC, and it yields a precision value of 0.90 and a recall value of 0.99 on average in highly dynamic and cluttered environments. Some possible applications are explained such as simultaneous localization and mapping in dynamic environments, efficient dense map representation, robust 3D scan matching with plane features, and natural motion planning.

(a)

I. INTRODUCTION All point cloud data (PCD) acquired in a real-life indoor space can be classified into three parts. • Structure: solid parts such as floors, walls, and ceilings that do not change under ordinary circumstances. • Object: various components that possibly can be changed, such as doors, chairs, tables, furniture, etc. • Dynamics: components whose 3D poses are certain to vary, such as moving humans, pets, etc. In this paper, we propose an algorithm that extracts the pseudo-structure from PCD in realtime on a consumer PC, covering wide angles around a reference location. This algorithm is called Convex Cut (CC). Its implementation consists of cutting a slice from the PCD and extracting those points that constitute the convex hull. Intuitively, it can be understood as analogous to wrapping a rubber band around the PCD such that all points touch the band, and repeating this procedure to cover all the points. For example, CC was applied to an office in Fig. 1(a), of which the wide angle PCD is shown in Fig. 1(b). Its output, the pseudo-structures which approximate the real structures are shown in Fig. 1(c). CC has three remarkable features. First, its output does not change at all; thus, a dependable and static feature can be extracted in dynamic environments. Second, its output is a principal 3D model of the space. In other words, if a 3D space is being decomposed into macro and micro parts, structure can be intuitively classified as the macro part. Third, as this algorithm is simple and lightweight, it can easily be implemented and is fast enough to run in realtime. For 1 School of Electrical Engineering, Korea University, Seoul, Republic of Korea{changhyun06, jhy0203}@gmail.com,

[email protected] 2 Computer Vision Lab., Dept. of Computer Science, University of Southern California, USA {jongmooc, medioni}@usc.edu

3m

3m

(b)

(c)

Fig. 1. PCD of the office in (a) is given in (b). The output of CC (pseudostructure) is given in (c). In those PCD, color information is overlapped for the purpose of visualization. Note that some portions such as the edges of a window shade (inside the red polygon of (c)), were not successfully filtered out the reason for which will be described later. The empty spaces of PCD in (b), (c) are occluded areas.

example, the calculation time of CC for PCD with 50k points (as in Fig. 1) was 24 milliseconds with parallel processing. By virtue of these features, we can improve the performance of existing algorithms by adding CC as a preprocessor. In this paper, we applied CC for the following applications. •







Simultaneous localization and mapping (SLAM) in dynamic environments: A map with a travel length of 181 meters was successfully generated in a highly dynamic environment by using dependable features that belong to the structure. Robust 3D scan matching with plane features: By using planes laid across the structure, the 3D scan matching algorithm becomes more accurate and robust against parameter changes. Efficient dense map representation: If structures (which tend to have simple geometry) are modeled via a mesh, a 3D RGB-D map can be represented more realistically with significantly fewer points. Natural motion planning: For a long corridor with various side obstacles (such as water fountains, tables, boxes, etc), a path- planning algorithm with CC can generate a more natural path with less orientation changes.

This paper is organized as follows. Related work is explained in Section II. CC is proposed in Section III,

and its experimental validation follows in Section IV. The aforementioned applications are explained in Section V. Then conclusion follows in Section VI. II. R ELATED W ORK There are similar algorithms that have been produced by the computer graphics society in the field of Collision Detection (CD) [1], [2]. The final purpose which is to extract the structure is the same but there are two major differences between CD and CC. One is that CD uses simulated data whereas CC handles real experimental data. For example, data for CD consist of multiple detected points per ray (allowing us to see through the wall), whereas that for CC is composed of one point per ray. In addition, the data for CD assumes the space to be closed (by its omniscient field of view (FoV)), whereas that for CC is an open space by the limited FoV. The other difference is that the input data for CD fully compose the structure (what they denote as the outer-shell) whereas the data for CC are a mixture of structure, object, and dynamics. In other words, the aim of CD is to closely approximate the given structure, but that of CC is to extract the structure out of the mixed PCD. In the 3D visualization field, there are two approaches whose outputs are similar to CC. The first approach is a slicing approach. In [3], [4], computer-aided design (CAD)model reconstruction algorithms from real objects are proposed, and those are similar to CC in two points: slicing PCD and applying convex hull. However, the target of interests is different. CAD reconstruction algorithms consider small objects of which observation is conducted starting from the outside to its surface, while CC handles measurements of large environments from the inside to its surface. In [5], Li et al. proposed a lightweight 3D modeling based on a priori knowledge that buildings can be modeled from crosssectional contours using extrusion and tapering operation. However, these approaches differ from CC in two ways. First, they assume that the whole PCD for an object is given, whereas CC works with PCD in the current FoV. Thus, they are used off-line whereas CC can cover on-line applications such as robot motion planning. Second, they aim to approximate the model of a given object, and thus some points different from nearby dominant shapes are tapered out. However, the aim of CC is to classify the structure as it is. In this regard, such works are suitable for the computer related applications and CC is intended for robotics. The second one is a labeling approach. In [6], Adan and Huber proposed a 3D structure reconstruction method under conditions of occlusion and clutter. Although their main focus was on detecting openings (such as doors or windows), they proposed a methodology that projects PCD onto a horizontal (or vertical) slice to detect wall surfaces. However, their approach differs from CC in three aspects. First, as in their methods, they assume the whole PCD is given. Second, they only handle the occlusion problem whereas CC covers both the occlusion and dynamic problems. Third, their method is designed for rectilinear buildings, and thus,

(a)

(b)

(c)

(d)

Fig. 2. A 3D PCD (Pinp ) of which the edges are highlighted for visibility, is given in (a). An ith plane πi slices the PCD to obtain Pπi as in (b). Its convex hull (conv(Pπi )) is then extracted as in (c), and the ith convex cut result (Pcc,i ) is acquired as in (d).

decorated wave surfaces, domes, cones, or wedge-shaped structures are not detected. In robotics field, semantic mapping algorithms are proposed in [7]–[9] where PCD obtained in a certain environment are decomposed into geometric models such as plane, edge, etc. Then, geometrical relationships among the models are interpreted through hypothesis validations or learning algorithms. For example, if there are two large horizontal planes that are parallel and those planes are extracted from an office environment, they perceive such planes as the floor and ceiling. However, semantic mapping is different from CC in a sense that their role is successful reasoning from given data while that of CC is to acquire reliable data. We believe that those algorithms can be enhanced by filtering the raw data through CC. III. C ONVEX C UT For a given 3D PCD (Pinp ) and n number of planes π1:n = {π1 , · · · , πn } in touch with Pinp , CC yields PCD Pcc as Pcc =

n [

[Pπi ∩ conv(Pπi )] ,

(1)

i=1

where Pπi (defined by cut(Pinp ∩ πi )) is a set of points sliced by πi , and conv(Pπi ) is a set of boundaries of Pπi ’s convex hull, as visualized in Fig. 2. Its algorithm is given in algorithm 1. Here, convex hull is a function that returns points near its convex hull polygon. Note that cut is an operation that is composed of two sub-operations. The first one is extracting points of which the shortest distance between the point and the ith plane is lower than a given threshold d. The second one is projecting the extracted points onto the ith plane. To explain the CC’s output, let us imagine a house as in Fig. 3. Imagine that a drone flies through the house with a

(a)

(b)

Fig. 4. With a plane in (a), the output does not contain two middle walls as indicated by blue think lines. From our experiences, we found it to be efficient to organize planes so that they rotate relative to a line passing the sensor’s origin and parallel to the z-axis, as in (b).

Fig. 3. A house composed of a flat ceiling (C1), inclined ceiling (C2), flat floor (F1), inclined floor (F2), center pillar (P1), corner pillar (P2), extrusion (E), and open door (D). CC will classify all of them as structure except the extrusion (E) and the door (D), as indicated in red.

Algorithm 1 ConvexCut ( Pinp , π1:n ) for i = 1 : n do Pπi ← cut(Pinp ∩ πi ) conv(Pπi ) ← convex hull(Pπi ) Pcc,i ← Pπi ∩ conv(Pπi ) end forS n Pcc ← i=1 Pcc,i return

full FoV LIDAR, and runs CC for every sensing step. With an infinite number of planes, the outputs of the CC algorithm (as indicated by black lines in Fig. 3) are as follows: • • •

ceiling: flat (C1), inclined (C2) floor: flat (F1), inclined (F2) pillar: center (P1), corner (P2)

However, an extrusion (E) and an open door (D) are not detected, as indicated in red color. It seems natural that an open door is being excluded from the structure, but the decision for the extrusion is not clear. In the authors’ opinion, this decision may differ from person to person and it will be very difficult to find a strict definition of the structure. Thus, we loosely denote the structure as solidified parts which does not change during normal daily occurrences, and posit that CC can approximate this structure. The performance of this algorithm depends on the selection of the slicing planes (π1:n ). For example, if a plane such as that in Fig. 4(a) is used, Pcc cannot contain two middle walls (blue thick lines). Because more planes are needed to extract those middle walls, this kind of cut increases the calculation time. From our experiences, we found it to be efficient to organize planes so that they rotate relative to a line passing the sensor’s origin and parallel to the z-axis as in Fig. 4(b). For all experiments in this paper, 360 planes (as in Fig. 4(b)) with 0.5◦ of resolution were used.

Fig. 5. Sensor system composed of 3D LIDAR, IMU, and camera. Because the vertical FoV of the LIDAR is limited, the system was rotated by a human operator around its z-axis, after being tilted around the y-axis.

IV. E XPERIMENTS A. System configuration For experiments, a sensor system as shown in Fig. 5, was used. The system is composed of 3D LIDAR (Velodyne HDL-32E), IMU (Xsens MTi-30), and an omni camera (Ladybug2). Here, the camera is not necessary for CC, but the PCD can be enriched by the RGB information, as in Fig. 1. The LIDAR has its FoV of 360◦ horizontally and −30.67◦ ∼ +10.67◦ vertically. Because of the limited vertical resolution, we tilted it along the y-axis and rotated it around the z-axis, as in Fig. 5. Because the sensor system was only under pure rotations, its 3D orientation was estimated using the IMU. The LIDAR returned up to 72,000 points per cycle and ran ten cycles per second (10 Hz). A single scan for one cycle (100 milliseconds) was used as the input PCD (Pinp ) for validation. B. Computational cost 1) Computational time: For the test of calculation time, a computer with an Intel i7-4790 CPU with 16.0 GB RAM

time (sec)

10 9 8 7 6 5 4 3 2 1

Plane patches from input PCD

w/ parallel processing w/o parallel processing

A Real structure

CC’s output B

C

D

(a)

1

2

3

the number of points (million) Fig. 6. The calculation time of CC with respect to the number of points for two cases: with and without parallel processing.

and Nvidia GTX-780 with 3.0 GB RAM was used. We used visual studio 2010 and CUDA 6.0 in our GPU kernels. Note that CC was parallelized on the GPU using CUDA, but the Qhull algorithm [10] to calculate convex hulls in CC was only parallelized on a multi-core CPU using OpenMP [11]. The calculation time of CC for a single scan of 50,083 points was measured to be 24 milliseconds and 187 milliseconds with and without parallel processing, respectively. In addition, Fig. 6 shows the calculation time of CC with respect to the number of points for two cases: with and without parallel processing. A total of 88 datasets with different number of points were evaluated, and the calculation time of CC for 3 million points was measured to be 0.516 seconds, 9.70 seconds with and without parallel processing, respectively. Considering the acquisition time of a single scan (100 milliseconds), it can be said that CC runs in real time with parallel processing. 2) Computational complexity: The algorithmic complexity of the convex hull algorithm is O(m log m) [10]. For CC, the algorithmic complexity is the same as O(m log m) because the term m, which corresponds to the number of points, is divided by the number of planes(n), and ( m n) sample sets can be implemented with parallel processing. C. Precision-Recall The main feature of CC is that it can extract pseudostructure which approximates the real structure. In this subsection, the performance is validated by using the precisionrecall measure. For the calculation, we extracted plane patches from both input PCD and CC’s output using the RH method [12] and classified them into mutually exclusive four groups as in Fig. 7(a). Those classifications from input PCD and from CC’s output are shown in Fig. 7(b) and (c), respectively. Here, let us denote the numbers of plane patches for different categories as as NA , NB , NC , and ND . Then the precision and recall can be calculated as NC /(NB + NC ) and NC /(NC + ND ), respectively. Here, the precision value indicates how much

(c)

(b)

Fig. 7. For the calculation of the precision-recall, all plane patches were classified into mutually exclusive four groups as in (a). (A: neither CC’s output nor real structure, B: CC’s output but not real structure, C: both CC’s output and real structure, D: real structure but not CC’s output.) In (b) and (c), a single scan’s classification was shown with the same color as in (a) for input PCD and CC’s ouptut, respectively. Here, yellow ellipses were added for the reader’s sake.

the CC’s output (extracted pseudo-structure) is analogous to real structure and the recall value accounts for how much real structure can be found. Then the F-measure, the harmonic mean of the precision and the recall, follows. 1) Stationary experiments: In one fixed position, a total of 760 scans were acquired in an office (Fig. 1) where eight people intentionally moved around while throwing a large ball back and forth. The precision was calculated to be 0.900 on average, with a standard deviation of 0.040. The recall was calculated to be 0.992 on average with a standard deviation of 0.019. The corresponding F-measure was 0.944 on average, as shown in Fig. 8. Here, it is noticeable that the above values are quite high even under highly dynamic situations. During the experiments, a dynamic ratio of Dyn ratio =

Pinp − Pcc Pinp

(2)

was gradually increased up to 60% but it had no effect on the algorithm’s performance. Note that each scan of our sensor system covers a limited vertical area due to its limited FoV (41.34◦ ). It results in some false-positive (as shown in Fig. 1(c)), where the edges of a window shade (inside the red polygon) were extracted as a pseudo-structure because of the absence of a ceiling. With the same sensor configuration, we conducted one more test in a cafe with various decorations such as wallhangings, etc (Fig. 9). In six different positions, a total of 356 scans were acquired. Compared to the previous result, the precision value was dropped by 3.9% (office: 0.900 → cafe: 0.865) and the recall value was decreased by 13.0% (office: 0.992 → cafe: 0.863). The F-measure was

3D LIDAR

IMU

Stabilizer

Fig. 8.

The precision-recall graph with the F-measure for an office.

Fig. 10. Reconfigured sensor system for the continuous moving experiment.

Glass board

Fig. 9.

Glass

Panoramic view of a cafe with various decorations.

also decreased by 9.0% (office: 0.944 → cafe: 0.859). We speculate that this degraded performance is because of the same reason, the limited vertical FoV. Moreover, since the interior of the cafe was narrow and cluttered with furniture and glossy decorations, there were many occluded areas and measurement errors in the acquired PCD. 2) Continuous moving experiment: Since the experiments in the previous subsections were stationary in a sense that the sensor system gathered information while tilting the top of a fixed tripod, we conducted one more experiment by continuously moving the sensor system (as in Fig. 10) at dynamic office rooms (Fig. 11). The total travel length and the covered volumes are 50 meters and 447 m3 , respectively. The number of points and the time of data acquisition are 83 million (a total of 1400 scans) and 140 seconds, respectively. Fig. 12 (a) and (c) show the mapping results using the method in [13] with the trajectories of the sensor in red. We divided the merged PCD into fourteen datasets (each dataset contains 100 scans) and applied CC to each dataset as shown in Fig. 12 (b) and (d). The precision was calculated to be 0.900 on average with a standard deviation of 0.103. The recall was calculated to be 0.776 on average with a standard deviation of 0.179. The corresponding F-measure was 0.818 on average. Although the recall value is slightly lower than the stationary experiments, it can be said that CC still shows a good performance for a sensor system that continuously moves.

Fig. 11. The environment at which the continuous moving experiment was conducted. Note that this place contains large glasses (that produce undesirable specular reflections against LIDAR measurements) as well as an uncommon structure (in a sense that two rooms are not fully separated due to the glass).

6m

(a) 6m

(c)

6m

(b) 6m

(d)

Fig. 12. Top view (a) and bird’s-eye view (c) of PCD acquired in the office with the trajectories indicated in red. Top view (b) and bird’s-eye view (d) of CC’s results. Here, note that PCD of the floor and the ceiling are removed for visualization purpose.

TABLE I S UCCESS RATE WITHOUT AND WITH CC FOR 3D SCAN MATCHING BASED ON THE MAXIMUM NUMBER OF ITERATIONS OF

(a)

(b)

the max. num. of iterations 500 2,000 10,000

RANSAC.

success rate without CC

success rate with CC

28.6% 85.7% 100%

92.9% 100% 100%

Fig. 13. In a static case, the VPass algorithm was able to map a loop-less environment shown in (a). For the validation of CC, a data set was acquired for a dynamic situation where people passed by the robot, as in (b).

(a) (a)

(b)

Fig. 15. The results of scan matching without and with CC in (a) and (b), respectively.

(b) Fig. 14. Maps built using the VPass algorithm in a dynamic situation. The distorted map in (a) is the result of VPass alone, and the map in (b) is output of the VPass with CC as a preprocessor.

V. A PPLICATION A. SLAM in dynamic environments The VPass [14] which utilizes line features for correction of the robot’s orientation was used for SLAM in a loopless environment, as in Fig. 13(a). It has been shown that the algorithm was able to map this place when there were no dynamics. With dynamics generated in populated situations as in Fig. 13(b), VPass failed in mapping. The failed output is shown in Fig. 14(a). Then, CC was applied as a preprocessor or a filter that returns dependable pseudo-structure. As a result, the algorithm built a consistent map as in Fig. 14(b). B. Robust 3D scan matching with plane features For a 3D scan matching with plane features, plane patches were extracted by using the RH method [12], and they were compared by random sample consensus (RANSAC)-based plane registration method [15].

For the indoor space in Fig. 17(a), eight datasets were acquired, in which the total number of plane patches was 341. By using CC as a preprocessing module, the algorithm showed performance advances in four aspects. First, the computation time for the plane patches’ extraction was decreased by 4.97 times. This is because of the decreased number of points, which belong to either objects or dynamics. Second, the computation time for the 3D scan matching using RANSAC-based plane registration method also decreased by 3.24 times for the same reason. Third, with CC, this scan matching showed similar performance with a lower number of maximum iteration of RANSAC. With the aid of CC, RANSAC-based plane registration method showed a higher success rate with fewer number of iterations, as shown in Table I. This advantage can further increase the speed. Finally, the accuracy of scan matching was increased because extracted plane patches from cluttered objects were removed and the number of false correspondences (false-positive correspondence) was decreased. Fig. 15 shows success cases without and with CC where it can be identified that the results with CC show better overlaps for two consecutive datasets. C. Efficient dense map representation Structures tend to have simple geometry (such as planes, curved walls, etc.) compared to objects, and thus it would be better to represent structures using mesh rather than points. For example, the meshed structures of the PCD in Fig. 1(c) are shown in Fig. 16. With this representation, the number of PCD for a 3D RGB-D map in Fig. 17(a) can

Fig. 16. Meshes of structure of an office (PCD of Fig. 1(c)). Note that there are some empty spaces which are also obseved in Fig. 1(c) because of occlusion.

(a)

(b)

(c) Fig. 18. For a corridor with side obstacles, the gradient descent method was used for the path planning as in (a). With CC, two different costs for obstacles and structures were assigned that, in return, yielded a path with fewer orientation changes, as in (b). Here, black and red parts correspond to the structure and objects, respectively. Their overlapping is shown in (c).

(a)

VI. C ONCLUSION

(b)

(c)

Fig. 17. For a 3D RGB-D map in (a), the point based map in (b) can be represented with less number of points by substituting its structure via meshes as in (c).

be significantly reduced from 30 million (Fig. 17(b)) to 10 million (Fig. 17(c)). D. Natural motion planning In [16]–[18], evidence is given that humans prefer a path with a lower number of turns. In other words, a path with a lot of orientation changes will be unnatural for human. In this regards, a robot path generated by the gradient method (GM, for short) [19] in Fig. 18(a) could look unnatural because there are excessive changes of orientation in comparison with human motion. In our opinion, humans use knowledge of the principal 3D model, the corridor, and tend to keep its orientation along the corridor. To implement this idea, CC was used to extract the corridor and an intrinsic cost of GM was divided into two parts: one for obstacles and the other for structure. The planned path is shown in Fig. 18(b) for which orientation changes were 75◦ per meter, whereas that of GM was 114◦ per meter. This can be clearly identified from the overlapped paths in Fig. 18(c).

In this paper, CC was proposed to extract pseudostructures from given 3D PCD. Because this algorithm is light enough in its computation, it can be used as a preprocessing module for other existing algorithms to extract static parts in dynamic environments (for applications of dynamic SLAM, etc.) or to represent the principal 3D model (for 3D scan matching, dense map representation, natural motion planning, etc). The performances of CC was evaluated by measuring computational times and calculating the precision-recall of extracting the structures in dynamic environments. CC is fast enough as a preprocessing module and runs in real time with parallel processing. For stationary cases, the F-measure of the precision-recall were 0.944 and 0.859 at an office and a cafe, respectively. For continuously moving case, the Fmeasure was 0.818 which is slightly decreased compared to the stationary cases. We believe that this high performance is mainly due to the merit of the 3D LIDAR, with its horizontal FoV of 360◦ . 1 However, if we used a 3D sensor with a narrow FoV (such as a Kinect, etc.), a wide-angle PCD needs to be constructed in advance using SLAM or Structure from Motion technique. Thus, it needs to be further analyzed as to how the estimated pose errors affect CC. Another issue to consider is that if a whole PCD for a building is given, some structures may not be detected by CC as in Fig. 4(a). In this case, CC may need far more planes to stably extract the structure, and this will be investigated in the future. Our final remark is that the extracted pseudo-structure is very similar to a 3D CAD model. Thus, it may find useful 1 If we used the sensor system proposed in [20], we expect that the performance might be similar to those in this paper.

applications in buildings and construction fields, such as updating a CAD model [21], evaluating on-going construction, etc. ACKNOWLEDGEMENT The authors would like to thank Keonyong Lee, Suyong Yeon, Soo-hyun Ryu, Jinhun Kim, Hee Jin, and Jihyeon Kwon for their research in implementing useful applications. This research was supported in part by the Global Frontier R&D Program on Human-centered Interaction for Coexistence funded by the National Research Foundation of Korea grant funded by the Korean Government (MSIP) (NRF-20110031648) and by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (NRF2012R1A2A2A01044957). R EFERENCES [1] D. Knott and D. K. Pai, “CInDeR: Collision and interference detection in real-time using graphics hardware,” in Graphics Interface, pp. 73– 80, 2003. [2] L. P. Kobbelt, J. Vorsatz, U. Labsik, and H.-P. Seidel, “A shrink wrapping approach to remeshing polygonal surfaces,” Computer Graphics Forum, vol. 18, no. 3, pp. 119–130, 1999. [3] Y. Wu, Y. Wong, H. Loh, and Y. Zhang, “Modelling cloud data using an adaptive slicing approach,” Computer-Aided Design, vol. 36, no. 3, pp. 231–240, 2004. [4] I. Kyriazis, I. Fudos, and L. Palios, “Extracting CAD features from point cloud cross-sections,” in Int. Conf. on Comp. Graphics, Visualization and Comp. Vision, Eurographics, pp. 137–144, 2009. [5] W. Li, G. Wolberg, and S. Zokai, “Lightweight 3D modeling of urban buildings from range data,” in Int. Conf. on 3D Imaging, Modeling, Processing, Visualization and Transmission, pp. 124–131, 2011. [6] A. Adan and D. Huber, “3D reconstruction of interior wall surfaces under occlusion and clutter,” in Int. Conf. on 3D Imaging, Modeling, Processing, Visualization and Transmission, pp. 275–281, 2011. [7] A. N¨uchter and J. Hertzberg, “Towards semantic maps for mobile robots,” Robotics and Autonomous Systems, vol. 56, no. 11, pp. 915– 926, 2008. [8] R. Rusu, Z. Marton, N. Blodow, A. Holzbach, and M. Beetz, “Modelbased and learned semantic object labeling in 3D point cloud maps of kitchen environments,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 3601–3608, 2009. [9] N. Blodow, L. C. Goron, Z.-C. Marton, D. Pangercic, T. Ruhr, M. Tenorth, and M. Beetz, “Autonomous semantic mapping for robots performing everyday manipulation tasks in kitchen environments,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 4263–4270, Sept. 2011. [10] C. B. Barber, D. P. Dobkin, and H. Huhdanpaa, “The quickhull algorithm for convex hulls,” ACM Trans. on Mathematical Software, vol. 22, no. 4, pp. 469–483, 1996. [11] L. Dagum and R. Menon, “OpenMP: an industry standard API for shared-memory programming,” Computational Science & Engineering, IEEE, vol. 5, no. 1, pp. 46–55, 1998. [12] S. Yeon, C. Jun, H. Choi, J. Kang, Y. Yun, and N. L. Doh, “RobustPCA based hierarchical plane extraction for the application of geometric 3d indoor mapping,” Industrial Robot: An International Journal, vol. 41, no. 2, pp. 203–212, 2014. [13] M. Bosse, R. Zlot, and P. Flick, “Zebedee: Design of a spring-mounted 3-d range sensor with application to mobile mapping,” IEEE Trans. on Robotics, vol. 28, no. 5, pp. 1104–1119, 2012. [14] Y. H. Lee, C. Nam, K. Y. Lee, Y. Li, S. Y. Yeon, and N. L. Doh, “VPass: Algorithmic compass using vanishing points in indoor environments,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 936–941, 2009. [15] Y. Yun, S. Yeon, C. Jun, H. a Choi, J. Kang, and N. L. Doh, “RANSAC-based data association algorithm for the application to 3d slam,” in Korea Robotics Society Annual Conference, pp. 109–111, 2012. [16] P. Jansen-Osmann and G. Wiedenbauer, “Distance cognition in virtual environmental space: further investigations to clarify the routeangularity effect,” Psychological Research, vol. 70, pp. 43–51, 2006.

[17] P. Jansen-Osmann and B. Berendt, “Investigating distance knowledge using virtual environments,” Environment and Behavior, vol. 34, no. 2, pp. 178–193, 2002. [18] N. L. Doh, C. Kim, and W. K. Chung, “A practical path planner for the robotic vacuum cleaner in rectilinear environments,” IEEE Trans. on Consumer Electronics, vol. 53, no. 2, pp. 519–527, 2006. [19] K. Konolige, “A gradient method for realtime robot control,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 639–646, 2000. [20] J. Zhang and S. Singh, “LOAM: Lidar odometry and mapping in realtime,” in Robotics: Science and Systems Conf., 2014. [21] J. Kwon and N. L. Doh, “Automatic CAD-structure extraction from 3D point clouds,” in Int. Conf. on Future Information and Communication Engineering, pp. 131–134, 2015.

Convex Cut: A Realtime Pseudo-Structure Extraction ...

Convex Cut: A Realtime Pseudo-Structure Extraction Algorithm for 3D Point Cloud Data. ChangHyun Jun1, Jihwan Youn1, Jongmoo Choi2, Gérard Medioni2, ...

5MB Sizes 5 Downloads 216 Views

Recommend Documents

A Course on Convex Geometry
bdA boundary of A. If f is a function on Rn with values in R or in the extended real line [−∞,∞] and ..... i = 1,...,n + 2, we consider the system of linear equations.

Computing Uniform Convex Approximations for Convex ...
piecewise degree-1 polynomial approximations fh ≥ ̂f, and derive estimates of fh − ̂f .... Next, let p, q ∈ R[y], with q > 0 on D, and let f ∈ C(D) be defined as.

Learning a Selectivity-Invariance-Selectivity Feature Extraction ...
Since we are interested in modeling spatial features, we removed the DC component from the images and normalized them to unit norm before the learning of the features. We compute the norm of the images after. PCA-based whitening. Unlike the norm befo

Convex Optimization
Mar 15, 1999 - 5.1 Unconstrained minimization and extensions . ..... It is (as the name implies) a convex cone. Example. ..... and lies in the domain of f (i.e., c. T.

Geometric inequalities outside a convex set in a ... - Project Euclid
prove the following Faber-Krahn type inequality for the first eigenvalue λ1 of the mixed boundary problem. A domain Ω outside a closed convex subset C in M ...

Cutting a Convex Polyhedron Out of a Sphere
mitrescu proposed an O(log n)-approximation algorithm with O(mn + n log n) running time .... We call P to be cornered if it does not contain the center o of Q ... [Sketch only] Since P contains the center o of Q, any cutting sequence, starting from .

Realtime HTML5 Multiplayer Games with Node.js - GitHub
○When writing your game no mental model shift ... Switching between different mental models be it java or python or a C++ .... Senior Applications Developer.

Learn to Write the Realtime Web - GitHub
multiplayer game demo to show offto the company again in another tech talk. ... the native web server I showed, but comes with a lot of powerful features .... bar(10); bar has access to x local argument variable, tmp locally declared variable ..... T

ADOW-realtime-reading-2017.pdf
September-November 2017 TheTenthKnot.net. SEPTEMBER. OCTOBER. Page 1 of 1. ADOW-realtime-reading-2017.pdf. ADOW-realtime-reading-2017.pdf.

cut-run-cut-run-1-by-madeleine-urban.pdf
Page 1. Whoops! There was a problem loading more pages. cut-run-cut-run-1-by-madeleine-urban.pdf. cut-run-cut-run-1-by-madeleine-urban.pdf. Open. Extract.

A fast convex conjugated algorithm for sparse recovery
of l1 minimization and run very fast on small dataset, they are still computationally expensive for large-scale ... quadratic constraint problem and make use of alternate minimiza- tion to solve it. At each iteration, we compute the ..... Windows XP

A minmax theorem for concave-convex mappings with ...
Sion [4] or see Sorin [5] and the first chapter of Mertens-Sorin-Zamir [2] for a .... (5). Then X and Y are both finite dimensional but unbounded, f is concave-.

A Study on Convex Optimization Approaches to Image ...
ful applications include image denoising [22,8,30], image decomposition [2,17] ..... + ui/c)}) . (30). Interestingly, our experiments show that just one single step of ... experiments are computed by a Ubuntu desktop with AMD Athalon 64 X2 5600.

A Note on Convex Relaxations for Non-Metric ...
13 Aug 2012 - i,j ı{rij. 2 + sij ≤ θij} − ∑ i,j ı{pi − pj − rij = 0} −. ∑ i,j ı{sij − qi = 0}... . (3). We will derive the primal of this expression using the following variant of Fenchel duality, min x f(Ax) = max y:AT y=0. −fâ

cut-run-cut-run-1-by-madeleine-urban.pdf
While I am sad that this will upset. Page 3 of 16. cut-run-cut-run-1-by-madeleine-urban.pdf. cut-run-cut-run-1-by-madeleine-urban.pdf. Open. Extract. Open with.

pdf-1862\introductory-lectures-on-convex-optimization-a-basic ...
Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.

A Convex Hull Approach to Sparse Representations for ...
noise. A good classification model is one that best represents ...... Approximate Bayesian Compressed Sensing,” Human Language Tech- nologies, IBM, Tech.

Packaging Ideas for Fresh-Cut Products - Fresh-Cut Europe…
all the gas exchange is done via the lidstock usually very high OTR needed. 2. How to ... Renewable resources. • Flex. Packaging made of : – PLA. – Nature Flex ...

Convex Shape Decomposition
lem in shape related areas, such as computer vision, com- puter graphics and ... First, we give a mathematical definition of the decompo- sition. Definition 1.

MUVISYNC: REALTIME MUSIC VIDEO ALIGNMENT ...
computers and portable devices to be played in their homes or on the go. .... lated cost matrix and the path through this matrix does not scale efficiently for large ...

cut here - Jagran
PAYMENT RECEIPT. BRANCH CO PY. Corporation Bank. Application Fee Details. Recruitment of Single W indow O perators in Corporation Bank. Account No: 0377/CA/01/000737 w ith M ANG ALO RE RAM BHAVAN CO M PLEX. Branch : Nam e: Rs. Category * -SC/ST/VI/H

A Note on Separation of Convex Sets
A line L separates a set A from a collection S of plane sets if A is contained in one of ... For any non-negative real number r, we denote by B, the disk with radius r.