Technological Challenges for Meeting the Energy Demands of India


Dr Srikumar Banerjee, Chairman, Atomic Energy Commission & Director BARC, was here in IIT Bombay today to deliver a talk on “Technological Challenges for Meeting the Energy Demands of India” as a DAE-CV Raman lecture of IPA . Dr. Banerjee is one of the eminent scientists and is a recipient of Padmashree.

He delivered a good lecture on how to meet the energy demands of India and drew a roadmap till 2050. The main focus of the talk was using 3-stage nuclear reactor program with the emphasis on using Thorium. With the depleting coal deposits and the limited potential of hydel power, the nations future requirements of power could be met by tapping nuclear and other non – conventional resources. There is a lot of potential in non-conventional sources and this must be harnessed. He also mentioned the role of Non-conventional energy sources in the form of solar thermal systems. These thermal systems being different from solar photovoltaic cell.

India ranks sixth in  total energy consumption, where as, more than 70% of the primary energy needs are being met through imports, mainly in the form of crude oil and natural gas. Also, almost  40% of the indian population is devoid of electricity. Atomic Energy has got a definite and decisive role to perform in the Indian Power Generation and supply sector. Being a developing country, a major share of India’s overall electricity requirements has to be from non conventional sources as the conventional sources has got limitations to meet the galloping needs. But, non-conventional sources have their own limitations.

As the eminent scientist states ” An adequate and uninterrupted power generation is an intrinsic essentiality for the overall development of any nation. In quantitative terms, the per capita consumption of electric energy is regarded as an indicative parameter of the socio economic growth rate of a nation.”

Per capita power consumption in India is around 400 Kwh/yr, which is much below the world average consumption of 2400 Kwh/yr.

The estimated natural deposits of these elements in india are

  • Natural Uranium deposits – ~70,000 tonnes
  • Thorium deposits – ~ 3,60,000 tonnes

of the natural uranium deposits only 0.7% is U-235 rest 99.3 is U-238. Therefore, it needs to be used very effectively.

STAGE 1 : Pressurised Heavy Water Reactor

STAGE 2 : Fast Breeder Reactor

STAGE 3 : Breeder Reactor


He also mentioned the role of close cycle Nuclear reactors so that the amount of waste roduced is minimal and there’s a higher throughput of using the nuclear sources.
Open cycle refers to disposal of the entire waste after subjecting to proper waste treatment.

This Results in huge underutilization of the energy potential of Uranium (~ 2 % is exploited)
Closed cycle refers to chemical separation of U-238 and Pu-239 and further recycled while the other radioactive fission products were separated, sorted out according to their half-lives and activity and appropriately disposed off with minimum environmental disturbance.

Closed cycle method has not been much into practice because Pu could be used for military purposes and was abandoned for long time . But this has also increased  the amount of wastes(Remember Mount Yucca??). But, the close cycle makes an efficient use of Pu for a constructive purpose. As a part of long  term energy strategy, Japan and France has also opted for closed cycle now. Although, US still is with open-cycle.

Prof Puri from IPA  rightly mentioned at the start of talk that our nuclear programme is now in safe hands.

For complete information , please go through http://www.barc.ernet.in/about/anu.htm

Love : The Eternal Bliss


This article was first published in Anubhooti, Hostel-1 Annual Magazine 2012-13 , IIT Bombay.

Its made a bit ugly here 😦

This article describes a few practical aspects on living a cheerful and happy life along with making important contributions and impacts to others lives by means of Love.

“What worth is a life, if it is of no use to others?” [I have heard it often, but don’t remember it where]

This demands purity and; purity demands thinking of others as not other than you. This aspect is generally very handy whenever one is in a confused state and hence unable to make decisions. But isn’t this a very abstract thought? Yes, it is indeed an abstract thought and therefore only people who have become self-aware i.e. have achieved self realization can exactly feel this bliss of being able to take a decision without any second thoughts. So, how does this help common man? One of the practical tool for achieving similar result is “Do unto others what you would have them do to you”. [A Bible verse]

When people start putting themselves in others position, the result is a self compassionate relationship. With compassion comes Love. And thus, people become aligned towards “Universal Love”.

What is this Universal Love?

Universal Love is being conscious and loving at the same time. When you experience universal love you understand the action of love.It is an expression of harmony of the totality. Everything is in harmony with everything else. Thus, there is no conflict anywhere. This is also termed as becoming one with the god or the nature. [~A.H.Almaas]

Universal Love can only be achieved without the presence of personality. WIth personality comes the ego and therefore, ego and love cannot exist together. Ego always creates intersecting circles and hence, the confusion in making decisions.

Perhaps, one of the most poignant sufferrings in the society is the failure of human relationships. We often see so many cases of strained and failed relationships around us and possibly in our own lives as well.

