Saturday, 3 February 2018

Cyber Physical Systems(CPS)

Cyber Physical System is a mechanism that is controlled by computer based algorithms. In CPS every component  is  thoroughly interviewed, it exhibits multiple tasks and use in interacting with other in myriad ways by its technology, .Application of CPS include smart grid, autonomous automobile systems, medical monitoring, robotic system, automatic pilot avionics.
    CPS involves transdisciplinary approaches merging theory of mechatronics  design process sciences.The process control is often reffered as embedded systems.  In embedded systems, the emphasis tends to be more on the computational elements, and less on an intense link between the computational and physical elements. CPS is also similar to the Internet of Things (IoT), sharing the same basic architecture; nevertheless, CPS presents a higher combination and coordination between physical and computational elements.

    Mobile Cyber Physical Systems
In which physical system under study has inherent mobility, are prominent sub category of this tech.
Examples for Mobile Cyber Physical System is mobile robotics  and the goods transferred by robots by using embedded  systems.
  Smartphone platforms make ideal mobile cyber-physical systems for a number of reasons, including:
  • Significant computational resources, such as processing capability, local storage
  • Multiple sensory input/output devices, such as touch screens, cameras, GPS chips, speakers, microphone, light sensors, proximity sensors
  • Multiple communication mechanisms, such as WiFi, 3G, EDGE, Bluetooth for interconnecting devices to either the Internet, or to other devices
  • High-level programming languages that enable rapid development of mobile CPS node software, such as Java, Objective C, JavaScript, ECMAScript or C#
  • Readily-available application distribution mechanisms, such as the Android Market and Apple App Store
  • End-user maintenance and upkeep, including frequent re-charging of the battery                                         Design : It is a challenge and the major difference in the designing between embedded and CPS ,because the are used and made by so many engineering branches Designing and deploying a cyber-physical production system can be done based on the 5C architecture (connection, conversion, cyber, cognition, and configuration). In the "Connection" level, devices can be designed to self-connect and self-sensing for its behavior. In the "Conversion" level, data from self-connected devices and sensors are measuring the features of critical issues with self-aware capabilities, machines can use the self-aware information to self-predict its potential issues. In the "Cyber" level, each machine is creating its own "twin" by using these instrumented features and further characterize the machine health pattern based on a "Time-Machine" methodology.   Also used as the Internet of Things (IoT), CPS are smart systems that have cyber technologies, both hardware and software, deeply embedded in and interacting with physical components, and sensing and changing the state of the real world. These systems have to operate with high levels of reliability, safety, security and usability since they must meet the rapidly growing demand for applications such as the smart grid, the next generation air transportation system, intelligent transportation systems, smart medical technologies, smart buildings and smart manufacturing. 2016 will be another milestone year in the development of these critical systems, which while currently being employed on a modest scale, don’t come close to meeting the demand.

Nonvolatile Memory

While nonvolatile memory sounds like a topic only of interest to tech geeks, it is actually huge for every person in the world who uses technology of any kind. As we become exponentially more connected, people need and use more and more memory. Nonvolatile memory, which is computer memory that retrieves information even after being turned off and back on, has been used for secondary storage due to issues of cost, performance and write endurance, as compared to volatile RAM memory that has been used as primary storage. In 2016, huge strides will be made in the development of new forms of nonvolatile memory, which promise to let a hungry world store more data at less cost, using significantly less power. This will literally change the landscape of computing, allowing smaller devices to store more data and large devices to store huge amounts of information.

Definition - What does Non-Volatile Memory (NVM) mean?

Non-volatile memory (NVM) is a type of computer memory that has the capability to hold saved data even if the power is turned off. Unlike volatile memory, NVM does not require its memory data to be periodically refreshed. It is commonly used for secondary storage or long-term consistent storage.
Non-volatile memory is highly popular among digital media; it is widely used in memory chips for USB memory sticks and digital cameras. Non-volatile memory eradicates the need for relatively slow types of secondary storage systems, including hard disks.
Non-volatile memory is also known as non-volatile storage.

Volatile vs Non-Volatile Storage
In any computer system, there are two types of storage, the primary or volatile storage and the secondary or non-volatile storage. The main difference between volatile and non-volatile storage is what happens when you turn-off the power. With non-volatile storage, as long as the data has already been written, it will remain for a considerable amount of time; typically hundreds of years. Volatile memory needs constant power in order to retain the stored data. Once the power goes out, the data is also lost instantly.
The characteristics of non-volatile storage make it ideal for storing data for long term storage. Good examples of which include hard drives, memory cards, optical discs, and ROMs. Volatile storage serves a totally different purpose than non-volatile storage since it cannot be used to reliably store information. Instead, it is used by the system to temporarily hold information. This is because of the inherent speed volatile memory, which is typically thousands of times faster than most non-volatile storage. Faster is better as it prevents the creation of a bottleneck as processers get faster and faster.
Because of their very different uses, there is also a major difference in terms of capacities. Volatile memory is quite expensive per unit so typical capacities of volatile memory tend to be lower; from MBs to a few GBs. In contrast, non-volatile storage is now reaching a few TB for hard drives, and in the range of GB for most solid state drives.

