Monday 7 July 2014

That candid picturesque family!

Making family photographs has always been less of a cake walk for photographers capturing each of the family members personality and bringing out the family dynamics in your photos, even the most professionally experienced find themselves at strike. Nevertheless this piece of blog is a little divert from those usual cliched family pictures where in the Babuji (head of the family, mostly a grandfather) and Baa (Grandmother) sitting in the frame center with all other family members smile posing around them. The family which I clicked is the family of perception!

This was a weekend trek to Lohagad with a small bunch of friends. Not much of a trek, it took us about 2 hours to reach with walking-resting-clicking-walking along the trail. The fort offers one of the most scenic views of the surrounding regions with lonavla city on one side and the rural outskirts of "Pawan maval".
Pawan maval region as seen from the fort with Pawna Dam seen at distant.
Photo-courtesy: Photography|giri

The Lohagad fort
Photo-courtesy: Photography|giri

Visapur Fort as seen from Lohagad.
 Photo-courtesy: Photography|giri


Atop the fort with the huge expense of lush green carpet takes us to the lonavla end of the fort known as 'Vinchu Kata' or the Scorpian tain.
Vinchu kata, Lohagad.
Photo-courtesy: Photography|giri.

That Exhilarating view of it urged me get to follow the further trail till the very end of it. Walking past the short trails over the fort wall I saw something that made me click it.
Photo-courtesy: Photography|giri
A small pipal tree (Ficus religiosa ) rooting its grip to the fort walls with many of those contrasting red, maroon and pink shade leaves. This pic closely resembles a family. With a closer look the green ones are the eldest ones as we can see they are bigger than others and are usually parents of the branch they contains the green pigment Chlorophyll that helps them feed the ones with no chlorophyll i.e the red or the maroon ones. we can also see the red ones with little green those are the teens getting into adolescence.Then there are the red ones bright red the young. And last but the least the new born buds emerging in between. So much so that we can also see like usually happens in a family photo, the children, the younger ones are always in front followed by the elder and then the parents behind all of them.

A story that has never looked upon as this.This makes us realize that we all are tied with a bond.
This is my first photo-story , the scientific fact mentioned above may not be accurate, but it does approximate aesthetics.

Monday 12 May 2014

Selecting a Final Year project....

Selecting your Final year project is the most crucial part of the entire engineering course. It not only reflects your learning and studies during the entire 4 years but also test your capabilities as a student in terms of innovation, pressure handling and proper management of time and resources.
Now there are many approaches on how you can select a particular project. What I am most familiar with and most of the industrial projects are currently designed is through a” Top-down” or “Bottom-up” approach.

What is a Top-down approach?

Top-down approach is basically thinking of an abstract level application of a particular idea and further improvising over the practical implementation of it.

And Bottom-up…?

Bottom-up is like having fundamental modules already worked on previously, and utilising these modules for a more sophisticated application.
So adoption of a particular approach is dependent on the group. Besides there are few more factors to be taken into consideration while selecting a BE project.

·         Choose a Unique and Improved Project

There are many institutes which offer live projects but most of them are offering the same projects from many years. These projects from many institutes are not unique and have already been submitted by many students to their universities. So, try to avoid such projects if possible. Try to make sure that your project work is unique and is an improvement over other projects if a similar project already exists.

·         Address Social concerns

Society today has many such issues which are always recognised over the sessions of various debates, but are seldom solved. You can look for such problems faced by every commoner and may provide a technically innovative approach to solve it to make things a little better.

·         Planning is better

Never start a project without planning properly about it. Gather all the information, research well and then go for your selected project. You cannot change the project once the sheet has been sent to University.

·         Domain bounded projects.

Many times it happens those students in electronics go for a GUI based or software project or the Computer students opt a hardware-based project. I do not discourage learning new things and implementing them in your project, but if you have proficiency over some programming language or field of knowledge it is better to utilise that than learn something new. Besides, at times of your project vivas, if the major part of project is not in you course related domain you might be in trouble answering to queries.

·         Placement success

Do remember that your projects can be your key to success in placements so pick them cautiously. An innovative project can make your mark on the interviewer’s mind so selecting uniquely useful project can give you a job too!

·         Physical parameters

