A method for performing shelf auditing, the method comprising: comparing, by executing an instruction with a processor, an input image depicting a shelf to be audited with a set of reference images depicting reference shelves displaying respective sets of reference items to identify a first reference image from the set of reference images that matches the input image; determining, by executing an instruction with the processor, an initial audit result for the shelf depicted in the input image, the initial audit result indicating that the shelf depicted in the input image displays a first set of reference items at shelf locations associated with the first reference image; determining, by executing an instruction with the processor, a difference image representing differences between pixels of the first reference image and respective pixels of the input image; identifying, from the difference image and by executing an instruction with the processor, a first region of the input image that differs from a corresponding first region of the first reference image; comparing, by executing an instruction with the processor, a template to at least a subregion of the first region of the input image to identify a first item depicted in the first region of the input image; and modifying, by executing an instruction with the processor, the initial audit result for the shelf depicted in the input image to include the first item depicted in the first region of the input image, wherein modifying the initial audit result includes identifying the first item depicted in the first region of the input image and registering the first item as being associated with the shelf depicted in the input image. comparing, by executing an instruction with a processor, an input image depicting a shelf to be audited with a set of reference images depicting reference shelves displaying respective sets of reference items to identify a first reference image from the set of reference images that matches the input image; determining, by executing an instruction with the processor, an initial audit result for the shelf depicted in the input image, the initial audit result indicating that the shelf depicted in the input image displays a first set of reference items at shelf locations associated with the first reference image; determining, by executing an instruction with the processor, a difference image representing differences between pixels of the first reference image and respective pixels of the input image; identifying, from the difference image and by executing an instruction with the processor, a first region of the input image that differs from a corresponding first region of the first reference image; comparing, by executing an instruction with the processor, a template to at least a subregion of the first region of the input image to identify a first item depicted in the first region of the input image; and modifying, by executing an instruction with the processor, the initial audit result for the shelf depicted in the input image to include the first item depicted in the first region of the input image, wherein modifying the initial audit result includes identifying the first item depicted in the first region of the input image and registering the first item as being associated with the shelf depicted in the input image. <EOS>