Electrically addressed

Electrically addressed semiconductor non-volatile memories can be categorized according to their write mechanism. Mask ROMs are factory programmable only, and typically used for large-volume products not required to be updated after manufacture. Programmable read-only memory can be altered after manufacture, but require a special programmer and usually cannot be programmed while in the target system. The programming is permanent and further changes require replacement of the device. Data is stored by physically altering (burning) storage sites in the device.

Read-mostly devices

An EPROM is an erasable ROM that can be changed more than once. However, writing new data to an EPROM requires a special programmer circuit. EPROMs have a quartz window that allows them to be erased with ultraviolet light, but the whole device is cleared at one time. A one-time programmable (OTP) device uses an EPROM chip but omits the quartz window in the package; this is less costly to manufacture. An electrically erasable programmable read-only memory EEPROM uses electrical signals to erase memory. These erasable memory devices require a significant amount of time to erase data and to write new data; they are not usually configured to be programmed by the processor of the target system. Data is stored by use of floating-gate transistors which require special operating voltages to be applied to trap or release electric charge on an insulated control gate for storage sites.

Flash memory

The flash memory chip is a close relative to the EEPROM; it differs in that it can only erase one block or "page" at a time. It is a solid-state chip that maintains stored data without any external power source. Capacity is substantially larger than that of an EEPROM, making these chips a popular choice for digital cameras and desktop PC BIOS chips.
Flash memory devices use two different logical technologies—NOR and NAND—to map data. NOR flash provides high-speed random access, reading and writing data in specific memory locations; it can retrieve as little as a single byte. NAND flash reads and writes sequentially at high speed, handling data in small blocks called pages, however it is slower on read when compared to NOR. NAND flash reads faster than it writes, quickly transferring whole pages of data. Less expensive than NOR flash at high densities, NAND technology offers higher capacity for the same-size silicon.

Virtual Reality and Augmented Reality:

After many years in which the “reality” of virtual reality (VR) has been questioned by both technologists and the public, 2016 promises to be the tipping point, as VR technologies reach a critical mass of functionality, reliability, ease of use, affordability and availability. Movie studios are partnering with VR vendors to bring content to market. News organizations are similarly working with VR companies to bring immersive experiences of news directly into the home, including live events. And the stage is set for broad adoption of VR beyond entertainment and gaming — to the day when VR will help change the physical interface between man and machine, propelling a world so far only envisioned in science fiction. At the same time, the use of augmented reality (AR) is expanding. Whereas VR replaces the actual physical world, AR is a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input, such as sound, video, graphics or GPS data. With the help of advanced AR technology (e.g., adding computer vision and object recognition), the information about the surrounding real world of the user becomes interactive and can be manipulated digitally.

Augmented and virtual reality have one big thing in common. They both have the remarkable ability to alter our perception of the world. Where they differ, is the perception of our presence.
Virtual reality is able to transpose the user. In other words, bring us some place else. Through closed visors or goggles, VR blocks out the room and puts our presence elsewhere.
Oculus Rift, Samsung Gear VR, Google Cardboard, these are names you may have heard about by now. But if you haven't tried virtual reality since that one arcade in the 80's, be ready to be blown away by how far it's come.
Putting a VR headset over your eyes will leave you blind to the current world, but will expand your senses with experiences within. You might even find yourself on top of Mount Kilimanjaro. The immersion is quite dramatic, with some users reporting feelings of movement as they ascend a staircase or ride a rollercoaster within the virtual environment.
Augmented reality however, takes our current reality and adds something to it. It does not move us elsewhere. It simply "augments" our current state of presence, often with clear visors. Seen below, Samsung is near ready to introduce its Monitorless AR glasses, which would connect to phones or PCs via WIFI and replace the screen on those devices.

What's Hot in Augmented Reality?

