A marker generation system comprising: an inputting unit arranged for inputting an image, wherein the image is an image obtained by imaging an environment in which an identifier for identifying a target does not exist; a background feature extracting unit arranged for feature extracting means for extracting feature points from the image, arranging the extracted feature points onto segments of a predetermined space and storing, as unique features, the segments where the number of the feature points is equal to or less than a predetermined number, to a first memory; an identifier feature extracting unit arranged for extracting feature points from a first identifier, arranging the feature points extracted from the first identifier onto segments of the predetermined space and storing the segments where the feature points of the first identifier are arranged, to the first memory; a feature comparing means arranged for comparing the segments of the feature points of the first identifier with the segments of the unique features, counting the number of the segments where the segments of feature points and the segments of the unique features match; and storing a count value of the first identifier to a second memory; a marker pattern generating means arranged for converting the first identifier to one or more second identifiers, using one or more matrix patterns for converting a sequence pattern of data in the data region of the first identifier, extracting, for each second identifier, the feature points from the second identifier, arranging, for each second identifier, the feature points extracted from the second identifier onto segments of said predetermined space and storing, for each second identifier, the segments where the feature points of the second identifier are arranged, to a third memory; wherein the feature comparing means is further arranged for comparing, for each second identifier, the segments of the feature points extracted from the second identifier with the segments of the unique features, counting the number of the segments where the segments of feature points and the segments of the unique feature match and storing a count value of the second identifier and selecting the identifier with the largest count value among the count value of the first identifier and a plurality of the count values of the second identifiers, as a detection marker. an inputting unit arranged for inputting an image, wherein the image is an image obtained by imaging an environment in which an identifier for identifying a target does not exist; a background feature extracting unit arranged for feature extracting means for extracting feature points from the image, arranging the extracted feature points onto segments of a predetermined space and storing, as unique features, the segments where the number of the feature points is equal to or less than a predetermined number, to a first memory; an identifier feature extracting unit arranged for extracting feature points from a first identifier, arranging the feature points extracted from the first identifier onto segments of the predetermined space and storing the segments where the feature points of the first identifier are arranged, to the first memory; a feature comparing means arranged for comparing the segments of the feature points of the first identifier with the segments of the unique features, counting the number of the segments where the segments of feature points and the segments of the unique features match; and storing a count value of the first identifier to a second memory; a marker pattern generating means arranged for converting the first identifier to one or more second identifiers, using one or more matrix patterns for converting a sequence pattern of data in the data region of the first identifier, extracting, for each second identifier, the feature points from the second identifier, arranging, for each second identifier, the feature points extracted from the second identifier onto segments of said predetermined space and storing, for each second identifier, the segments where the feature points of the second identifier are arranged, to a third memory; wherein the feature comparing means is further arranged for comparing, for each second identifier, the segments of the feature points extracted from the second identifier with the segments of the unique features, counting the number of the segments where the segments of feature points and the segments of the unique feature match and storing a count value of the second identifier and selecting the identifier with the largest count value among the count value of the first identifier and a plurality of the count values of the second identifiers, as a detection marker.