Mobile App Development

Mobile Application Development

Trending Questions and Lessons

Follow 16,350 Followers

Ask a Question

Feed

All

All

Lessons

Discussion

Lesson Posted 3 days ago IT Courses/Mobile Application Development

How to Make an Awesome Image Classifier With Tensorflow in iOS in less than 5 minutes.

Abhishek Dwivedi

I have been developing iOS apps for the past 5 years. I have currently worked as a Sr. iOS Developer...

What is TensorFlow? Tensorflow is an Open source machine learning framework. Its a library for doing Complex Numerical Computation to build machine learning models from scratch. TensorFlow is cross-platform. It runs on nearly everything: GPUs and CPUs—including mobile and embedded platforms. What... read more

What is TensorFlow?

Tensorflow is an Open source machine learning framework. Its a library for doing Complex Numerical Computation to build machine learning models from scratch. TensorFlow is cross-platform. It runs on nearly everything: GPUs and CPUs—including mobile and embedded platforms.

What is an image classifier?

Image Classifier classifies any given image in categories using trained models. Let's say you train a model by providing 50 images of a dog. Once the model is trained to recognize dogs, you can test it out by providing any given image and the trained model will be able to recognise whether the given image is of a dog or not. 

How do I make an image classifier with TensorFlow?

Step 1. SETTING UP THE ENVIRONMENT

Install Python, TensorFlow and download a TensorFlow repository.

  • Python(pip) - https://www.python.org/downloads/

  • TensorFlow - pip install tensorflow

  • Clone a Tensorflow repo - git clone https://github.com/googlecodelabs/tensorflow-for-poets-2

Step 2. PREPARING THE DATASET

  • Go inside the tf_filesfolder in the tensorflow-for-poets-2folder.

  • Create a parent folder and inside that create sub folders representing the categories.

  • For example, create a parent folder called people and create sub-folders inside the ‘people’ folder based on categories, namely, men, women and children.

  • Place photos of men, women and children in the respective folders. This will be the dataset and will be used by TensorFlow for training.

Step 3. TRAINING THE MODEL

In the command line, go inside the sensor flow-for-poets-2folder and type the following command.

python -m scripts.retrain--bottleneck_dir=tf_files/bottlenecks --model_dir=tf_files/models/mobilenet_0.50_224 --summaries_dir=tf_files/training_summaries/mobilenet_0.50_224 --output_graph=tf_files/retrained_graph.pb--output_labels=tf_files/retrained_labels.txt--architecture=mobilenet_0.50_224 --image_dir=tf_files/people //where people is the parent folder with the training set.

This creates graphs and files for image recognition and classification and will be used to categorize any given image based on the training set. 


Step 4. TESTING THE MODEL

  • Now that the model is trained, its time to test if it works.
  • Download a test image of a man or a woman and place it inside the user_datafolder.
  • In the command line, go inside the tensorflow-for-poets-2folder and type the following command.

python -m scripts.label_image--graph=tf_files/retrained_graph.pb  --  image=user_data/men.jpg//where men.jpgis the test image 

OUTPUT

Evaluation time (1-image) 0.25 seconds

men     0.91115780

women 0.08678748 

  

read less
Comments
Dislike Bookmark

Lesson Posted 3 days ago IT Courses/Mobile Application Development

Microsoft Cognitive Face API (iOS) - Identifying Faces From an Image and Extracting Facial Features Like...

Abhishek Dwivedi

I have been developing iOS apps for the past 5 years. I have currently worked as a Sr. iOS Developer...

Microsoft Cognitive Services is a set of APIs, SDKs and services available to developers to make their applications more intelligent, engaging and discoverable. You can basically do a lot of cool stuffs using the platform and we are going to see one of those cool stuffs today. We are going to integrate... read more

Microsoft Cognitive Services is a set of APIs, SDKs and services available to developers to make their applications more intelligent, engaging and discoverable. You can basically do a lot of cool stuffs using the platform and we are going to see one of those cool stuffs today. 