The desire of relationship is very much intrinsic to our nature. The vedas explain that every living being has an eternal relationship with God. We cannot be satisfied if we forget God and offer our love to someone else because only God knows how to reciprocate our love. [Read this for more detail  http://news.iskcon.com/node/4189 ]

This arouses one doubt; does offering our love to God mean we cannot love other people? The answer is just the opposite: With God as the center of all our relationships it becomes blissful. If it is not the case, then it is not love; rather it is mutual exploitation for selfish needs. Thus, if we can centre the relationship on God then they become selfless and deeply rewarding.

“If you judge people you have no time to love them” ~ Mother Teresa.

Online Courses


online learning

Fig.1 : Online Learning

I recently(fall’2011) happened to complete 2 online courses(3 courses were offered) namely, Machine Learning(Stanford) and Artificial Intelligence(Knowit and Stanford). Although I liked ML course immensely but I think AI course fell very much short of my expectations. But AI team seems to already know this and therefore they have offered 2 practical courses : “Building Search Engine” and “Programming a Robotic car”. Check this: http://www.udacity.com/. Nevertheless its a great initiative by the Stanford which I think makes it bigger than OCW MIT. Seeing the impact and vision of Stanford’s online courses , MIT launched similar program called MITx. Also, stanford taking it further has offered 16 more courses this spring’2012 semester. Check http://www.class-central.com/ . These initiatives will benefit the motivated students who are unable to build solid fundamentals due to factors like lack of good teachers, lack of mobility/infrastructure, etc.  Much Appreciated initiative!!

Khanacademy is another venture which looks into online lectures for primary classes, higher classes and many more. Its not-for-profit and visions “A free world-class education for anyone anywhere”. My niece(class 8) and my nephew(class 6) also refer to the lectures on science, maths, etc. and they really love lucid explanations and thus enables them enjoy doing exercises even more.  Its really huge!!  Kudos to Salman Khan and his team.

By now you would guessed that my primary interest is machine learning and artificial intelligence. Some of the excellent resources for the same are here.

Computer Networking Foundations


Converted a page to post
People generally have a notion that the Computer Networking is all about programming but they seem to forget that programming is just a part[and of course an art]. Programming Algorithms, implementing protocols, monitoring network etc. are only a few aspects of computer networking [although essential]. Programming has now become essential in everything you do and is just a tool to meet the ends and hence I wouldn’t talk about programming anymore in this page as it is something that i have done a lot and am not interested anymore. But, what I am interested in is the underlying ideas, which are generally provided in the research papers and are hard to grasp as the mathematical/theoretical stuffs keep floating around all over the paper. Therefore, in order to understand how the networking works as well as have a better idea of the papers it becomes quite essential for the various people in the networking domain to have some level of these mathematics. Let me first list down these, so called “mathematical tools”, :

  1. Theory of Probability and Stochastic Processes.
  2. Linear Algebra
  3. Non-linear & Linear Programming [Optimization]
  4. Markov Chains & Queuing Theory
  5. Graph theory
  6. Game Theory [Optional]
  7. Information & Coding Theory

Dependency graph would something look like this:

 

dependendency_graph

dependendency_graph

In the dependency graph, the higher a number is placed, more important it is. Therefore, one needs to grasp the concepts of [1] and [2] primarily as they act as the pillars for the entire networking. And, once these two are mastered, one can build upon it the concepts of optimization, markov chains and queuing theory. “Graph theory” doesn’t need any prerequisite, neither does Game theory. But in Game theory, some elementary matrix algebra is helpful. Having some knowledge of Information and Coding theory might brings in some innovation in the network research one is pursuing as it tries to look at networking with a different perspective. Most importantly, it tells you the limit so that you don’t incessantly foolishly try to be too ambitious in achieving which is beyond the limit.

In this blog, I’ll be starting with an introduction to probability theory and stochastic processes and will also be mentioning some good reference books for different kinds of readers. I wouldn’t be covering linear algebra since the lecture video of Prof. Gilbert Strang is readily available and infact is the best resource one could find. Click here for videos. For solving out problems in linear algebra, one could follow his simple to understand book titled ” Linear Algebra and its Applications”. I’ll also chalk out the plans on how to take it further, especially for optimization and queuing theory during my vacation in May-July 2010. By the way, something which inspired me in this direction is this page by Prof S. Keshav sometime back . Some of the introduction has been covered in Prof. Keshav’s videos. I am in total awe of prof’s ability to present even the complex stuffs with such elegance and lucidity. But, I’ll try to give the pointers for the above mentioned stuffs according to my own understanding and try to make it easier for the intended viewers who are having an understanding at different levels.

Wireless Sensor Networks: Applications & Roadmap


This article is part of the article on work done in SPANN LAB, IIT Bombay(Prof U.B.Desai, Prof S.N.Merchant)

Wireless Sensor Networks (WSNs) have become one of the most interesting areas of research in the  past  few years primarily due to its large number of potential applications. WSN is an enabler technology, many believe that it can revolutionize ICT(Information and Communication Technologies), the way microprocessor revolutionized chip technology nearly 30 years ago. The proliferation in MicroElectro-Mechanical Systems (MEMS) technology has facilitated the development of smart sensors. These recent advances in Wireless Sensor Networks (WSN’s) have also lead to rapid development of real time applications. In this article we take a tour on how WSNs have evolved over the last decade with emphasis on the applications. In 2003, Technology Review from MIT, listed WSN on the top, among 10 emerging technologies that would impact our future.

The increasing interest in wireless sensor networks can be promptly understood simply by thinking about what they essentially are: a large number of self-powered small sensing  nodes which gather information or detect special events and communicate in a wireless fashion, with the end goal of handing over their processed data to a base station. There are three main components in a WSN: the sensor, the processor, and the radio for wireless communication. Processor and Radio technology are reasonably mature. Nevertheless, cost is still a major consideration for large scale deployment. The  inherent nature of WSNs  makes them deployable  in a  variety of circumstances. They  have the potential to be everywhere, on roads, in our homes and offices(smart homes), forests, battlefields, disaster struck areas, and even underwaters. This very pervasive nature leads us to “everyware” phenomenon of ubiquitous computing. Today, we have entered the third wireless revolution,”Internet of Things”. The third wave is utilizing wireless sense and control technology to  bridge the gap between the physical world of humans and the virtual world of electronics. The dream is to automatically monitor and predict or respond to forest fires, avalanches, land slides, earthquake, hurricanes, traffic, hospitals  and much more over wide areas and with thousands of sensors.  It has come in reaching grasp due to the development of Wireless  Sensor Networks (WSN) more oftenly called Ubiquitous Sensor Networks (USN).  If we look back, a lot of work have been done in the field of protocols, collaborative information processing, dedicated OS like Tiny OS, dedicated database systems like Tiny DB, programming languages like nesC, 802.15.4 standardization in form of Zigbee, and large number of test deployments. Also, major initiatives in WSN R&D have been taken by MNCs like Microsoft(Project Genome), Intel(WISP), IBM(IBM Zurich Sensor System lab and Testbeds), SUN Microsystems(SPOT), etc.

Sensor networks provide endless opportunities, but at the same time pose formidable challenges, which include deployment, localization, self-organization, navigation and control, coverage, energy, maintenance, and data processing.  The fact that energy is a scarce and usually non-renewable resource,  power consumption is a central design consideration for wireless sensor networks whether they are powered using batteries or energy harvesters. However, recent advances in low power VLSI, embedded computing, communication hardware, and in general, the convergence of computing and communications, are making this emerging technology a reality in terms of processing, memory and energy. In general, WSNs are deployed using a non-renewable, but there have been applications like pervasive sensor environment(described later) which uses renewable source of energy, here, solar power. In many current projects, applications are executing on the bare hardware without a separate operating system component. Hence, at this stage of WSN technology it is not clear on which basis future middleware for WSN can typically be built. Another key challenge in WSN is the middleware. Middleware as the name suggests, sits right in between the operating system and the application. The main purpose of middleware for sensor networks is to support the development, maintenance, deployment, and execution of sensing-based applications. Currently, programmers deal with too many low levels details regarding sensing and node-to-node communication and the programming abstractions provided by middleware become a key aspect in its pursuit. Middleware also plays a very crucial role in leading to pervasive sensor systems. Ad-hoc sensor networks although related to WSNs but are very different in terms of energy supply, number of sensor nodes, computational capabilities, memory and global identification. In this article we limit ourselves to WSN.

Since the inception of “low power wireless integrated microsensors” in 1994, a DARPA funded research, WSNs have become a rage globally . In India, the technical institues were the first to take the onus of making contributions to this emerging field by doing a cutting-edge research which was soon to catch attention of government and public in solving real-world problems.

The major WSN projects undertaken in India were:
•    DRDO (Defense Research and Development Organization) project on theoretical aspect, mote development and deployment (with IISc.)
•    WSN for critical emergency applications like landslide predictions (Amrita University, IIT-Bombay, IIT-Delhi, IIT-Kgp)
•    WSN for tracking and monitoring in underground mines (Central Mining Research Institute)
•    Underwater wireless sensor networks (IIT-Bombay, Naval Physical & Oceanographic Laboratory)
•    WSN for Agriculture (IISc, IIT-Bombay)
•    Pollution monitoring (IIT-Delhi, IIM-Kolkata, IIT-Kgp, IIT-Bombay, IIT-Hyderabad)
•    WSN for Biomed (IIT-Bombay)
•    Many IITs also have WSN testbeds.

WSN are a great enabler for component manufacturers, system integrators, software services providers, OEMs, application developers and other end users.
WSN also started transiting from active academic research to industry. This emerging area has inspired many start-up companies like Virtual Electronics Company (Roorkee) , Dreamajax Technologies(Bangalore), Airbee Wireless (India), Virtualwire (Delhi), etc. and numerous small firms specialising in sensors. Big players like Infosys, TCS and Wipro  also value this key technology. Infosys has a dedicated R&D labs Convergence and SETLabs, which pursues R&D in  pervasive computing and wireless sensor networks. TCS Innovation Lab in Mumbai expertises in wireless technology (mKrishi). Wipro and Infosys have been an active partner in the pervasive sensor environment project under the umbrella of IU-ATC(Indo-UK Advance Technology Centre) a 9.2 million pound project.

Here we describe some important path-breaking WSN applications which present a great social and economic impact:

1. Senslide: Landslide Predictions
Senslide is a novel distributed sensor system for predicting landslides. The idea of predicting landslides using wireless sensor networks was originally conceived at the SPANN Lab in the EE Department IIT Bombay. It arose out of a need to mitigate the damage caused by landslides to human lives and to the railway network in the hilly regions of Western India. With support from Microsoft Research India and collaboration from the Earth Science Department IIT Bombay, Senslide became a joint research project among these three research groups. Having an inter-disciplinary team with expertise in each area has been invaluable in coming up with a solution. The system uses a combination of techniques from Earth Sciences, signal processing, and distributed systems and fault-tolerance.
A unique feature of the design is that it combines several distributed systems techniques to deal with the complexities of a distributed sensor network environment where connectivity is poor and power budgets are very constrained, while satisfying real-world requirements of safety.  Senslide uses an array of inexpensive single-axis strain gauges connected to cheap nodes (specifically, TelosB motes), each with a CPU, battery, and a wireless transmitter. These sensors make point measurements at various parts of a rock, but make no attempt at measuring the relative motion between rocks. The strategy is based on the simple observation that rock slides occur because of increased strain in the rocks. Thus, by measuring the cause of the landslide, one can predict landslides as easily as if one would be measuring the incipient relative movement of rocks.

SensSlide

Figure 1: Senslide, Landslide Prediction

2. Landslide Predictions
Landslide predictions have been carried out in full pursuit at IIT-Bombay and Amrita Center for Wireless Networks and Applications(Amrita-WNA). Known for its successful completion of the Indo-European WINSOC Project, Amrita-WNA is recognized worldwide today for its deployment of the first-ever wireless sensor network system for predicting landslides. The system uses wireless sensor technology to provide advance warning of an impending landslide disaster, facilitating evacuation and disaster management. The Government of India has shown interest to deploy this system in all landslide prone areas including the Himalayas and the Konkan Region. India’s first ever cutting edge wireless sensor network system, designed to detect landslides at least 24 hours ahead of its occurrence, has been set up at Munnar in the high range Idukki district of Kerala where eight persons had lost their lives in 2005 landslides.
3. Pervasive Sensor Environment
Pervasive Sensor Environment is an ongoing active project for environment monitoring under the umbrella of IU-ATC funding by Department of Science and Technology, Government of India. This application is of significant social and economic interest and is envisioned to be able to support a diverse range of sensor-network based services across a scalable infrastructure. Its broad aims are:
•    Distributed pollution level measurement.
Sensing elements placed along roads, in buildings and in watercourses will provide information about both atmospheric pollution and the threats to health from contaminants in materials that are vital to health. This links directly to WHO and Global Health initiatives of the UN.
•    Traffic monitoring.
Traffic levels are set to grow, and both the nature of the movement patterns experienced by cars and the quality of the roads are of importance to both drivers and the authorities associated with road planning and maintenance.
In pursuit of achieving the above desired goals, it also tries to solve other intermittent problems like low cost mote development, scalable network protocols with power-aware paradigm, middleware development, Data warehousing for the scientific pollution repository, and a context-framework for context-based pervasive computing. The real-time environment monitoring has been carried out using Libelium Waspmotes on a smaller scale in Hyderabad and Mumbai city. The motes are equipped with solar panel, GPS, gas sensors namely, CO2, O2, NO2 and CO, and other sensors namely, temperature, humidity and air pressure. Considering the full scale deployment cost, low cost motes are being developed at IIT-Hyderabad which challenges the pricing of the motes present in market by 1/10th.The data warehouse in IIT-Bombay has been developed using Microsoft SQL Server 2005 including SSAS and SSIS. The data insights are obtained using various SSAS built-in data mining algorithms like association rule mining, decision tree analysis, and clustering. Ambient Air Quality Index (AQI) standardizations are also refined in the process.

 

pervasive sensor network

Figure 2: Pervasive Sensor Environment, Sensor Deployment in Bombay

 

overall system

Figure 3: Pervasive Sensor Environment, Ongoing Work

4. AgriSens: WSN for Precision Agriculture
AgriSens has been a revolutionary Agro-based WSN conceptualized and developed in IIT-Bombay. This project had been funded by Department of Information Technology, Government of India.  This application is a revolution in the sense that it overcomes the technical and social challenges of precision farming systems in India using WSN. The agriculture system is considered to be a complex interaction of seed, soil, water, fertilizer and pesticides. Exploitation of agricultural resources to bridge the gap in supply/demand is leading to the resource degradation and subsequent decline in crop yields. This calls for optimal utilization of the resources for managing the agricultural system. Precision farming, an information and technology based farm management system, is to identify, analyze and manage variability within field for optimum profitability, sustainability and protection of the resources. WSN one among many technologies i.e. (Remote Sensing, Global Positioning System (GPS) and Geographical Information System (GIS)) practiced for precision farming, is found to be suitable for collecting the real time data of different parameters pertaining to weather, crop and soil and thereby helpful in developing solutions for majority of the agricultural processes related to application of water, fertilizer, pesticides etc.
A case study built through a 2 year research project on deployment of WSN in green house at pilot scale and at grapevine in NASHIK district (India) has enabled testing its robustness and permitting to evaluate the input requirement i.e. water requirement and need of pesticides. Initial deployment of AgriSens was done at green house, IIT Bombay mainly for testing the ruggedness of the system for crops grown under controlled conditions. Once the technical feasibility established, it was extended to larger scale in vineyard. An embedded gateway base station performed elementary data aggregation and transmitted the sensory data to Agri-information server via GPRS. The server was situated at the SPANN Lab, Department of Electrical Engineering, IIT-Bombay i.e. about 200 km away from the field. The server also supported a real time updated web-interface giving details about the measured agri-parameters. The infection index was estimated using already existing semi-empirical models i.e. Logistic and Generalized Beta models for prediction of powdery mildew in Grapes. The outputs of the models were “infection index value” and the “timing of the different infection events”.  It was observed that high risk of infection was corroborated with almost 11 ± 1 hrs of wetness duration with the average ambient temperature of 25 degree Celsius.

 

Agrisens

Figure 4: AgriSens, Sensor deployment at Sule Vineyard, NASHIK(India)

5. Body Area Networks.
The rapid growth in physiological sensors, low power integrated circuits and wireless communication has enabled a new generation of wireless sensor networks. These wireless sensor networks are used to monitor traffic, crops, infrastructure and health. The body area network field is an interdisciplinary area which could allow inexpensive and continuous health monitoring with real-time updates of medical records via Internet. A number of intelligent physiological sensors can be integrated into a wearable wireless body area network, which can be used for computer assisted rehabilitation or early detection of medical conditions.
At IIT-Bombay, physiological body signals are extracted via sensors fabricated of textiles, which are integrated with the attire of the subject. These sensors transmit the signal through specially formulated conductive fabric fibers, which act as conducting wires in our WBAN Architecture to an On Body Transmission Circuit (OBTC). The multiple sensors are interconnected the OBTC based on the applications opted by the user and the power requirement of the WBAN. The OBTC steps up the signal to the UWB operating frequency in range of 3.1 to 10.6 GHz and transmits it to On Body textile UWB antenna. The OBTC is also innovatively designed to power the entire system, by absorbing heat emitted by the subject body. Incorporation of thermoelectric generators using body heat typically shows a drop in generated power when the ambient temperature is in range of the body temperature. The connections between the OBTC and Textile Antennas are also made up of same conductive fibers that connect the sensors to OBTC. An ideal testbed is set up for subject monitoring devoid of any metallic components with the sensor integrated with the textile body patch. The UWB Textile antennas on the body send or receive signals through smart phones. The transmitted signals are received at the remote health monitoring station. This approach would allow one to assess quality of movement in the home and community settings and feed this information back into the clinical decision process to optimize the rehabilitation intervention on an individual basis. With the Machine Learning tools the engine provides an automatic diagnostic system.
6. Underwater Sensors
Underwater Sensor Networks (UWSN) although have potential for broad range of applications like pollution monitoring, assisted navigation, disaster prevention, seismic monitoring, etc. but the challenges are even more daunting. The UWSN exploration at IIT-Bombay in collaboration with Naval Physical & Oceanographic Laboratory(NPOL) came up with a novel approach to overcome the challenges by proposing Energy Optimized Path Unaware layered routing protocol (PULRP). PULRP is an on the fly distributed algorithm, so mobility and loss of connectivity due to multipath are taken care of along with localization and time synchronization . PULRP considers energy parameter for potential relay node selection and is an energy optimized algorithm. IIT Bombay also has testbed for UWSNs .

underwater sensors

Figure 5: UWSN, Network Architecture

7. Electronic Toll Collection
Electronic Toll Collection System is combination of techniques and technologies that allows vehicles to pass through a toll facility without requiring any action by driver (i.e. stopping at the toll plazas to pay cash). This project had been funded by Department of Information Technology, Government of India. ETC starts with the capability to detect the presence of a vehicle. Based on such detection, vehicles are classified in different categories. The information of vehicle classification is used to deduct the tolling amount from the account of user. Electronic Toll Collection System consists of three components Automatic Vehicle identification system, Automatic Vehicle Classification System, and Enforcement system. Wireless communication, sensors and a computerized system uniquely identifies each vehicle to electronically collect the toll. Important aspect of this architecture is it requires very less infrastructure. Electronic Toll Collection is implemented using Motes for On-board Unit and Roadside Unit programmed with Tiny OS, and server programmed using SQL. Implemented Electronic Toll Collection using MARWELL USB 0800 Cards for Onboard Unit, Road-side Unit, and Server, Communication between these units was established using UDP Socket Programming. Server Uses SQL for toll collection.

electronic toll collection

Figure 6: Electronic Toll Collection, Architecture

Conclusion:
WSNs are biggest proponents with regard to the third wave in computing. i.e.; Ubiquitous computing and it’s subsuming. First were mainframes, each shared by lots of people. Now we are in the fading end of personal computing era, person and machine staring uneasily at each other across the desktop. Ubiquitous computing has just entered, or the age of calm technology, when technology recedes into the background of our lives. WSNs have indeed made a huge social and economic impact and the exploration by the technical institutes especially IIT -Bombay had been more than worth in creating real-time applications and testbeds all along the way.

R-ebook : Dewarping scanned e-books


R-ebook

R-ebook

CS 663, Digita Image Processing , Course Project, Autumn 2010

Group: iRoll

Instructor: Prof. Sharat Chandran

Members (In Alphabetical Order): Feroz, Mayur, Nikhil, Rahul, Rajath

Problem Statement

The aim of the project is to make the scanned documents more readable. Scanned documents are generally prone to noise and the various problems can be roughly listed as below,

  1. Incorrect Orientation.
  2. Need for Image enhancement.
  3. Handwritten text outside the text region
  4. Skewed lines

We are applying various cleanup methods to make the scanned document more legible to read.

Figure below shows a typical scanned image along with the output .

Input :

Input Image

Input Image

Output :

final output

final output

Implementation

An overview of implementation is given below in the flow model.

R-ebook Flow model:

block diag

Block Diagram

1. Shade and noise removal

Initial noise removal is done using basic image processing techniques like erosion, dilation, binarization and hole filing operations. Noise outside the text region can be completely removed after detecting the text region.

Edge Detection(using ImageJ)
Input :

stage1_b

stage1_b

Edge Detected Output :

Edge detected output

Edge detected output

Orientation correction

Here the input image is edge detected and assumed to be oriented not more than 45 degree on either side. Initially this image is rotated anticlockwise by 45 degrees . Then, it is rotated by 1 degree incrementally upto 45 degrees clockwise of the original input and corresponding horizontal projections are also calculated. The angle at which it gives the maximum variance of the horizontal projections is the correct orientation.

Thus the input image is then rotated to the correct orientation.

Input Image :

orient_input

orient_input

Orientation corrected Image :

orient_output

orient_output

Detection of text box

Detection of text box is used to accomplish the task of identifying word regions. Initially erosion, dilation and hole-filling is applied with a pre-defined filters. Secondly, Connected component analysis (CC) is done to identify individual blocks, these text blocks are typically words.  Unwanted part of the scanned document is removed by using the properties of a text region like height-width aspect ratio, extent( Scalar that specifies the ratio of pixels in the region to pixels in the total bounding box ),etc.

Figure below shows the input image, intermediate result after dilation and erosion and the final image after using connected component analysis.

text region detection

text region detection

Text block detection
CC Output

Connected Component output

Connected Component output

Detection of text rows and tracking the lines

Now, once these text blocks are detected , it is further analyzed to identify the text rows by grouping of words in each row. The line start, line end, CC labels and width of the line are the parameters used for grouping of these text blocks into a line. We also make use of 2 imortant properties of individual bounding box(alternatively, text blocks) — centroid and extrema. We thus create a look-up table(LUT) with line numbers and a list of text blocks associated with each row.

Dewarping of lines

The centroids of each text block of a row are interpolated to trace the entire line. This is iterated over the rows. Each row is labelled according to their ‘y’ co-ordinate. These y co-ordinates are taken from the unwarped section.

Interpolation of rows

Interpolation of rows

Now, the intermediate line between the rows are also obtained by vertical interpolation. This corresponds to the position of each pixel to be shifted for the dewarped position. These pixels are moved to the desired position. An inverse mapping table is created , which provides the coordinates to which each pixel has to be shifted as shown below.

inverse map

inverse map

This entire process is based on interpolation. Intermediate gaps(if any) are also interpolated vertically at the output side.

Pledge

This is a course project for the course Digital Image Processing at Indian Institute of Technology Bombay. Therefore we are pledging on our honour that we have not given or received any unauthorized assistance in this project or any previous homework.


Reference:

[1]Correcting Book Binding Distortion in Scanned Documents, Rafael Dueire Lins et.al,Hewlett Packard Labs (2010).

[2]Enhancing Readability of Scanned Picture Books, Chang Hu et.al, Computer Science Department,University of Maryland .

[3]Enhancing Readability of Scanned Picture Books, Chang Hu et.al, Computer Science Department,University of Maryland .

GATE IIT Admissions


Converted from page to post… its just the same old post I wrote a year back.. Just that, I didn’t like too many pages on the blog.

Hi,
This is my first post after joining IIT. I had given more than a couple of interviews and finally landed up in IIT Bombay with specialisation in EE . I am a basically a comp science guy and had appeared for GATE in comp science. You’ll be wondering why did I choose EE rather than CS. I’ll tell you the whole build up to how we both(EE & I) chose each other. Also, I am more than glad that I have discovered that programming is not everything after joining EE and thus being myself and not following the herd.

I’ll start this with the  GATE preparations. Aspirants seeking guidelines for preparing GATE CS might like to look at my post “GATE CS Prepare”. I had done pretty well in the preparation of GATE and also featured in top 25 in 2 out of 4 tests that I appeared in GATEFORUM although I had not completed the syllabus. But I screwed up the GATE exam very badly and was able to score only 98.21 percentile(a pathetic rank of 747). The reasons of my failure were a plenty…..

1>I had prepared for GATE solving the previous year problems rather than reading the entire theory/content.  I had approached GATE with a problem oriented frame of mind.

2> Did not take Software Engg and Web seriously as it was newly introduced to the syllabus.

3> Had not completed even half of the compiler design.

4> Due to some external factors couldn’t prepare well in last 15 days right before the exam.

But, never the matter, i didn’t loose heart and applied for IITs and IISc for both MS(R) and M.Tech in hope that I ‘ll crack the test and interview if given a chance as some of my friends, whom I used to beat them in the preparatory test to GATE had secured ranks in double figure. Believing in myself was important at the time of applying. I had prepared well for Engg Maths and Discrete Maths and those were the strong points for me. I also had very good exposure of C Programming and had always done better in these areas than my counterparts.

IITB – CS [25th may’09]

After a few frustrating weeks, I indeed got my first call that too from IITB for a test & interview for M.Tech in Computer Science. There were around 400+ guys competing for it. The questions in the test were basically from Discrete Maths especially Graph Theory ang logic, Analytical skills, C Programming and one problem on computer networks.  There were in total 20 questioons divided into 4 areas- Maths, Analytical skills, Computer science, and C Programming. I cleared the test with  good scores. There were around 60-80 candidates selected for the next round.  I had appeared in GATE with a desire to do my Masters in Priority 1 -Wireless communication or Priority 2- AI and ML, Before the tests we were introduced to various Assistantships as well as projects by the faculties of CS. My old love wireless did feature in a couple of projects and I didn’t find them very innovative. So, I decide upon  my second preference. We were supposed to give out our two preferences in order for the interviews. I luckily ended up getting selected for the interview on both the preferences which I had opted for namely, NLP and Machine Translation. Both of them somehow related to AI. I also had descent knowledge of NLP.

I waited for more than 5 hours for my turn to come…. and finally I was the last man to be inerviewed. I was interviewd by Prof Pushpak Bhatacharya. By the way, Prof. Pushpak is a stalwart in NLP and has developed wordnet libraries for many Indian languages and also heads the NLP group comprising of IIT-B, IIT-D, IIIT-H and a few more institutes. As soon as I entered, the first thing that was conveyed to me was that its a short interview and will be of not more than5 minutes. The interview generally lasts more than 20 to 40 minutes. I  was also told that I had scored heavily in the test. That gave me some confidence. But my confidence came crashing down when a question was asked on recurrence relation and I wasn’t able to solve. I was also asked a question on Generating function and again i failed miserably. Finally, I corrected a couple of mistakes committed in the written test as I was asked to. He did turn up with the question as what was my strong area and I replied confidently “NLP” and my interview ended abruptly after asking my job profile which was then a a developer/researcher in remotely connected to NLP  domain at TRDDC….

I had screwed up my interview badly and facial expression was to say it all. Before leaving, Prof did try to console me by telling that the results are not dependent only on interview rather they’ll be also taking into account the GATE rank, test marks and profile. But, i knew i had lost.

After, a week the results were announced and as expected i could not make it.

MS(R) , SERC, IISc[9th june’09]

Next interview I was called for was from SERC , IISc . None of the areas mentioned in the list interested me but still I wanted to face the heat and went for the interview giving my preference as Databases which consisted of  XML databases, Query optimization, etc… although not being of my interest . This group is headed by Prof Haritsa and he is considered to be one of the top 3 in Databases in India. I appeared for the test and easily cleared it. There were 5 question and time given was informally 20-25 minutes. The questions were related to Speed-distance, code snippet, Analytical skills. Out of 30 odd, they had selected 3.  Soon after the test my interview was taken and most of the answers that came from me were ” I don’t know” as they were specific to database and I hardly had any clue. Also, i didn’t like to do the guess work as it is not advisable during interview. Also, I did enjoy the interview as I didn’t have much interest in joining it. Finally, i was let off in a formal way although it could have been otherwise..worse[kicked.. no…hair-dryer treatment …. save me…]. But somehow, I escaped all these. I really loved the greenery there.

EE, IIT-Bombay [25th june’09]

While applying for IIT-Bombay, I had also written other department mentioning EE and hence, i got a call. I had applied for communications thinking that in case I get “Wireless” specialisation, I would grab it with both hands. I had applied only for communications as there was no point applying for streams which do not interest me much. I wrote the test and again somehow cracked it. There were 25 questions out of which any 20 were to be answered. There was almost equal number of questions in mathematics and electrical related. Surprisingly, I was one of the toppers in the test among communications guys although I didn’t know half of the question paper (I do not know if it was true, but it was as told by interviewers. Many were told same thing and so I dont trust this info). I might have been lucky as there was no negative marking and I had guessed the electrical questions with some intuitions. Anyways, I thought this was my day. I was interviewed by a panel of 5 prof/asst. prof. I wasn’t asked any of the questions on electrical, rather I was asked a couple of linux commands, Mobile adhoc metwork scenarios, networking protocols ARP and my data mining. Data mining and Mobil ad hoc network questions came up due to its mention in my resume. Interview was pretty easy and cool. I was quite confident and answered everything to the point. Although, the interview took around half an hour , I never felt it took more than 5 minutes where as the interview I faced against Prof Pushpak I felt just the reverse(5 min interview as half an hour ). I was confident of my selection but you never know. i finally got the result on 7th July and I was assigned a Project  RA in Wireless and Sensor Networking under Professor Merchant. I finally talked to professor about the project and a couple of my friends and finally decide to give a shot.

Here in EE, I realized that Programming is an essential part and not everything. Infact, mathematical foundations are an essential armoury for computer science which I wouldn’t have got, had I joined the CS dept.

But, the path to knowledge becomes more difficult as I also need to cope up with the foundations of EE and Maths at the same time. But, you aren’t well contented unless you do something which is hard to get.

More about GATE preparations and life in IIT will be coming … Keep watching this space

Environmental Monitoring.


You’ll be surprised to know that, in coming years  all of us(researchers/scientists) will be doing something related to” climate-change”. Let us term this class of people as Climate-Change Scientists(CCS). Existence of our planet is under threat due to the  negative environmental impacts caused by human actions. We need to rethink and possibly try to save the planet in whatever small way we can. For this, already top-notch researchers/scientist have already started o assess the change in the climate; trying to find trends, patterns, hidden information. Go-green is the new buzzword……but are we really doing anything about the potential hazards of the climate-change other than just becoming a member/fan of various go-green groups/pages on the internet.

The future technologies built are already considering the various impacts on the environment and in some way everyone involved in these is also someway positively related to climate-change. Nowadays, for various projects government already carries out Environmental Impact Assessment(EIA) to ensure the well-being of planet. It’s indirectly for the well-being of us.

Paulo Coelho had aptly put it in words on his twitter: “Save the planet? Planet must be saying, “Save yourself idiots, I will be fine”

This area of research, “climate-change” is a big thing. Its more about “us than I”.  And, mind you this is not about publishing the number of papers, rather it is about what thought process(es) can really make giant leaps for mankind. One should not let publications drive his/her work. And if you really believe me, we do not have much time  as the situation might go out of hand.

I had been thinking for quite some time on how can I contribute in this very noble pursuit and finally jumped into it. In order to take any genuine strive for any concerned CCS, first we should have something to work on. This is what we call data. One could decide to collect data themselves or can use the data collected by other CCSs. Being so close to technology, I started collecting data myself. Its pretty trivial in a low scale deployment but the complexity increases as we go for high-scale deployment.  I have started with monitoring environment data using sensors, on a low-scale though. In the past one month, we have made a framework for collecting data. The term “data” here refers to “Environmental Parameters” like CO2, O2, CO, NO2, CH4, H2S, Temperature, Air Pressure, Relative Humidity, Wind Velocity, etc… For the very purpose of data collection, we at IIT Bombay/Hyderabad have started with Libelium Waspmote boards.

Environmental monitoring Process

Environmental monitoring Process

To make a rational decision involving environment, we need to assess the various environmental parameters and accordingly act based on these various attributes. In our attempt to sense environment parameters, we have built a framework for sensing various environment parameters like temperature, pressure, humidity, oxygen, carbon dioxide, carbon monoxide, air contaminants, nitrogen dioxide, etc.  Now, the next stage would be interpreting the data. Interpretation of data would involve finding appropriate models for the various applications based on this framework. Finding trends or patterns is another important aspect of interpretation of data. Based on these findings the intended application would report and/or take appropriate action.

Data Collection:

Environmental Monitoring Architecture

Environmental Monitoring Architecture

This project is more inclined towards air pollution based applications but nevertheless it can be used as the base application for a number of applications. In this project, we have used small sensors for each corresponding environmental element and these sensors are attached to small electronic device, here waspmotes from Libelium. This sensing module is either powered by small battery or solar panel. A number of such sensing modules are deployed in areas such as forest, crowded city, industrial area, mines, power plants etc. depending upon the application. Each sensing module senses the various environmental parameters mentioned above. These sensing modules then send the collected data to the base station using multi-hop sensor networks and Radio Frequency technology. The base station then updates the database server and finally the web application enriches the experience of visualizing these data anywhere. Time scheduling and place location can be easily traced with the GPS/GPRS systems mounted on sensing modules.  It uses Xbee/Zigbee motes which uses license free band and this band are low power as well as short time transmissions. So there are no ill effects on surrounding human or any living organism. It also has social and economic benefits.

One of the biggest social benefits is that one is aware of the environments and thus we can together make our living better using the known information. For e.g., if based on data collection we find that the oxygen content is less than the normal content in a particular city, then government can take appropriate actions to plant more trees across the city. This enhances the way we live. An example of economical benefit would be making a service model with the cellular service providers for updating the customers with relevant data. One negative economic impact of this is that the motes are very costly and therefore, it becomes more important to develop cheap hardware/sensors.

sample_O2 concentration in %

sample_O2 concentration in %

Sensing environment as an EIA process.

The project can also be integrated into EIA process. This whole concept of environment monitoring can be effectively developed as a tool. For every new project which requires an EIA clearance can deploy the sensors and set up the tool to supply the relevant data. In this way, we can detect the immediate impact as well as predict the effects of the project on natural and social aspects. For e.g., if environmental gases concentration of nitrogen dioxide, sulphur dioxide increases in some project/plant vicinity then the forthcoming rain will be acidic in that area. And it can cause the land/soil infertile, infrastructure breakdown etc. The government/body can then take appropriate actions on behalf of farmers (social) and air quality (natural).

We also have all real-time data of project/plant surroundings so modelling impact prediction becomes very easy. Impact mitigating measures like environmental management plant (EMP), risk assessment report, rehabilitation plan can be implemented at a better level using this infrastructure and tools.

Some of the related/overlapping areas of research for the CCSs are:

  1. Pervasive Computing(especially Context based)
  2. Machine Learning/Pattern Recognition
  3. Wireless Sensor Networking
  4. ….and many more

GATE CS Tips !!


This particular post is for all the GATE Computer Science Aspirants[GCSA].  I am currently pursuing my M.Tech in EE[Communications] at IIT Bombay. You might be wondering CS —> EE??? How?? Go through my post GATE IIT Admissions, you’ll know it.

Many people ask me when is the best time to write a GATE CS exam. I naively tell them, once you are prepared ;-). I think six months is a good time period for this exam. I wrote this exam after more than 2 and half years of my job experience. Aspirants who are in their 3rd/4th year of engineering curriculum might think they are at a better position to crack GATE. But, I would totally deny that. The only difference between working professional and engg. student is the amount of time they can allot to studies. The latter are in more advantageous position in this regard. This post can be taken as a set of guidelines for the GCSA. I indeed got some tips from the following documents:

  1. “advice_by_GATE_AIR_8.doc”
  2. ” Raj’s Collection” given in the doc “Books-GATE.doc”.
  3. The “Analysis_CS.jpg” gives a good picture of how the marks are distributed.
  4. Analysis_CS_2003_08 [The best resource before you start preparing]

