Обнаружены нулевые ключевые точки с помощью BRIEF, BRISK, AKAZE и FREAK - PullRequest
1 голос
/ 25 апреля 2020

Я пытаюсь выполнить обнаружение и описание функций с помощью BRIEF , BRISK , AKAZ E и FREAK двоичных дескрипторов.

Я делаю тест с изображением 28x28 визуального набора данных MINIST , как показано ниже:

enter image description here

Я назвал все методы следующим образом:

FAST:

FAST = cv.FastFeatureDetector_create(threshold = 80,
                                     nonmaxSuppression = True)

КРАТКОЕ ОПИСАНИЕ:

BRIEF = cv.xfeatures2d.BriefDescriptorExtractor_create(bytes = 16,
                                                       use_orientation = False)

BRISK:

BRISK = cv.BRISK_create(thresh = 30,
                        octaves = 0,
                        patternScale = 1.0)

AKAZE:

AKAZE = cv.AKAZE_create(descriptor_type = cv.AKAZE_DESCRIPTOR_MLDB,
                        descriptor_size = 0,
                        descriptor_channels = 3,
                        threshold = 0.001,
                        nOctaves = 4,
                        nOctaveLayers = 4,
                        diffusivity = cv.KAZE_DIFF_PM_G2)

FREAK:

FREAK = cv.xfeatures2d.FREAK_create(orientationNormalized = True,
                                    scaleNormalized = True,
                                    patternScale = 22.0,
                                    nOctaves = 4)

ПРИМЕЧАНИЕ 1: Я использовал дескрипторы BRIEF и FREAK с детектором FAST .

I finded Ключевые точки и вычислите дескрипторы, как показано ниже:

keypoints = FAST.detect(image, None)
keypoints, descriptors = BRIEF.compute(image, keypoints)

Обратите внимание, что в этом примере я пытаюсь найти ключевые моменты и вычислить дескрипторы BRIEF , но для ALL В описанных выше дескрипторах я получаю следующий вывод:

print("Keyponts:", keypoints, "\n")

print("Descriptors:", descriptors, "\n")

Keyponts: [] 

Descriptors: None 

ПРИМЕЧАНИЕ 2: * 106 8 * Я использовал те же параметры, что и для любого другого изображения размером 640x546, и мне удалось найти ключевые точки и вычислить дескрипторы. Проблема в том, что я делаю поиск, где мне нужно использовать визуальный набор данных MINIST .

ПРИМЕЧАНИЕ 3: С другими дескрипторами, такими как SIFT , SURF , KAZE и ORB Мне удалось найти ключевые ключи и вычислить дескрипторы для того же визуального набора данных.

Я несколько раз менял параметры ALL дескрипторов, но, к сожалению, не могу найти ключевые точки и вычислить дескрипторы с ними в наборе визуальных данных MNIST . Я хотел бы знать, есть ли правильный способ выбрать эти параметры или есть что-то, что я могу сделать.

Я считаю, что есть проблема с поиском ключевых точек и компьютерных дескрипторов с этими дескрипторами в маленьких изображениях (?) размером 28x28 (?) .

Я использую Python 3,6 и OpenCV 4.1 ( с opencv_contrib модулями).

...