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

12 ビュー (過去 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 Center および File ExchangeComputer Vision Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!