Monday, 17 October 2011

Photoshop CS5 Features

Photoshop CS5(Creative Suite 5) contains many new or enhanced features and functions as compared to Photoshop CS4.


One of the amazing features is Content-Aware Fill.


This feature allows the user to fill in a selection based on the surrounding regions. It is quite similar with content-aware healing but content-aware fill lets us REPAIR OF REPLACE LARGER, MORE COMPLEX AREAS, AND EVEN MULTIPLE AREAS AT ONCE!

The users just have to simply draw selections around the area or subject that they wanna get rid off and letting Photoshop do the rest!


Below is a tutorial video about Content-Aware Fill:



Besides Content-Aware Fill, Puppet Warp, and Advanced Selection & Refining are very useful too!
Here is the tutorials shows you how to use these features:



Advanced Selection & Refininghttp://www.youtube.com/watch?v=Vk4M3QY0SB0

Puppet Warphttp://www.youtube.com/watch?v=y0fU7L3GaAE&feature=fvst

Sources:
1. http://www.youtube.com/watch?v=NH0aEp1oDOI
2. http://www.youtube.com/watch?v=Vk4M3QY0SB0
3. http://www.youtube.com/watch?v=y0fU7L3GaAE&feature=fvst

Monday, 10 October 2011

Multimedia Application Development Phases

An application is a collection of programs that satisfies certain specific requirements (resolves certain problems). The solution could reside on any platform or combination of platforms, from a hardware or operating system point of view.As with other operating systems, a multimedia application development is usually composed of the following phases:
  • Design phase
  • Gather requirements.
    • User, hardware and software requirements
    • Perform analysis.
    • Develop the design in its various iterations:
      • High-level design
      • Detailed design
    • Hand over the design to application programmers.
  • Code and test application.
  • Perform user tests.
User tests application for functionality and usability.
  • Perform system tests.
    • Perform integration test (test application with other programs to verify that all programs continue to function as expected).
    • Perform performance (volume) test using production data.
  • Go into production–hand off to operations.
  • Ensure that all documentation is in place (user training, operation procedures).
  • Maintenance phase--ongoing day-to-day changes and enhancements to application.



Figure 1 shows the process flow during the various phases of the application development life cycle.

Figure 1. Application development life cycle
zappl500



Figure 2 depicts the design phase up to the point of starting development. Once all of the requirements have been gathered, analyzed, verified, and a design has been produced, we are ready to pass on the programming requirements to the application programmers.

Figure 2. Design phase
zappl501



The programmers take the design documents (programming requirements) and then proceed with the iterative process of coding, testing, revising, and testing again, as we see in Figure 3.

Figure 3. Development phase
zappl502


After the programs have been tested by the programmers, they will be part of a series of formal user and system tests. These are used to verify usability and functionality from a user point of view, as well as to verify the functions of the application within a larger framework (Figure 4).

Figure 4. Testing
zappl503



The final phase in the development life cycle is to go to production and become steady state. As a prerequisite to going to production, the development team needs to provide documentation. This usually consists of user training and operational procedures. The user training familiarizes the users with the new application. The operational procedures documentation enables Operations to take over responsibility for running the application on an ongoing basis.
In production, the changes and enhancements are handled by a group (possibly the same programming group) that performs the maintenance. At this point in the life cycle of the application, changes are tightly controlled and must be rigorously tested before being implemented into production (Figure 5).

Figure 5. Production
zappl504



As mentioned before, to meet user requirements or solve problems, an application solution might be designed to reside on any platform or a combination of platforms. As shown in Figure 6, our specific application can be located in any of the three environments: Internet, enterprise network, or central site. The operating system must provide access to any of these environments.

Figure 6. Growing infrastructure complexity
zappl505


To begin the design process, we must first assess what we need to accomplish. Based on the constraints of the project, we determine how and with what we will accomplish the goals of the project. To do so, we conduct interviews with the users (those requesting the solution to a problem) as well as the other stakeholders.
T
he results of these interviews should inform every subsequent stage of the life cycle of the application project. At certain stages of the project, we again call upon the users to verify that we have understood their requirements and that our solution meets their requirements. At these milestones of the project, we also ask the users to sign off on what we have done, so that we can proceed to the next step of the project.

Figure 7. Specification
Specification is the task of precisely describing the problem description, often in a mathematically rigorous way, in most cases actually building a more or less complete model of the problem to be solved. A wide array of specification techniques exist, and many application areas rely on dedicated specification techniques. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed. Specifications are most important for external interfaces, that must remain stable. This is often refered to as software interface specifications. Note that internal software interfaces are generally established in the design phase of development, which makes this kind of specification a design artifact. However, some systems have external software interfaces with other existing systems. The specification of these interfaces then becomes something that is very important to specify in the early phases of development, and is thus really considered a specification artifact.


