Abstract: Embodiments of a vending machine are disclosed that can comprise one or more horizontally oriented shelves for supporting products to be vended, a plurality of vertically oriented dividers coupled to the shelves, a plurality of location markers located on the dividers and/or on the shelves, and an optical recognition module configured to optically recognize the location markers and to determine positions of the location markers and products relative to the shelves. In some embodiments, the optical recognition module can recognize the products by comparing images of the products to stored product images.