Analysus_CS_2003_08_PART1

Analysus_CS_2003_08_PART1

 

Analysus_CS_2003_08_PART2

Analysus_CS_2003_08_PART2


The above resources marked 1 and 2 are a good starting point for people who are not sure which books to read. The 3rd and 4th resource are analysis of GATE CS papers over the relevant years. The last two resources lets one also decide which subjects to skip in case one is short of time.The 4th resource, gives subject-wise and topic wise breakup of the distribution of marks over the years. Also, one need not cover the entire topics mentioned in the syllabus. Aspirants can as well leave out some of the subjects in which they are not interested or not proficient. Some of the subjects which are very essential for scoring high are: Discrete Maths, ToC, Digital Logic, Programming and Data Structures, Algorithms.

Solving the previous year papers almost covers the entire scoring area. So, it is always nice to solve GATE papers subject-wise.

I would particularly insist the GCSA to cover the Engg. Mathematics. The reason being, the questions asked in this area are pretty straightforward  and hence, quite easy. Most of the aspirants generally ignore this area and that is what becomes the deciding factor for good and great scores. Also try to know quicker ways of solving problems and that would give you more time to solve problems from other area.

I personally feel that the choice of books differs from one person to another and therefore, the list of books suggested can be omitted altogether in case one finds another book being superior/more suitable for their needs. My suggestions[Personal choice] for the references would be:

