Due to rapid advancements in GNSS, computer, and microelectronics technologies, there is a growing popularity and widespread promotion of high-performance, cost-effective intelligent UAVs across various applications. Recently, GNSS spoofing attacks have emerged as a significant obstacle hindering the long-term development of UAVs. UAVs rely heavily on unprotected GNSS signals for navigation, making them highly vulnerable to spoofing. This paper presents an algorithm that employs image matching for detecting GNSS spoofing and re-localization on UAVs using a deep learning methodology. This method functions autonomously solely reliance on camera and does not require alterations to the antenna configuration. Utilizing a camera-equipped UAV, we evaluate the likeness between real-time aerial photographs and satellite imagery by leveraging the position information provided by UAV. By identifying disparities between images taken by a spoofing affected drone and authentic ones, the spoofing can be identified using deep neural network models. Upon detecting spoofing, this paper presents a vision-based re-localization method for UAVs. Experimental results demonstrate an approximately 88.4% accuracy of our model in detecting GNSS spoofing attacks within 100 milliseconds and 88% success rate of re-localization with the accuracy of less than 15 meters. Our algorithm exclusively depends on publicly accessible satellite imagery, offering an intelligent and efficient approach for detecting UAV GNSS spoofing and re-localization in GNSS denied environment.