When Microsoft first demoed HoloLens at Build 2015, they stole the show. HoloLens created waves in the ocean of augmented reality, painting the most groundbreaking picture of what is to come in the ever expanding world of AR.
Microsoft is essentially injecting interactive holograms into our world to bridge the gap between your PC and your living room. Using HoloLens, you can literally surround yourself with your Windows apps. From a marketers perspective, this becomes one more, intensely immersive and promising way, to infiltrate our audience's homes.
Cramer was fortunate to be one of the first agencies to receive the development edition of the HoloLens and the experiential future for our clients is already looking brighter. Using what we've learned experimenting with AR technology, we've already started building applications for product demos and more.
In 2016, the world witnessed augmented reality take center stage in the form of Pokemon Go. The viral sensation that got Pikachu and Charizard out of the Gameboy and onto your front lawn, whether you wanted them there or not! This was the first major example of AR finding mass market acceptance and infiltrating our daily lives.
Virtual and augmented realities in 2017 are already making dramatic leaps forward as startups find ways to introduce smell and touch to expand your sensory experiences. Technology company Immersion has introduced TouchSense Force, using haptic feedback to bring player's hands into VR worlds, and researchers at Stanford University’s Virtual Human Interaction Lab are having to resist eating foam doughnuts as they experiment with adding scent to VR.
Also, beyond the obvious media and entertainment applications for AR/VR technologies, design and engineering companies the likes of Solidworks are demonstrating their commitment to immersive design with AR and VR related partnerships, including NVIDIA, Microsoft, Lenovo, and HTC Vive.

The State of the AR/VR Adoption Rate

While both augmented reality and virtual reality are gaining speed, and are more relevant in our current marketplace than ever before as millions of users hunt Pokemon and Oculus Rift becomes a consumer ready device, they are still more than anything a toy for a small minority of marketers and tech enthusiasts.
The reason is because both are hindered by our ability to render 3D environments in real-time. AR less so, because the environment already exists and you are just adding onto it, but the problem with creating high resolution, life-like objects, still persists.
We can equate this back to early video games. Take the Nintendo N64 for example. 007: GoldenEye was a remarkable game for its time - and still has a major fan base today - but it has a very low polygon count. A polygon is the most basic form of 3D, and the more polygons that make up an image, the higher the 3D resolution.
Now, games have polygon counts in the billions, and they are only getting better. Trailers for new games these days are looking more and more like movies than games, and that bodes well for the future of VR and AR experiences.

Android(operating system)

There are different mobiles and computers operating systems like different models of computers and mobiles. Android is one of the operating systems using by the smart phones. Android is not simply an operating system rather hardware and programming languages are also use this Android Technology.
Android was invented by an anonymous company but later on Google has taken its copyrights reserved and is now doing further development in this technology. It is Linux based technology that uses Unix as an operating system. Linux is the most recent technology in the field of communication and computing. It is therefore Android is demanded by most of the users to have it their operating system. However, it is also a fact that Google is offering an open choice for the users to modify and add any new application without even bring on the notice of Google. Anyone can upload a new application on the Android platform as App Store to either free or payable. These application uploads by the users can be easily download by the users and enjoy more features like additional games, interactive media and business plan.
Android technology is open to use by anyone who wants to develop applications as it promotes the user to add new ideas by using the programming code accessible by them. The flexibility of Android technology makes it more convenient to the operating system to have this as a base for smartphones. The only requirement is software development kit availability to bring any change in it.
There are two common versions of Android as one is cupcake in which sliding physical keyboard is present in the phone and second is HTC EVO which is totally touch screen operable. It allows user to physically contact the touch screen to perform different functions. Android avoids multitasking yet interface is quite good and user friendly.


Interface

Android's default user interface is mainly based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. Game controllers and full-size physical keyboards are supported via Bluetooth or USB. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware, such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.




The main hardware platform for Android is the ARM (ARMv7 and ARMv8-A architectures), with x86, MIPS and MIPS64, and x86-64 architectures also officially supported in later versions of Android. The unofficial Android-x86 project provided support for the x86 architectures ahead of the official support. MIPS architecture was also supported before Google did. Since 2012, Android devices with Intel processors began to appear, including phones and tablets. While gaining support for 64-bit platforms, Android was first made to run on 64-bit x86 and then on ARM64. Since Android 5.0 "Lollipop", 64-bit variants of all platforms are supported in addition to the 32-bit variants.
Requirements for the minimum amount of RAM for devices running Android 7.1 range from in practice 2 GB for best hardware, down to 1 GB for the most common screen, to absolute minimum 512 MB for lowest spec 32-bit smartphone. The recommendation for Android 4.4 is to have at least 512 MB of RAM, while for "low RAM" devices 340 MB is the required minimum amount that does not include memory dedicated to various hardware components such as the baseband processor. Android 4.4 requires a 32-bit ARMv7, MIPS or x86 architecture processor (latter two through unofficial ports), together with an OpenGL ES 2.0 compatible graphics processing unit (GPU). Android supports OpenGL ES 1.1, 2.0, 3.0, 3.1 and as of latest major version, 3.2 and Vulkan. Some applications may explicitly require a certain version of the OpenGL ES, and suitable GPU hardware is required to run such applications.
Android devices incorporate many optional hardware components, including still or video cameras, GPS, orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers, and touchscreens. Some hardware components are not required, but became standard in certain classes of devices, such as smartphones, and additional requirements apply if they are present. Some other hardware was initially required, but those requirements have been relaxed or eliminated altogether. For example, as Android was developed initially as a phone OS, hardware such as microphones were required, while over time the phone function became optional.Android used to require an autofocus camera, which was relaxed to a fixed-focus camera if present at all, since the camera was dropped as a requirement entirely when Android started to be used on set-top boxes.
In addition to running on smartphones and tablets, several vendors run Android natively on regular PC hardware with a keyboard and mouse. In addition to their availability on commercially available hardware, similar PC hardware-friendly versions of Android are freely available from the Android-x86 project, including customized Android 4.4. Using the Android emulator that is part of the Android SDK, or third-party emulators, Android can also run non-natively on x86 architectures. Chinese companies are building a PC and mobile operating system, based on Android, to "compete directly with Microsoft Windows and Google Android". The Chinese Academy of Engineering noted that "more than a dozen" companies were customising Android following a Chinese ban on the use of Windows 8 on government PCs.