We are going to integrate Microsoft Cognitive Face API in an iOS application. We will extract faces from a given image and also facial features like age, gender, emotions like smile, anger etc. Basically you can click a photo from your iPhone app, and detect how many people are present in the photo, their age and gender, and their emotions. Sounds exciting ? Let dive in.

 

I am expecting a basic understanding of iOS application development for this tutorial.

Step 1. Create a single view application.

 

Step 2. Install cocoapods if you don't already have it. Its basically a dependency manager and will help us    install third party SDKs / libraries in our applications.

 

Step 3. Open terminal, and go inside the project folder.

 

Step 4. Type in, pod init. It creates a pod file in your project folder. Open the podfile using xcode.

 

Step 5. Edit the podfile with the below contents / code. Save and close.

# Uncomment the next line to define a global platform for your project

platform :ios, '9.0'

 

target 'MyCoolProject' do

# Comment the next line if you're not using Swift and don't want to use dynamic frameworks

use_frameworks!

 

# Pods for MyCoolProject

pod 'ProjectOxfordFace', :git => 'https://github.com/Microsoft/Cognitive-Face-iOS'

end

 

Step 6. Open the xcworkspace created in your project folder. 

 

Step 7. Integrate an image picker to input an image from your camera. (Its pretty straight forward and you will find many tutorials for this.)

 

Step 8. In your ViewController, import the following.

#import <Photos/Photos.h>

#import "UIImage+FixOrientation.h"

#import "UIImage+Crop.h"

#import "ImageHelper.h"

#import <ProjectOxfordFace/MPOFaceServiceClient.h>

 

Step 9. Add a 'Analyse' button in the UI and add the below action code for your analyse button.

- (IBAction)analyseClicked:(id)sender {

    

MPOFaceServiceClient *client = [[MPOFaceServiceClient alloc] initWithEndpointAndSubscriptionKey:ProjectOxfordFaceEndpoint key:ProjectOxfordFaceSubscriptionKey];

    

NSData *data = UIImageJPEGRepresentation(selectedImage, 0.8);

    

[client detectWithData:data returnFaceId:YES returnFaceLandmarks:YES returnFaceAttributes:@[@(MPOFaceAttributeTypeGender), @(MPOFaceAttributeTypeAge),@(MPOFaceAttributeTypeEmotion), @(MPOFaceAttributeTypeSmile)] completionBlock:^(NSArray *collection, NSError *error) {

        if (error) {

            NSLog(@"Detection failed with error %@",[error localizedDescription]);

            return;

        }

        [self->detectedFaces removeAllObjects]; //detectedFaces is a NSMutableArray

        for (MPOFace *face in collection) {

            UIImage *croppedImage = [self->selectedImage crop:CGRectMake(face.faceRectangle.left.floatValue, face.faceRectangle.top.floatValue, face.faceRectangle.width.floatValue, face.faceRectangle.height.floatValue)];

            MPODetectionFaceObject *obj = [[MPODetectionFaceObject alloc] init];

            obj.croppedFaceImage = croppedImage;

            obj.genderText = [NSString stringWithFormat:@"Gender: %@", face.attributes.gender];

            obj.ageText = [NSString stringWithFormat:@"Age: %@", face.attributes.age.stringValue];

            NSLog(@"Gender : %@", face.attributes.gender);

            NSLog(@"Age : %d", face.attributes.age.intValue);

            NSLog(@"Smile : %d", face.attributes.smile.intValue);

            NSLog(@"Happiness : %d", face.attributes.emotion.happiness.intValue);

            NSLog(@"Sadness : %d", face.attributes.emotion.sadness.intValue);

            [self->detectedFaces addObject:obj];

        }

 

    }];

}

 

read less
Comments
Dislike Bookmark

Lesson Posted on 19 Apr IT Courses/Mobile Application Development/Android Application Development

