A small target detection method for unstructured roads
The point cloud voxelization representation method using PCA principal component analysis and neighborhood analysis solves the false detection problem of small target detection in unstructured road environments, and achieves accurate differentiation between dust and real obstacles, thereby improving the safety and efficiency of autonomous driving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIHANG UNIV
- Filing Date
- 2022-12-30
- Publication Date
- 2026-05-12
AI Technical Summary
In unstructured road environments, traditional algorithms struggle to accurately detect small targets, especially under dusty conditions, leading to false detections and safety issues. Deep learning detection accuracy is also insufficient.
A point cloud voxelization representation method based on PCA principal component analysis and neighborhood analysis is adopted. By constructing ground and non-ground point cloud maps, voxelization data processing and obstacle neighborhood analysis are performed. Combined with a feature matching target tracking algorithm, dust and real obstacles are distinguished.
It significantly improves the accuracy and stability of small target detection on unstructured roads, reduces false detections, and enhances the safety and efficiency of autonomous driving.
Smart Images

Figure CN116052099B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of autonomous driving, PCA principal component data analysis, LiDAR target detection, and vehicle environmental perception. Specifically, it is a point cloud small target detection algorithm that utilizes PCA principal component data analysis and neighborhood analysis to address unstructured road dust scenarios. Background Technology
[0002] Based on the working environment of autonomous vehicles, the operating roads are divided into structured roads and unstructured roads. Compared to structured roads, unstructured roads are more complex and varied, with irregular characteristics, such as quarries and mining areas. Unstructured road environments are harsh, and compared to cameras and millimeter-wave radar, lidar has advantages such as long detection range, rich 3D information, and immunity to lighting conditions, providing strong support for perception in harsh unstructured road environments.
[0003] In the field of traditional point cloud object detection algorithms, the detection process can be summarized as follows: raw point cloud input, ground filtering, non-ground point clustering, construction of bounding boxes for non-ground point clouds, and finally output of obstacle detection. In the field of artificial intelligence, 3D object detection has attracted considerable attention. Due to the sparsity of point clouds and its distance-dependent nature, deep learning for small object detection typically utilizes image deep learning. In 2016, MVCNN used 2D rendered images obtained from different "viewpoints" of the object's 3D data as the original training data. Trained using classic image convolutional networks, the trained model achieved even more accurate 3D object recognition and classification than models trained directly with 3D data. This is another approach to indirect point cloud processing. However, point cloud projection can lead to a loss of accuracy, and errors entering the network can cause unpredictable results. The F-PointNets paper utilizes mature 2D image detection results for cone projection to improve the detection performance of small objects. Compared to relying solely on 3D candidate regions, it uses a pre-trained 2D object detector and a 3D deep learning detection network for target localization, achieving efficient detection and high recall for small objects.
[0004] Unstructured roads are characterized by harsh environments and susceptibility to environmental influences, leading to inaccurate small target detection. Traditional algorithms use ground filtering, clustering, and bounding box construction processes, which can cause low-lying dust particles to be mistaken for small targets, resulting in false detections and safety issues. In the field of artificial intelligence, the contribution of small targets to the loss function is relatively small, resulting in low accuracy for deep learning detection of small targets. To advance the implementation of autonomous driving technology on unstructured roads, a highly efficient small target detection algorithm is urgently needed. Summary of the Invention
[0005] This invention proposes a method based on point cloud voxelization representation and using PCA for neighborhood analysis to address the problem of small target detection being easily affected by dust in unstructured road scenarios, thereby improving the efficiency of unstructured road operations.
[0006] To overcome the drawbacks of deep learning point cloud target detection, such as over-reliance on datasets and long processing times, while leveraging the advantages of traditional algorithms, this invention provides an algorithm based on a single LiDAR that achieves stable small target detection through PCA principal component analysis, neighborhood analysis, and voxelized point cloud data representation. This algorithm significantly improves the efficiency of operations on unstructured roads such as quarries and mining areas. Specifically, PCA principal component analysis characterizes the smoothness of the point cloud; neighborhood analysis correlates environmental information of small targets; and voxelized data representation improves detection speed and provides a container foundation for PCA data analysis.
[0007] (1) Voxelized data representation
[0008] Object detection is based on point cloud data representation. Common point cloud representation methods are generally divided into three categories: point cloud representation methods based on raw points; methods that represent point clouds using voxels and then extract features; and methods that project raw point clouds onto an image and then perform object detection based on the image, which is widely used in deep learning object detection. Effective data representation methods can improve the accuracy and efficiency of point cloud object detection. Point-based representation methods can describe rich three-dimensional spatial relationships, but the algorithms are time-consuming. Projection-based point cloud representation methods are widely used in deep learning object detection, but they suffer from significant loss of spatial information in the point cloud. The voxel-based point cloud representation method used in this invention combines point representation and point cloud projection representation methods, balancing speed and accuracy.
[0009] (2) Target tracking technology
[0010] Tracking algorithms are crucial for improving the safety and reliability of autonomous driving. They can be categorized into feature-matching-based target tracking, region-based target tracking, template-based tracking, and dynamic boundary-based tracking. Feature-matching-based target tracking extracts target features, such as contours and corners, and matches them across consecutive frames to achieve tracking. Region-based target tracking divides the target into regions and performs inter-frame matching within these regions. Template-based tracking uses a pre-established model library to match the current frame with the database to achieve tracking. Dynamic boundary-based tracking adaptively represents moving targets using closed activity curves, resulting in low computational cost and high flexibility. To improve the reliability and safety of autonomous driving perception, it is necessary to track the perception results and use historical information for correlation, which can solve the problems of missed and false detections. Specifically, in this invention, based on neighborhood analysis for real obstacle identification, a feature-matching-based target tracking algorithm is further employed. This algorithm matches the current frame with the obstacle detection list of the previous frame, filtering to obtain the final detection result, effectively reducing false detections of small targets and improving detection accuracy.
[0011] (3) PCA penetration characteristics
[0012] The significance of Principal Component Analysis (PCA) mainly includes: dimensionality reduction and hyperplane fitting. In statistics, PCA is a data simplification technique that uses linear transformations to represent data under different bases and identifies principal components based on the magnitude of the data's projection onto the new coordinate axes. PCA can achieve dimensionality reduction while preserving as much relevant information as possible. Mathematically, PCA is commonly used for hyperplane fitting, where eigenvectors characterize the direction of the hyperplane's normal vector. Furthermore, the magnitude of eigenvalues measures the spatial characteristics of the data.
[0013] The present invention adopts the following technical solution:
[0014] A method for small target detection in unstructured roads includes the following steps:
[0015] S1: Input the raw point cloud data, use the sensor installation parameter information to filter out the ground point cloud, and obtain the ground point cloud and non-ground point cloud;
[0016] S2: Construct a ground point map and a non-ground point map using ground point cloud and non-ground point cloud respectively. Perform a completion operation on the non-ground point cloud based on the grid occupancy information of the ground point map and the non-ground point map. Construct voxels in the vertical direction of the grid of the ground point map occupied by the point cloud.
[0017] Perform grid clustering on the completed non-ground point map table, grouping grids containing obstacles into one class;
[0018] PCA analysis was performed on the point cloud inside each voxel in the ground point map table to obtain the voxel category;
[0019] S3: Based on the PCA analysis results, add neighborhood information to the mesh containing obstacles;
[0020] Traverse obstacles and analyze the smoothness of the neighborhood using its neighborhood information. If the neighborhood has ground characteristics, it is identified as a real obstacle; if the neighborhood has dust characteristics, it is identified as dust.
[0021] The system tracks identified real obstacles to achieve stable obstacle detection and obtain the final small target detection result.
[0022] Furthermore, step S1 specifically involves: inputting the original point cloud, obtaining the actual installation parameters of the lidar, including the installation angle and installation height of the lidar, calibrating the point cloud through the installation parameters, and distinguishing the original point cloud into ground points and non-ground points based on the ground height information.
[0023] Furthermore, step S2 includes the following sub-steps:
[0024] S2-1, Construct a Map based on the ground point cloud and non-ground point cloud obtained in step S1, including: a non-ground point Map, used to represent the distribution of obstacles; and a ground point Map, generated from ground points.
[0025] The Map table is a uniformly divided grid on the xoy plane, and the grid is marked to indicate whether there is point cloud coverage in this area;
[0026] S2-2, Based on the grid information occupied by the ground point Map table and the grid information occupied by the non-ground point Map table, find the intersection, and perform the non-ground point completion operation on the intersection grid of the existing ground points and non-ground points;
[0027] S2-3, Based on the ground point map table formed in step S2-1, construct voxels in the vertical direction of the grid occupied by the point cloud;
[0028] S2-4. Based on the grid occupancy information of the completed non-ground point Map table obtained in step 2-2, perform grid clustering in the non-ground point Map table: use the grid occupancy proximity information of the non-ground point Map table to perform clustering, so that grids containing obstacles can be clustered into one class, and obtain the clustering result represented by grid coordinates.
[0029] S2-5, perform PCA analysis on the point cloud inside each voxel in the ground point Map table constructed in step 2-3 to obtain the voxel category: dust characteristics or ground characteristics.
[0030] Furthermore, steps S2-5 specifically include:
[0031] (1) For any voxel, obtain n point cloud points, decenter the n discrete points, and solve for their covariance matrix:
[0032] Let n data be
[0033]
[0034] Among them, (x n y n z n () represents the coordinates of the nth point cloud point;
[0035] Find the mean in each direction.
[0036]
[0037] The result of decentralization is
[0038]
[0039] Constructing the covariance matrix
[0040]
[0041] (2) Perform singular value decomposition on the covariance matrix C. Its eigenvalues are λ1, λ2, and λ3, where λ1 is the smallest eigenvalue. δ = λ1 / (λ1 + λ2 + λ3) is the discrete characteristic of the entire voxel. If the voxel exhibits ground characteristics, δ tends to 0. Conversely, if the voxel point cloud exhibits discrete and penetrating dust characteristics, δ tends to 1 / 3.
[0042] Furthermore, step S3 includes the following sub-steps:
[0043] S3-1. Based on the proportion of ground characteristics and dust characteristics of the vertical voxels in the ground point cloud Map table, perform category analysis on the corresponding grids as background information for the grids: if the proportion of ground characteristics is higher than that of dust characteristics, the grid represents ground; otherwise, it represents dust.
[0044] S3-2, Based on the clustering results of the non-ground point map table, expand the neighborhood of the obstacle. For each obstacle, add neighborhood information to the obstacle according to the background information of its corresponding ground point cloud map table.
[0045] S3-3, Traverse obstacles and perform neighborhood analysis using the neighborhood information of obstacles. If there are a large number of fluffy, spatially discrete grids in the neighborhood of an obstacle, it indicates that the obstacle is likely a false detection caused by dust. If the neighborhood of an obstacle shows smooth characteristics, it indicates that the obstacle is a real obstacle.
[0046] S3-4: Based on the coordinates of the detected obstacles in the Map table, construct an obstacle list. The obstacle list is a set containing obstacle coordinates as elements: one for the current frame and one for the previous frame. For the obstacle list of the current frame, match it with the obstacle detection list of the previous frame. If the obstacle of the current frame has appeared in the history, output a small target; if it has not appeared, count the number of times it appears to reduce false detections of obstacles.
[0047] S3-5, based on the final non-ground point map information, assign overall point category values to the point cloud points of the corresponding grid to obtain the small target detection results of unstructured roads with dust problems overcome.
[0048] The beneficial effects of this invention compared to the prior art are as follows:
[0049] 1. In this invention, a global map table is constructed based on the original point cloud data. Voxels are then constructed in the vertical direction of the map table, and these voxels are used as the representation of the point cloud, enabling the perception algorithm to balance accuracy and speed. The cubic voxels provide support for the normalization of PCA feature values, allowing the algorithm to better characterize the smoothness of the neighborhood. Simultaneously, the voxel results are projected onto the 2D map table to achieve obstacle tracking, ensuring the stability of small target detection and addressing the changing physical environment under unstructured roads.
[0050] 2. PCA data analysis is used to characterize the penetration characteristics of dust point clouds and the smoothness characteristics of ground point clouds. Utilizing voxel representation, PCA data analysis can effectively characterize the spatial distribution characteristics of point clouds, providing a reliable guarantee for the detection of small targets on unstructured roads. Using the PCA method, singular value decomposition is performed on the point cloud data. Based on the magnitude of the eigenvalues, the degree of clutter in the point cloud is described, representing a novel method for representing discreteness.
[0051] 3. This invention addresses the challenge of detecting small targets on unstructured roads: Traditional algorithms rely on ground removal and point cloud clustering to identify the susceptibility of small targets to dust. This invention proposes a neighborhood analysis algorithm based on a map table. The map table neighborhood analysis method uses PCA (Principal Component Analysis) to characterize the smoothness of the obstacle neighborhood for small targets. Since the neighborhoods of dusty small obstacles differ significantly from those of real small obstacles, the neighborhood analysis method effectively improves the detection accuracy of small targets. Attached Figure Description
[0052] Figure 1 Algorithm flowchart;
[0053] Figure 2 Map represents intent;
[0054] Figure 3 Map table and voxel diagram;
[0055] Figure 4 PCA analysis diagram;
[0056] Figure 5 Neighborhood analysis diagram. Detailed Implementation
[0057] The present invention will be further described below with reference to the accompanying drawings.
[0058] A method for small target detection in unstructured roads, such as Figure 1 As shown, it includes the following steps:
[0059] S1: Input the raw point cloud data, use the sensor installation parameter information to filter out the ground from the point cloud, and obtain the ground point cloud and non-ground point cloud.
[0060] S2: Construct a map table using the ground point cloud and non-ground point cloud output from the preprocessing results. Perform a completion operation on the non-ground point cloud based on the grid occupancy information of the ground point map table and the non-ground point map table. Construct voxels in the vertical direction of the grid of the ground point map table occupied by the point cloud, and then perform grid clustering and PCA analysis.
[0061] S3: Based on the PCA neighborhood dispersion analysis results, traverse the obstacle neighborhood. For each obstacle, perform a neighborhood smoothness analysis to distinguish between ground characteristic neighborhoods and dust characteristic neighborhoods, and use a tracking algorithm to improve the detection stability of small obstacles.
[0062] Furthermore, step S1 specifically includes:
[0063] The algorithm takes the original point cloud as input and obtains the actual installation parameters of the LiDAR, including its installation angle and height. These parameters are used to calibrate the point cloud. Simultaneously, based on ground elevation information, the original point cloud is divided into ground points and non-ground points. Non-ground points contain common obstacles such as vehicles, pedestrians, small obstacles, and dust. The core of this algorithm is to improve the detection accuracy of small obstacles and reduce false detections of small targets caused by dust. In this example, small obstacles are defined as those less than or equal to 30cm x 30cm x 30cm.
[0064] Furthermore, step S2 includes the following sub-steps:
[0065] S2-1: Construct a map table based on the ground point cloud and non-ground point cloud obtained in step S1. The map table is a uniformly divided grid of size 0.3m * 0.3m on the xoy plane, as shown below. Figure 2As shown. The numbers in the grid indicate whether there is a point cloud at that location; 0 indicates that the grid has no point cloud, and 1 indicates that the grid is occupied by a point cloud in the vertical direction. The map is divided into two categories: a non-ground point map, which shows the distribution of obstacles, and a ground point map, which is generated from ground points.
[0066] S2-2: The ground filtering algorithm performs direct filtering based on ground height, which results in missing obstacle point clouds and reduces the performance of target detection for small targets. Therefore, a non-ground point completion operation is performed here. Specifically, based on the grid information occupied by the ground point map table and the grid information occupied by the non-ground point map table, the intersection is calculated, and the non-ground point is completed on the intersection grid of the existing ground points and non-ground points to increase the target spatial information and improve the detection accuracy of small targets.
[0067] S2-3: Based on the ground point map table formed in step S2-1, construct voxels in the vertical direction of the grid occupied by the point cloud. The size of each voxel is a cube of 0.3m * 0.3m * 0.3m. Figure 3 As shown, the use of voxels creates conditions for PCA point cloud discretization analysis.
[0068] S2-4: Based on the grid occupancy information of the completed non-ground point map table obtained in step 2-2, perform grid clustering in the non-ground point map table. The specific process of clustering is to use the grid occupancy proximity information of the non-ground point map table to perform clustering, so that grids containing obstacles can be grouped into one class, and obtain the clustered object result represented by grid coordinates.
[0069] S2-5: Perform PCA analysis on the point cloud within each voxel in the ground point map table constructed in step 2-3 to distinguish the voxel category. The analysis steps are as follows. Since the point cloud consists of isolated points, PCA is used to estimate the distribution characteristics of the point cloud voxels. PCA analysis is performed on n points of a voxel to obtain the category of each voxel, i.e., dust characteristics or ground characteristics, such as... Figure 4 As shown.
[0070] (1) For any voxel, obtain n point cloud points. Decenter the n discrete points and solve for their covariance matrix:
[0071] Let n data be
[0072]
[0073] Among them, (x n y n z n () represents the coordinates of the nth point cloud point;
[0074] Find the mean in each direction.
[0075]
[0076] The result of decentralization is
[0077]
[0078] Constructing the covariance matrix
[0079]
[0080] (2) Perform singular value decomposition on the covariance matrix C, and its eigenvalues are λ1, λ2, and λ3. λ1 is the smallest eigenvalue, and δ = λ1 / (λ1 + λ2 + λ3) is the discrete characteristic of the entire voxel. If the voxel exhibits ground characteristics, δ tends to 0. Conversely, if the voxel point cloud exhibits discrete and penetrating dust characteristics, δ tends to 1 / 3.
[0081] Furthermore, step S3 includes the following sub-steps:
[0082] S3-1: Since the voxels are cut vertically on the ground point cloud map, such as Figure 3 As shown. Using the PCA analysis results of each voxel in steps S2-5, the corresponding mesh is classified according to the proportion of ground characteristics and dust characteristics of the voxels in the vertical direction of the Map table. Here, the ground point voxel information is projected vertically onto the Map table to facilitate the neighborhood analysis of obstacles.
[0083] Specifically, multiple voxels are constructed along each vertical grid direction. These voxels are used to determine whether the grid is a dust grid or a ground grid. The voxels are analyzed using PCA, and the analysis results include two categories: ground characteristics and dust characteristics. If there are more dust voxels in a vertical direction, the grid will appear as dust after projection; otherwise, it will appear as ground. At this point, the grid formed by S3-1 carries semantic information and is used as background information for S3-2.
[0084] S3-2: Based on the clustering results of the non-ground point map, expand the neighborhood of obstacles. For each obstacle, add neighborhood information based on its corresponding ground point cloud map background information. For example... Figure 5 As shown in the figure. The number 1 indicates that the area is occupied by an obstacle, and the surrounding gray area represents its neighborhood. Neighborhood information is obtained from the ground point map table.
[0085] S3-3: Traverse obstacles and perform neighborhood analysis using the neighborhood information of the obstacles. If the neighborhood grid of an obstacle has a large number of loose and spatially discrete grids (e.g., more than 80% of the neighborhood grids), it indicates that the obstacle is likely a false detection caused by dust. If the neighborhood of an obstacle shows smooth characteristics, it indicates that the obstacle is a real obstacle. Track it to achieve stable detection of the obstacle.
[0086] S3-4: Based on the coordinates of detected obstacles in the Map table, an obstacle list is constructed. This list consists of sets containing elements with obstacle coordinates. The tracking algorithm uses two obstacle lists: one for the current frame and one for the previous frame. By establishing a correspondence between these lists, the accuracy and reliability of obstacle detection are improved. For the obstacle list of the current frame, it is matched against the obstacle detection list of the previous frame. If an obstacle in the current frame has appeared in the history, it is output as a small target. If it has not appeared, its occurrence count is recorded to reduce false detections.
[0087] S3-5: Based on the final non-ground point map information, assign an overall point category value to the point cloud points of the corresponding grid to obtain the small target detection results of the unstructured road with the dust problem overcome.
[0088] The above description is merely a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for detecting small targets on unstructured roads, characterized in that, Includes the following steps: S1: Input the raw point cloud data, use the sensor installation parameter information to filter out the ground point cloud, and obtain the ground point cloud and non-ground point cloud; S2: Construct a ground point map and a non-ground point map using ground point cloud and non-ground point cloud respectively. Perform a completion operation on the non-ground point cloud based on the grid occupancy information of the ground point map and the non-ground point map. Construct voxels in the vertical direction of the grid of the ground point map occupied by the point cloud. Perform grid clustering on the completed non-ground point map table, grouping grids containing obstacles into one class; PCA analysis was performed on the point cloud inside each voxel in the ground point map table to obtain the voxel category; S3: Based on the PCA analysis results, add neighborhood information to the mesh containing obstacles; Traverse obstacles and analyze the smoothness of the neighborhood using its neighborhood information. If the neighborhood has ground characteristics, it is identified as a real obstacle; if the neighborhood has dust characteristics, it is identified as dust. The system tracks identified real obstacles to achieve stable obstacle detection and obtain the final small target detection result. Step S2 includes the following sub-steps: S2-1, Construct a Map based on the ground point cloud and non-ground point cloud obtained in step S1, including: a non-ground point Map, used to represent the distribution of obstacles; and a ground point Map, generated from ground points. The Map table is a uniformly divided grid on the xoy plane, and the grid is marked to indicate whether there is point cloud coverage in this area; S2-2, Based on the grid information occupied by the ground point Map table and the grid information occupied by the non-ground point Map table, find the intersection, and perform the non-ground point completion operation on the intersection grid of the existing ground points and non-ground points; S2-3, Based on the ground point map table formed in step S2-1, construct voxels in the vertical direction of the grid occupied by the point cloud; S2-4. Based on the grid occupancy information of the completed non-ground point Map table obtained in step 2-2, perform grid clustering in the non-ground point Map table: use the grid occupancy proximity information of the non-ground point Map table to perform clustering, so that grids containing obstacles can be clustered into one class, and obtain the clustering result represented by grid coordinates. S2-5, Perform PCA analysis on the point cloud inside each voxel in the ground point Map table constructed in step 2-3 to obtain the voxel category: dust characteristics or ground characteristics. Step S3 includes the following sub-steps: S3-1. Based on the proportion of ground characteristics and dust characteristics of the vertical voxels in the ground point cloud Map table, perform category analysis on the corresponding grids as background information for the grids: if the proportion of ground characteristics is higher than that of dust characteristics, the grid represents ground; otherwise, it represents dust. S3-2, Based on the clustering results of the non-ground point map table, expand the neighborhood of the obstacle. For each obstacle, add neighborhood information to the obstacle according to the background information of its corresponding ground point cloud map table. S3-3, Traverse obstacles and perform neighborhood analysis using the neighborhood information of obstacles. If more than 80% of the neighborhood grid of an obstacle is fluffy and spatially discrete, it indicates that the obstacle is a false detection caused by dust. If the neighborhood of an obstacle shows smooth characteristics, it indicates that the obstacle is a real obstacle. S3-4: Based on the coordinates of the detected obstacles in the Map table, construct an obstacle list. The obstacle list is a set containing obstacle coordinates as elements: one for the current frame and one for the previous frame. For the obstacle list of the current frame, match it with the obstacle detection list of the previous frame. If the obstacle of the current frame has appeared in the history, output a small target; if it has not appeared, count the number of times it appears to reduce false detections of obstacles. S3-5, based on the final non-ground point map information, assign overall point category values to the point cloud points of the corresponding grid to obtain the small target detection results of unstructured roads with dust problems overcome.
2. The method for small target detection on unstructured roads according to claim 1, characterized in that, Step S1 specifically involves: inputting the original point cloud, obtaining the actual installation parameters of the lidar, including the installation angle and installation height of the lidar, calibrating the point cloud through the installation parameters, and distinguishing the original point cloud into ground points and non-ground points based on the ground height information.
3. The method for small target detection on unstructured roads according to claim 2, characterized in that, Step S2-5 specifically involves: (1) For any voxel, obtain n A point cloud point, for n The discrete points are decentered, and their covariance matrix is solved: set up n The data is A= in,( x n y n z n ) is the first n The coordinates of a point cloud point; Find the mean in each direction. , , The result of decentralization is D = = Constructing the covariance matrix (2) For the covariance matrix C Perform singular value decomposition, its eigenvalues are , , , It is the smallest eigenvalue. This represents the discrete characteristic of the entire voxel; if the voxel exhibits ground-like characteristics, If the voxel point cloud points tend to 0, conversely, if the voxel point cloud points exhibit discrete, penetrating dust characteristics, It tends to be about 1 / 3.