We propose a novel multistage smoke detection algorithm based on inherent optical characteristics such as diffusion, color, and texture of smoke. Moving regions in a video frame are detected by an approximate median background subtraction method using the diffusion behavior of smoke. These moving regions are segmented by a fuzzy C-means (FCM) clustering algorithm that uses the hue and saturation components of moving pixels in the hue-saturation-intensity color space. A decision rule is used to select candidate smoke regions from smoke-colored FCM clusters. An object tracking approach is employed in the candidate smoke region to detect candidate smoke objects in the video frame, and image texture parameters are extracted from these objects using a gray level co-occurrence matrix (GLCM). The thirteen GLCM features are selected to constitute the feature vector by applying principal components analysis, resulting in high-accuracy smoke detection. Finally, a back propagation neural network is utilized as a classifier to discriminate smoke and nonsmoke using the selected feature vector. Experimental results using a standard experimental dataset of video clips demonstrate that the proposed approach outperforms state-of-the-art smoke detection approaches in terms of accuracy, making real-life implementation feasible.