There are various physical parameters that comes with the implement-ability of the project

 Less or No Involvement of Wireless Networks

 Wireless networks like RF modules; Blue-tooth , etc. can stop working any time. Imagine if it crashes or stops functioning on your project presentation day. Besides, you will encounter difficulty in dealing with interference and noise issues. I hence, recommend avoiding wireless networks as far as possible.

 Programming Language Used

 It should always be a platform with an independent language like Java, .PHP, etc. so that the        project can run on every platform.



 Available Core-gen and libraries

Making your own library and functional modules is always advisable. But if in case the application is too complex and deals with a small part of the project then readily available open source libraries can be utilised without much concerns. For e.g. Writing a RS232 driver in C is simple but writing a USB or Ethernet driver can be tedious so it can be implemented using CORE-gen.


·         Taking Others Help with Your Project Work

There are thousands of engineering colleges over and lakhs of engineering students over here. But the bitter truth is that there is an immense scarcity of good teachers to cater the needs of these students. Because of this, many local colleges hire unqualified and unskilled teachers. Many colleges do not even have their laboratories fully equipped. Even if there are laboratories, there are not many people to train the students practically. This is the main cause why students are forced to seek others help in their project work. According to my statistics (although with my limited data), not more than 30 percent of the students studying in these local engineering colleges do their project on their own. I do not know how it is in other places, but here in Mumbai (India), there are many companies and institutes with crores of rupees of turnover which they earn only by making these projects. This itself is sufficient to understand the gravity of the situation.


I guess most people reading this article are about to select their project as soon as possible. If that is the case, and if you fall in this category, then I recommend you to take help from others as you do not have a better alternative. Taking others help in learning something is not at all wrong but taking others help to skip learning is wrong. If you think you are not yet good at electronics or programming and if you cannot implement any circuits or programs on your own, then the first thing is to find a tutor who can teach you all these things. There are many resources online to help you learn and enhance your skill. However, it will be better if you can find a personal tutor who can help you out. Better if you get any good senior or a professor of yours to help you learn. If you are really interested in learning something and if you need any help, you can also contact me. Learn all the necessary skills first and then you can proceed with the project.

As a final word, if you want any assistance for your projects and if you are looking for any unique project ideas, you can also contact me. I can assist you in your work.



Wednesday 16 April 2014

Real Time Crowd Detection

Its not about IDEAS, its about making IDEAS happen. Just a couple of days earlier to the most not so awaited but significant annual final year project competition, Tantravihar'14, my group project was in a imperfectly non-working condition. Wherein I could still hear the professors who came for the scrutiny saying “Kay dakhavnar kay Tantra-vihar madhe?” (Which meant " what are you people gonna present in Tantra-vihar?"). And this unfortunate situation led us to move onto a Minimum-viable-model (as far as we called it that) with less hazards and fully planned functional project. So that we could at-least present a proper demo of our BIG idea and its workability. And the astonishing fact is we actually could procure Best project in Departmental category and also gained 2nd best project for the Inter-collegiate competition. For obvious reasons the attributes of which goes to the decisions we took at that point in time because " Failing to Plan is Planning to Fail" . This triumph of ours could be because we could choose a topic which was not only innovative but also practical and furnishing model of it , Prezi( Gaurav Ketkar) and our multi-domain outputs( Matlab, FPGA, Open CV i.e. Raspi) additionally the team's co-ordination was just perfect. 

 Coming on to our Big idea, whenever the final year project topics were to be selected, the University mandates us to look up for some real life issues faced by beings and get them solved by the use of technology. So we did a lot of brainstorming on this. So what is this one thing which connects each and every person in Mumbai or at-least most of them? It was Mumbai Local Trains. The Mumbai Suburban trains or Locals, as it is commonly known, is the life line of the city carry more than 7.2 million commuters out of the 13 million people residing in Mumbai , every single day, which is certainly more than the total population of Israel. 

Every day in Mumbai more than 200 trains make more than 2000 trips along 400 km of tracks carrying more passengers per kilometer than any railway on earth. Mumbai trains were built to hold 1700 passengers, but they often carry three times that number, leading to such a notorious crowding that railways have given peak hours a special name: The Super Dense Crush Load ( with 16 to 14 people per sq meter). During rush hours (its hours here, not hour), around 500 people stuff themselves into train cars meant only for 188. That's more than double the recommended figure. 

With some more observation, since our 4 years of travelling to college, we discovered that this crowding was particularly limited or more frequently seen in some bogies i.e. train cars which were either near to the Foot over bridge or near to the exits of some stations while some of the bogies still remained relatively less crowded.