Development

Android is developed by Google until the latest changes and updates are ready to be released, at which point the source code is made available to the Android Open Source Project (AOSP), an open source initiative led by Google. The AOSP code can be found without modification on select devices, mainly the Nexus and Pixel series of devices. The source code is, in turn, customized and adapted by original equipment manufacturers (OEMs) to run on their hardware. Also, Android's source code does not contain the often proprietary device drivers that are needed for certain hardware components. As a result, most Android devices, including Google's own, ultimately ship with a combination of free and open source and proprietary software, with the software required for accessing Google services falling into the latter category.

5G: a new thing

Introduction to 5G technology
The world has seen a lot of changes in the realm of communication. Today we no more use landlines. Everyone possesses a mobile phone that functions nine to seven. Our handsets not only keep us connected with the world at large but also serve the purpose of entertainment gadget. From 1G to 2.5G and from 3G to 5G this world of telecommunications has seen a number of improvements along with improved performance with every passing day.
5G technology is on its way to change the way by which most of the users access their handsets. Users will go through a level of call volume and data transmission with 5G pushed over a VOIP enables gadget. With increasing awareness of customers with respect to upcoming technologies, affordable packages and good looks; it is very important that mobile producers must give an altogether decent package for keeping up the customer loyalty. The most important and leading motive of leading mobile phone manufacturers is the creation of best and latest technology to compete with innovative market giants. We have seen great cell phones one after another, with unbelievable traits. Apple has remained successful in shivering the electronic world by putting forth its latest iPhone 4G that take the market by storm.
In such a small electronic piece huge features are getting embedded. There are very few mobiles left without mp3 player or/and camera. People are focusing on getting everything without spending a penny more. Keeping in mind the user’s pocket, economic cell phones are introduced with maximum features. With 5G technology you can hook you mobile phone to your laptop for broadband internet access. The characteristics especially video player, camera, mp3 recorder, messengers, photo treatment and games have made today’s mobile phone a handheld computer.

The developed world is already utilizing 4G and it is beyond imagination that what will be engulfed in 5G as everything is already embedded such as smallest mobile phones, speed dialing, largest memory, audio and video player, Microsoft office, etc. Pico net and Bluetooth technology has made data sharing a child’s play.
Initially infra red kept us bound for properly aliening two handset devices for data sharing. We still remember the disturbance and irritation caused in transferring data but the advent of Bluetooth changed the history. It enabled us to share data between two gadgets within a range of 50 meters. With the swiftness in data sharing the cell phone manufactures focused on mobile broadband that can open a new window of communication and navigation in the world of telecommunications.
5G technology will change the manner in which cellular plans are offered worldwide. A new revolution is about to begin. The global cell phone is around the corner. The global mobile phone will hit the localities who can call and access from China to Germany’s local phone with this new technology. The way in which people are communicating will altogether upgrade. The utilization of this gadget will surely move a step ahead with improved and accessible connectivity around the world. Your office will shrink into your handset with this cell phone that is going to resemble PDA (personal digital assistant) of twenty first century.
This 5G technology and its predecessors are going to give tough competition to laptops and normal computers whose market will be affected. The market is still not easy to grab with mobile phone currently equip with gigabytes of storage and latest operating systems.  The telecommunication sector is going on blooming and its bloom is expected to stay for a very long time. Latest technology will come in more affordable rates and better features. Plans are in pipeline. Let’s wait and
see how the world will look like with 5G!

Features

 

