top of page

Machine Learning Age Detection Using Images | Machine Learning Assignment Help | Realcode4you

realcode4you

In this blog we will learn how to detect age using the given images, we are providing machine learning assignment help, and other related areas help of machine learning:


Reference link:


Step 1 : Import all related libraries


import os

import random

from scipy.io import loadmat

import pandas as pd

from scipy.misc import imread

from sklearn.model_selection import train_test_split


Step 2:


root_dir = os.path.abspath('.')

data_dir = '/mnt/hdd/datasets/misc'


train = pd.read_csv(os.path.join(data_dir, 'train.csv'))

test = pd.read_csv(os.path.join(data_dir, 'test.csv'))


fileData = loadmat('wiki_labeled.mat')


Show file data:


fileData['wiki_labeled']


## meta information of each of the 60327 images

ID: identification number of the subject (starting from 2002)

• dob: the date of birth of the subject. (It is Matlab’s datenum value calculated based on total number of days since January 0, 0000.)

• dob_str: the DD-MMM-YYYY format dob value.

• photo_taken: when the photo was taken (only the year value)

• full_path: directory path, including filename of the image

• gender: Gender of the subject (0: female, 1: male, NaN if unknown)

• name: name of the subject

• face_location: location of the face.

• face_score: detector score (the higher the better). Inf implies that no face was found in the image, and the face_location then just returns the entire image.

• second_face_score: detector score of the face with the second highest score. This is useful to ignore images with more than one face. second_face_score is NaN (not a number) if no second face was detected.

• age: age of the person (in years), and was calculated based on the “dob” value and the “photo_taken” values.


fileData['wiki_labeled'][0][0][0]


dob = fileData['wiki_labeled'][0][0][0]

photo_taken = fileData['wiki_labeled'][0][0][1]

full_path = fileData['wiki_labeled'][0][0][2]

gender = fileData['wiki_labeled'][0][0][3]

name = fileData['wiki_labeled'][0][0][4]

face_location = fileData['wiki_labeled'][0][0][5]

face_score = fileData['wiki_labeled'][0][0][6]

second_face_score = fileData['wiki_labeled'][0][0][7]

dob_str = fileData['wiki_labeled'][0][0][8]

age = fileData['wiki_labeled'][0][0][9]

IDs = fileData['wiki_labeled'][0][0][10]


Show Data:


print("IDs: ",IDs)

print("DOB:",dob)

print("photo_taken",photo_taken)

print("dob_str:",dob_str)

print("full_path:",full_path)

print("gender:",gender)

print("name:",name)

print("face_location:",face_location)

print("face_score:",face_score)

print("second_face_score:",second_face_score)

print("age:",age)


Choose Selected Column:


columns = ["id","dob","photo_taken","dob_str","full_path","gender","name","face_location","face_score","second_face_score","age"]


Show Using Dataframe:


df = pd.DataFrame({'id': IDs[0], 'dob': dob[0],"photo_taken":photo_taken[0],'dob_str':dob_str[0],"full_path":full_path[0],"gender":gender[0],"name":name[0],

"face_location":face_location[0],"face_score":face_score[0],

"second_face_score":second_face_score[0],'age':age[0]}, columns=columns)


Print Selected data


df.iloc[:,:-1]


## Displaying some images


import imageio

images= df['full_path'].values

print(len(images[:10]))

data_dir = 'wiki_labeled/'


#displaying 10 pictures

for i in range(len(images[:10])):

img_name = images[i][0]

img = imageio.imread(os.path.join(data_dir, img_name))

imshow(img)


#print(‘Age: ‘, train.Class[i])


Split Data


x = df.iloc[:,:-1]

y = df['age']

xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)


Training first 200 images to reduce execution time you can set your own desired size

Backgrounds on PCA


Step 1: Obtain the 2D face images, I1,I2,...,Im (the training faces). All faces must be of the same resolution.


#from scipy.misc import imresize

from skimage.transform import resize


images= xTrain['full_path'].values

data_dir = 'wiki_labeled/'


temp = []


# training 200 images

m = 200


for i in range(m):

img_name = images[i][0]

img = imageio.imread(os.path.join(data_dir, img_name))

#img = resize(img, (32, 32))

img = img.astype('float32') # this will help us in later stage

temp.append(img)

#train_x = np.stack(temp)


def plot_gallery(images, h, w, rows=10, cols=10):

plt.figure()

for i in range(rows * cols):

plt.subplot(rows, cols, i + 1)

plt.imshow(images[i].reshape((h, w)), cmap=plt.cm.gray)

plt.xticks(())

plt.yticks(())

plot_gallery(temp,100,100)


Other Realcode4you Services


<Realcode4you> Assignment Help

<Realcode4you> Web Assignment Help


Are you looking machine learning help related to this, please contact us.



16 views0 comments

Комментарии


bottom of page