Engg Maths: Materials from Vani/ACE/Elite is very handy
Discrete Maths: Discrete mathematics & its applications, Kenneth H. Rosen
Graph Theory: Graph Theory, Narsingh Deo
ToC: Introduction to Automata Theory, Languages, and Computation, John E. Hopcroft, Jeffery D. Ullman
Compilers: Introduction to Compiler Design by Aho(first 7 chapters do not miss LALR parser)
Digital Logic: By Givon or Morris Mano. Both are equivalently good.
Computer Organization: By Hamacher
Programming & Data Structures: Book by Mark Allen Weiss is good + Relevant stuffs from http://cslibrary.stanford.edu/ is more than enough. Use wiki for any topic. Wiki is a very reliable source for this area.
Algorithms: Book by Cormen. + Use wiki for any algorithm. Wiki is a very reliable source for this area.
Operating Systems: Book by Galvin, Gagne, silberschatz is good except for Process synchronization. Use internet or Tanenbaum’s book for this particular topic.
Databases: Best book I feel is Navathe. Use Raghu Ramakrishna for Transactions & Concurrency control.
Computer Networks:Computer-Networks by Larry-L-Peterson, Bruce-S-Davie as well as book A top-down approach by Kurose & Ross are equivalently good.
Software Engg: I do not know any good resource as I skipped this subject. But I feel, Pankaj Jalote seems to serve the purpose.
Web/Html: Internet is the best resource for this. w3schools site for html is good.