5G technology offer high resolution for crazy cell phone user and bi-directional large bandwidth shaping.
  • The advanced billing interfaces of 5G technology makes it more attractive and effective.
  • 5G technology also providing subscriber supervision tools for fast action.
  • The high quality services of 5G technology based on Policy to avoid error.
  • 5G technology is providing large broadcasting of data in Gigabit which supporting almost 65,000 connections.
  • 5G technology offer transporter class gateway with unparalleled consistency.
  • The traffic statistics by 5G technology makes it more accurate.
  • Through remote management offered by 5G technology a user can get better and fast solution.
  • The remote diagnostics also a great feature of 5G technology.
  • The 5G technology is providing up to 25 Mbps connectivity speed.
  • The 5G technology also support virtual private network.
  • The new 5G technology will take all delivery service out of business prospect
  • The uploading and downloading speed of 5G technology touching the peak.
  • The 5G technology network offering enhanced and available connectivity just about the world
A new revolution of 5G technology is about to begin because 5G technology going to give tough completion to normal computer and laptops whose marketplace value will be effected. There are lots of improvements from 1G, 2G, 3G, and 4G to 5G in the world of telecommunications. The new coming 5G technology is available in the market in affordable rates, high peak future and much reliability than its preceding technologies.

Friday, 2 February 2018

Biometrics: Moving Far Beyond Fingerprints

Biometrics is used in many places and there is a bright future for them. Coca Cola has recently replaced time card system with hand scanning machines. Finger print scanners are being used in many states of the US. They have been used to trace social welfare fraud. An iris pattern identification system is being used in Cook County, Illinois to ensure that right people are released from jail. ATM machines have been installed with finger scanners to prevent theft and fraud in Indiana (Jain, 2005).
The world’s major credit card companies are using finger scanning devices to protect credit card information and save the consumer from credit card fraud. Walt Disney World in Orlando has implemented a hand scanning system to prevent people from
spaming
The technology is many years away from development. Blood pulses on a finger can be measured by new biometric systems. This technology is currently under development. Nail bed identification is based on identifying distinct spatial arrangement beneath the fingernail. Gait recognition is another technology which is under development. This recognizes individuals by their distinctive walk and captures a sequence of images to derive and analyze motion characteristics. The technology is currently under development and its complete potential and limitations can be fully assessed. Many biometric identification systems are being developed and tested (Woodward, 2005).


Biometric technologies are getting better and finely tuned. The rate of false readings and errors has sharply fallen. However it still requires careful consideration and planning to implement a biometric identification system. They are most costly and complicated to implement as compared with other authentication systems. A proper evaluation of the system is important before purchasing any biometric system. A thorough risk analysis is necessary. In many cases biometrics may be overkill. Biometrics must be used if there is high level of risk involved. Customer acceptance is also important when logging on to company websites. Home users might not be ready to install biometrics on home computers for online banking.
Another consideration is where the digital data and templates will be stored. The… 
Many different aspects of human physiology, chemistry or behavior can be used for biometric authentication. The selection of a particular biometric for use in a specific application involves a weighting of several factors. Jain et al. (1999) identified seven such factors to be used when assessing the suitability of any trait for use in biometric authentication.
  • Universality means that every person using a system should possess the trait.
  • Uniqueness means the trait should be sufficiently different for individuals in the relevant population such that they can be distinguished from one another.
  • Permanence relates to the manner in which a trait varies over time. More specifically, a trait with 'good' permanence will be reasonably invariant over time with respect to the specific matching algorithm.
  • Measurability (collectability) relates to the ease of acquisition or measurement of the trait. In addition, acquired data should be in a form that permits subsequent processing and extraction of the relevant feature sets.
  • Performance relates to the accuracy, speed, and robustness of technology used (see performance section for more details).
  • Acceptability relates to how well individuals in the relevant population accept the technology such that they are willing to have their biometric trait captured and assessed.
  • Circumvention relates to the ease with which a trait might be imitated using an artifact or substitute.