Figure 8. Implementation
Reducing a design to code may be the most obvious part of the software engineering job, but it is not necessarily the largest portion. A common fallacy in software development practice is that coding should be the main focus in software development. Such a misconception is a popular reason for low software quality or software project failure. Note that effective programmers have to deal with quality factors, and provide qualities such as code readability, maintainability, and often test the code as they are writing it.


Figure 9. Documentation
An important (and often overlooked) task is documenting the internal design of software for the purpose of future maintenance and enhancement. Without documentation, software maintainers (who are in most cases the authors of the code they maintain) only have extremely low level design information, i.e. the code itself, to unserstand the software they have to change. For example, good software documentation presents the software in various levels of abstraction, permitting the reader to easily understand the functioning of the software and to assess the location and impact of the chages to be applied.


Figure 10. Maintenance
Maintaining and enhancing software to cope with newly discovered problems or new requirements can take far more effort than the initial development of the software. Not only may it be necessary to add code that does not fit the original design but just determining how software works at some point after it is completed may require significant effort. About 2/3 of all software engineering work is maintenance, but this statistic can be misleading. A small part of that is fixing bugs. Most maintenance is extending systems to do new things, or adapti it to a new environment, which in many ways can be considered new work. Similarly, about 2/3 of all civil engineering, architecture, and construction work is maintenance.

Figure 11. Requirements Analysis
Extracting the requirements of a desired software product is the first task in creating it. While customers probably believe they know what the software is to do, it may require skill and experience in software engineering to recognize incomplete, ambiguous or contradictory requirements. Requirements analysis can itself be broken down in sub-activities. This phase is often the topic of processes itself, often refered to as the requirements process, or even requirements engineering process, the latter title being debatable. Requirements analysis methodologies have been created, one of the most popular being the use case driven methodology.


Figure 12. Coding
If you're part of a group and you chose to create the project with OOP, everyone can work on a part of the software, thus saving time for troubleshooting. Compilation of works can be done either at the very end or at every functional block of the program. I suggest completing the working first before changing it's looks to make it more appealing.

Figure 13. Launch
Make sure that your client is knowledgeable about the full workings of the project by giving a brief. Although it is easier to go with a silent launch, with the software simply slipping into the market, it's better for both your client and probable customers if information about it is made available. Make a site about the software and provide FAQs and customer support.

Figure 14. Research
Choose the platform you wish to implement your software. Several factors like OS compatibility, the overall budget of the software from development to launch as well as maintenance, reliability, portability etc, depends entirely on what language you will be using. Some languages are best suited for one type of job while others are not. Be flexible to adapt what language suits your project better than what you are more comfortable with. Your choice of platform should include other details like databases, web servers etc. Make certain that they fit your project's purpose and can withstand the load/s it will receive.

Figure 15. Testing and Optimization
More often referred to as "debugging," testing uses the Use Case entries of the UML. In simple terms, you simply use and re-use your program with on a give "case" and figure out if things are working properly. If you see things are working perfectly, check for any part of the software where slow-downs and inconsistencies occur. You can release demos and beta versions to the public and have the users report any bugs and/or complaints they have with the project. It also serves as advertising of sorts.

Figure 16. Modeling
Focus first on the backbone processes of your system. Try to emulate what functions or methods are necessary to complete the basic flow of your software project and generate an output. At this point, you should decide whether to implement everything with classes or not. Class implementation can be time consuming, especially for large projects, and is probably the most difficult aspect of programming at times which is why many novices shy away from OOP. Using classes all keeps your code neat and easy to read, saving you hours of frustrations in maintenance and troubleshooting. Additional features can be added after you've completed the essential sections of your project.


Sources:
1. http://newton.cs.concordia.ca/~paquet/wiki/index.php/Software_Development_Phases

2. http://sylv3rblade.hubpages.com/hub/Stages_of_Software_Development

Monday, 3 October 2011

Content- Based Information Retrieval (CBIR) and Multimedia Information Retrieval (MMIR)

First to know, Information retrieval (IR) is the area of study concerned with searching for documents,information within documents, and for metadata about documents, as well as that of searching relational databases and the World Wide Web. There is overlap in the usage of the terms data retrieval, document retrieval, information retrieval, and text retrieval, but each also has its own body of literature, theory, praxis, and technologies. IR is interdisciplinary, based on computer science, mathematics, library science, information science, information architecture, cognitive psychology, linguistics, and statistics.


*Definition