One important suggestion: Kindly do not use books like Handa, GK etc. they are simply a waste of time. Gathering the concepts and knowing the tricks are the best ammunition for cracking GATE.

I’ll be updating this post with important topics in each subject in short time. For the time being .. I’ll just put the GATE 2010 CS Syllabus and will update it with scoring areas as an inline comment.

CS-Computer Science and Engineering

ENGINEERING MATHEMATICS

Mathematical Logic: Propositional Logic; First Order Logic.

Probability: Conditional Probability; Mean, Median, Mode and Standard Deviation; Random Variables; Distributions; uniform, normal, exponential, Poisson, Binomial.

Set Theory & Algebra: Sets; Relations; Functions; Groups; Partial Orders; Lattice; Boolean Algebra.

Combinatorics: Permutations; Combinations; Counting; Summation; generating functions; recurrence relations; asymptotics.

Graph Theory: Connectivity; spanning trees; Cut vertices & edges; covering; matching; independent sets; Colouring; Planarity; Isomorphism.

Linear Algebra: Algebra of matrices, determinants, systems of linear equations, Eigen values and Eigen vectors.

Numerical Methods: LU decomposition for systems of linear equations; numerical solutions of non-linear algebraic equations by Secant, Bisection and Newton-Raphson Methods; Numerical integration by trapezoidal and Simpson’s rules.

