1. A system for recognizing a primitive in an image, the system comprising: a memory; and a processor configured to communicate with and execute a set of hardware units, the hardware units comprising: a recognizing unit configured to recognize a primitive in the image to obtain at least two candidate shapes of the primitive, each of the at least two candidate shapes having respective confidences; a potential error detecting unit configured to determine that the recognizing of the primitive has a potential error based on a difference between the respective confidences of the at least two candidate shapes being lower than a predetermined threshold; an auxiliary information obtaining unit configured to obtain, in response to determining that the recognizing has the potential error, displaying a user-interface and prompting a user to hand-draw the primitive in said user-interface as auxiliary information about the primitive; and a re-recognizing unit configured to re-recognize the primitive at least in part based on the auxiliary information.