Кіріспе

Компьютерлік ғылымда геометриялық хэшинг – аффиндік трансформацияға түскен дискретті нүктелермен бейнеленген екі өлшемді нысандарды тиімді табу әдісі, бірақ басқа нысандық өрнектеулер мен трансформацияларға қатысты кеңейтулер де бар. Желіден тыс кезеңде нысандар әрбір нүкте жұбын геометриялық негіз ретінде қарастыру арқылы кодталады. Қалған нүктелерді осы негізге қатысты инвариантты түрде екі параметрді пайдаланып көрсетуге болады. Әрбір нүкте үшін оның кванталған түрлендірілген координаттары хэш-кестеде кілт ретінде, ал негізгі нүктелердің индекстері мән ретінде сақталады. Содан кейін жаңа негіздік нүктелер таңдалады және процесс қайталанады. Желілік (танылу) кезеңде кездейсоқ таңдалған дерек нүктелерінің жұптары үміткер негіздер ретінде қарастырылады. Әрбір үміткер негіз үшін қалған дерек нүктелері негізге сәйкес кодталады және бұрын құрылған кестеде нысанның мүмкін сәйкестіктері табылады. Егер дерек нүктелерінің жеткілікті саны сәйкес нысандық негізді индекстесе, үміткер негіз қабылданады. Геометриялық хэшинг бастапқыда компьютерлік көруде 2D және 3D нысандарды тану үшін ұсынылған, бірақ кейіннен ақуыздардың құрылымдық сәйкестігі сияқты басқа да мәселелерге қолданылды.

Компьютерлік көрудегі геометриялық хэштеу

Геометриялық хэштеу – нысандарды тануға қолданылатын әдіс. Егер модельдік суретті кіріс суретте көруге болатынын тексеру қажет болса, оны геометриялық хэштеу арқылы іске асыруға болады. Бұл әдіс базадағы көптеген нысандардың бірін тану үшін де қолданылуы мүмкін. Мұндай жағдайда хэш-кесте нысанның орналасуы туралы ақпараттан бөлек, базадағы нысан моделінің индексін де сақтауы тиіс.

Мысал

Қарапайымдық үшін, бұл мысалда көптеген нүктелік объектілер қолданылмайды және олардың сипаттамалары тек координаталары арқылы беріледі деп есептейміз (практикада индекстеу үшін SIFT сияқты жергілікті сипаттамаларды пайдалануға болады).

Танымдық кезең

Кіріс кескінінде қызықты ерекше нүктелерді табыңыз. Кез келген негізді таңдаңыз. Егер қолайлы кездейсоқ негіз болмаса, кіріс кескінінде ізделінетін нысан болмауы мүмкін. Ерекше нүктелердің координаттарын жаңа негізде сипаттаңыз. Алдыңғыдай координаталарды квантиздейтініңіз. Кіріс кескініндегі барлық түрлендірілген нүктелік ерекшеліктерді хэш-кестемен салыстырыңыз. Егер нүктелік ерекшеліктер сәйкес келсе немесе ұқсас болса, тиісті негіздің (және нысан түрінің, егер бар болса) санын арттырыңыз. Белгілі бір шекті мәннен асатын әрбір негіз үшін, 2-қадамда таңдалған кескін негізіне сәйкес келеді деген гипотезаны тексеріңіз. Кескіннің координаттар жүйесін модельдікке (болжамды нысан үшін) ауыстырып, оларды сәйкестендіруге тырысыңыз. Сәтті болса, нысан табылды. Әйтпесе, 2-қадамға оралыңыз.

Айналастыратын үлгілерді табу

Бұл әдіс тек масштабтау, аудару және бұруды ғана орындай алады. Дегенмен, кіретін кескінде объект көлденең керілген түрде болуы мүмкін. Сондықтан геометриялық хэштеу сол объектіні де таба алуы керек. Көлденең керілген объектілерді анықтаудың екі жолы бар. Векторлық граф үшін сол жаққа оң, ал оң жаққа теріс белгі қойыңыз. x координатасын 1-ге көбейту осыған тең нәтиже береді. Негіз ретінде 3 нүкте қолданыңыз. Бұл көлденең керілген кескіндерді (немесе объектілерді) анықтауға мүмкіндік береді. Шындығында, негіз ретінде 3 нүкте қолдану – геометриялық хэштеудің тағы бір тәсілі.

Жоғары өлшемдегі геометриялық хэштеу

Жоғарыдағы мысалға ұқсас, хэшинг жоғары өлшемді деректерге де қолданылады. Үш өлшемді деректер нүктелері үшін негіз құру үшін үш нүкте қажет. Бірінші екі нүкте x осін анықтайды, ал үшінші нүкте y осін анықтайды (бірінші нүкте арқылы). z осі оң қол ережесі бойынша құрылған оске перпендикуляр болады. Нүктелердің реті түзілген негізге әсер ететінін ескеріңіз.