Multimedia information retrieval is a cross-cutting field. Extending beyond the borders of culture, art, and science, the search for digital information is one of the major challenges of our time. Digital libraries, bio-computing & medical science, the Internet and social networking sites, streaming video, multimedia databases, cultural heritage collections and P2P networks have created a worldwide need for new paradigms and techniques on how to browse, search and summarize multimedia collections and more generally how to afford efficient multimedia content consumption.

ie, Video Search Engines, Image Databases, Spoken Document Retrieval, Music Retrieval, Query Languages and Query Mediation.

Content-based Retrieval is automatically retrieves images, video, and audio based on the visual and audio content.
(A general term for methods for using information stored in image archives.)
There are three common type of content-based IR which are: image, video, and audio

What is Multimedia Information Retrieval?
Multimedia Information Retrieval is based on the addition of some great elements to the information retrieval there are the audio, animation , graphics and the video. In that case all the information given will be based on 4 elements that have just given . Everything is based on the multimedia so this is something new to information retrieval. A system for management (storage, retrieval and manipulation) of multiple media data, such as some combination of tabular administrative data, text documents, image, spatial, historical, audio, or video data.
At its very core multimedia information retrieval means the process of searching for and finding multimedia documents, the corresponding research field is concerned with building the best possible multimedia search engines in order to used the modern world . The intriguing bit here is that the query itself can be a multimedia excerpter: For example, when you walk around in an unknown place and stumble across an interesting landmark, would it not be great if you could just take a picture with your mobile phone and send it to a service that finds a similar picture in a database and tells you more about the building and about its significance, for that matter? This book goes further by examining the full matrix of a variety of query modes versus document types. How do you retrieve a music piece by humming? What if you want to find news video clips on forest fires using a still image? The text discusses underlying techniques and common approaches to facilitate multimedia search engines from metadata driven retrieval, via piggy-back text retrieval where automated processes create text surrogates for multimedia, automated image annotation and content-based retrieval. The latter is studied in great depth looking at features and distances, and how to effectively combine them for efficient retrieval, to a point where the readers have the ingredients and recipe in their hands for building their own multimedia search engines.
Supporting users in their resource discovery mission when hunting for multimedia material is not a technological indexing problem alone. We look at interactive ways of engaging with repositories through browsing and relevance feedback, roping in geographical context, and providing visual summaries for videos. The book concludes with an overview of state-of-the-art research projects in the area of multimedia information retrieval, which gives an indication of the research and development trends and, thereby, a glimpse of the future world. In this talk, given an overview of recent and ongoing work at ORL in the area of multimedia information retrieval (MMIR). Our lab has a strong background in high-bandwidth multimedia systems, and it was in fact the real problem of dealing with our increasingly large archives of video mail which motivated our first MMIR project, Video Mail Retrieval (VMR), we conducted jointly with the speech recognition group of the Cambridge University Engineering Department. The first version of VMR enabled the retrieval of video documents based on scanning the audio track for keywords, and the final version used pre-computed phoneme lattices for open-vocabulary and speaker-independent retrieval. The system was also applied to the retrieval of items of interest from an archive of several months worth of television broadcast news. The VMR project finished this year, but we are now ramping up a follow-on MMIR project which will consider indexing on image content (using both still-image and, in the case of video, inter-frame analyses) as well as further improvements to audio indexing (using, for example, audio classification techniques in an initial phase). The goal is a system which supports multi-modal queries on large heterogeneous multimedia collections, including those drawn dynamically from the web.
MAKE A BETTER LIFE FOR FUTURE STUDENTS!!!


Photobucket

Photobucket

Photobucket


