Madhan Karky

Madhan Karky

Madhan Karky Vairamuthu is an Indian lyricist, screenwriter, research associate, software engineer, and entrepreneur. A holder of a doctorate in computer science from the University of Queensland, Karky began his professional career as an assistant professor at the College of Engineering, Guindy, and soon after ventured into the Tamil cinema, working as a lyricist and dialogue writer. He resigned from his teaching profession in early 2013 and began working full-time in the film industry, while also launching the Karky Research Foundation (KaReFo), an educational research organization which primarily focuses on language computing and language literacy. He also founded the Mellinam Education, which develops educational games and story books designed to propagate learning among children, and DooPaaDoo, an online music platform which promotes independent music and serves a distributor for film soundtracks. == Early life == Karky is the eldest son of seven-time National Award winning lyricist Vairamuthu and Ponmani, a Tamil scholar and veteran professor at the Meenakshi College for Women. He has a younger brother, Kabilan, who is a novelist and also works as a lyricist and dialogue writer for Tamil films. === Education === He grew up in Chennai and was educated at the Loyala Matriculation School in Kodambakkam. By his own admission, he was not a good student, excelling primarily only in Tamil and English. During his time in high school, he gained an interest in computer science He got admission in College of Engineering, Guindy which is affiliated with the Anna University. He began his undergraduate education in the field of Computer engineering in the year 1997. While in CEG, as part of his final year project, Karky developed a program called the Tamil Voice Engine, under the supervision of Professor T.V. Geetha. The goal of the project was construction of a text to speech engine for the Tamil language. The research paper on the project was officially selected at the Tamil Internet Conference in Kuala Lumpur, Malaysia. Other projects during his tenure include the Name Generator, which was part of his course on Creativity, Innovation and New Product Development (the objective being to generate random names that are pronounceable with respect to Indian phonetics) and Compiler Design, for which a high level programming language was conceived, with the goal of proper specification and interpretation of lexical rules and grammar rules. For Chennai Kavigal, he created a Spell Checker for a Tamil Word Processor. The project involved a lot of Natural Language Processing elements, based on a root dictionary built as a part of the morphological analyzer for the Tamil Language. The endgame being determining the correctness of words. Following the completion of his bachelor's degree in 2001, Karky began his master's degree at the University of Queensland in the year 2003. In that particular stint, he developed a project based on the theory of computation and strong mathematics (under the supervision of Dr. George Havas). It aimed at analyzing an existing algorithm of reducing any kind of matrix format to a standard format called 'Hermite Normal form', which is a unit upper triangular matrix. Some of his other projects during this course include the Disciplined Software Process Project (whose objective was to introduce and practice the software development process for individuals called Personal Software Process), the On-Line Art Store Website (which involved the creation of a website that trades paintings through the Internet) and the Text Based Voice Chat (for which a Proxy Voice Chat system was designed and developed in Visual Basic that incorporated the predominant computing aspects). In addition to his academics, Karky also served as Academic tutor at the university. He conducted class room tutorials and laboratory sessions on subjects such as Relational Database Systems and Programming Languages. As part of his PhD program on information technology, he developed a Java-based simulation platform called SENSE (Simulated Environment of Networked Sensor Experiments), to test different heuristics. This project was done under the guidance of Dr. Maria Orlowska and Dr. Shazia Sadiq. His thesis is titled "Design considerations for query dissemination in wireless sensor networks". === Teaching career === Upon his return to India following the completion of his post-graduation, Karky returned to CEG Anna University in December 2007. He was a Senior Research Fellow for the next six months, managing research projects as well as multiple student projects at an undergrad and postgrad levels. In addition to those, he handled courses and labs for students who pursued their master's degrees. He also served as a Project Scientist between July 2008 and July 2009, managing projects of research groups as well as ME & MBA students. Starting from August 2009, he began his role as an assistant professor. He lectured Computer Science students who were pursuing their Bachelors and master's degrees as well as coordinated the Tamil Computing Lab at the university. He also served as counsellor for NRI and foreign national students, as well as the Staff treasurer of Computer Science Engineering Association. Some of the subjects he taught include Advanced Databases, Ethics for Engineers, Principles of Programming Languages, Environmental Science and Tamil Computing (for PhD students). === Family and personal life === Karky's been married to Nandini Eswaramoorthy, a fellow alum at Anna University, since June 22, 2008. Nandini Karky now works in the Tamil film industry as a subtitler for feature films and documentaries. They have a son named Haiku Karky, who was born in 2009. == Film career == === Debut === During his teaching stint at Anna University, Karky also began his career in the Tamil film industry with the science-fiction film Enthiran (2010), the magnum opus of director Shankar. Karky had approached the director in 2008 with some of the songs he had written, and was brought him on board to help with the dialogues of the film, especially assisting with technical terminology. He stated that there were three sets of dialogues written for almost every scene of the film; one by Shankar, one by Karky, and the other by the late Sujatha, a frequent collaborator with the director who had died during the early stages of the film's pre-production. Shankar would go through all the three drafts and implement those that fit best. The climax was the only portion that didn't have multiple hands, as it was written solely by Karky. In addition to the dialogue, Karky wrote 2 songs for the film, as well: "Irumbile oru Irudhaiyam" (the first song of his career, which was partially crooned by A.R. Rahman) and "Boom Boom Robo Da". However, Kanden Kadhalai (2009), in which he had written the song "Ododi Poren" (composed by Vidyasagar), became his first release. For his work on Enthiran, Karky was named Best Find of the Year at the 2011 Vijay Awards. === Lyric writer === Following his work on Enthiran, Karky became one of the most sought after lyricists in the Tamil film industry, having multiple collaborations with A.R. Rahman, Harris Jayaraj, G. V. Prakash Kumar, D. Imman, M.M. Keeravani, Yuvan Shankar Raja, S. Thaman, Sanjay Leela Bhansali, Anirudh Ravichander and Sam CS. In addition to his native Tamil, he is known for penning songs in multiple languages; some of which include "Asku Laska" from Nanban (which features 16 different languages), "The Rise of Damo" from 7 Aum Arivu (written in Mandarin) and "Continua" from Nootrenbadhu (in Portuguese). His work is also characterized by infusing uncommon Tamil words that aren't normally used in everyday lexicon, as part of lyrics (like "Kuviyamillaa Kaatchi Paezhai" from Ko and "Panikoozh" from I). He also wrote the first palindrome song in Tamil cinema for the film Vinodhan. As of the end of 2025, he has over one thousand songs to his credit. Some of Karky's most popular songs include "Irumbile oru Irudhaiyam" (Enthiran), "Enamo Edho" (Ko), "Nee Koorinal" (Nootrenbadhu), "Asku Laska" (Nanban), "Google Google" (Thuppakki), "Elay Keechaan" (Kadal), "Osakka" (Vanakkam Chennai), "Selfie Pulla" (Kaththi), "Pookkalae Sattru Oyivedungal" (I), "Mei Nigara" (24), "Azhagiye" (Kaatru Veliyidai), "Endhira Logathu Sundariye" (2.0) and "Kurumba" (Tik Tik Tik). === Dialogue writer === On the heels of the success with Enthiran, Karky once again collaborated as a dialogue writer with director Shankar for Nanban. An adaptation of the Hindi blockbuster 3 Idiots, he infused a twang to the dialogue that aimed to showcase college life in a different manner. He also collaborated as a technical advisor with Shankar with 2.0 (the sequel to Enthiran). Karky's also known for his successful collaboration with Telugu director S.S. Rajamouli, on his two-part magnum opus Baahubali; the second part being the most profitable South Indian film of all time, and RRR. His o