EUREKA !!!

What if the information about such less crowded bogies be given to the people standing at the next station in advance?

So the people not only know which train to wait for but also know where to wait in order to get to their respective destination with a comfortable journey. So this was our BIG idea to make the journey of rail commuters better. As work as name, we named our project “G-Yantra" where G- stands for Gantavya meaning destination in Sanskrit and Yantra means Machine. Thus our project helps people reach their destinations in a better way than present. The technology which we are using to tackle this issue is “EDGE DETECTION"

So what is Edge detection?



Basically, this is what an edge detected image looks like. Whenever there is an abrupt change in the intensity level of the individual pixel an Edge is detected.

What makes this edge thing so useful?
We came up with a basic assumption (may be right or may be not) that More the number of people in the bogie more will be the number of edges. Sounds promising, isn't it?

Why did we choose edge detection? Are there any other methods?
Answer to the above question is yes, there are numerous methods, e.g. determining the approximate weight of bogie with a sensor and comparing it with the weight of an empty bogie. But the real issue with this is when we talk about fewer crowds or more crowds, we talk about the amount of space (volume) they occupy. Hence the calculation tends to go as not expected with the weight thing. On the other hand, edge detection works on a spatial area, proves more efficient here. Additionally, it is the simplest of algorithms and requires less computation comparatively.

The project on whole is as shown below:


Data input block is basically a Raspberry-Pi compatible camera which captures an image and sends this to the host(main controller) which in our case is the Raspberry-Pi. The image is then converted to grey-scale image in order to save the computation time and space (memory). This image is then sent to a FPGA (Field Programmable Gate Array).

Wait what?

Yes, FPGA. It is basically an array of gates which can be programmed to behave as an ASIC (Application Specific Integrated Chip). So FPGA(Math Processor in the fig.) does a dedicated task that to fast…. Faster

So how much faster?

Normally any software tool like MATLAB can also detect edges. But the time taken by it to process one image is 1.5 seconds. Seems fast, eh? But at the implementation level considering 4 cameras per bogie, there will be 48-50 images per train? So on the whole the processing time goes to 75 seconds. Besides FPGA can do the same thing i.e. 50 images in just 300 milliseconds.

Why do we need so much speed?

On an average, the minimum time between two closest stations in Mumbai railways is around 2-2.5 min. And in order for people to arrange themselves, we need to inform them at least 1.5-2 min prior to the arrival of train. That’s where the speed comes to be a heroic saviour.

So, FPGA processes the image faster and converts it into an edge detected image. The no. of white pixels is counted using a counter. Thus more edges more are the White pixels. This white pixel count is sent to the host computer again along with the Train-tag and the Bogie-tag.

What is Train-tag and Bogie-tag?

The system consists of numerous cameras on single train so identifying each photo's location and sending data to respective indicator is necessity of the project. Hence we incorporate a Train-tag and Bogie-tag in the last two pixels of the image itself. As the algorithm which we are using does not modify the corner pixels and also it does not affect the results, we overwrite the end pixels with Train-tag and Bogie-tag. Moreover this also reduces the additional overheads of writing it to meta-data of the photo.

Now, the Host computer (Raspi) receives the data. We have equipped the raspi with a look up table. Depending on the value of pixel count there are 5 levels of GARDI (Gardi means Crowd in Marathi). Thus there are different GARDI LEVELS (this is an official term coined by our group) depending on the no. of white pixels. This data is then sent using wireless media to the Micro-controller on the Next Platform.The Controller in our case is an Arduino UNO.

The Controller receives a 6 byte information. first 4 bytes of it is the Train-tag, which is used to identify the train and to which platform it will arrive.fifth byte is the Bogie-tag
helps identify the indicator, corresponding to the bogie, to be selected. The last byte is GARDI LEVEL. so according to the GARDI LEVEL the respective LEDs on the indicator are glowed.

Thus more the LEDs (especially the Red ones) are ON, more is the Crowd level. This data will surely help the boarding passengers on the next platform to arrange themselves in a better way. Thus moving from CHAOS to ORGANIZED CHAOS.

Here is the G-Yantra Team:



For Video Demonstration : https://www.youtube.com/watch?v=OhHBAHIgrec&index=3&list=PLonJJ3BVjZW7ilFOMjGZcnrcNXgusSl5l