Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік ғылымда геометриялық хэшинг – аффиндік трансформацияға түскен дискретті нүктелермен бейнеленген екі өлшемді нысандарды тиімді табу әдісі, бірақ басқа нысандық өрнектеулер мен трансформацияларға қатысты кеңейтулер де бар. Желіден тыс кезеңде нысандар әрбір нүкте жұбын геометриялық негіз ретінде қарастыру арқылы кодталады. Қалған нүктелерді осы негізге қатысты инвариантты түрде екі параметрді пайдаланып көрсетуге болады. Әрбір нүкте үшін оның кванталған түрлендірілген координаттары хэш-кестеде кілт ретінде, ал негізгі нүктелердің индекстері мән ретінде сақталады. Содан кейін жаңа негіздік нүктелер таңдалады және процесс қайталанады. Желілік (танылу) кезеңде кездейсоқ таңдалған дерек нүктелерінің жұптары үміткер негіздер ретінде қарастырылады. Әрбір үміткер негіз үшін қалған дерек нүктелері негізге сәйкес кодталады және бұрын құрылған кестеде нысанның мүмкін сәйкестіктері табылады. Егер дерек нүктелерінің жеткілікті саны сәйкес нысандық негізді индекстесе, үміткер негіз қабылданады. Геометриялық хэшинг бастапқыда компьютерлік көруде 2D және 3D нысандарды тану үшін ұсынылған, бірақ кейіннен ақуыздардың құрылымдық сәйкестігі сияқты басқа да мәселелерге қолданылды.
In computer science, geometric hashing is a method for efficiently finding two dimensional objects represented by discrete points that have undergone an affine transformation, though extensions exist to other object representations and transformations. In an off line step, the objects are encoded by treating each pair of points as a geometric basis. The remaining points can be represented in an invariant fashion with respect to this basis using two parameters. For each point, its quantized transformed coordinates are stored in the hash table as a key, and indices of the basis points as a value. Then a new pair of basis points is selected, and the process is repeated. In the on line (recognition) step, randomly selected pairs of data points are considered as candidate bases. For each candidate basis, the remaining data points are encoded according to the basis and possible correspondences from the object are found in the previously constructed table. The candidate basis is accepted if a sufficiently large number of the data points index a consistent object basis. Geometric hashing was originally suggested in computer vision for object recognition in 2D and 3D, but later was applied to different problems such as structural alignment of proteins.
Компьютерлік көрудегі геометриялық хэштеу
Геометриялық хэштеу – нысандарды тануға қолданылатын әдіс. Егер модельдік суретті кіріс суретте көруге болатынын тексеру қажет болса, оны геометриялық хэштеу арқылы іске асыруға болады. Бұл әдіс базадағы көптеген нысандардың бірін тану үшін де қолданылуы мүмкін. Мұндай жағдайда хэш-кесте нысанның орналасуы туралы ақпараттан бөлек, базадағы нысан моделінің индексін де сақтауы тиіс.
Geometric hashing is a method used for object recognition. Let’s say that we want to check if a model image can be seen in an input image. This can be accomplished with geometric hashing. The method could be used to recognize one of the multiple objects in a base, in this case the hash table should store not only the pose information but also the index of object model in the base.
Мысал
Қарапайымдық үшін, бұл мысалда көптеген нүктелік объектілер қолданылмайды және олардың сипаттамалары тек координаталары арқылы беріледі деп есептейміз (практикада индекстеу үшін SIFT сияқты жергілікті сипаттамаларды пайдалануға болады).
For simplicity, this example will not use too many point features and assume that their descriptors are given by their coordinates only (in practice local descriptors such as SIFT could be used for indexing).
Танымдық кезең
Кіріс кескінінде қызықты ерекше нүктелерді табыңыз. Кез келген негізді таңдаңыз. Егер қолайлы кездейсоқ негіз болмаса, кіріс кескінінде ізделінетін нысан болмауы мүмкін. Ерекше нүктелердің координаттарын жаңа негізде сипаттаңыз. Алдыңғыдай координаталарды квантиздейтініңіз. Кіріс кескініндегі барлық түрлендірілген нүктелік ерекшеліктерді хэш-кестемен салыстырыңыз. Егер нүктелік ерекшеліктер сәйкес келсе немесе ұқсас болса, тиісті негіздің (және нысан түрінің, егер бар болса) санын арттырыңыз. Белгілі бір шекті мәннен асатын әрбір негіз үшін, 2-қадамда таңдалған кескін негізіне сәйкес келеді деген гипотезаны тексеріңіз. Кескіннің координаттар жүйесін модельдікке (болжамды нысан үшін) ауыстырып, оларды сәйкестендіруге тырысыңыз. Сәтті болса, нысан табылды. Әйтпесе, 2-қадамға оралыңыз.
Find interesting feature points in the input image. Choose an arbitrary basis. If there isn't a suitable arbitrary basis, then it is likely that the input image does not contain the target object. Describe coordinates of the feature points in the new basis. Quantize obtained coordinates as it was done before. Compare all the transformed point features in the input image with the hash table. If the point features are identical or similar, then increase the count for the corresponding basis (and the type of object, if any). For each basis such that the count exceeds a certain threshold, verify the hypothesis that it corresponds to an image basis chosen in Step 2. Transfer the image coordinate system to the model one (for the supposed object) and try to match them. If successful, the object is found. Otherwise, go back to Step 2.
Айналастыратын үлгілерді табу
Бұл әдіс тек масштабтау, аудару және бұруды ғана орындай алады. Дегенмен, кіретін кескінде объект көлденең керілген түрде болуы мүмкін. Сондықтан геометриялық хэштеу сол объектіні де таба алуы керек. Көлденең керілген объектілерді анықтаудың екі жолы бар. Векторлық граф үшін сол жаққа оң, ал оң жаққа теріс белгі қойыңыз. x координатасын 1-ге көбейту осыған тең нәтиже береді. Негіз ретінде 3 нүкте қолданыңыз. Бұл көлденең керілген кескіндерді (немесе объектілерді) анықтауға мүмкіндік береді. Шындығында, негіз ретінде 3 нүкте қолдану – геометриялық хэштеудің тағы бір тәсілі.
It seems that this method is only capable of handling scaling, translation, and rotation. However, the input image may contain the object in mirror transform. Therefore, geometric hashing should be able to find the object, too. There are two ways to detect mirrored objects. For the vector graph, make the left side positive, and the right side negative. Multiplying the x position by 1 will give the same result. Use 3 points for the basis. This allows detecting mirror images (or objects). Actually, using 3 points for the basis is another approach for geometric hashing.
Жоғары өлшемдегі геометриялық хэштеу
Жоғарыдағы мысалға ұқсас, хэшинг жоғары өлшемді деректерге де қолданылады. Үш өлшемді деректер нүктелері үшін негіз құру үшін үш нүкте қажет. Бірінші екі нүкте x осін анықтайды, ал үшінші нүкте y осін анықтайды (бірінші нүкте арқылы). z осі оң қол ережесі бойынша құрылған оске перпендикуляр болады. Нүктелердің реті түзілген негізге әсер ететінін ескеріңіз.
Similar to the example above, hashing applies to higher dimensional data. For three dimensional data points, three points are also needed for the basis. The first two points define the x axis, and the third point defines the y axis (with the first point). The z axis is perpendicular to the created axis using the right hand rule. Notice that the order of the points affects the resulting basis