An Artificial intelligence scientist who interested in computer vision field, also working in diverse discipline like e-commerce system as I complete my Master at UNSW with double major in Artificial intelligence & e-commerce system.
♦ PhD student at Cardiff University, United Kingdom 2018/present
♦ Master at University of New South Wales, Australia 2015/2017
♦ Bachelor at University of Hail, kingdom of Saudi Arabia 2007/2013
♦ I am working at Northern Border University (NBU) full-time job
♦ Teaching advance Java to second year student at NBU
♦ Teaching computer graphics to second year student at NBU
♦ Teaching web development to 4th year student at NBU
♦ Teaching Protocol Programming to 3rd year student at NBU
♦ I am working at Cardiff University part-time job
♦ Teaching Introduction to Programming with Python to First year student at Cardiff University
Using Hadoop to solve a problem "who steal who or who have another account on flickr"
the data was around 20G, containing accounts ID and for each ID, all images has an ID.(assuming each image has a unique id among all users). The idea,
finding and sorting images based on most frequent images(appear among all users). Based on TF-idf & six degree of separation
as Tf-idf gives probability how many image we use to search with, we use those images as usually will be most frequent among users.
to find similarity I used Jaccard similarity.
Model build using Hadoop Map-reduce , it took on AWS with 3 Nodes a 4 hours to show results.
[Java Hadoop AWS]
The project was using sound & ultrasound waves as medium of communication. the issue we faced was, how to tell which sound is a request
and which is a noise. We came up with idea of first make phone listen to the surrounding environment and suggest an adaptive threshold
for communication we made each number represented by mixed sound frequency and ultrasound frequency
to make sure during communication the sound not noise, we further added debouncing threshold and set to 5 which does mean
for each frequency should repeated 5 times or classify it as noise.
a tournament web application to organize the competition and meet the new demand on middle east due to rising of e-sports.
Instead of making the process centralized we also suggest adding capabilities for individual to arrange tournaments.
where different type of tournament supported like brackets and random match
[JavaEE MVC-pattern Tomcat-server MySql]
Service of allowing anonymous voting on a time slot on specific date without registration or verification.
the service start by asking from user to insert list of dates and times. the model then generate link for individuals
to look and vote for specific slot. the link either sent by email or user manually distribute it.
The service is a Restful service where the method based on HTTP methods
[JavaEE Tomcat-server RESTful SQLite]
↳Artificial Intelligence - Face Recognition
the project was of building learning-based face recognition model.
Starting first by detecting face by Implementing Viola Jones algorithm of detecting faces.
the advantage of detecting face is to crop image size and reduce the high dimensional data from image size [728,600] to face [512,512] or less
yet as you know bounding box size could be lower or higher (how far face from camera) due to that, in case of lower size a padding with zero introduced and
in term of higher resolution we just resize it.
for learning based, the deep learning model consists of 5 layer of CNN (Convolution Neural Network),
each CNN layer followed by max-pooling for downsampling. The kernel for all layers CNN is K=4 with stride S=1 and max-pooling K=2 , S=2.
the features map channels [1,32,64,128,256,512] increase respectively while spatials channels reduce by factor of two , after each block I add
activation function LeakyRELU The last layer is a fully connected layer where is the output a one hot-vector in range [1-0], where 1=[recognised]
and 0=[did not recognised]. the loss function is MSE (Mean Square Error). The optimizer is adam with learning rate =0.001 trained with
40 epoch. The dataset size 6000 image. the data was Yale dataset. The model achieved 91% accuracy ,by compare it to sate-of-the-art still not optimal.
we found model not robust to the shadow and large rotation.
↳Artificial Intelligence - Twitter-to-whatsapp chatbot
The idea simply using twitter as database for retrieving information directly without storing any information on database or processing.
The model has three component, 1-interface which is a whatsapp, 2- AI model to find the intention behind the queries.
3-twitter to fulfill user inquiries. For first part, twilio offers whatsapp RESTful API.
for processing inquiries, I used DailogFlow to find the intention behind the question and translate it to keywords.
those keywords are sent to a medium layer (business layer)developed using django, the layer task is to map an intention to the right
API method for retrieving information. I used docker to manage dependencies. At last, the model deployed on Google Cloud.
[Python Twilio DailogFlow Twitter-API RESTful Django Google-Cloud]
↳Artificial Intelligence - twitter-decoration-bot
the model about adding decoration to the tweets who use specific hash-tag.
when user use the hash-tag, the model randomly select 48 emoji from flowers section
in this model I used Ngrok library to exposed it publicly. Where ngrok job is to open a forwarding ports and map to public URL.
[Python Twitter-API Ngrok]
↳Artificial Intelligence - binance-trading-bot
Binance is an exchange platform for cryptocurrencies. The website offer
API for trading starting from getting bids and ask to request buy or sell. The developed model can trade with multi-currency at same time
the model have two mode for trading 1-based on "simple trading" (if the value above threshold sell and vice versa)
2- based on Bollinger Bands charts, where user set size of bands
if bands cross half of the set time, will execute .
[Java Binanace-API Docker AWS]
↳Front-end Development - Twitch-bot
twitch offer both API about user/ broadcaster/streamer information and irc (internet relay chat) for live chat communication
the bot I developed combined both services in one page where you get streamer info also interact with chat.
also offers more options twitch did not offer like mark all user post in chat and investigate each user in chat just by clicking.
Certification & Training
total Visitor: 12