A system for processing input point cloud having points, wherein each point includes a set of attributes including two dimensional and three dimensional coordinates and other attributes, comprising: sensors sensing a scene, and in communication with a computer readable memory to produce the input point cloud; an output interface; a processor in communication with the computer readable memory, is configured to: access the input point cloud; construct a graph representing the input point cloud, based on each point in the input point cloud representing a node in the graph, and identify and connecting two neighboring nodes in the graph to obtain a graph edge; determine a graph filtering function based on the constructed graph; filter each point in the input point cloud by selecting a subset of attributes for the points and applying by the graph filtering function on the selected subset of attributes, to determine at least one value for each point in the input point cloud; produce a probability for each point, based on the at least one value of the point compared to a total of all values of the points in the input point cloud, and a predetermined number of points in an output point cloud; sample the input point cloud using random evaluation of the probabilities of each point, to obtain a subset of points in the input point cloud, wherein the subset of points is the output point cloud; and store the output point cloud in the computer readable memory or output the output point cloud via the output interface in communication with the processor, wherein the output point cloud is used to assist in subsequent processing and assists in management of the input cloud data; wherein the determination of subset of points in the input point cloud includes: determining a second subset of points, where additional points are selected and added to the determined subset of points, such that the second subset of points provides a greater detail of the input point cloud than a detail of the determined subset of points of the input point cloud; and wherein the processor is further configured to update the probability factor of remaining points with a scale that is proportional to their Euclidean distances to the points in the determined subset of points. sensors sensing a scene, and in communication with a computer readable memory to produce the input point cloud; an output interface; a processor in communication with the computer readable memory, is configured to: access the input point cloud; construct a graph representing the input point cloud, based on each point in the input point cloud representing a node in the graph, and identify and connecting two neighboring nodes in the graph to obtain a graph edge; determine a graph filtering function based on the constructed graph; filter each point in the input point cloud by selecting a subset of attributes for the points and applying by the graph filtering function on the selected subset of attributes, to determine at least one value for each point in the input point cloud; produce a probability for each point, based on the at least one value of the point compared to a total of all values of the points in the input point cloud, and a predetermined number of points in an output point cloud; sample the input point cloud using random evaluation of the probabilities of each point, to obtain a subset of points in the input point cloud, wherein the subset of points is the output point cloud; and store the output point cloud in the computer readable memory or output the output point cloud via the output interface in communication with the processor, wherein the output point cloud is used to assist in subsequent processing and assists in management of the input cloud data; access the input point cloud; construct a graph representing the input point cloud, based on each point in the input point cloud representing a node in the graph, and identify and connecting two neighboring nodes in the graph to obtain a graph edge; determine a graph filtering function based on the constructed graph; filter each point in the input point cloud by selecting a subset of attributes for the points and applying by the graph filtering function on the selected subset of attributes, to determine at least one value for each point in the input point cloud; produce a probability for each point, based on the at least one value of the point compared to a total of all values of the points in the input point cloud, and a predetermined number of points in an output point cloud; sample the input point cloud using random evaluation of the probabilities of each point, to obtain a subset of points in the input point cloud, wherein the subset of points is the output point cloud; and store the output point cloud in the computer readable memory or output the output point cloud via the output interface in communication with the processor, wherein the output point cloud is used to assist in subsequent processing and assists in management of the input cloud data; wherein the determination of subset of points in the input point cloud includes: determining a second subset of points, where additional points are selected and added to the determined subset of points, such that the second subset of points provides a greater detail of the input point cloud than a detail of the determined subset of points of the input point cloud; and wherein the processor is further configured to update the probability factor of remaining points with a scale that is proportional to their Euclidean distances to the points in the determined subset of points.