画像で検出した顔の領域内から目と口を検出する

조회 수: 9 (최근 30일)
tsuyoshi tsunoda
tsuyoshi tsunoda 2021년 11월 11일
댓글: tsuyoshi tsunoda 2021년 11월 13일
画像の中にある目や口を検出しようと考えています。
このサイトの検出器を用いて取り組んでいるのですが、口の精度が悪いです。
そこで、検出した顔の領域内から目と口を検出して四角で囲むといったことをやりたいのですが、
顔の領域内から目と口を検出する方法が分かりません。また、精度を上げる方法も教えていただきたいです。
どなたかご教授願います。
FaceDetector = vision.CascadeObjectDetector();
EyesDetector = vision.CascadeObjectDetector('EyePairBig');
MouthDetector = vision.CascadeObjectDetector('Mouth');
I = imread('画像');
%%
Facebbox = FaceDetector(I);
Eyesbbox = EyesDetector(I);
Mouthbbox = MouthDetector(I);
%%
I = insertObjectAnnotation(I,'rectangle',Facebbox,'Face');
I = insertObjectAnnotation(I,'rectangle',Eyesbbox,'EyePairBig');
I = insertObjectAnnotation(I,'rectangle',Mouthbbox,'Mouth');
% Bounding Boxの位置は[x, y, width, height] ⇒ x座標に幅の1/6,4/6を足し、幅を1/6にする
lefteye = [Eyesbbox(1)+Eyesbbox(3)*1/6 Eyesbbox(2) Eyesbbox(3)/6 Eyesbbox(4)];
righteye = [Eyesbbox(1)+Eyesbbox(3)*4/6 Eyesbbox(2) Eyesbbox(3)/6 Eyesbbox(4)];
I = insertShape(I,'rectangle', lefteye,'Color','red','LineWidth',3);
I = insertShape(I,'rectangle',righteye,'Color','red','LineWidth',3);
%%
pointsLE = bbox2points(lefteye);
pointsLE(end+1,:) = pointsLE(1,:);
pointsRE = bbox2points(righteye);
pointsRE(end+1,:) = pointsRE(1,:);
pointsM = bbox2points(Mouthbbox);
pointsM(end+1,:) = pointsM(1,:);
%%
imshow(I)
hold on
plot(pointsM(:,1),pointsM(:,2), '*-');
plot(pointsLE(:,1),pointsLE(:,2), '*-');
plot(pointsRE(:,1),pointsRE(:,2), '*-');
hold off
  댓글 수: 1
Atsushi Ueno
Atsushi Ueno 2021년 11월 13일
「顔の領域内から目と口を検出する方法」って!もう答えを言ってるじゃないですかっ!
つまりは再帰的に、もしくはオブジェクト指向でプログラムを作るべきだって事ですかね。

댓글을 달려면 로그인하십시오.

채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 11월 13일
> また、精度を上げる方法も教えていただきたいです。
今までは出来合いのカスケード検出器を使っているだけでしたが、カスケード検出器に対して実際の入力画像を追加学習させれば、検出精度が上がります。
  댓글 수: 1
tsuyoshi tsunoda
tsuyoshi tsunoda 2021년 11월 13일
ありがとうございます。追加学習させて検出精度の向上に取り組んでみます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Computer Vision Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!