Proper biometric use is very application dependent. Certain biometrics will be better than others based on the required levels of convenience and security. No single biometric will meet all the requirements of every possible application.
The block diagram illustrates the two basic modes of a biometric system. First, in verification (or authentication) mode the system performs a one-to-one comparison of a captured biometric with a specific template stored in a biometric database in order to verify the individual is the person they claim to be. Three steps are involved in the verification of a person. In the first step, reference models for all the users are generated and stored in the model database. In the second step, some samples are matched with reference models to generate the genuine and impostor scores and calculate the threshold. Third step is the testing step. This process may use a smart card, username or ID number (e.g. PIN) to indicate which template should be used for comparison. 'Positive recognition' is a common use of the verification mode, "where the aim is to prevent multiple people from using the same identity".
Second, in identification mode the system performs a one-to-many comparison against a biometric database in an attempt to establish the identity of an unknown individual. The system will succeed in identifying the individual if the comparison of the biometric sample to a template in the database falls within a previously set threshold. Identification mode can be used either for 'positive recognition' (so that the user does not have to provide any information about the template to be used) or for 'negative recognition' of the person "where the system establishes whether the person is who she (implicitly or explicitly) denies to be" The latter function can only be achieved through biometrics since other methods of personal recognition such as passwords, PINs or keys are ineffective.
The first time an individual uses a biometric system is called enrollment. During the enrollment, biometric information from an individual is captured and stored. In subsequent uses, biometric information is detected and compared with the information stored at the time of enrollment. Note that it is crucial that storage and retrieval of such systems themselves be secure if the biometric system is to be robust. The first block (sensor) is the interface between the real world and the system; it has to acquire all the necessary data. Most of the times it is an image acquisition system, but it can change according to the characteristics desired. The second block performs all the necessary pre-processing: it has to remove artifacts from the sensor, to enhance the input (e.g. removing background noise), to use some kind of normalization, etc. In the third block necessary features are extracted. This step is an important step as the correct features need to be extracted in the optimal way. A vector of numbers or an image with particular properties is used to create a template. A template is a synthesis of the relevant characteristics extracted from the source. Elements of the biometric measurement that are not used in the comparison algorithm are discarded in the template to reduce the filesize and to protect the identity of the enrollee.
During the enrollment phase, the template is simply stored somewhere (on a card or within a database or both). During the matching phase, the obtained template is passed to a matcher that compares it with other existing templates, estimating the distance between them using any algorithm (e.g. Hamming distance). The matching program will analyze the template with the input. This will then be output for any specified use or purpose (e.g. entrance in a restricted area).Selection of biometrics in any practical application depending upon the characteristic measurements and user requirements. In selecting a particular biometric, factors to consider include, performance, social acceptability, ease of circumvention and/or spoofing, robustness, population coverage, size of equipment needed and identity theft deterrence. Selection of a biometric based on user requirements considers sensor and device availability, computational time and reliability, cost, sensor size and power consumption.

Multimodal biometric system

Multimodal biometric systems use multiple sensors or biometrics to overcome the limitations of unimodal biometric systems. For instance iris recognition systems can be compromised by aging irises and finger scanning systems by worn-out or cut fingerprints. While unimodal biometric systems are limited by the integrity of their identifier, it is unlikely that several unimodal systems will suffer from identical limitations. Multimodal biometric systems can obtain sets of information from the same marker (i.e., multiple images of an iris, or scans of the same finger) or information from different biometrics (requiring fingerprint scans and, using voice recognition, a spoken pass-code).
Multimodal biometric systems can fuse these unimodal systems sequentially, simultaneously, a combination thereof, or in series, which refer to sequential, parallel, hierarchical and serial integration modes, respectively. Fusion of the biometrics information can occur at different stages of a recognition system. In case of feature level fusion, the data itself or the features extracted from multiple biometrics are fused. Matching-score level fusion consolidates the scores generated by multiple classifiers pertaining to different modalities. Finally, in case of decision level fusion the final results of multiple classifiers are combined via techniques such as majority voting. Feature level fusion is believed to be more effective than the other levels of fusion because the feature set contains richer information about the input biometric data than the matching score or the output decision of a classifier. Therefore, fusion at the feature level is expected to provide better recognition results.
Spoof attacks consist in submitting fake biometric traits to biometric systems, and are a major threat that can curtail their security. Multi-modal biometric systems are commonly believed to be intrinsically more robust to spoof attacks, but recent studies have shown that they can be evaded by spoofing even a single biometric trait.

Performance

The following are used as performance metrics for biometric systems:
  • False match rate (FMR, also called FAR = False Accept Rate): the probability that the system incorrectly matches the input pattern to a non-matching template in the database. It measures the percent of invalid inputs that are incorrectly accepted. In case of similarity scale, if the person is an imposter in reality, but the matching score is higher than the threshold, then he is treated as genuine. This increases the FMR, which thus also depends upon the threshold value.
  • False non-match rate (FNMR, also called FRR = False Reject Rate): the probability that the system fails to detect a match between the input pattern and a matching template in the database. It measures the percent of valid inputs that are incorrectly rejected.
  • Receiver operating characteristic or relative operating characteristic (ROC): The ROC plot is a visual characterization of the trade-off between the FMR and the FNMR. In general, the matching algorithm performs a decision based on a threshold that determines how close to a template the input needs to be for it to be considered a match. If the threshold is reduced, there will be fewer false non-matches but more false accepts. Conversely, a higher threshold will reduce the FMR but increase the FNMR. A common variation is the Detection error trade-off (DET), which is obtained using normal deviation scales on both axes. This more linear graph illuminates the differences for higher performances (rarer errors).
  • Equal error rate or crossover error rate (EER or CER): the rate at which both acceptance and rejection errors are equal. The value of the EER can be easily obtained from the ROC curve. The EER is a quick way to compare the accuracy of devices with different ROC curves. In general, the device with the lowest EER is the most accurate.
  • Failure to enroll rate (FTE or FER): the rate at which attempts to create a template from an input is unsuccessful. This is most commonly caused by low quality inputs.
  • Failure to capture rate (FTC): Within automatic systems, the probability that the system fails to detect a biometric input when presented correctly.
  • Template capacity: the maximum number of sets of data that can be stored in the system.
 

