matlabを使用したパターン(男性/女性)分類に関するプロジェクトに取り組んでいます。問題があります。助けが必要です。
私のプログラムは、データセットの平均画像を見つける必要があります。最初のデータセットは女性、2番目のデータセットは男性です。したがって、最初の平均画像は女性のように見え、次に男性のように見える必要があります。私はさまざまなデータセットを持っており、それらはすべてjpeg形式です。プログラムが機能しているかどうかを確認するために、プログラムにさまざまなデータセットを試していますが、さまざまなデータセットを使用すると、真の平均画像を常に表示できません。例:
これらは、データセットからの平均画像です。
しかし、別のデータセットを使用する場合、私の平均画像は次のようになります。意味はありません。つまり、顔のようには見えません。
これの理由は何でしょうか?別のデータセットで作業する必要があります。助けてください。`
filenamesA = dir(fullfile(pathfora, '*.jpg'));
Train_NumberA = numel(filenamesA);
%%%%%%%%%%%%%%%%%%%% Finding Image Vectors for A
imagesA= [];
for k = 1 : Train_NumberA
str = int2str(k);
str= strcat(str);
str = strcat('\',str,'b','.jpg');
str = strcat(pathfora,str);
imgA = imread(str);
imgA = rgb2gray(imgA);
[irowA icolA] = size(imgA);
tempA = reshape(imgA',irowA*icolA,1); % Reshaping 2D images into 1D image vectors
imagesA = [imagesA tempA]; % 'imagesA' grows after each turn
imagesA=double(imagesA);
end`
`%%%%%%%%%%%%%%%%%%%%%%%% Calculate the MEAN IMAGE VECTOR for A
mean_vectorA= mean(imagesA,2); % Computing the average vector m = (1/P)*sum(Tj's) (j = 1 : P)
mean_imageA= reshape(mean_vectorA,irowA,icolA); % Average matrix of training set A
meanimgA=mat2gray(mean_imageA);
figure(1);
imshow(rot90(meanimgA,3));`
-------------------------------------And same for dataset B (male)