Тестирование объекта внутри и объекта - PullRequest
0 голосов
/ 22 декабря 2010

Я пишу приложение для обработки изображений, которое распознает объекты на основе их форм. Проблема, с которой я сталкиваюсь, заключается в том, что, поскольку один объект может состоять из одного или нескольких подобъектов, например. человеческое лицо - это объект, состоящий из глаз, носа и рта.

Применение сегментации изображения создает отдельные объекты, но не сообщает, находится ли один объект внутри другого объекта.

Как я могу эффективно проверить, содержится ли объект внутри другого объекта.

Пока что мой алгоритм - это то, что я бы назвал 8-точечным тестом, в котором вы выбрали 8 точек в 8 углах и проверили, все ли они находятся внутри объекта. Если они находятся внутри, вы можете более точно знать, что весь объект находится внутри. другой объект ... Но у него есть определенные ограничения или определенные области отказа ...

Кроме того, только потому, что внутренний объект находится внутри другого объекта, означает, что я должен относиться к ним как к части внешнего объекта ????

1 Ответ

3 голосов
/ 22 декабря 2010

Один из способов проверить, находится ли один объект полностью внутри другого, - преобразовать обе в двоичные маски, используя poly2mask (если они уже не являются двоичными масками), и проверить, что все пиксели одного объекта являются частью другого объекта.

%# convert object 1 defined by points [x1,y1] into mask
msk1 = poly2mask(x1,y1,imageSizeX,imageSizeY);
%# do the same for object 2
msk2 = poly2mask(x2,y2,imageSizeX,imageSizeY);

%# check whether object 1 is fully inside object 2
oneInsideTwo = all(msk2(msk1));

Однако действительно ли это необходимо? Глаза всегда должны быть близко к центру лица, и, таким образом, 8-точечный метод должен быть достаточно надежным для определения того, нашли ли вы глаз, являющийся частью лица, или это артефакт сегментации.

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

В сумме, ответ на ваши вопросы большой "зависит от деталей вашего заявления".

...