A method comprising: receiving, at data processing hardware, a planogram defining a representative placement (P R) of a product on a display shelf within a display shelf environment, the display shelf environment comprising the display shelf and a display screen disposed on the display shelf and in a user's field of view (F V), the display screen configured to depict media content; receiving, at the data processing hardware, at least one image from an imaging device located above the display shelf and having a field of view (F v) arranged to capture a top surface of the display shelf, wherein the top surface of the display shelf defines a pattern of features including at least one polygonal-shaped feature, the at least one image depicting at least a portion of the top surface of the display shelf with exposed features (215 E); determining, by the data processing hardware, whether the product is disposed on the display shelf based on the at least one image by: detecting edges of the exposed features (215 E) in the at least one image; converting the edges to closed features; and comparing the closed features to the at least one polygonal-shaped feature to determine whether the product is disposed on the display shelf; and when the product is disposed on the display shelf: determining, by the data processing hardware, an actual placement (P A) of the product on the display shelf; comparing, by the data processing hardware, the actual placement (P A) of the product to the representative placement (P R) of the product defined by the planogram; determining, by the data processing hardware, a planogram compliance based on the comparison of the actual placement (P A) of the product to the representative placement (P R) of the product; and communicating, from the data processing hardware, the planogram compliance to a network. receiving, at data processing hardware, a planogram defining a representative placement (P R) of a product on a display shelf within a display shelf environment, the display shelf environment comprising the display shelf and a display screen disposed on the display shelf and in a user's field of view (F V), the display screen configured to depict media content; receiving, at the data processing hardware, at least one image from an imaging device located above the display shelf and having a field of view (F v) arranged to capture a top surface of the display shelf, wherein the top surface of the display shelf defines a pattern of features including at least one polygonal-shaped feature, the at least one image depicting at least a portion of the top surface of the display shelf with exposed features (215 E); determining, by the data processing hardware, whether the product is disposed on the display shelf based on the at least one image by: detecting edges of the exposed features (215 E) in the at least one image; converting the edges to closed features; and comparing the closed features to the at least one polygonal-shaped feature to determine whether the product is disposed on the display shelf; and detecting edges of the exposed features (215 E) in the at least one image; converting the edges to closed features; and comparing the closed features to the at least one polygonal-shaped feature to determine whether the product is disposed on the display shelf; and when the product is disposed on the display shelf: determining, by the data processing hardware, an actual placement (P A) of the product on the display shelf; comparing, by the data processing hardware, the actual placement (P A) of the product to the representative placement (P R) of the product defined by the planogram; determining, by the data processing hardware, a planogram compliance based on the comparison of the actual placement (P A) of the product to the representative placement (P R) of the product; and communicating, from the data processing hardware, the planogram compliance to a network. determining, by the data processing hardware, an actual placement (P A) of the product on the display shelf; comparing, by the data processing hardware, the actual placement (P A) of the product to the representative placement (P R) of the product defined by the planogram; determining, by the data processing hardware, a planogram compliance based on the comparison of the actual placement (P A) of the product to the representative placement (P R) of the product; and communicating, from the data processing hardware, the planogram compliance to a network.