Skip to main content

My experience in iOS Hackathon

This is my second hackathon, my first hackathon was on machine learning if you want to check out that article by following the below link
https://thangaayyanar.blogspot.com/2018/02/what-i-learned-from-machine-learning.html

So let's get started

First let us discuss about the idea of what we are trying to achieve in this hackathon.






From the above image you can able to know that we are going to recognize text from the image and use it to do find which field it is.

 we separated this idea into three modules
  1. Identify the region
  2. Recognize the text 
  3. Field classification
Module I : Identify the region
  • To identify the selected region we used Vision framework ( ML framework provided by apple to detect the object ).
  • The vision framework give us the boundary of the text region ( i.e frame - x,y,width,height ).
  •  Then using the above region we crop the selected region and pass it to the next module.
Module II : Recognize the text
  • To recognize the text we tried lot of methods.
  • First thing we go with Tesseract ( It is a Open Source OCR Engine ).
  •  Tesseract take little bit time to configure and accuracy of the system is OK and it has one advantage we can train it with our data.
  • Next we check out MLCore from google which has text detection .
  • Configuration is not that hard if we followed the google docs and it's accuracy is better than Tesseract .
  • When we integrate the MLCore we need to configure Firebase and make our project size pretty big (> 300 MB)
  • Text detection support online and offline. we used offline version.
  • Then we stick with google MLCore for accuracy.
Module III: Field classification
  • To classify the Field we use Naive Bayes classifier
  • We didn't use Machine learning model here because we don't have time.
  • So we borrowed the code from a github developers who write a code how to do navie bayes in swift 
  • The problem with this, we need to train it every time app start.
Now every module is done we integrated all the module. It worked not to our expected level and we figured where the problem is - it is Vision , i think we missed some thing so some text region are not cropped properly and time runs out

We submitted our project

Well we learnt lot of things from this hackathon
  • Working with Machine learning in iOS
  • We can able to convert model we trained in python to model that support in iOS done through CoreML tools
  • Came across few new terms - CNN ( Convolutional Neural Network ), SVM, Classification algorithm
  • Framework to develop model - keras,caffe,Tensorflow,scikit
I will drop few the link that i refer in this hackathon

Have a great day

Resources: 
Bonus Resources:

Comments

Popular posts from this blog

Docker

Docker is used to run software packages called "containers". Containers are isolated from each other and bundle their own tools, libraries and configuration files; they can communicate with each other through well-defined channels                                                                                                --Wikipedia  I have already written a article about the containers you can check out in here https://thangaayyanar.blogspot.com/2018/06/containers.html This time, let's learn more about docker engine how we can use this. The important things we need to know in docker are Docker Image:  The container can be created with the help of Image. The Image file consists of code, libraries, environment variable...

codefest-ctf-18 writeup

Codefest is online CTF challenge conducted by Hackerrank on August 31 2018 6:00 PM IST to September 1 2018 12:00 PM IST. They have given dozens of challenges.  link: https://www.hackerrank.com/contests/codefest-ctf-18/challenges I manage to complete two challenges in this article i will explain how i solved the two  Typing Master Question If you think you have it in you, connect now to 34.216.132.109 9093 and prove your mettle. You will be presented with a simple typing task which is meant to check your typing speed. For example, Can you type 'Z' 10 times followed by 'u' 6 times, followed by the sum of their ASCII values? ZZZZZZZZZZuuuuuu207 Input Format Regarding input to the server - The question was designed keeping netcat in mind. Some users who are using other tools/language (eg, Python, PuTTY, TELNET) to connect to the server please note that they do not terminate the strings like netcat does. If you choose not to use netcat, t...