1. A computer-implemented method for flexible matching with combinational similarity, comprising: receiving an object image; receiving a query image including one or more pixels; comparing the query image with the object image, wherein comparing the query image with the object image comprises: 1) dividing the object image into one or more agents, 2) creating a gradient histogram for the one or more agents, 3) determining one or more map areas, each map area corresponding to each of the one or more pixels of the query image, 4) creating a gradient histogram for the one or more map areas, and 5) creating a similarity array for each of the one or more agents, wherein creating the similarity array for each of the one or more agents comprises for each agent, comparing the gradient histogram for one of the one or more agents to the gradient histogram for each of the one or more map areas, wherein the similarity array includes one or more elements, each element associated with a corresponding pixel of the one or more pixels, and wherein each element of the similarity array represents a similarity between the gradient histogram for the one of the one or more agents and the gradient histogram for the corresponding pixel; determining one or more matching information based upon combinational similarity, wherein determining one or more matching information based upon combinational similarity comprises: 1) creating a combinational array by combining the similarity array for each of the one or more agents, and 2) determining whether the combinational array includes a peak value indicating an instance of the object image in the query image; and presenting the one or more matching information to a user.