Image registration and eye detection

5 ビュー (過去 30 日間)
A R 2020 年 5 月 11 日
Hello, I am doing a project in thermal monitoring for fever detection. I have a visible image [(400x550) , actually the image size downloaded from the dataset was 240x320 , but to work with multiresolution images, I resized the image to 400x550] and thermal image (240x320) . I completed with image registration, but the cascade object detector gives wrong bounding boxes for eye detection.
fixed = rgb2gray(imread('L-745.bmp'));
moving = rgb2gray(imread('V-745.bmp'));
[optimizer,metric] = imregconfig('multimodal');
movingRegisteredDefault = imregister(moving,fixed,'affine',optimizer,metric);
optimizer.InitialRadius = optimizer.InitialRadius/2.5;
optimizer.MaximumIterations = 300;
tformSimilarity = imregtform(moving,fixed,'similarity',optimizer,metric);
movingRegisteredAffineWithIC = imregister(moving,fixed,'affine',optimizer,metric,...
title('E: Registration from Affine Model Based on Similarity Initial Condition')
eyes= vision.CascadeObjectDetector('EyePairSmall');
bbox = step(eyes, moving);
hold on; rectangle('Position',bbox,'EdgeColor',[1 1 0]);
I have attached the output image. I need your help for the following questions,
1. Why cascade eye detector output goes wrong? Is it due to multiple resolution image, In moving image the boundary box values corresponds to a different location than in registered image. If so how to detect the eyes in registered image.
2. Is there any other methods available to do effective image registration and eye detection?. I am new to this and i dont have a very clear Idea. I really need your suggestions.

回答 (0 件)


Find more on Computer Vision Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by