Image stitching

Image stitching or photo stitching is the process of combining multiple photographic images with overlapping fields of view to produce a segmented panorama or high-resolution image. Commonly performed through the use of computer software, most approaches to image stitching require nearly exact overlaps between images and identical exposures to produce seamless results, although some stitching algorithms actually benefit from differently exposed images by doing high-dynamic-range imaging in regions of overlap. Some digital cameras can stitch their photos internally. == Applications == Image stitching is widely used in modern applications, such as the following: Document mosaicing Image stabilization feature in camcorders that use frame-rate image alignment High-resolution image mosaics in digital maps and satellite imagery Medical imaging Multiple-image super-resolution imaging Video stitching Object insertion == Process == The image stitching process can be divided into three main components: image registration, calibration, and blending. === Image stitching algorithms === In order to estimate image alignment, algorithms are needed to determine the appropriate mathematical model relating pixel coordinates in one image to pixel coordinates in another. Algorithms that combine direct pixel-to-pixel comparisons with gradient descent (and other optimization techniques) can be used to estimate these parameters. Distinctive features can be found in each image and then efficiently matched to rapidly establish correspondences between pairs of images. When multiple images exist in a panorama, techniques have been developed to compute a globally consistent set of alignments and to efficiently discover which images overlap one another. A final compositing surface onto which to warp or projectively transform and place all of the aligned images is needed, as are algorithms to seamlessly blend the overlapping images, even in the presence of parallax, lens distortion, scene motion, and exposure differences. === Image stitching issues === Since the illumination in two views cannot be guaranteed to be identical, stitching two images could create a visible seam. Other reasons for seams could be the background changing between two images for the same continuous foreground. Other major issues to deal with are the presence of parallax, lens distortion, scene motion, and exposure differences. In a non-ideal real-life case, the intensity varies across the whole scene, and so does the contrast and intensity across frames. Additionally, the aspect ratio of a panorama image needs to be taken into account to create a visually pleasing composite. For panoramic stitching, the ideal set of images will have a reasonable amount of overlap (at least 15–30%) to overcome lens distortion and have enough detectable features. The set of images will have consistent exposure between frames to minimize the probability of seams occurring. === Keypoint detection === Feature detection is necessary to automatically find correspondences between images. Robust correspondences are required in order to estimate the necessary transformation to align an image with the image it is being composited on. Corners, blobs, Harris corners, and differences of Gaussians of Harris corners are good features since they are repeatable and distinct. One of the first operators for interest point detection was developed by Hans Moravec in 1977 for his research involving the automatic navigation of a robot through a clustered environment. Moravec also defined the concept of "points of interest" in an image and concluded these interest points could be used to find matching regions in different images. The Moravec operator is considered to be a corner detector because it defines interest points as points where there are large intensity variations in all directions. This often is the case at corners. However, Moravec was not specifically interested in finding corners, just distinct regions in an image that could be used to register consecutive image frames. Harris and Stephens improved upon Moravec's corner detector by considering the differential of the corner score with respect to direction directly. They needed it as a processing step to build interpretations of a robot's environment based on image sequences. Like Moravec, they needed a method to match corresponding points in consecutive image frames, but were interested in tracking both corners and edges between frames. SIFT and SURF are recent key-point or interest point detector algorithms but a point to note is that SURF is patented and its commercial usage restricted. Once a feature has been detected, a descriptor method like SIFT descriptor can be applied to later match them. === Registration === Image registration involves matching features in a set of images or using direct alignment methods to search for image alignments that minimize the sum of absolute differences between overlapping pixels. When using direct alignment methods one might first calibrate one's images to get better results. Additionally, users may input a rough model of the panorama to help the feature matching stage, so that e.g. only neighboring images are searched for matching features. Since there are smaller group of features for matching, the result of the search is more accurate and execution of the comparison is faster. To estimate a robust model from the data, a common method used is known as RANSAC. The name RANSAC is an abbreviation for "RANdom SAmple Consensus". It is an iterative method for robust parameter estimation to fit mathematical models from sets of observed data points which may contain outliers. The algorithm is non-deterministic in the sense that it produces a reasonable result only with a certain probability, with this probability increasing as more iterations are performed. It being a probabilistic method means that different results will be obtained for every time the algorithm is run. The RANSAC algorithm has found many applications in computer vision, including the simultaneous solving of the correspondence problem and the estimation of the fundamental matrix related to a pair of stereo cameras. The basic assumption of the method is that the data consists of "inliers", i.e., data whose distribution can be explained by some mathematical model, and "outliers" which are data that do not fit the model. Outliers are considered points which come from noise, erroneous measurements, or simply incorrect data. For the problem of homography estimation, RANSAC works by trying to fit several models using some of the point pairs and then checking if the models were able to relate most of the points. The best model – the homography, which produces the highest number of correct matches – is then chosen as the answer for the problem; thus, if the ratio of number of outliers to data points is very low, the RANSAC outputs a decent model fitting the data. === Calibration === Image calibration aims to minimize differences between an ideal lens models and the camera-lens combination that was used, optical defects such as distortions, exposure differences between images, vignetting, camera response and chromatic aberrations. If feature detection methods were used to register images and absolute positions of the features were recorded and saved, stitching software may use the data for geometric optimization of the images in addition to placing the images on the panosphere. Panotools and its various derivative programs use this method. ==== Alignment ==== Alignment may be necessary to transform an image to match the view point of the image it is being composited with. Alignment, in simple terms, is a change in the coordinates system so that it adopts a new coordinate system which outputs image matching the required viewpoint. The types of transformations an image may go through are pure translation, pure rotation, a similarity transform which includes translation, rotation and scaling of the image which needs to be transformed, Affine or projective transform. Projective transformation is the farthest an image can transform (in the set of two dimensional planar transformations), where only visible features that are preserved in the transformed image are straight lines whereas parallelism is maintained in an affine transform. Projective transformation can be mathematically described as x ′ = H ⋅ x , {\displaystyle x'=H\cdot x,} where x {\displaystyle x} is points in the old coordinate system, x ′ {\displaystyle x'} is the corresponding points in the transformed image and H {\displaystyle H} is the homography matrix. Expressing the points x {\displaystyle x} and x ′ {\displaystyle x'} using the camera intrinsics ( K {\displaystyle K} and K ′ {\displaystyle K'} ) and its rotation and translation [ R t ] {\displaystyle [R\,t]} to the real-world coordinates X {\displaystyle X} and < m a t h > x {\displaystyle x} and x ′ {\displaystyle x'} ', we get Using the abo

Artificial intelligence systems integration

The core idea of artificial intelligence systems integration is making individual software components, such as speech synthesizers, interoperable with other components, such as common sense knowledgebases, in order to create larger, broader and more capable A.I. systems. The main methods that have been proposed for integration are message routing, or communication protocols that the software components use to communicate with each other, often through a middleware blackboard system. Most artificial intelligence systems involve some sort of integrated technologies, for example, the integration of speech synthesis technologies with that of speech recognition. However, in recent years, there has been an increasing discussion on the importance of systems integration as a field in its own right. Proponents of this approach are researchers such as Marvin Minsky, Aaron Sloman, Deb Roy, Kristinn R. Thórisson and Michael A. Arbib. A reason for the recent attention A.I. integration is attracting is that there have already been created a number of (relatively) simple A.I. systems for specific problem domains (such as computer vision, speech synthesis, etc.), and that integrating what's already available is a more logical approach to broader A.I. than building monolithic systems from scratch. == Integration focus == The focus on systems' integration, especially with regard to modular approaches, derive from the fact that most intelligences of significant scales are composed of a multitude of processes and/or utilize multi-modal input and output. For example, a humanoid-type of intelligence would preferably have to be able to talk using speech synthesis, hear using speech recognition, understand using a logical (or some other undefined) mechanism, and so forth. In order to produce artificially intelligent software of broader intelligence, integration of these modalities is necessary. == Challenges and solutions == Collaboration is an integral part of software development as evidenced by the size of software companies and the size of their software departments. Among the tools to ease software collaboration are various procedures and standards that developers can follow to ensure quality, reliability and that their software is compatible with software created by others (such as W3C standards for webpage development). However, collaboration in fields of A.I. has been lacking, for the most part not seen outside the respected schools, departments or research institutes (and sometimes not within them either). This presents practitioners of A.I. systems integration with a substantial problem and often causes A.I. researchers to have to 're-invent the wheel' each time they want a specific functionality to work with their software. Even more damaging is the "not invented here" syndrome, which manifests itself in a strong reluctance of A.I. researchers to build on the work of others. The outcome of this in A.I. is a large set of "solution islands": A.I. research has produced numerous isolated software components and mechanisms that deal with various parts of intelligence separately. To take some examples: Speech synthesis FreeTTS from CMU Speech recognition Sphinx from CMU Logical reasoning OpenCyc from Cycorp Open Mind Common Sense Net from MIT With the increased popularity of the free software movement, a lot of the software being created, including A.I. systems, is available for public exploit. The next natural step is to merge these individual software components into coherent, intelligent systems of a broader nature. As a multitude of components (that often serve the same purpose) have already been created by the community, the most accessible way of integration is giving each of these components an easy way to communicate with each other. By doing so, each component by itself becomes a module, which can then be tried in various settings and configurations of larger architectures. Some challenging and limitations of using A.I. software is the uncontrolled fatal errors. For example, serious and fatal errors have been discovered in very precise fields such as human oncology, as in an article published in the journal Oral Oncology Reports entitled "When AI goes wrong: Fatal errors in oncological research reviewing assistance". The article pointed out a grave error in artificial intelligence based on GBT in the field of biophysics. Many online communities for A.I. developers exist where tutorials, examples, and forums aim at helping both beginners and experts build intelligent systems. However, few communities have succeeded in making a certain standard, or a code of conduct popular to allow the large collection of miscellaneous systems to be integrated with ease. == Methodologies == === Constructionist design methodology === The constructionist design methodology (CDM, or 'Constructionist A.I.') is a formal methodology proposed in 2004, for use in the development of cognitive robotics, communicative humanoids and broad AI systems. The creation of such systems requires the integration of a large number of functionalities that must be carefully coordinated to achieve coherent system behavior. CDM is based on iterative design steps that lead to the creation of a network of named interacting modules, communicating via explicitly typed streams and discrete messages. The OpenAIR message protocol (see below) was inspired by the CDM and has frequently been used to aid in the development of intelligent systems using CDM. == Examples == ASIMO, Honda's humanoid robot, and QRIO, Sony's version of a humanoid robot. Cog, M.I.T. humanoid robot project under the direction of Rodney Brooks. AIBO, Sony's robot dog, integrates vision, hearing and motorskills. TOPIO, TOSY's humanoid robot can play ping-pong with human

Intelligent Robotics Group

The Intelligent Robotics Group (IRG) is a research organization within the Intelligent Systems Division at the NASA Ames Research Center in California's Silicon Valley. IRG conducts applied research in the area of robotics and autonomy and is one of the principal organizations at NASA responsible for robotics expertise, along with groups at the Jet Propulsion Laboratory and Johnson Space Center. The group's portfolio includes robotics in support of human exploration, perception and navigation, user interfaces, software architectures, and simulation. IRG developed the Astrobee free-flying robots on the International Space Station and was a primary contributor to the VIPER lunar rover in the areas of flight software, navigation, simulation, and mission operations. IRG has also conducted many robotic field test campaigns in support of spaceflight mission concept developments. These experiences led to the commercialization of the GigaPan system in collaboration with Carnegie Mellon University.

Kindwise

FlowerChecker, also known as Kindwise, is a company that uses machine learning to identify natural objects from images. This includes plants and their diseases, but also insects and mushrooms. It is based in Brno, Czech Republic. It was founded in 2014 by Ondřej Veselý, Jiří Řihák, and Ondřej Vild, at the time Ph.D. students. == Features & Tools == FlowerChecker offers multiple products. Plant.id is a machine learning-based plant identification API launched in 2018, with the plant disease identification API, plant.health, released in April 2022. The plant.id API is suitable for integration into other software, such as mobile apps or urban trees from remote-sensing imagery. Other products include insect.id, mushroom.id and crop.health are machine learning-based identification APIs for the identification of insects, fungi and economically important plants, respectively, and include also online public demos. The FlowerChecker app was discontinued in October 2024 after 10 years of successful operation. == Recognition == In 2019, FlowerChecker won the Idea of the Year award in the AI Awards organized by the Confederation of Industry of the Czech Republic. In 2020, an academic study comparing ten free automated image recognition apps showed that plant.id's performance excelled in most of the parameters studied. In an independent study comparing different image-based species recognition models and their suitability for recognizing invasive alien species, the plant.id achieved the highest accuracy compared to other tools. In a subsequent study, plant.id was utilized to evaluate urban forest biodiversity using remote-sensing imagery, achieving the highest accuracy in tree species identification among compared methods. The technology has also been referenced as an example of practical integration of AI-based plant identification into cross-platform precision agriculture systems. == Research activities == Flowerchecker cooperates with the Nature Conservation Agency of the Czech Republic on a biodiversity mapping project. FlowerChecker plans to adapt its services to participate in the control of invasive species. In 2022, the company entered a consortium to develop a weeder capable of in-row weed detection and removal. In 2025, it received funding for the development of a technology for the removal of invasive species.

Graphics suite

A graphics suite is a software suite for graphics work that are distributed together. The programs are usually able to interact with each other on a higher level than the operating system would normally allow. There is no hard, fast rule regarding the programs to be included in a graphics application suite, but most will include at least a bitmap graphics editor and a vector graphics editor. In addition to these, the suite may contain VRML editors, animation editors, and morphing tools.

Linguistic value

In artificial intelligence, fuzzy logic operations research, and related fields, a linguistic value is a natural language term which is derived using quantitative or qualitative reasoning such as with probability and statistics or fuzzy sets and systems. Variables that take linguistic values are called linguistic variables. == Examples of linguistic variables and values == For example, "age" may be a linguistic variable if its values are not numerical, e.g. very young, quite young, not young, old, not very old etc. These values could be derived from the numeric values for age. As another example, if a shuttle heat shield is deemed of having a linguistic value of a "very low" percentage of damage in re-entry, based upon knowledge from experts in the field, that probability would be given a value of say, 5%. From there on out, if it were to be used in an equation, the variable of percentage of damage will be at 5% if it deemed very low percentage.