Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > پردازش تصویر > شناسایی صورت (Face Recognition)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
 
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۱-۱۲-۱۳۹۴, ۰۸:۰۴ بعد از ظهر   #3 (لینک دائم)
عضو فوق فعال
 
آواتار M2soft
 
تاريخ عضويت: مرداد ۱۳۸۹
پست ها: 20
تشكرها: 8
1 تشكر در 1 پست
پيش فرض

PHP Code:
function  [imgFaceLeftEyeRightEyeMouthLeftEyebrow,  RightEyebrow] = detectFacialRegions(I)
%  
This function is to find the facial regions (eyesmouth and eyebrows)
%  
Reference:
%  
SilvaCarolineSchnitmanLeizer ;  OliveiraLuciano"Detection of Facial Landmarks
%  Using Local-Based Information"
The 19th edition of the Brazilian Conference on Automation CBA 2012
%  
Campina GrandePBBrazil (oral presentation), September 32012. 
%
%  
Copyright 2014 by Caroline Pacheco do E.Silva
%  If you have any problemplease feel free to contact Caroline Pacheco do E.Silva.
%  
lolyne.pacheco@gmail.com
%%

%
To detect Face
 FDetect 
vision.CascadeObjectDetector;
 
Face step(FDetect,I);
 
imgFace = (I(Face(1,2):Face(1,2)+Face(1,4),Face(1,1):Face(1,1)+Face(1,3),:));

 %
To detect Left Eye
 EyeDetect 
vision.CascadeObjectDetector('LeftEye');
 
Eye=step(EyeDetect,imgFace);
 
LeftEye  Eye(1,:);
 
 %
To detect Right Eye
 EyeDetect 
vision.CascadeObjectDetector('RightEye');
 
Eye=step(EyeDetect,imgFace);
 
RightEye Eye(2,:);
 
%
To detect Mouth
 MouthDetect 
vision.CascadeObjectDetector('Mouth','MergeThreshold',16);
 
findMouth=step(MouthDetect,imgFace);
 
orderMouthsortrows(findMouth,2);
 
posMouth size(findMouth,1);
 
Mouth orderMouth(posMouth,:);

%
To detect Left Eyebrow
 LeftEyebrow   
LeftEye;
 
LeftEyebrow(4) = (LeftEyebrow(4)/2)-4;
 
LeftEyebrow(3) = LeftEyebrow(3);
 
LeftEyebrow(4) = uint8(LeftEyebrow(4));
 
LeftEyebrow(3) = uint8(LeftEyebrow(3));

%
To detect Right Eyebrow
 RightEyebrow  
RightEye;
 
RightEyebrow(4) =  (RightEyebrow(4)/2);
 
RightEyebrow(3) = RightEyebrow(3);
 
RightEyebrow(4) = uint8(RightEyebrow(4));
 
RightEyebrow(3) = uint8(RightEyebrow(3));

end 
کد بالا یک تابع است که یک عکس به عنوان ورودی میپذیره و با استفاده از object ویلاجوینز ( viola jones ) میادویژگی های اونو استخراج میکنه
مثل صورت
چشم ها
ابروها
دهان

این تیکه کد زیر هم میاد بعد از تشخیص صورت اون و از تصویر جدا میکنه و خودش میشه یه عکس کوچولو از ناحیه صورت

PHP Code:
FDetect vision.CascadeObjectDetector;
 
Face step(FDetect,I);
 
imgFace = (I(Face(1,2):Face(1,2)+Face(1,4),Face(1,1):Face(1,1)+Face(1,3),:)); 
البته این فقط برای عکسهایی است که یک چهره در اون هست
یعنی ایندکس 1 در face(1,?) به همین جهت استفاده شده
چون وقتی کد step(FDetect,I) و اجرا میکنیم به ما یک ارایه 1 تا n سطری برمیگردونه که هر سطرش 4 تا مقدار داره که همون 4 نقطه چهره است و تعداد سطرها هم تعداد چهره های شناسایی شده
که البته یعضی وقت ها یک سری چهره ها الکی تشخیص داده میشه
یعنی همیشه ما چهره های شناسایی شده و نمیتونیم ازش مطمئن حرف بزنیم
تو تصویر هم همیشه شاید چشم راست یا همیشه چشم چپ نداشته باشیم

این کد هم از اون تابع استفاده کردم
PHP Code:
clear all;
close all;
clc

imread('1.jpg');
[
imgFaceLeftEyeRightEyeMouthLeftEyebrow,  RightEyebrow] = detectFacialRegions(I);

figure,imshow(imgFace);

hold on
    rectangle
('Position',LeftEye(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','b');
    
rectangle('Position',RightEye(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','g');
    %
rectangle('Position',Mouth(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','b');
    %
rectangle('Position',LeftEyebrow(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','y');
    %
rectangle('Position',RightEyebrow(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','r');
    
hold off 
M2soft آفلاين است   پاسخ با نقل قول
از M2soft تشكر كرده است:
monir93 (۰۲-۷-۱۳۹۴)
 



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۴:۵۶ قبل از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design