M2-GraphicalModels-project This is an implementation of Hidden Markov Model and the Viterbi algorithm to decode the scanline of a UPC-A barcode. For implementation details, please refer the .pdf file and iPython notebook.