Calculus: Limit, Continuity & differentiability, Mean value Theorems, Theorems of integral calculus, evaluation of definite & improper integrals, Partial derivatives, Total derivatives, maxima & minima.

COMPUTER SCIENCE AND ENGINEERING

Theory of Computation: Regular languages and finite automata, Context free languages and Push-down automata, Recursively enumerable sets and Turing machines, Undecidability; NPcompleteness.

Digital Logic: Logic functions, Minimization, Design and synthesis of combinational and sequential circuits; Number representation and computer arithmetic (fixed and floating point).

Computer Organization and Architecture: Machine instructions and addressing modes, ALU and data-path, CPU control design, Memory interface, I/O interface (Interrupt and DMA mode), Instruction pipelining, Cache and main memory, Secondary storage.

Programming and Data Structures: Programming in C; Functions, Recursion, Parameter passing, Scope, Binding; Abstract data types, Arrays, Stacks, Queues, Linked Lists, Trees, Binary search trees, Binary heaps.

Algorithms: Analysis, Asymptotic notation, Notions of space and time complexity, Worst and average case analysis; Design: Greedy approach, Dynamic programming, Divide-and-conquer; Tree and graph traversals, Connected components, Spanning trees, Shortest paths; Hashing, Sorting, Searching.

Compiler Design: Lexical analysis, Parsing, Syntax directed translation, Runtime environments, Intermediate and target code generation, Basics of code optimization.

Operating System: Processes, Threads, Inter-process communication, Concurrency, Synchronization, Deadlock, CPU scheduling, Memory management and virtual memory, File systems, I/O systems, Protection and security.

Databases: ER-model, Relational model (relational algebra, tuple calculus), Database design (integrity constraints, normal forms), Query languages (SQL), File structures (sequential files, indexing, B and B+ trees), Transactions and concurrency control.

Computer Networks: ISO/OSI stack, LAN technologies (Ethernet, Token ring), Flow and error control techniques, Routing algorithms, Congestion control, TCP/UDP and sockets, IP(v4), Application layer protocols (icmp, dns, smtp, pop, ftp, http); Basic concepts of hubs, switches, gateways, and routers.

Saare jahan se acchha!!


See this picture to know what we were even around 200 years back: (2-2-1835, address to British Parliament).

Taken From: http://moralstories.wordpress.com