Python

Python is an interpreted high-level programming language for general-purpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, and a syntax that allows programmers to express concepts in fewer lines of code,[25][26] notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales.
Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library.
Python interpreters are available for many operating systems. CPython, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation.

Statements and control flow

Python's statements include (among others):
  • The assignment statement (token '=', the equals sign). This operates differently than in traditional imperative programming languages, and this fundamental mechanism (including the nature of Python's version of variables) illuminates many other features of the language. Assignment in C, e.g., x = 2, translates to "typed variable name x receives a copy of numeric value 2". The (right-hand) value is copied into an allocated storage location for which the (left-hand) variable name is the symbolic address. The memory allocated to the variable is large enough (potentially quite large) for the declared type. In the simplest case of Python assignment, using the same example, x = 2, translates to "(generic) name x receives a reference to a separate, dynamically allocated object of numeric (int) type of value 2." This is termed binding the name to the object. Since the name's storage location doesn't contain the indicated value, it is improper to call it a variable. Names may be subsequently rebound at any time to objects of greatly varying types, including strings, procedures, complex objects with data and methods, etc. Successive assignments of a common value to multiple names, e.g., x = 2; y = 2; z = 2 result in allocating storage to (at most) three names and one numeric object, to which all three names are bound. Since a name is a generic reference holder it is unreasonable to associate a fixed data type with it. However at a given time a name will be bound to some object, which will have a type; thus there is dynamic typing.
  • The if statement, which conditionally executes a block of code, along with else and elif (a contraction of else-if).
  • The for statement, which iterates over an iterable object, capturing each element to a local variable for use by the attached block.
  • The while statement, which executes a block of code as long as its condition is true.
  • The try statement, which allows exceptions raised in its attached code block to be caught and handled by except clauses; it also ensures that clean-up code in a finally block will always be run regardless of how the block exits.
  • The class statement, which executes a block of code and attaches its local namespace to a class, for use in object-oriented programming.
  • The def statement, which defines a function or method.
  • The with statement (from Python 2.5), which encloses a code block within a context manager (for example, acquiring a lock before the block of code is run and releasing the lock afterwards, or opening a file and then closing it), allowing Resource Acquisition Is Initialization (RAII)-like behavior.
  • The pass statement, which serves as a NOP. It is syntactically needed to create an empty code block.
  • The assert statement, used during debugging to check for conditions that ought to apply.
  • The yield statement, which returns a value from a generator function. From Python 2.5, yield is also an operator. This form is used to implement coroutines.
  • The import statement, which is used to import modules whose functions or variables can be used in the current program. There are two ways of using import: from <module name> import * or import <module name>.
  • The print statement was changed to the print() function in Python 3.
Python does not support tail call optimization or first-class continuations, and, according to Guido van Rossum, it never will. However, better support for coroutine-like functionality is provided in 2.5, by extending Python's generators. Before 2.5, generators were lazy iterators; information was passed unidirectionally out of the generator. From Python 2.5, it is possible to pass information back into a generator function, and from Python 3.3, the information can be passed through multiple stack levels.

Expressions

Some Python expressions are similar to languages such as C and Java, while some are not:
  • Addition, subtraction, and multiplication are the same, but the behavior of division differs. There are two types of divisions in Python. They are floor division and integer division. Python also added the ** operator for exponentiation.
  • From Python 3.5, it enables support of matrix multiplication with the @ operator.
  • In Python, == compares by value, versus Java, which compares numerics by value and objects by reference. (Value comparisons in Java on objects can be performed with the equals() method.) Python's is operator may be used to compare object identities (comparison by reference). In Python, comparisons may be chained, for example a <= b <= c.
  • Python uses the words and, or, not for its boolean operators rather than the symbolic &&, ||, ! used in Java and C.
  • Python has a type of expression termed a list comprehension. Python 2.4 extended list comprehensions into a more general expression termed a generator expression.
  • Anonymous functions are implemented using lambda expressions; however, these are limited in that the body can only be one expression.
  • Conditional expressions in Python are written as x if c else y (different in order of operands from the c ? x : y operator common to many other languages).
  • Python makes a distinction between lists and tuples. Lists are written as [1, 2, 3], are mutable, and cannot be used as the keys of dictionaries (dictionary keys must be immutable in Python). Tuples are written as (1, 2, 3), are immutable and thus can be used as the keys of dictionaries, provided all elements of the tuple are immutable. The + operator can be used to concatenate two tuples, which does not directly modify their contents, but rather produces a new tuple containing the elements of both provided tuples. Thus, given the variable t initially equal to (1, 2, 3), executing t = t + (4, 5) first evaluates t + (4, 5), which yields (1, 2, 3, 4, 5), which is then assigned back to t, thereby effectively "modifying the contents" of t, while conforming to the immutable nature of tuple objects. Parentheses are optional for tuples in unambiguous contexts.
  • Python features sequence unpacking where multiple expressions, each evaluating to anything that can be assigned to (a variable, a writable property, etc.), are associated in the identical manner to that forming tuple literals and, as a whole, are put on the left hand side of the equal sign in an assignment statement. The statement expects an iterable object on the right hand side of the equal sign that produces the same number of values as the provided writable expressions when iterated through, and will iterate through it, assigning each of the produced values to the corresponding expression on the left.[citation needed]
  • Python has a "string format" operator %. This functions analogous to printf format strings in C, e.g. "spam=%s eggs=%d" % ("blah", 2) evaluates to "spam=blah eggs=2". In Python 3 and 2.6+, this was supplemented by the format() method of the str class, e.g. "spam={0} eggs={1}".format("blah", 2), Python 3.6 added "f-strings": f'spam={"blah"} eggs={2}'.
  • Python has various kinds of string literals:
    • Strings delimited by single or double quote marks. Unlike in Unix shells, Perl and Perl-influenced languages, single quote marks and double quote marks function identically. Both kinds of string use the backslash (\) as an escape character. String interpolation became available in Python 3.6 as "formatted string literals".
    • Triple-quoted strings, which begin and end with a series of three single or double quote marks. They may span multiple lines and function like here documents in shells, Perl and Ruby.
    • Raw string varieties, denoted by prefixing the string literal with an r. Escape sequences are not interpreted; hence raw strings are useful where literal backslashes are common, such as regular expressions and Windows-style paths. Compare "@-quoting" in C#.
  • Python has array index and array slicing expressions on lists, denoted as a[key], a[start:stop] or a[start:stop:step]. Indexes are zero-based, and negative indexes are relative to the end. Slices take elements from the start index up to, but not including, the stop index. The third slice parameter, called step or stride, allows elements to be skipped and reversed. Slice indexes may be omitted, for example a[:] returns a copy of the entire list. Each element of a slice is a shallow copy.
In Python, a distinction between expressions and statements is rigidly enforced, in contrast to languages such as Common Lisp, Scheme, or Ruby. This leads to duplicating some functionality. For example:
  • List comprehensions vs. for-loops
  • Conditional expressions vs. if blocks
  • The eval() vs. exec() built-in functions (in Python 2, exec is a statement); the former is for expressions, the latter is for statements.
Statements cannot be a part of an expression, so list and other comprehensions or lambda expressions, all being expressions, cannot contain statements. A particular case of this is that an assignment statement such as a = 1 cannot form part of the conditional expression of a conditional statement. This has the advantage of avoiding a classic C error of mistaking an assignment operator = for an equality operator == in conditions: if (c = 1) { ... } is syntactically valid (but probably unintended) C code but if c = 1: ... causes a syntax error in Python.
 

Methods

Methods on objects are functions attached to the object's class; the syntax instance.method(argument) is, for normal methods and functions, syntactic sugar for Class.method(instance, argument). Python methods have an explicit self parameter to access instance data, in contrast to the implicit self (or this) in some other object-oriented programming languages (e.g., C++, Java, Objective-C, or Ruby).

Typing

Python uses duck typing and has typed objects but untyped variable names. Type constraints are not checked at compile time; rather, operations on an object may fail, signifying that the given object is not of a suitable type. Despite being dynamically typed, Python is strongly typed, forbidding operations that are not well-defined (for example, adding a number to a string) rather than silently attempting to make sense of them.
Python allows programmers to define their own types using classes, which are most often used for object-oriented programming. New instances of classes are constructed by calling the class (for example, SpamClass() or EggsClass()), and the classes are instances of the metaclass type (itself an instance of itself), allowing metaprogramming and reflection.
Before version 3.0, Python had two kinds of classes: old-style and new-style. The syntax of both styles is the same, the difference being whether the class object is inherited from, directly or indirectly (all new-style classes inherit from object and are instances of type). In versions of Python 2 from Python 2.2 onwards, both kinds of classes can be used. Old-style classes were eliminated in Python 3.0.
The long term plan is to support gradual typing and from Python 3.5, the syntax of the language allows specifying static types but they are not checked in the default implementation, CPython. An experimental optional static type checker named mypy supports compile-time type checking.

Execute Python Programs

For most of the examples given in this tutorial you will find Try it option, so just make use of it and enjoy your learning.
Try following example using Try it option available at the top right corner of the below sample code box −
#!/usr/bin/python

print "Hello, Python!"