Android App development Market is getting hike day be day

Farhan Saikh

I can teach each and every topics very easily and make it stronger for the students.

Mobile Apps Developer is a relatively new entrant to the show. Of late, there has been a great explosion of smartphone usage and features, especially since android came and started conquering the whole world. All major smart-phone platforms viz. Android, iOS, and WP8 have provided software authoring... read more

Mobile Apps Developer is a relatively new entrant to the show. Of late, there has been a great explosion of smartphone usage and features, especially since android came and started conquering the whole world. All major smart-phone platforms viz. Android, iOS, and WP8 have provided software authoring tools so that developers can write software for their platforms using those tools. Android provides its SDK that developers can use to develop apps that run on Android phones. Again, a Mobile Apps Developer can specialise in Android Development or iOS Development, or he can develop for all the three platforms. You can also become a "Web and Mobile Apps Developer" if you please, it depends on the capacity and comprehensibility of your brain cells!

read less
Comments
Dislike Bookmark

Looking for Mobile App Development Training

Find best Mobile App Development Training in your locality on UrbanPro.

FIND NOW

Asked on 17 Apr IT Courses/Mobile Application Development/Android Application Development

I am looking for an Android tutor who can teach me to connect to a database and designing the app with basic functions.

Answer

Lesson Posted on 03 Jan IT Courses/Mobile Application Development/Android Application Development

5 Reasons Why You Should Start Using Kotlin For Android

Sujith

Mobile engineering and technology enthusiast offering over 5 years of experience in designing and developing...

We all know that Kotlin is an officially supported language to write Android Apps, many developers think that there are not enough reasons for a change. Even though Java has been a main basement and also has proved to be working during all these years, so why should you change? Here are my reasons why... read more

We all know that Kotlin is an officially supported language to write Android Apps, many developers think that there are not enough reasons for a change. Even though Java has been a main basement and also has proved to be working during all these years, so why should you change?

Here are my reasons why I think you should start learn Kotlin:

1. Kotlin makes Android development much easier.

2.You can see the maturity level in both language and environment.

3. It’s consistently integrated with Android Studio.

4. Its more Safer than Java

5. Companies are expecting Kotlin in Resume

read less
Comments
Dislike Bookmark

Looking for Mobile App Development Training

Find best Mobile App Development Training in your locality on UrbanPro.

FIND NOW

Lesson Posted on 23/12/2017 IT Courses/Mobile Application Development

What Is Swift?

Rajkumar Gurunathan

I am a perfectionist and believes in sharing my domain knowledge without holding anything back.I am a...

1. It is a new programming language that was created by Apple. 2. It is entirely built from the ground up. 3. It was announced at the WWDC in June of 2014. 4. But it was in development for number of years before announcement. 5. It takes the best features of several different languages and combines... read more

1. It is a new programming language that was created by Apple.

2. It is entirely built from the ground up.

3. It was announced at the WWDC in June of 2014.

4. But it was in development for number of years before announcement.

5. It takes the best features of several different languages and combines them into something brand new.

6. Swift is intended as a replacement for C-based languages like C, C++ and Objective-C.

7. But what about Obj-C? Are we just supposed to throw our Obj-C code out and covert it all to Swift?

8. Well, Objective-C isn’t leaving the Apple eco system anytime soon. There are a vast number of existing API’s written in Obj-C that may never get converted.

9. But that’s not gonna be a problem because Swift and Objective-C are interoperable.

10. Lets see some of the other Highlights of Swift:

i. Safety: Building safety in the first place is to prevent bugs, that is developer mistake should be caught before software is in production.

ii. Flexibility: Swift adapts the lot of power and flexibility of functional programming but still maintaining basically an object oriented approach.

a. Productivity: Features like closures and Type Safe enumeration should make coding faster.

read less
Comments
Dislike Bookmark

