My friend is working at a pizza shop. He takes cigarette breaks in an area that is covered by the public webcam of our town.

I now want to train a convolutional neural network to be able to detect when he is smoking.

Can somebody direct me in the right direction, which tools/tutorials I should look at for this classification task? I already saved 18 hours worth of pictures, one a minute. He is in 28 of these images, I will probably save a few more, maybe 2-3 days. But I don't really know how to start this.


Since this a classification problem you will use a CNN preferably. Then you need to fix an architecture of the CNN like VGGNet or Resnet or Le-net. You can find details on architectures here- Neural Network Architecures. As a beginner you can use VGG 16. You can read about the architecure here- Medium.com blog on VGG 16.

which tools/tutorials i should look at for this classification task?

Tools that you can use:

  1. A python IDE like PyCharm or Jupyter Notebook
  2. Keras and Tensorflow packages

Since, deep learning requires lot of training dataset and demands huge computation power, you can opt for cloud computing platforms like Google Colab or Azure to run your code on, unless you have enough GPU power on your local machine. The above tools are if you want to code yourself. If you want to use GUI(and not write code) Azure Machine Learning Studio is a starting point. Matlab Deep Learning toolbox also provides an excellent GUI with pre trained models on above architectures. However, if you write code on Matlab then you have to ensure your target GPU is NVIDIA as Matlab(Parallel Processing Toolbox, which supports doing computations on GPU) supports CUDA only. It won't work with AMD GPU.

If you want to opt to write code, you can find a step by step implementation on dogs vs cats classification here- Dogs vs Cats classification.

  • $\begingroup$ Thank you, very helpful. $\endgroup$ – Howard Oct 12 '20 at 23:38
  • $\begingroup$ @Howard welcome to AI SE; if the answer resolved your issue, kindly accept it - see What should I do when someone answers my question? $\endgroup$ – desertnaut Oct 13 '20 at 21:34
  • $\begingroup$ i think it's not fully answered yet, i don't know how to classify the existing pictures as "the person is inside it". I will post my solution when it's done. $\endgroup$ – Howard Oct 15 '20 at 2:47
  • 1
    $\begingroup$ @Howard for simple classification you have to label the images with person inside it as 1 and the images where person is not inside it as 0 amd feed it into a CNN with some architecture as mentioned above. The learnable filters will automatically do the job of extracting features that will decide the classification output. This is a basic classification problem based approach. If you are talking about "finding the location of the person" that comes under segmentation and it would require different techniques. $\endgroup$ – Prasanjit Rath Oct 15 '20 at 3:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.