x = MaxPooling1D(pool_size=2048)(x) x = Dense(512, activation='relu')(x) x = BatchNormalization()(x) x = Dense(256, activation='relu')(x) x = BatchNormalization()(x) x = Dense(9, weights=[ np.zeros([256, 9]), np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).astype(np.float32) ])(x) input_T = Reshape((3, 3))(x) # forward net g = MatMul()([input_points, input_T]) g = Conv1D(64, 1, activation='relu')(g) g = BatchNormalization()(g) g = Conv1D(64, 1, activation='relu')(g) g = BatchNormalization()(g) # feature transform net f = Conv1D(64, 1, activation='relu')(g) f = BatchNormalization()(f) f = Conv1D(128, 1, activation='relu')(f) f = BatchNormalization()(f) f = Conv1D(1024, 1, activation='relu')(f) f = BatchNormalization()(f) f = MaxPooling1D(pool_size=2048)(f) f = Dense(512, activation='relu')(f) f = BatchNormalization()(f)
x = BatchNormalization()(x) x = MaxPooling1D(pool_size=2048)(x) x = Dense(512, activation='relu')(x) x = BatchNormalization()(x) x = Dense(256, activation='relu')(x) x = BatchNormalization()(x) x = Dense(9, weights=[ np.zeros([256, 9]), np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).astype(np.float32) ])(x) input_T = Reshape((3, 3))(x) in_0 = MatMul()([input_points, input_T]) # forward net0 f_0 = Conv1D(64, 1, activation='relu')(in_0) f_0 = BatchNormalization()(f_0) f_0 = Conv1D(64, 1, activation='relu')(f_0) c_0 = Conv1D(32, 1, activation='relu')(in_0) c_0 = BatchNormalization()(c_0) c_0 = Conv1D(32, 1, activation='relu')(c_0) out_0 = GumbelSoftmax(1, hard=True)([f_0, c_0]) global_feature = MaxPooling1D(pool_size=2048)(c_0) c = Dense(512, activation='relu')(global_feature) c = BatchNormalization()(c) c = Dropout(0.5)(c) c = Dense(256, activation='relu')(c) c = BatchNormalization()(c)
x = Conv1D(128, 1, activation='relu')(x) x = BatchNormalization()(x) x = Conv1D(1024, 1, activation='relu')(x) x = BatchNormalization()(x) x = MaxPooling1D(pool_size=2048)(x) x = Dense(512, activation='relu')(x) x = BatchNormalization()(x) x = Dense(256, activation='relu')(x) x = BatchNormalization()(x) x = Dense(9, weights=[np.zeros([256, 9]), np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).astype(np.float32)])(x) input_T = Reshape((3, 3))(x) # forward net g = MatMul()([input_points, input_T]) g = Conv1D(64, 1, activation='relu')(g) g = BatchNormalization()(g) g = Conv1D(64, 1, activation='relu')(g) g = BatchNormalization()(g) # feature transform net f = Conv1D(64, 1, activation='relu')(g) f = BatchNormalization()(f) f = Conv1D(128, 1, activation='relu')(f) f = BatchNormalization()(f) f = Conv1D(1024, 1, activation='relu')(f) f = BatchNormalization()(f) f = MaxPooling1D(pool_size=2048)(f) f = Dense(512, activation='relu')(f)