Lesson Posted on 23/11/2017 IT Courses/Mobile Application Development Tuition/BTech Tuition/Mobile Application Development IT Courses/Mobile Application Development/Android Application Development +2 IT Courses/iOS Developer IT Courses/Mobile Application Development/Hybrid Application Development less

Learning Path For Mobile Application Development

Aman Juneja

I am a passionate and creative software engineer with a strong focus on pragmatism and simplicity. I...

I. Traditional Approach: 1. Native Android Application Development: Android is a mobile operating system that runs on phones, tablets, smartwatches, TVs and more. You can learn Android Application Development using Android Studio and Java. 2. iOS Development With Swift: Swift is a new programming... read more

I. Traditional Approach:

1. Native Android Application Development:

Android is a mobile operating system that runs on phones, tablets, smartwatches, TVs and more. You can learn Android Application Development using Android Studio and Java.

2. iOS Development With Swift:

Swift is a new programming Language for programming iOS and OS x apps. You can learn iOS mobile appication development using Swift Language.

3. iOS Development With Objective-C:

Prior to Swift, most iOS apps were developed with a programming language called Objective-C. Many Existing apps in the App Store are built with it, and it is still possible to build Application with Objective-C.

 

II. Cross Platform Development: Apps have separate code bases written in their native language, are built using native tools, use platform specific features.

Example: We use Swift/Objective-C for iOS Development, C# and .net framework for Windows Development and Android Studio with Java for Android Development.

Xamarin is an app-development platform that lets you build apps for many operating systems from a single, shared code base. You use Visual Studio, C#, and the .NET Libraries to build Xamarin apps. You have to write code once in C# and same can be used in Android, iOS and Windows.

read less
Comments
Dislike Bookmark

Answered on 22/11/2017 IT Courses/Mobile Application Development

Aman Juneja

Trainer

Hi , You can go for Cross Platform Development. With Cross Platform development you will be able to write code once and run in any Platform like Android, iOS and Windows. Microsoft has developed a framework called Xamarin, which uses Language CSharp (C#). With Help of Xamarin you can apply for Mobile... read more
Hi , You can go for Cross Platform Development. With Cross Platform development you will be able to write code once and run in any Platform like Android, iOS and Windows. Microsoft has developed a framework called Xamarin, which uses Language CSharp (C#). With Help of Xamarin you can apply for Mobile Application Developer Job whether for Android or iOS and even Windows read less
Answers 6 Comments
Dislike Bookmark

Looking for Mobile App Development Training

Find best Mobile App Development Training in your locality on UrbanPro.

FIND NOW

Answered on 30/07/2017 Life Skills Coaching/Soft Skills Training/Personality Development Training IT Courses/Mobile Application Development/Android Application Development IT Courses/Web Designing/Advanced Web Designing

Anugraha Foundation

Tutor

Greetings! We can assist you, if you are interested in online personality development programs. The programs are more effective and comes with a definite change. Looking ahead for your reply.
Answers 8 Comments
Dislike Bookmark

About UrbanPro

UrbanPro.com helps you to connect with the best Mobile App Development Training in India. Post Your Requirement today and get connected.

Overview

Questions 90

Lessons 21

Total Shares  

Related Topics

Top Contributors

Connect with Expert Tutors & Institutes for Mobile Application Development

x

Ask a Question

Please enter your Question

Please select a Tag

UrbanPro.com is India's largest network of most trusted tutors and institutes. Over 25 lakh students rely on UrbanPro.com, to fulfill their learning requirements across 1,000+ categories. Using UrbanPro.com, parents, and students can compare multiple Tutors and Institutes and choose the one that best suits their requirements. More than 6.5 lakh verified Tutors and Institutes are helping millions of students every day and growing their tutoring business on UrbanPro.com. Whether you are looking for a tutor to learn mathematics, a German language trainer to brush up your German language skills or an institute to upgrade your IT skills, we have got the best selection of Tutors and Training Institutes for you. Read more