Equi-variant convolutional neural network
Patent Information
- Application Number
- CN202280024667.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-31
- Filing Date
- 2022-03-30
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2042-03-30
Smart Images

Figure CN117203643B_ABST
Abstract
Description
[0001] Cross-reference of related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 219,099, filed March 31, 2021, entitled “EQUIVARIANT STEERABLE CONVOLUTIONAL NEURAL NETWORKS”, the disclosure of which is expressly incorporated herein by reference in its entirety.
[0003] background
[0004] field
[0005] The aspects of this disclosure generally relate to artificial neural networks.
[0006] background
[0007] Artificial neural networks can comprise groups of interconnected artificial neurons (e.g., neuron models). An artificial neural network can be a computing device or represented as a method to be performed by a computing device. A convolutional neural network (CNN) is a type of feedforward artificial neural network. A CNN can comprise a set of neurons, each having a receptive field and collectively constructing an input space. Convolutional neural networks (CNNs) (such as deep convolutional neural networks (DCNs)) have numerous applications. Specifically, these neural network architectures are used in a variety of technologies, such as image recognition, speech recognition, acoustic scene classification, keyword detection, autonomous driving, and other classification tasks.
[0008] Isovariance is becoming an increasingly popular design choice for building data-efficient networks by leveraging prior knowledge of symmetries about a given problem. Some conventional systems provide models that are equivariant with continuous three-dimensional (3D) rotation. To achieve continuous equivariance, these conventional systems encode the network's characteristics in a band-limited Fourier space and rely on specific nonlinearities operating in this space. However, this parameterization combined with these nonlinearities leads to poor performance.
[0009] Overview
[0010] In one aspect of this disclosure, a method is provided. The method includes receiving a set of irreducible representations of a source-preserving group. The method also includes generating a network equivalent to the source-preserving group, at least in part based on the set of irreducible representations. In another aspect of this disclosure, an apparatus is provided. The apparatus includes a memory and one or more processors coupled to the memory. The processors(s) are configured to receive a set of irreducible representations of a source-preserving group. The method also includes generating a network equivalent to the source-preserving group, at least in part based on the set of irreducible representations.
[0011] In one aspect of this disclosure, an apparatus is provided. The apparatus includes means for receiving a set of irreducible representations of a source-preserving group. The apparatus also includes means for generating a network equivalent to the source-preserving group, at least in part, based on the set of irreducible representations.
[0012] In one aspect of this disclosure, a non-transient computer-readable medium is provided. Program code is encoded on the computer-readable medium. The program code is executed by a processor and includes code for receiving a set of irreducible representations of an origin-preserving group. The program code also includes code for generating a network equivalent to the origin-preserving group, at least in part, based on the set of irreducible representations.
[0013] Additional features and advantages of this disclosure will be described below. Those skilled in the art will appreciate that this disclosure can be readily used as the basis for modifying or designing other structures for implementing the same purposes as this disclosure. Those skilled in the art will also recognize that such equivalent constructions do not depart from the teachings of this disclosure set forth in the appended claims. Novel features considered characteristic of this disclosure, in both their organization and manner of operation, along with further objects and advantages, will be better understood when considered in conjunction with the accompanying drawings. However, it is to be clearly understood that each drawing is provided for illustrative and descriptive purposes only and is not intended to be a definition of limitation of this disclosure. Brief description of the attached diagram
[0015] The features, nature, and advantages of this disclosure will become more apparent when understood in conjunction with the accompanying drawings, in which the same reference numerals are always used to indicate the subject.
[0016] Figure 1 An example implementation of a neural network using a system-on-a-chip (SoC) (including a general-purpose processor) according to certain aspects of this disclosure is explained.
[0017] Figure 2A , 2B 2C are illustrations explaining various aspects of the neural network according to this disclosure.
[0018] Figure 2D This is a diagram illustrating an exemplary deep convolutional network (DCN) according to various aspects of this disclosure.
[0019] Figure 3 This is a block diagram illustrating an exemplary deep convolutional network (DCN) according to various aspects of this disclosure.
[0020] Figure 4 The present disclosure describes methods for operating neural networks to provide equivariant three-dimensional isometrics.
[0021] Detailed description
[0022] The detailed description that follows, taken in conjunction with the accompanying drawings, is intended as a description of various configurations and is not intended to represent only the configurations in which the described concepts can be practiced. This detailed description includes specific details to provide a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form to avoid obscuring such concepts.
[0023] Based on this teaching, those skilled in the art will appreciate that the scope of this disclosure is intended to cover any aspect of this disclosure, whether implemented independently of or in combination with any other aspect of this disclosure. For example, any number of the aspects described may be used to implement an apparatus or method of practice. Furthermore, the scope of this disclosure is intended to cover such apparatus or methods practiced using other structures, functionalities, or structures and functionalities that complement or differ from the aspects of the described disclosure. It should be understood that any aspect of this disclosure may be implemented by one or more elements of the claims.
[0024] The word “exemplary” is used to mean “serving as an example, instance, or explanation.” Any aspect described as “exemplary” need not be construed as superior to or better than other aspects.
[0025] While specific aspects are described, numerous variations and substitutions of these aspects fall within the scope of this disclosure. Although some benefits and advantages of preferred aspects are mentioned, the scope of this disclosure is not intended to be limited to a particular benefit, use, or objective. Rather, the aspects of this disclosure are intended to be broadly applicable to different technologies, system configurations, networks, and protocols, some of which are illustrated as examples in the accompanying drawings and the following description of preferred aspects. The detailed description and accompanying drawings are merely illustrative and not limiting of this disclosure, the scope of which is defined by the appended claims and their equivalents.
[0026] As discussed, equivariance is becoming an increasingly popular design choice for building data-efficient networks by leveraging prior knowledge of symmetries about a given problem. Equivariance is a form of symmetry that is a function of one space to another. In other words, equivariance is a property that directly correlates an input transformation to a feature transformation. A network can be considered equivariant if it produces a representation that transforms in a predictable linear manner under a transformation of the input. Some conventional systems provide models that are equivariant with continuous three-dimensional (3D) rotation. 3D equivariance has applications in numerous technologies, including computational chemistry, medical imaging, and 3D vision with volumetric data, such as object recognition, occupancy fields, and point clouds.
[0027] To achieve continuous equivariance, these conventional systems encode the network's features in a band-limited Fourier space and rely on specific nonlinearities operating within this space. However, this parameterization, combined with these nonlinearities, leads to poor performance.
[0028] Accordingly, aspects of this disclosure relate to models that are isotropic in 3D. Isometrics is a transformation or mapping of a metric space to itself such that the distance between any two points in the original space is the same as the distance between their images in a second space. Three-dimensional isometrics includes, for example, translation, rotation, and reflection (mirror). In some aspects, when the input data is not globally symmetric (e.g., a diffuse MRI scan of the brain), group constraints utilize larger symmetries in lower layers on a small scale (e.g., locally).
[0029] Figure 1 An example implementation of a system-on-a-chip (SoC) 100 is described, which may include a central processing unit (CPU) 102 or a multi-core CPU configured to generate an equivariant neural network. Variables (e.g., neural signals and synaptic weights), system parameters associated with the computing device (e.g., a weighted neural network), latency, frequency slot information, and task information may be stored in memory blocks associated with a neural processing unit (NPU) 108, a memory block associated with the CPU 102, a memory block associated with a graphics processing unit (GPU) 104, a memory block associated with a digital signal processor (DSP) 106, a memory block 118, or may be distributed across multiple blocks. Instructions executed at the CPU 102 may be loaded from the program memory associated with the CPU 102 or from memory block 118.
[0030] The SOC 100 may also include additional processing blocks tailored to specific functions, such as a GPU 104, a DSP 106, a connectivity block 110 (which may include fifth-generation (5G) connectivity, fourth-generation LTE (4G) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, etc.), and a multimedia processor 112, for example, capable of detecting and recognizing gestures. In one implementation, an NPU 108 is implemented within a CPU 102, a DSP 106, and / or a GPU 104. The SOC 100 may also include a sensor processor 114, an image signal processor (ISP) 116, and / or a navigation module 120 (which may include a global positioning system).
[0031] The SOC 100 may be based on the ARM instruction set. In one aspect of this disclosure, the instructions loaded into the general-purpose processor 102 may include code for receiving a set of irreducible representations of the origin-preserving group. The general-purpose processor may also include code for generating a network equivalent to the origin-preserving group, at least in part, based on the set of irreducible representations.
[0032] Deep learning architectures perform object recognition tasks by learning to represent inputs at progressively higher levels of abstraction in each layer, thereby constructing useful feature representations of the input data. In this way, deep learning addresses a major bottleneck in traditional machine learning. Before deep learning, machine learning methods for object recognition problems often relied heavily on human-engineered features, perhaps combined with shallow classifiers. Shallow classifiers could be two-class linear classifiers, where a weighted sum of feature vector components is compared to a threshold to predict which class the input belongs to. Human-engineered features could be templates or kernels customized for a specific problem domain by engineers with domain expertise. In contrast, deep learning architectures can learn to represent features similar to those that human engineers might design, but this learning is achieved through training. Furthermore, deep networks can learn to represent and recognize novel types of features that humans might not have considered before.
[0033] Deep learning architectures can learn hierarchical levels of features. For example, if visual data is presented to the first layer, it can learn to recognize relatively simple features (such as edges) in the input stream. In another example, if auditory data is presented to the first layer, it can learn to recognize spectral power at specific frequencies. A second layer, taking the output of the first layer as input, can learn to recognize combinations of features, such as recognizing simple shapes in visual data or sound combinations in auditory data. For example, higher layers can learn to represent complex shapes in visual data or words in auditory data. Even higher layers can learn to recognize common visual objects or spoken phrases.
[0034] Deep learning architectures can perform particularly well when applied to problems with a naturally hierarchical structure. For example, the classification of motor vehicles can benefit from first learning to identify wheels, windshields, and other features. These features can then be combined in different ways at higher levels to identify cars, trucks, and airplanes.
[0035] Neural networks can be designed with various connectivity patterns. In feedforward networks, information is passed from lower layers to higher layers, where each neuron in a given layer communicates to neurons in higher layers. As mentioned above, hierarchical representations can be constructed in successive layers of a feedforward network.
[0036] Neural networks can also have recurrent or feedback (also known as top-down) connections. In a recurrent connection, the output of a neuron in a given layer can be communicated to another neuron in the same layer. Recurrent architectures can help identify patterns across more than one block of input data delivered sequentially to the neural network. Connections from a neuron in a given layer to neurons in lower layers are called feedback (or top-down) connections. Networks with many feedback connections can be helpful when the recognition of higher-level concepts can help discern specific lower-level features of the input.
[0037] The connections between layers of a neural network can be fully connected or partially connected. Figure 2A An example of a fully connected neural network 202 is explained. In a fully connected neural network 202, a neuron in the first layer can pass its output to each neuron in the second layer, so that each neuron in the second layer receives input from each neuron in the first layer. Figure 2B An example of a locally connected neural network 204 has been explained. In the locally connected neural network 204, neurons in the first layer can connect to a finite number of neurons in the second layer. More generally, the locally connected layers of the locally connected neural network 204 can be configured such that each neuron in a layer will have the same or similar connectivity pattern, but its connection strength can have different values (e.g., 210, 212, 214, and 216). The connectivity pattern of locally connected networks may produce spatially dissimilar receptive fields in higher layers because higher-layer neurons in a given region can receive inputs that are tuned to a restricted portion of the total input to the network through training.
[0038] An example of a locally connected neural network is a convolutional neural network. Figure 2C An example of a convolutional neural network 206 has been explained. The convolutional neural network 206 can be configured such that the connection strength associated with the input for each neuron in the second layer is shared (e.g., 208). Convolutional neural networks may be well-suited for problems where the spatial location of the input is meaningful.
[0039] One type of convolutional neural network is the deep convolutional network (DCN). Figure 2D A detailed example of a DCN 200 designed to recognize visual features from an image 226 input from an image capture device 230 (such as an in-vehicle camera) is explained. The DCN 200 of this example can be trained to identify traffic signs and the numbers provided on them. Of course, the DCN 200 can be trained for other tasks, such as identifying lane markings or traffic lights.
[0040] The DCN 200 can be trained using supervised learning. During training, an image (such as image 226 of a speed limit sign) can be presented to the DCN 200, and a "forward pass" can then be computed to produce output 222. The DCN 200 may include feature extraction segments and classification segments. Upon receiving image 226, a convolutional layer 232 may apply a convolutional kernel (not shown) to image 226 to generate a first set of feature maps 218. As an example, the convolutional kernel of the convolutional layer 232 may be a 5x5 kernel that generates a 28x28 feature map. In this example, since four different feature maps are generated in the first set of feature maps 218, four different convolutional kernels are applied to image 226 at the convolutional layer 232. The convolutional kernel may also be referred to as a filter or convolutional filter.
[0041] The first set of feature maps 218 can be subsampled by a max-pooling layer (not shown) to generate a second set of feature maps 220. The max-pooling layer reduces the size of the first set of feature maps 218. That is, the size of the second set of feature maps 220 (e.g., 14x14) is smaller than the size of the first set of feature maps 218 (e.g., 28x28). The reduced size provides similar information to subsequent layers while reducing memory consumption. The second set of feature maps 220 can be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more subsequent sets of feature maps (not shown).
[0042] exist Figure 2D In the example, the second set of feature maps 220 is convolved to generate a first feature vector 224. Furthermore, the first feature vector 224 is further convolved to generate a second feature vector 228. Each feature of the second feature vector 228 may include a number corresponding to a possible feature of image 226 (such as "sign", "60", and "100"). A softmax function (not shown) converts the numbers in the second feature vector 228 into probabilities. Thus, the output 222 of DCN 200 is the probability that image 226 includes one or more features. In this example, the probability of "sign" and "60" in the output 222 is higher than the probabilities of other features in the output 222 (such as "30", "40", "50", "70", "80", "90", and "100"). Before training, the output 222 generated by DCN 200 is likely incorrect. Therefore, the error between the output 222 and the target output can be calculated. The target output is the truth value of image 226 (e.g., “sign” and “60”). The weights of DCN 200 can then be adjusted so that the output 222 of DCN 200 is more closely aligned with the target output.
[0043] To adjust the weights, the learning algorithm computes gradient vectors for each weight. The gradient indicates how much the error will increase or decrease as the weights are adjusted. At the top layers, the gradient directly corresponds to the values of the weights connecting the activated neurons in the penultimate layer to the neurons in the output layer. In lower layers, the gradient depends on the values of the weights and the calculated error gradient from the higher layers. The weights can then be adjusted to reduce the error. This method of adjusting weights is called "backpropagation" because it involves passing data backwards within the neural network.
[0044] In practice, the error gradient of the weights may be calculated on a small number of examples, thus approximating the true error gradient. This approximation method is called stochastic gradient descent. Stochastic gradient descent can be repeated until the error rate achievable by the entire system stops decreasing or until the error rate reaches the target level. After learning, new images can be presented to the DCN, and the forward pass in the network produces an output 222, which can be considered an inference or prediction of the DCN.
[0045] Deep Belief Networks (DBNs) are probabilistic models that include multiple layers of hidden nodes. DBNs can be used to extract hierarchical representations of training datasets. DBNs can be obtained by stacking multiple layers of Restricted Boltzmann Machines (RBMs). RBMs are a class of artificial neural networks that can learn probability distributions on an input set. Because RBMs can learn probability distributions without information about which class each input should be classified into, they are often used in unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of a DBN can be trained unsupervised and used as a feature extractor, while the top RBM can be trained supervised (on the joint distribution of inputs from previous layers and the target class) and used as a classifier.
[0046] Deep convolutional networks (DCNs) are networks of convolutional networks configured with additional pooling and normalization layers. DCNs have achieved state-of-the-art performance on many tasks. DCNs can be trained using supervised learning, where both the input and output targets are known for many paradigms and are used to modify the network's weights using gradient descent.
[0047] DCNs can be feedforward networks. Furthermore, as mentioned above, the connections from neurons in the first layer of a DCN to the neuron group in the next higher layer are shared across neurons in the first layer. The feedforward and shared connections of a DCN can be used for fast processing. The computational burden of a DCN can be much smaller than, for example, a similarly sized neural network that includes backflow or feedback connections.
[0048] The processing at each layer of a convolutional network can be considered as a spatially invariant template or base projection. If the input is first decomposed into multiple channels, such as the red, green, and blue channels of a color image, a convolutional network trained on that input can be considered three-dimensional, having two spatial dimensions along the axis of the image and a third dimension capturing color information. The output of the convolutional connections can be considered as forming a feature map in subsequent layers, where each element receives input from a range of neurons in the previous layer (e.g., feature map 218) and from each of those multiple channels. The values in the feature map can be further processed non-linearly (such as correction, max(0,x)). Values from neighboring neurons can be further pooled (which corresponds to downsampling) and provide additional local invariance and dimensionality reduction. Normalization, corresponding to whitening, can also be applied through lateral inhibition between neurons in the feature map.
[0049] The performance of deep learning architectures can improve as more labeled data points become available or as computational power increases. Modern deep neural networks are routinely trained with thousands of times more computational resources than were available to a typical researcher just fifteen years ago. New architectures and training paradigms can further boost the performance of deep learning. Corrected linear units reduce the training problem known as vanishing gradients. New training techniques reduce overfitting and thus enable larger models to achieve better generalization. Encapsulation techniques can abstract the data within a given receptive field and further improve overall performance.
[0050] Figure 3 This is a block diagram illustrating a Deep Convolutional Network 350. A Deep Convolutional Network 350 can include multiple layers of different types based on connectivity and weight sharing. For example... Figure 3 As shown, the deep convolutional network 350 includes convolutional blocks 354A and 354B. Each of the convolutional blocks 354A and 354B may be configured with a convolutional layer (CONV) 356, a normalization layer (LNorm) 358, and a max pooling layer (MAX POOL) 360.
[0051] Convolutional layer 356 may include one or more convolutional filters that can be applied to the input data to generate feature maps. Although only two convolutional blocks 354A and 354B are shown, this disclosure is not limited thereto, and any number of convolutional blocks 354A and 354B may be included in the deep convolutional network 350 according to design preferences. Normalization layer 358 may normalize the output of the convolutional filters. For example, normalization layer 358 may provide whitening or lateral suppression. Max pooling layer 360 may provide spatial downsampling aggregation to achieve local invariance and dimensionality reduction.
[0052] For example, the parallel filter bank of the deep convolutional network can be loaded onto the CPU 102 or GPU 104 of the SOC 100 to achieve high performance and low power consumption. In an alternative embodiment, the parallel filter bank can be loaded onto the DSP 106 or ISP 116 of the SOC 100. Additionally, the deep convolutional network 350 can access other processing blocks that may exist on the SOC 100, such as the sensor processor 114 and navigation module 120, respectively dedicated to sensors and navigation.
[0053] The deep convolutional network 350 may also include one or more fully connected layers 362 (FC1 and FC2). The deep convolutional network 350 may further include logistic regression (LR) layers 364. Weights (not shown) to be updated are located between each layer 356, 358, 360, 362, and 364 of the deep convolutional network 350. The output of each layer (e.g., 356, 358, 360, 362, and 364) can be used as input to a subsequent layer in the deep convolutional network 350 (e.g., 356, 358, 360, 362, and 364) to learn a hierarchical feature representation from the input data 352 (e.g., image, audio, video, sensor data, and / or other input data) supplied from the first convolutional block 354A. The output of the deep convolutional network 350 is a classification score 366 for the input data 352. The classification score 366 may be a set of probabilities, where each probability is the probability that the input data includes features from a feature set.
[0054] The aspects of this disclosure are aimed at generating models with equivalence to three-dimensional (3D) rotation and reflection.
[0055] Tunable convolutional neural networks (CNNs) represent their inputs as a homogeneous space (e.g., The wilds on the field are mapped between such representations using an adjustable-direction filter. Given a feature space with a group representation (F, π) and a convolutional network Φ: F → F′, the feature space F′ is linearly adjustable about G if for all transformations g ∈ G, the features Φf and Φπ(g)f are related by a linear transformation π′(g) independent of f.
[0056] Adjustable CNNs enable efficient implementation of... A group-equivariant neural network of the form where the group H < O(d) is a Euclidean space. The isometry group that preserves its origin, and It is the inner semi-direct product operator. This framework is based on interpreting convolutional features as feature fields, such as, for example, group representations. Associated feature maps Its definition is based on the transformation rule of the feature graph f under the action of the element g = (t, h) ∈ G, where And h∈H:
[0057] [gf](x)=ρ(h)f(h -1 (xt)), (1)
[0058] Where x is a point in the base space.
[0059] An isovariant network can be a convolutional neural network in which the convolutional layers use only kernels k that satisfy a specific constraint, which is represented by a group ρ of H associated with its own input and output feature fields. in and ρ out The definition is as follows:
[0060]
[0061] According to various aspects of this disclosure, G is defined as origin-preserving symmetry, where H is a subgroup of G. To parameterize any origin-preserving symmetry G < O(3) equivariant convolutional layer, the kernel constraints of Equation 2 can be solved for any irreducible representation (also called "irrep") of G. The number of different groups G < O(3) and their corresponding irreducible representations can make manually solving these constraints very time-consuming and impractical. Accordingly, various aspects of this disclosure can automatically determine these kernel constraints. The H-variable filter on the top can be used to... Decomposed into several subspaces The union of x is such that each subspace is determined by preserving the origin symmetry G and including independent point orbits, where for some x i and X i ∩X j There is X i ={gx i |g∈G}, where i≠j. Therefore, each X i This corresponds to the homogeneous space of G. Correspondingly, for the group G, there is the set of irreducible representations. Input irreducible representation Output irreducible representation And the homogeneous space X of G can be precisely described The components of the G-tunable directional filter k on the homogeneous space X.
[0062]
[0063] Where |J| and |l| indicate the size of the corresponding irrep, not its absolute value. It is a harmonic function of the homogeneous space X, m j It is X according to G-irrepψ j The number of harmonic functions undergoing transformation, J(j1), is irrepψ j Appearing in tensor product The number of times in the irrep decomposition, E J It contains information for ψ j The set of |J|×|J| matrices of the basis of the space of the self-homogeneous space (and |E J | is its cardinality), and It includes the pair ψ j The tensor product that occurs for the sth time in it The tensor of the decomposed Clebsh-Gordan coefficients (and It is the m-th slice along the last dimension. Value w k,j,s,i These are learnable weights.
[0064] In some respects, the value of w k,j,s,i It can be based on the form of of The decomposition of and the set of harmonic functions for all homogeneous spaces X All irrep And can be learned through the occurrence of i. Additionally, in some respects, w k,j,s,i The value can be based on both irrep(J(jl) and CG) and ψ j The self-similar space (i.e., E) J The tensor product of the basis can be decomposed and learned.
[0065] The tensor integral solution can be numerically computed by formulating the problem as a linear system and finding its kernel using singular value decomposition (SVD). The basis of the coefficients of irrep can be chosen such that the self-homogeneous space has a known basis when the classification of irrep is in one of three categories.
[0066] consider and G=SO(n) or G=O(n), It can be decomposed into Where X0 = {o} is a set that includes only the origin, and the space X i It is an n-dimensional sphere S with increasing radius. n-1 Thus, the tunable directional filter of the network can be incorporated into × = S for each considered radius. n-1 The base is constructed by obtaining independent copies of the base. For smaller subgroups G < O(n), a subset of the base can be used. Self-organizing (ad-hoc) decomposition.
[0067] In the case of discrete G, the homogeneous space X i It can also be discrete. However, in this case, the homogeneous space X i It might not be suitable for covering continuous areas. To address this issue, the adapted version of the parameterization in Equation 1 can parameterize the G-tunable directional filter using the homogeneous space X of a larger group G′ (e.g., G < G′). Accordingly, solving for G′ = SO(n) and G′ = O(n) can parameterize the equivalent of other origin-preserving tunable directional filters with equidistant G < G′.
[0068] Given a compact group G′, a subgroup G<G′, and their irrep sets and Enter irrep Output irrep And given the homogeneous space X, The components of the G-tunable directional filter k on the homogeneous space X are... It can be parameterized as:
[0069]
[0070] in It is a harmonic function of homogeneous space x, and mj′ is the property of X according to G′-irrepψ. j′ The number of harmonic functions undergoing the transformation, j(lJ), is G irrepψ j tensor product The number of times E appears in the irrep decomposition j It has the function of ψ j The set of |j|×|j| matrices of the basis of the egomorphic space, ψ j The self-homogeneous space includes the coefficients of j occurring for the t-th time in the G-irrep decomposition of G'irrepj' (when interpreted as G representation). It has the ability to work with ψ j The tensor product that occurs for the sth time in it The tensor of the decomposed Clebsh-Gordan coefficients, and It is its second two-dimensional vectorization. For matrices Vectorization of the value w. j′,i′,j,t,s,k These are learnable weights.
[0071] For example, in a 3D setting, this parameterization can construct an tunable directed filter equivalent to a discrete symmetry along a single axis, such as a Pareto solid, inversion, mirror, or rotation (e.g., continuous or discrete). This parameterization can generalize to a method for parameterizing filters that are equivalent to discrete rotations in a 2D setting.
[0072] Moreover, this parameterization can be determined based solely on harmonic functions on a homogeneous space X of a small number of groups such as SO(3) or O(3). In this case, the homogeneous space X can always be a sphere, and its harmonic functions are well known.
[0073] However, in some respects, it may be beneficial to consider a smaller (non-discrete) group G′ < O(3) and to directly parameterize the filter in the sense of its homogeneous space. In one example, G′ = SO(2), O(2), SO(2) × C2 or O(2) × C2 in These groups can represent, for example, the symmetry of a cone or cylinder in space. It can be decomposed into the union of multiple copies of these symmetric objects. However, the harmonic functions of such spaces may be less well known.
[0074] Additionally, the function space over the homogeneous space of G can form a useful representation of the describable model features of G.
[0075] The homogeneous space X of a group G can be obtained as the quotient G / H, where H < G is a subgroup of G and can be a stable operator of ×. The harmonic functions of X can be derived from the irrep of G. When the irrep... When restricted to H, ψ includes the trivial representation of H. j The mj columns (when ψ is decomposed in the sense of the irrep of H) are harmonic functions of X = G / H. Where i = 1, ..., mj.
[0076] This result can be further generalized to the space of vector-valued functions on homogeneous spaces. Vector-valued functions X and Irrep Related. This function space corresponds to the induced representation. In this case, the harmonic functions are the irrep The columns, when restricted to H, include ρ.
[0077] As discussed, equivariance with a continuous group H can be achieved by approximating it with a finite subset of these groups. For this purpose, SO(3) features can be parameterized using, for example, band-limited Fourier bases (i.e., Wigner D matrices). Different types of sampling distributions and grids on the group can approximate a regular representation when pointwise nonlinearity is applied. Although the group structure of the 3D rotational group SO(3) does not allow for discrete subgroups of arbitrary size, the finite symmetries of the Platonic solids can form three distinct discrete subgroups of SO(3). These subgroups can include tetrahedron T, octahedron O, and icosahedron I (or dodecahedron), respectively.
[0078] The formula in the form of an adjustable directional filter allows for appropriate band limiting of the convolutional kernel basis, so that discrete features can be interpreted as samples of continuous features on the rotation group SO(3). For this purpose, the irreducible representations of the discrete groups T, O, and I can be elucidated in the restricted irreducible representations of SO(3).
[0079] In the planar case, the planar rotation group SO(2) is related to the circle S. 1 Isomorphic. For example, the orbit of a non-zero 2D point under rotation can appear as the group SO(2) itself. In 3D, the orbit can instead appear as a 2D sphere S. 2 The signal on the ball It can be used in conjunction with the representation induced from the trivial representation 1: SO(2) → {1}of SO(2). Related. This representation may not be as expensive as the regular representation of SO(3) (because it only allows for rotation-invariant filters along one axis). However, it can be approximated by a lattice on a 2D sphere, which uses fewer samples than the discretization of the complete group SO(3), and thus allows for a trade-off between the expressiveness (and performance) of the model and computational cost.
[0080] To generalize the above model design to a 3D rotational and reflection group O(3), the induced representation of SO(3) is given. Or the representation of the Platonic group X O or I.
[0081] Figure 4 Method 400, based on various aspects of this disclosure, has been explained. For example... Figure 4 As shown, in block 402, method 400 receives a set of irreducible representations of the origin-preserving group. In block 404, method 400 generates a network equivalent to the origin-preserving group, at least in part, based on the set of irreducible representations. As discussed, aspects of this disclosure can automatically determine these kernel constraints. The equal-variable filter H on the top can be used to... Decomposed into the union of several subspaces So that each subspace is determined by preserving the origin symmetry G, which includes independent point orbits, where for some x i and X i ∩X j There is X i ={gx i |g∈G}, where i≠j. Therefore, each X i This corresponds to the homogeneous space of G. Therefore, for a group G, there is the set of irreducible representations. Input irreducible representation Output irreducible representation And the homogeneous space X of G can be precisely described The components of the G-tunable directional filter k on the homogeneous space X.
[0082] Examples of implementations are described in the following numbered clauses:
[0083] 1. A method comprising:
[0084] Receive the set of irreducible representations of the origin-preserving point group; and
[0085] At least in part, a network equivalent to the origin-preserving group is generated based on this irreducible set of representations.
[0086] 2. The method as described in Clause 1, wherein the network comprises an adjustable convolutional neural network.
[0087] 3. The method of any of Clauses 1-2 further includes dynamically determining the set of kernel constraints to parameterize the tunable direction filter of the network.
[0088] 4. The method of any of the provisions 1-3 further includes determining the harmonic basis functions of the homogeneous space based at least in part on the set of irreducible representations.
[0089] 5. The method of any of Items 1-4, wherein the weights of the tunable directional filter of the network are learned based on the set of harmonic functions in these homogeneous spaces.
[0090] 6. The method of any of Items 1-5 further includes operating the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable directional filters.
[0091] 7. The method of any of Clauses 1-6, wherein the group is approximated using the finite symmetries of the Platonic solid that forms the discrete subgroup.
[0092] 8. The method of any of Clauses 1-7, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
[0093] 9. The method of any of Clauses 1-7, wherein the group is approximated based on the sampling distribution of the volumetric measurement data.
[0094] 10. The method of any of Clauses 1-9 further includes applying group restrictions to impose equivariance based on the degree of symmetry of the input.
[0095] 11. An apparatus comprising:
[0096] Memory; and
[0097] At least one processor coupled to the memory, the at least one processor being configured to:
[0098] Receive the set of irreducible representations of the origin-preserving point group; and
[0099] At least in part, a network equivalent to the origin-preserving group is generated based on this irreducible set of representations.
[0100] 12. The apparatus as described in Clause 11, wherein the network comprises an adjustable convolutional neural network.
[0101] 13. An apparatus as described in any of clauses 11-12, wherein the at least one processor is further configured to dynamically determine a set of kernel constraints to parameterize the tunable directional filter of the network.
[0102] 14. An apparatus as described in any of clauses 11-13, wherein the at least one processor is further configured to determine the harmonic basis functions of the homogeneous space based at least in part on the set of irreducible representations.
[0103] 15. An apparatus as described in any of clauses 11-14, wherein the weights of the tunable directional filter of the network are learned based on the set of harmonic functions of these homogeneous spaces.
[0104] 16. An apparatus as described in any of clauses 11-15, wherein the at least one processor is further configured to operate the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable directional filters.
[0105] 17. An apparatus of any of 11-16, wherein the at least one processor is further configured to approximate the group using the finite symmetry of the Platonic solid that forms the discrete subgroup.
[0106] 18. An apparatus as described in any of clauses 11-17, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
[0107] 19. The apparatus of any one of clauses 11-17, wherein the at least one processor is further configured to approximate the group based on the sampling distribution of the volume measurement data.
[0108] 20. An apparatus as described in any of clauses 11-19, wherein the at least one processor is further configured to apply group restrictions to impose equivariance based on the degree of symmetry of the input.
[0109] 21. An apparatus comprising:
[0110] A means for receiving a set of irreducible representations of a group of origin-preserving points; and
[0111] A means for generating a network that is at least partially equivalent to the origin-preserving group based on the set of irreducible representations.
[0112] 22. The device as described in Clause 21, wherein the network comprises an adjustable convolutional neural network.
[0113] 23. The apparatus of any of Clauses 21-22 further includes means for dynamically determining a set of kernel constraints to parameterize the tunable filter of the network.
[0114] 24. The apparatus of any of clauses 21-23 further includes means for determining harmonic basis functions of the homogeneous space based at least in part on the set of irreducible representations.
[0115] 25. A device as described in any of clauses 21-24, wherein the weights of the tunable directional filter of the network are learned based on the set of harmonic functions in these homogeneous spaces.
[0116] 26. The apparatus of any of clauses 21-25 further includes means for operating the network to calculate a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable directional filters.
[0117] 27. An apparatus of any of clauses 21-26, wherein the group is approximated using finite symmetries of the Platonic solids that form discrete subgroups.
[0118] 28. An apparatus of any of clauses 21-27, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
[0119] 29. The device of any of clauses 21-27, wherein the group is approximated based on the sampling distribution of volumetric measurement data.
[0120] 30. The apparatus of any of Clauses 21-29 further includes means for applying group restrictions to impose equivariance based on the degree of symmetry of the input.
[0121] 31. A non-transitory computer-readable medium having program code thereon, the program code being executed by a processor and comprising:
[0122] Program code for receiving the set of irreducible representations of the origin-preserving group; and
[0123] Program code for generating networks that are at least partially equivalent to the origin-preserving group, based on the set of irreducible representations.
[0124] 32. The non-transient computer-readable medium as described in Clause 31, wherein the network comprises an adjustable convolutional neural network.
[0125] 33. The non-transient computer-readable medium of any of Clauses 31-32 further includes program code for dynamically determining the set of kernel constraints to parameterize the tunable filter of the network.
[0126] 34. A non-transient computer-readable medium such as those in clauses 31-33, further comprising program code that determines harmonic basis functions of the homogeneous space based at least in part on the set of irreducible representations.
[0127] 35. A non-transient computer-readable medium such as those in clauses 31-34, wherein the weights of the tunable directional filter of the network are learned based on the set of harmonic functions in these homogeneous spaces.
[0128] 36. A non-transient computer-readable medium such as those in any of clauses 31-35, further comprising program code for operating the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable filters.
[0129] 37. The non-transient computer-readable medium as described in any of clauses 31-36 further includes program code for approximating the group using finite symmetries of the Platonic solid that forms the discrete subgroup.
[0130] 38. A non-transient computer-readable medium such as those in clauses 31-37, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
[0131] 39. The non-transient computer-readable medium of any of the provisions 31-37 further includes program code for approximating the group based on the sampling distribution of the volumetric measurement data.
[0132] 40. A non-transient computer-readable medium such as those in any of clauses 31-39, further comprising program code for applying group restrictions to impose equivariance based on the degree of symmetry of the input.
[0133] In one embodiment, the receiving device, the device for generating group representation, the application device, and / or the device for generating output may be a CPU 102, a program memory associated with the CPU 102, a dedicated memory block 118, a fully connected layer 362, and / or a routing connection processing unit 216 configured to perform the described functions. In another configuration, the aforementioned device may be any module or any equipment configured to perform the functions described by the aforementioned device.
[0134] The various operations of the methods described above can be performed by any suitable means capable of performing the corresponding functions. These means may include various hardware and / or software components and / or modules, including but not limited to circuits, application-specific integrated circuits (ASICs), or processors. Generally, in the cases where operations are illustrated in the accompanying drawings, those operations may have corresponding paired means with similar numbers plus functional components.
[0135] As used, the term "determine" encompasses a wide variety of actions. For example, "determine" can include calculation, computation, processing, derivation, research, searching (e.g., looking in a table, database, or other data structure), ascertainment, and similar actions. Additionally, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and similar actions. Furthermore, "determine" can include parsing, selecting, choosing, establishing, and similar actions.
[0136] As used, the phrase “at least one of” refers to any combination of these items, including a single member. As an example, “at least one of a, b, or c” is intended to cover: a, b, c, ab, ac, bc, and abc.
[0137] The various illustrative logic blocks, modules, and circuits described in this disclosure can be implemented or executed using a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the described functions. The general-purpose processor may be a microprocessor, but in alternatives, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration.
[0138] The steps of the methods or algorithms described in this disclosure can be implemented directly in hardware, in a software module executed by a processor, or in a combination of both. The software module can reside in any form of storage medium known in the art. Some examples of usable storage media include random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, CD-ROMs, and so on. The software module may include a single instruction or many instructions, and may be distributed across several different code segments, across different programs, and across multiple storage media. The storage medium may be coupled to the processor so that the processor can read and write information from / to the storage medium. In an alternative, the storage medium may be integrated into the processor.
[0139] The disclosed methods include one or more steps or actions for achieving the described methods. These method steps and / or actions may be interchanged without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0140] The described functionality can be implemented in hardware, software, firmware, or any combination thereof. If implemented in hardware, an example hardware configuration may include a processing system within the device. The processing system can be implemented using a bus architecture. Depending on the specific application and overall design constraints of the processing system, the bus may include any number of interconnect buses and bridges. The bus can link together various circuits, including processors, machine-readable media, and bus interfaces. The bus interface can be used, in particular, to connect network adapters and the like to the processing system via the bus. The network adapter can be used to implement signal processing functions. In some respects, user interfaces (e.g., keypads, displays, mice, joysticks, etc.) may also be connected to the bus. The bus can also link various other circuits, such as timing sources, peripherals, regulators, power management circuits, and similar circuits, which are well known in the art and will not be described further.
[0141] A processor is responsible for managing the bus and general processing, including executing software stored on a machine-readable medium. A processor may be implemented using one or more general-purpose and / or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuit systems capable of executing software. Software should be interpreted broadly as instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. As examples, a machine-readable medium may include random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. The machine-readable medium may be implemented in a computer program product. This computer program product may include packaging materials.
[0142] In hardware implementations, machine-readable media can be a separate part of the processing system from the processor. However, as those skilled in the art will readily appreciate, machine-readable media or any part thereof can be external to the processing system. As examples, machine-readable media may include transmission lines, carrier waves modulated by data, and / or computer components separate from the device, all accessible to the processor via a bus interface. Alternatively or additionally, machine-readable media or any part thereof may be integrated into the processor, such as caches and / or general-purpose register files. While the various components discussed may be described as having a specific location, such as local components, they can also be configured in various ways, such as certain components being configured as part of a distributed computing system.
[0143] The processing system can be configured as a general-purpose processing system having one or more microprocessors providing processor functionality, and external memory providing at least a portion of machine-readable medium, all linked to other supporting circuitry via an external bus architecture. Alternatively, the processing system may include one or more neuromorphic processors for implementing the described neuron and nervous system models. As another alternative, the processing system can be implemented using an application-specific integrated circuit (ASIC) with a processor, bus interface, user interface, supporting circuitry, and at least a portion of machine-readable medium integrated on a single chip, or using one or more field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuitry capable of performing the various functionalities described throughout this disclosure. Depending on the specific application and the overall design constraints imposed on the system, those skilled in the art will recognize how optimally the functionalities described with respect to the processing system can be implemented.
[0144] Machine-readable media may include several software modules. These software modules include instructions that, when executed by a processor, cause the processing system to perform various functions. These software modules may include transfer modules and receive modules. Each software module may reside in a single storage device or be distributed across multiple storage devices. As an example, when a trigger event occurs, a software module may be loaded from a hard drive into RAM. During the execution of a software module, the processor may load some instructions into a cache to improve access speed. One or more cache lines may subsequently be loaded into a general-purpose register file for processor execution. In the context of the functionality of the software modules described below, it will be understood that such functionality is implemented by the processor when the processor executes the instructions from the software module. Furthermore, it should be understood that aspects of this disclosure result in improvements to the functionality of a processor, computer, machine, or other system implementing such aspects.
[0145] If implemented in software, the functions can be stored or transmitted as one or more instructions or codes on or through a computer-readable medium. Computer-readable media includes both computer storage media and communication media, encompassing any medium that facilitates the transfer of a computer program from one location to another. Storage media can be any available medium accessible to a computer. By way of example and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and is accessible to a computer. Additionally, any connection is also legitimately referred to as computer-readable media. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (such as infrared (IR), radio, and microwave), then that coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology (such as infrared, radio, and microwave) is included in the definition of medium. The disks and discs used include CDs, laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs. Disks, where disks often magnetically reproduce data, and discs optically reproduce data using lasers. Therefore, in some aspects, computer-readable media may include non-transient computer-readable media (e.g., tangible media). Additionally, in other aspects, computer-readable media may include transient computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media.
[0146] Therefore, some aspects may include a computer program product for performing the given operations. For example, such a computer program product may include a computer-readable medium on which instructions are stored (and / or encoded) that can be executed by one or more processors to perform the described operations. In some aspects, the computer program product may include packaging material.
[0147] Furthermore, it should be understood that modules and / or other suitable means for performing the described methods and techniques may be downloaded and / or otherwise obtained by the user terminal and / or base station where applicable. For example, such devices can be coupled to a server to facilitate the transfer of means for performing the described methods. Alternatively, the various methods described can be provided via a storage device (e.g., RAM, ROM, physical storage media such as CDs or floppy disks) so that the device can acquire the various methods once the storage device is coupled to or provided to the user terminal and / or base station. In addition, any other suitable techniques suitable for providing the described methods and techniques to the device may be utilized.
[0148] It will be understood that the claims are not limited to the precise configurations and components described above. Various modifications, substitutions, and variations can be made to the layout, operation, and details of the methods and apparatus described above without departing from the scope of the claims.
Claims
1. A method for processing 3D images, comprising: Receive a set of irreducible representations of the origin-preserving group, wherein the set of irreducible representations includes induced representations of the rotation group SO(3) using the rotation group SO(2); The harmonic basis functions of the homogeneous space are determined at least in part based on the set of irreducible representations; A network is generated, at least in part, based on the set of irreducible representations, which is equivalent to the origin-preserving group, wherein the weights of the tunable directional filters of the network are learned based on the set of harmonic functions of the homogeneous space of the rotation group SO(2). The network receives the 3D image as input data; as well as The network processes the input data to generate a feature representation of the input data, the feature representation being equivariant to transformations of the input data.
2. The method of claim 1, wherein the network comprises an adjustable convolutional neural network.
3. The method of claim 2, further comprising dynamically determining a set of kernel constraints to parameterize the tunable filter of the network.
4. The method of claim 1, further comprising operating the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable filter.
5. The method of claim 1, wherein the origin-preserving group is approximated using the finite symmetry of the Platonic solid that forms the discrete subgroup.
6. The method of claim 5, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
7. The method of claim 5, wherein the origin group is approximated based on the sampling distribution of the volume measurement data.
8. The method of claim 5, further comprising applying group restrictions to impose equivariance based on the degree of symmetry of the input.
9. An apparatus for processing 3D images, comprising: Memory; as well as At least one processor coupled to the memory, the at least one processor being configured to: Receive a set of irreducible representations of the origin-preserving group, wherein the set of irreducible representations includes induced representations of the rotation group SO(3) using the rotation group SO(2); The harmonic basis functions of the homogeneous space are determined at least in part based on the set of irreducible representations; A network is generated, at least in part, based on the set of irreducible representations, which is equivalent to the origin-preserving group, wherein the weights of the tunable directional filters of the network are learned based on the set of harmonic functions of the homogeneous space of the rotation group SO(2). The network receives the 3D image as input data; as well as The network processes the input data to generate a feature representation of the input data, the feature representation being equivariant to transformations of the input data.
10. The apparatus of claim 9, wherein the network comprises an adjustable convolutional neural network.
11. The apparatus of claim 10, wherein the at least one processor is further configured to dynamically determine a set of kernel constraints to parameterize the tunable filter of the network.
12. The apparatus of claim 9, wherein the at least one processor is further configured to operate the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable filter.
13. The apparatus of claim 9, wherein the at least one processor is further configured to approximate the origin-preserving group using the finite symmetry of the Platonic solid that forms the discrete subgroup.
14. The apparatus of claim 13, wherein the discrete subgroup is selected from a set of symmetry groups including tetrahedrons, octahedrons, and icosahedrons.
15. The apparatus of claim 13, wherein the at least one processor is further configured to approximate the preservation point group based on a sampling distribution of volumetric measurement data.
16. The apparatus of claim 13, wherein the at least one processor is further configured to apply group constraints to impose equivariance based on the degree of symmetry of the input.
17. An apparatus for processing 3D images, comprising: A means for receiving a set of irreducible representations of a point-preserving group, wherein the set of irreducible representations includes induced representations represented by the rotation group SO(3) using the rotation group SO(2); A means for determining harmonic basis functions of a homogeneous space based at least in part on the set of irreducible representations; A means for generating a network that is at least partially based on the set of irreducible representations and is equivalent to the origin-preserving group, wherein the weights of the tunable directional filters of the network are learned based on the set of harmonic functions of the homogeneous space of the rotation group SO(2). A means for receiving the 3D image as input data from the network; as well as A means for processing the input data by the network to generate a feature representation of the input data, the feature representation being equivariant to transformations of the input data.
18. The device of claim 17, wherein the network comprises an adjustable convolutional neural network.
19. The apparatus of claim 18, further comprising means for dynamically determining a set of kernel constraints to parameterize the tunable filter of the network.
20. The apparatus of claim 19, further comprising means for operating the network to calculate a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable filter.
21. A non-transitory computer-readable medium having program code thereon, the program code causing the processor to perform the following operations when executed by a processor: Receive a set of irreducible representations of the origin-preserving group, wherein the set of irreducible representations includes induced representations of the rotation group SO(3) using the rotation group SO(2); The harmonic basis functions of the homogeneous space are determined at least in part based on the set of irreducible representations; A network is generated, at least in part, based on the set of irreducible representations, which is equivalent to the origin-preserving group, wherein the weights of the tunable directional filters of the network are learned based on the set of harmonic functions of the homogeneous space of the rotation group SO(2). The network receives 3D images as input data; as well as The network processes the input data to generate a feature representation of the input data, the feature representation being equivariant to transformations of the input data.
22. The non-transient computer-readable medium of claim 21, wherein the network comprises an tunable-directed convolutional neural network, and the program code further causes the processor to dynamically determine a set of kernel constraints to parameterize the tunable-directed filters of the network.
23. The non-transient computer-readable medium of claim 21, wherein the program code further causes the processor to operate the network to compute a transformation from a first point in a first space to a second point in a second space based on the weights of the tunable filter.