We propose a new family of vector similarity measures. Each measure is associated with a convex cost function. Given two vectors, we determine the surface normals of the convex function at the vectors. The angle between the two surface normals is the similarity measure. Convex cost function can be the negative entropy function, total variation (TV) function and filtered variation function constructed from wavelets. The convex cost functions need not to be differentiable everywhere. In general, we need to compute the gradient of the cost function to compute the surface normals. If the gradient does not exist at a given vector, it is possible to use the sub-gradients and the normal producing the smallest angle between the two vectors is used to compute the similarity measure. The proposed measures are compared experimentally to other nonlinear similarity measures and the ordinary cosine similarity measure. The TV-based vector product is more energy efficient than the ordinary inner product because it does not require any multiplications.