Convolution has applications that include probability , statistics , computer vision , natural language processing , image processing and signal processing , engineering , and differential equations .