*Application of Multimedia Information Retrieval
The application of multimedia information retrieval is for financial, marketing, scientific databases, medical databases, criminal investigation, and also personal achieves. Retrieval is based on the understanding of the content of documents and of their components. The goals for retrieval is actually for the accuracy and speed. It means that it has to be able to retrieve the documents with as few incorrects as possible and also be fast in real time in doing it. Humans retrieve information every time they ask a question and receive a response that addresses their question and adds to their knowledge about the queried topic. Information requests vary widely in their complexity and in the quantity of potentially relevant material that can be retrieved, as well as in the effort required to retrieve satisfactory information.The easiest information retrieval strategy is to ask someone with knowledge about the topic of the question, for example to request information from a nearby person about where one is. However, there are many information needs for which a knowledgeable person may not be available. For example, a student assignment may be to gather information about the most numerous of the 18 species of whales in the North Atlantic. In this case, the information seeker may need to first search for information about the population sizes of each of the North Atlantic whales, for so to gather information about the largest of these species. The student will most likely have to depend on information that has been previously recorded and stored in some accessible location. Text-based applications were among the first computer applications, initiated by the need in the American intelligence agencies to analyze large quantities of text documents. Other early applications included establishment of information retrieval systems (IRS) to support management, analysis and retrieval of information from digitized medical journals and legal documents, public access catalogs, on-line catalogs (OPACs), and digital libraries, insurance documents, and digitized literature, for example the works of major authors. Apart from that, image-based communication pre-dated written language communication. However, due to computer capacity limitations, development of image-based computer applications followed text-based applications. Perhaps the first image-based computer applications were developed for weather forecasting, though other early applications included satellite image analysis for monitoring weather, climate, agricultural quality, human activity, analysis of medical images, navigation - for submarines, ships and aircraft, security - photo identity and finger prints. As broadband Internet capacity has become more generally available, art, cultural, and natural science museums have found new audiences for their, predominantly visual, exhibits. Rich examples can be found in the virtual exhibits of the digital collection in the Russian Hermitage museum and the Maastrich museum in the Netherlands. Image data consists of a string of picture elements - pixels, each of which describes the color and intensity of 'its' location in the image. Since there is no common structure between images and no alphabet or word set that can be used as a basis for selection of images, it is common to add (manually) a set of descriptive attributes or metadata to each image. Streamed media, or dynamic media is composed of a series of media objects that have a time relationship that is necessary for proper communication. Audio, film (a series of images) and video and a combination of audio and film data belong to this class. Misrepresentation of presentation time or errors in time flow and sequencing can distort the information that the data stream is meant to convey. In addition to uneven presentation such as slow presentation leads to lowered pitch or slow motion film, while increased presentation speed leads to heightened pitch and fast action film. Besides, the above applications use multiple media, if we count the metadata that has been added to facilitate retrieval. However, what is commonly thought of as multiple media or multimedia applications are those in which several media types are central to communicating the meaning of data. Typical multimedia applications include video, which combines synchronized audio, visual/image, and often text data streams, games, alone and as part of a larger presentation, as used for the Mesoamericanball game, museum exhibits, for example the audio, film and animations of the voices of corlado, illustrated text as found in advertisements, Web-books and Newspapers.

What is Content-Based Information Retrieval?
A content-based retrieval system processes the information contained in image data and creates an abstraction of its content in terms of visual attributes. Any query operations deal solely with this abstraction rather than with the image itself. Thus, every image inserted into the database is analyzed, and a compact representation of its content is stored in a feature vector, or signature.

The signature for the image in Figure 1.1 is extracted by segmenting the image into regions based on color as shown in Figure 1.2. Each region has associated with it color, texture, and shape information. The signature contains this region-based information along with global color, texture, and shape information to represent these attributes for the entire image. In Figure 1.2, there are a total of 55 shapes (patches of connected pixels with similar color) in this segmented image. In addition, there is also a "background" shape, which consists of small disjoint dark patches. These tiny patches (usually having distinct colors) do not belong to any of their adjacent shapes and are all classified into a single "background" shape. This background shape is also taken into consideration for image retrieval.

Photobucket
Figure 1.1 Unsegmented Image

Photobucket
Figure 1.2 Segmented Image

The below video shows a survey on Content-Based Video Analysis:



*Applications of Content-Based Information Retrieval
>Financial, marketing: stock prices, sales etc. (find companies whose stock prices move similarly)
>Scientific databases: sensor data (whether, geological, environmental data)
>Office automation, electronic encyclopedias,electronic books
>Medical databases: X-rays, CT, MRI scans
>Criminal investigation: suspects, fingerprints
>Personal archives: text and color images


*Examples of Content-Based Information Retrieval
Until today, there are many CBIR systems have been built.

The growing list: ADL, AltaVista Photofinder, Amore, ASSERT, BDLP, Blobworld, CANDID, C-bird,
Chabot, CBVQ, DrawSearch, Excalibur Visual RetrievalWare, FIDS, FIR, FOCUS, ImageFinder,
ImageMiner, ImageRETRO, ImageRover, ImageScape, Jacob, LCPD, MARS, MetaSEEk, MIR, NETRA,
Photobook, Picasso, PicHunter, PicToSeek, QBIC, Quicklook2, SIMBA, SQUID, Surfimage, SYNAPSE,
TODAI, VIR Image Engine, VisualSEEk, VP Image Retrieval System, WebSEEk, WebSeer, WISE…


Source:
1. http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14302/ch_cbr.htm
2. http://www.youtube.com/watch?v=woj5QobXa40
3. http://nordbotten.com/ADM/ADM_book/MIRS-glossary.htm
4. http://www.intelligence.tuc.gr/~petrakis/courses/multimedia/retrieval.pdf