Diagnosis of skin cancer using novel computer vision and deep learning techniques