AI Face Grader

AI Face Grader — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Audio inpainting

    Audio inpainting

    Audio inpainting (also known as audio interpolation) is an audio restoration task which deals with the reconstruction of missing or corrupted portions of a digital audio signal. Inpainting techniques are employed when parts of the audio have been lost due to various factors such as transmission errors, data corruption or errors during recording. The goal of audio inpainting is to fill in the gaps (i.e., the missing portions) in the audio signal seamlessly, making the reconstructed portions indistinguishable from the original content and avoiding the introduction of audible distortions or alterations. Many techniques have been proposed to solve the audio inpainting problem and this is usually achieved by analyzing the temporal and spectral information surrounding each missing portion of the considered audio signal. Classic methods employ statistical models or digital signal processing algorithms to predict and synthesize the missing or damaged sections. Recent solutions, instead, take advantage of deep learning models, thanks to the growing trend of exploiting data-driven methods in the context of audio restoration. Depending on the extent of the lost information, the inpainting task can be divided in three categories. Short inpainting refers to the reconstruction of few milliseconds (approximately less than 10) of missing signal, that occurs in the case of short distortions such as clicks or clipping. In this case, the goal of the reconstruction is to recover the lost information exactly. In long inpainting instead, with gaps in the order of hundreds of milliseconds or even seconds, this goal becomes unrealistic, since restoration techniques cannot rely on local information. Therefore, besides providing a coherent reconstruction, the algorithms need to generate new information that has to be semantically compatible with the surrounding context (i.e., the audio signal surrounding the gaps). The case of medium duration gaps lays between short and long inpainting. It refers to the reconstruction of tens of millisecond of missing data, a scale where the non-stationary characteristic of audio already becomes important. == Definition == Consider a digital audio signal x {\displaystyle \mathbf {x} } . A corrupted version of x {\displaystyle \mathbf {x} } , which is the audio signal presenting missing gaps to be reconstructed, can be defined as x ~ = m ∘ x {\displaystyle \mathbf {\tilde {x}} =\mathbf {m} \circ \mathbf {x} } , where m {\displaystyle \mathbf {m} } is a binary mask encoding the reliable or missing samples of x {\displaystyle \mathbf {x} } , and ∘ {\displaystyle \circ } represents the element-wise product. Audio inpainting aims at finding x ^ {\displaystyle \mathbf {\hat {x}} } (i.e., the reconstruction), which is an estimation of x {\displaystyle \mathbf {x} } . This is an ill-posed inverse problem, which is characterized by a non-unique set of solutions. For this reason, similarly to the formulation used for the inpainting problem in other domains, the reconstructed audio signal can be found through an optimization problem that is formally expressed as x ^ ∗ = argmin X ^ L ( m ∘ x ^ , x ~ ) + R ( x ^ ) {\displaystyle \mathbf {\hat {x}} ^{}={\underset {\hat {\mathbf {X} }}{\text{argmin}}}~L(\mathbf {m} \circ \mathbf {\hat {x}} ,\mathbf {\tilde {x}} )+R(\mathbf {\hat {x}} )} . In particular, x ^ ∗ {\displaystyle \mathbf {\hat {x}} ^{}} is the optimal reconstructed audio signal and L {\displaystyle L} is a distance measure term that computes the reconstruction accuracy between the corrupted audio signal and the estimated one. For example, this term can be expressed with a mean squared error or similar metrics. Since L {\displaystyle L} is computed only on the reliable frames, there are many solutions that can minimize L ( m ∘ x ^ , x ~ ) {\displaystyle L(\mathbf {m} \circ \mathbf {\hat {x}} ,\mathbf {\tilde {x}} )} . It is thus necessary to add a constraint to the minimization, in order to restrict the results only to the valid solutions. This is expressed through the regularization term R {\displaystyle R} that is computed on the reconstructed audio signal x ^ {\displaystyle \mathbf {\hat {x}} } . This term encodes some kind of a-priori information on the audio data. For example, R {\displaystyle R} can express assumptions on the stationarity of the signal, on the sparsity of its representation or can be learned from data. == Techniques == There exist various techniques to perform audio inpainting. These can vary significantly, influenced by factors such as the specific application requirements, the length of the gaps and the available data. In the literature, these techniques are broadly divided in model-based techniques (sometimes also referred as signal processing techniques) and data-driven techniques. === Model-based techniques === Model-based techniques involve the exploitation of mathematical models or assumptions about the underlying structure of the audio signal. These models can be based on prior knowledge of the audio content or statistical properties observed in the data. By leveraging these models, missing or corrupted portions of the audio signal can be inferred or estimated. An example of a model-based techniques are autoregressive models. These methods interpolate or extrapolate the missing samples based on the neighboring values, by using mathematical functions to approximate the missing data. In particular, in autoregressive models the missing samples are completed through linear prediction. The autoregressive coefficients necessary for this prediction are learned from the surrounding audio data, specifically from the data adjacent to each gap. Some more recent techniques approach audio inpainting by representing audio signals as sparse linear combinations of a limited number of basis functions (as for example in the Short Time Fourier Transform). In this context, the aim is to find the sparse representation of the missing section of the signal that most accurately matches the surrounding, unaffected signal. The aforementioned methods exhibit optimal performance when applied to filling in relatively short gaps, lasting only a few tens of milliseconds, and thus they can be included in the context of short inpainting. However, these signal-processing techniques tend to struggle when dealing with longer gaps. The reason behind this limitation lies in the violation of the stationarity condition, as the signal often undergoes significant changes after the gap, making it substantially different from the signal preceding the gap. As a way to overcome these limitations, some approaches add strong assumptions also about the fundamental structure of the gap itself, exploiting sinusoidal modeling or similarity graphs to perform inpainting of longer missing portions of audio signals. === Data-driven techniques === Data-driven techniques rely on the analysis and exploitation of the available audio data. These techniques often employ deep learning algorithms that learn patterns and relationships directly from the provided data. They involve training models on large datasets of audio examples, allowing them to capture the statistical regularities present in the audio signals. Once trained, these models can be used to generate missing portions of the audio signal based on the learned representations, without being restricted by stationarity assumptions. Data-driven techniques also offer the advantage of adaptability and flexibility, as they can learn from diverse audio datasets and potentially handle complex inpainting scenarios. As of today, such techniques constitute the state-of-the-art of audio inpainting, being able to reconstruct gaps of hundreds of milliseconds or even seconds. These performances are made possible by the use of generative models that have the capability to generate novel content to fill in the missing portions. For example, generative adversarial networks, which are the state-of-the-art of generative models in many areas, rely on two competing neural networks trained simultaneously in a two-player minmax game: the generator produces new data from samples of a random variable, the discriminator attempts to distinguish between generated and real data. During the training, the generator's objective is to fool the discriminator, while the discriminator attempts to learn to better classify real and fake data. In GAN-based inpainting methods the generator acts as a context encoder and produces a plausible completion for the gap only given the available information surrounding it. The discriminator is used to train the generator and tests the consistency of the produced inpainted audio. Recently, also diffusion models have established themselves as the state-of-the-art of generative models in many fields, often beating even GAN-based solutions. For this reason they have also been used to solve the audio inpainting problem, obtaining valid results. These models generate new data instances by inverting the

    Read more →
  • Regularization perspectives on support vector machines

    Regularization perspectives on support vector machines

    Within mathematical analysis, Regularization perspectives on support-vector machines provide a way of interpreting support-vector machines (SVMs) in the context of other regularization-based machine-learning algorithms. SVM algorithms categorize binary data, with the goal of fitting the training set data in a way that minimizes the average of the hinge-loss function and L2 norm of the learned weights. This strategy avoids overfitting via Tikhonov regularization and in the L2 norm sense and also corresponds to minimizing the bias and variance of our estimator of the weights. Estimators with lower Mean squared error predict better or generalize better when given unseen data. Specifically, Tikhonov regularization algorithms produce a decision boundary that minimizes the average training-set error and constrain the Decision boundary not to be excessively complicated or overfit the training data via a L2 norm of the weights term. The training and test-set errors can be measured without bias and in a fair way using accuracy, precision, Auc-Roc, precision-recall, and other metrics. Regularization perspectives on support-vector machines interpret SVM as a special case of Tikhonov regularization, specifically Tikhonov regularization with the hinge loss for a loss function. This provides a theoretical framework with which to analyze SVM algorithms and compare them to other algorithms with the same goals: to generalize without overfitting. SVM was first proposed in 1995 by Corinna Cortes and Vladimir Vapnik, and framed geometrically as a method for finding hyperplanes that can separate multidimensional data into two categories. This traditional geometric interpretation of SVMs provides useful intuition about how SVMs work, but is difficult to relate to other machine-learning techniques for avoiding overfitting, like regularization, early stopping, sparsity and Bayesian inference. However, once it was discovered that SVM is also a special case of Tikhonov regularization, regularization perspectives on SVM provided the theory necessary to fit SVM within a broader class of algorithms. This has enabled detailed comparisons between SVM and other forms of Tikhonov regularization, and theoretical grounding for why it is beneficial to use SVM's loss function, the hinge loss. == Theoretical background == In the statistical learning theory framework, an algorithm is a strategy for choosing a function f : X → Y {\displaystyle f\colon \mathbf {X} \to \mathbf {Y} } given a training set S = { ( x 1 , y 1 ) , … , ( x n , y n ) } {\displaystyle S=\{(x_{1},y_{1}),\ldots ,(x_{n},y_{n})\}} of inputs x i {\displaystyle x_{i}} and their labels y i {\displaystyle y_{i}} (the labels are usually ± 1 {\displaystyle \pm 1} ). Regularization strategies avoid overfitting by choosing a function that fits the data, but is not too complex. Specifically: f = argmin f ∈ H { 1 n ∑ i = 1 n V ( y i , f ( x i ) ) + λ ‖ f ‖ H 2 } , {\displaystyle f={\underset {f\in {\mathcal {H}}}{\operatorname {argmin} }}\left\{{\frac {1}{n}}\sum _{i=1}^{n}V(y_{i},f(x_{i}))+\lambda \|f\|_{\mathcal {H}}^{2}\right\},} where H {\displaystyle {\mathcal {H}}} is a hypothesis space of functions, V : Y × Y → R {\displaystyle V\colon \mathbf {Y} \times \mathbf {Y} \to \mathbb {R} } is the loss function, ‖ ⋅ ‖ H {\displaystyle \|\cdot \|_{\mathcal {H}}} is a norm on the hypothesis space of functions, and λ ∈ R {\displaystyle \lambda \in \mathbb {R} } is the regularization parameter. When H {\displaystyle {\mathcal {H}}} is a reproducing kernel Hilbert space, there exists a kernel function K : X × X → R {\displaystyle K\colon \mathbf {X} \times \mathbf {X} \to \mathbb {R} } that can be written as an n × n {\displaystyle n\times n} symmetric positive-definite matrix K {\displaystyle \mathbf {K} } . By the representer theorem, f ( x i ) = ∑ j = 1 n c j K i j , and ‖ f ‖ H 2 = ⟨ f , f ⟩ H = ∑ i = 1 n ∑ j = 1 n c i c j K ( x i , x j ) = c T K c . {\displaystyle f(x_{i})=\sum _{j=1}^{n}c_{j}\mathbf {K} _{ij},{\text{ and }}\|f\|_{\mathcal {H}}^{2}=\langle f,f\rangle _{\mathcal {H}}=\sum _{i=1}^{n}\sum _{j=1}^{n}c_{i}c_{j}K(x_{i},x_{j})=c^{T}\mathbf {K} c.} == Special properties of the hinge loss == The simplest and most intuitive loss function for categorization is the misclassification loss, or 0–1 loss, which is 0 if f ( x i ) = y i {\displaystyle f(x_{i})=y_{i}} and 1 if f ( x i ) ≠ y i {\displaystyle f(x_{i})\neq y_{i}} , i.e. the Heaviside step function on − y i f ( x i ) {\displaystyle -y_{i}f(x_{i})} . However, this loss function is not convex, which makes the regularization problem very difficult to minimize computationally. Therefore, we look for convex substitutes for the 0–1 loss. The hinge loss, V ( y i , f ( x i ) ) = ( 1 − y f ( x ) ) + {\displaystyle V{\big (}y_{i},f(x_{i}){\big )}={\big (}1-yf(x){\big )}_{+}} , where ( s ) + = max ( s , 0 ) {\displaystyle (s)_{+}=\max(s,0)} , provides such a convex relaxation. In fact, the hinge loss is the tightest convex upper bound to the 0–1 misclassification loss function, and with infinite data returns the Bayes-optimal solution: f b ( x ) = { 1 , p ( 1 ∣ x ) > p ( − 1 ∣ x ) , − 1 , p ( 1 ∣ x ) < p ( − 1 ∣ x ) . {\displaystyle f_{b}(x)={\begin{cases}1,&p(1\mid x)>p(-1\mid x),\\-1,&p(1\mid x) Read more →

  • How to Choose an AI Image Generator

    How to Choose an AI Image Generator

    Shopping for the best AI image generator? An AI image generator is software that uses machine learning to help you get more done — it keeps getting smarter as the underlying models improve. Pricing, accuracy, and the size of the model behind the tool are the three factors that most affect daily usefulness. Whether you are a beginner or a pro, the right AI image generator slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

    Read more →
  • Baum–Welch algorithm

    Baum–Welch algorithm

    In electrical engineering, statistical computing and bioinformatics, the Baum–Welch algorithm is a special case of the expectation–maximization algorithm used to find the unknown parameters of a hidden Markov model (HMM). It makes use of the forward-backward algorithm to compute the statistics for the expectation step. The Baum–Welch algorithm, the primary method for inference in hidden Markov models, is numerically unstable due to its recursive calculation of joint probabilities. As the number of variables grows, these joint probabilities become increasingly small, leading to the forward recursions rapidly approaching values below machine precision. == History == The Baum–Welch algorithm was named after its inventors Leonard E. Baum and Lloyd R. Welch. The algorithm and the Hidden Markov models were first described in a series of articles by Baum and his peers at the IDA Center for Communications Research, Princeton in the late 1960s and early 1970s. One of the first major applications of HMMs was to the field of speech processing. In the 1980s, HMMs were emerging as a useful tool in the analysis of biological systems and information, and in particular genetic information. They have since become an important tool in the probabilistic modeling of genomic sequences. == Description == A hidden Markov model describes the joint probability of a collection of "hidden" and observed discrete random variables. It relies on the assumption that the i-th hidden variable given the (i − 1)-th hidden variable is independent of previous hidden variables, and the current observation variables depend only on the current hidden state. The Baum–Welch algorithm uses the well known EM algorithm to find the maximum likelihood estimate of the parameters of a hidden Markov model given a set of observed feature vectors. Let X t {\displaystyle X_{t}} be a discrete hidden random variable with N {\displaystyle N} possible values (i.e. We assume there are N {\displaystyle N} states in total). We assume the P ( X t ∣ X t − 1 ) {\displaystyle P(X_{t}\mid X_{t-1})} is independent of time t {\displaystyle t} , which leads to the definition of the time-independent stochastic transition matrix A = { a i j } = P ( X t = j ∣ X t − 1 = i ) . {\displaystyle A=\{a_{ij}\}=P(X_{t}=j\mid X_{t-1}=i).} The initial state distribution (i.e. when t = 1 {\displaystyle t=1} ) is given by π i = P ( X 1 = i ) . {\displaystyle \pi _{i}=P(X_{1}=i).} The observation variables Y t {\displaystyle Y_{t}} can take one of K {\displaystyle K} possible values. We also assume the observation given the "hidden" state is time independent. The probability of a certain observation y i {\displaystyle y_{i}} at time t {\displaystyle t} for state X t = j {\displaystyle X_{t}=j} is given by b j ( y i ) = P ( Y t = y i ∣ X t = j ) . {\displaystyle b_{j}(y_{i})=P(Y_{t}=y_{i}\mid X_{t}=j).} Taking into account all the possible values of Y t {\displaystyle Y_{t}} and X t {\displaystyle X_{t}} , we obtain the N × K {\displaystyle N\times K} matrix B = { b j ( y i ) } {\displaystyle B=\{b_{j}(y_{i})\}} where b j {\displaystyle b_{j}} belongs to all the possible states and y i {\displaystyle y_{i}} belongs to all the observations. An observation sequence is given by Y = ( Y 1 = y 1 , Y 2 = y 2 , … , Y T = y T ) {\displaystyle Y=(Y_{1}=y_{1},Y_{2}=y_{2},\ldots ,Y_{T}=y_{T})} . Thus we can describe a hidden Markov chain by θ = ( A , B , π ) {\displaystyle \theta =(A,B,\pi )} . The Baum–Welch algorithm finds a local maximum for θ ∗ = a r g m a x θ ⁡ P ( Y ∣ θ ) {\displaystyle \theta ^{}=\operatorname {arg\,max} _{\theta }P(Y\mid \theta )} (i.e. the HMM parameters θ {\displaystyle \theta } that maximize the probability of the observation). === Algorithm === Set θ = ( A , B , π ) {\displaystyle \theta =(A,B,\pi )} with random initial conditions. They can also be set using prior information about the parameters if it is available; this can speed up the algorithm and also steer it toward the desired local maximum. ==== Forward procedure ==== Let α i ( t ) = P ( Y 1 = y 1 , … , Y t = y t , X t = i ∣ θ ) {\displaystyle \alpha _{i}(t)=P(Y_{1}=y_{1},\ldots ,Y_{t}=y_{t},X_{t}=i\mid \theta )} , the probability of seeing the observations y 1 , y 2 , … , y t {\displaystyle y_{1},y_{2},\ldots ,y_{t}} and being in state i {\displaystyle i} at time t {\displaystyle t} . This is found recursively: α i ( 1 ) = π i b i ( y 1 ) , {\displaystyle \alpha _{i}(1)=\pi _{i}b_{i}(y_{1}),} α i ( t + 1 ) = b i ( y t + 1 ) ∑ j = 1 N α j ( t ) a j i . {\displaystyle \alpha _{i}(t+1)=b_{i}(y_{t+1})\sum _{j=1}^{N}\alpha _{j}(t)a_{ji}.} Since this series converges exponentially to zero, the algorithm will numerically underflow for longer sequences. However, this can be avoided in a slightly modified algorithm by scaling α {\displaystyle \alpha } in the forward and β {\displaystyle \beta } in the backward procedure below. ==== Backward procedure ==== Let β i ( t ) = P ( Y t + 1 = y t + 1 , … , Y T = y T ∣ X t = i , θ ) {\displaystyle \beta _{i}(t)=P(Y_{t+1}=y_{t+1},\ldots ,Y_{T}=y_{T}\mid X_{t}=i,\theta )} that is the probability of the ending partial sequence y t + 1 , … , y T {\displaystyle y_{t+1},\ldots ,y_{T}} given starting state i {\displaystyle i} at time t {\displaystyle t} . We calculate β i ( t ) {\displaystyle \beta _{i}(t)} as, β i ( T ) = 1 , {\displaystyle \beta _{i}(T)=1,} β i ( t ) = ∑ j = 1 N β j ( t + 1 ) a i j b j ( y t + 1 ) . {\displaystyle \beta _{i}(t)=\sum _{j=1}^{N}\beta _{j}(t+1)a_{ij}b_{j}(y_{t+1}).} ==== Update ==== We can now calculate the temporary variables, according to Bayes' theorem: γ i ( t ) = P ( X t = i ∣ Y , θ ) = P ( X t = i , Y ∣ θ ) P ( Y ∣ θ ) = α i ( t ) β i ( t ) ∑ j = 1 N α j ( t ) β j ( t ) , {\displaystyle \gamma _{i}(t)=P(X_{t}=i\mid Y,\theta )={\frac {P(X_{t}=i,Y\mid \theta )}{P(Y\mid \theta )}}={\frac {\alpha _{i}(t)\beta _{i}(t)}{\sum _{j=1}^{N}\alpha _{j}(t)\beta _{j}(t)}},} which is the probability of being in state i {\displaystyle i} at time t {\displaystyle t} given the observed sequence Y {\displaystyle Y} and the parameters θ {\displaystyle \theta } ξ i j ( t ) = P ( X t = i , X t + 1 = j ∣ Y , θ ) = P ( X t = i , X t + 1 = j , Y ∣ θ ) P ( Y ∣ θ ) = α i ( t ) a i j β j ( t + 1 ) b j ( y t + 1 ) ∑ k = 1 N ∑ w = 1 N α k ( t ) a k w β w ( t + 1 ) b w ( y t + 1 ) , {\displaystyle \xi _{ij}(t)=P(X_{t}=i,X_{t+1}=j\mid Y,\theta )={\frac {P(X_{t}=i,X_{t+1}=j,Y\mid \theta )}{P(Y\mid \theta )}}={\frac {\alpha _{i}(t)a_{ij}\beta _{j}(t+1)b_{j}(y_{t+1})}{\sum _{k=1}^{N}\sum _{w=1}^{N}\alpha _{k}(t)a_{kw}\beta _{w}(t+1)b_{w}(y_{t+1})}},} which is the probability of being in state i {\displaystyle i} and j {\displaystyle j} at times t {\displaystyle t} and t + 1 {\displaystyle t+1} respectively given the observed sequence Y {\displaystyle Y} and parameters θ {\displaystyle \theta } . The denominators of γ i ( t ) {\displaystyle \gamma _{i}(t)} and ξ i j ( t ) {\displaystyle \xi _{ij}(t)} are the same ; they represent the probability of making the observation Y {\displaystyle Y} given the parameters θ {\displaystyle \theta } . The parameters of the hidden Markov model θ {\displaystyle \theta } can now be updated: π i ∗ = γ i ( 1 ) , {\displaystyle \pi _{i}^{}=\gamma _{i}(1),} which is the expected frequency spent in state i {\displaystyle i} at time 1 {\displaystyle 1} . a i j ∗ = ∑ t = 1 T − 1 ξ i j ( t ) ∑ t = 1 T − 1 γ i ( t ) , {\displaystyle a_{ij}^{}={\frac {\sum _{t=1}^{T-1}\xi _{ij}(t)}{\sum _{t=1}^{T-1}\gamma _{i}(t)}},} which is the expected number of transitions from state i to state j compared to the expected total number of transitions starting in state i, including from state i to itself. The number of transitions starting in state i is equivalent to the number of times state i is observed in the sequence from t = 1 to t = T − 1. b i ∗ ( v k ) = ∑ t = 1 T 1 y t = v k γ i ( t ) ∑ t = 1 T γ i ( t ) , {\displaystyle b_{i}^{}(v_{k})={\frac {\sum _{t=1}^{T}1_{y_{t}=v_{k}}\gamma _{i}(t)}{\sum _{t=1}^{T}\gamma _{i}(t)}},} where 1 y t = v k = { 1 if y t = v k , 0 otherwise {\displaystyle 1_{y_{t}=v_{k}}={\begin{cases}1&{\text{if }}y_{t}=v_{k},\\0&{\text{otherwise}}\end{cases}}} is an indicator function, and b i ∗ ( v k ) {\displaystyle b_{i}^{}(v_{k})} is the expected number of times the output observations have been equal to v k {\displaystyle v_{k}} while in state i {\displaystyle i} over the expected total number of times in state i {\displaystyle i} . These steps are now repeated iteratively until a desired level of convergence. Note: It is possible to over-fit a particular data set. That is, P ( Y ∣ θ final ) > P ( Y ∣ θ true ) {\displaystyle P(Y\mid \theta _{\text{final}})>P(Y\mid \theta _{\text{true}})} . The algorithm also does not guarantee a global maximum. ==== Multiple sequences ==== The algorithm described thus far assumes a single observed sequence Y = y 1 , … , y T {\displaystyle Y=y_{1},\ldots ,y_{T}} . However, in many situations, there are several sequences observed: Y 1 ,

    Read more →
  • Point-set registration

    Point-set registration

    In computer vision, pattern recognition, and robotics, point-set registration, also known as point-cloud registration or scan matching, is the process of finding a spatial transformation (e.g., scaling, rotation and translation) that aligns two point clouds. The purpose of finding such a transformation includes merging multiple data sets into a globally consistent model (or coordinate frame), and mapping a new measurement to a known data set to identify features or to estimate its pose. Raw 3D point cloud data are typically obtained from Lidars and RGB-D cameras. 3D point clouds can also be generated from computer vision algorithms such as triangulation, bundle adjustment, and more recently, monocular image depth estimation using deep learning. For 2D point set registration used in image processing and feature-based image registration, a point set may be 2D pixel coordinates obtained by feature extraction from an image, for example corner detection. Point cloud registration has extensive applications in autonomous driving, motion estimation and 3D reconstruction, object detection and pose estimation, robotic manipulation, simultaneous localization and mapping (SLAM), panorama stitching, virtual and augmented reality, and medical imaging. As a special case, registration of two point sets that only differ by a 3D rotation (i.e., there is no scaling and translation), is called the Wahba Problem and also related to the orthogonal procrustes problem. == Formulation == The problem may be summarized as follows: Let { M , S } {\displaystyle \lbrace {\mathcal {M}},{\mathcal {S}}\rbrace } be two finite size point sets in a finite-dimensional real vector space R d {\displaystyle \mathbb {R} ^{d}} , which contain M {\displaystyle M} and N {\displaystyle N} points respectively (e.g., d = 3 {\displaystyle d=3} recovers the typical case of when M {\displaystyle {\mathcal {M}}} and S {\displaystyle {\mathcal {S}}} are 3D point sets). The problem is to find a transformation to be applied to the moving "model" point set M {\displaystyle {\mathcal {M}}} such that the difference (typically defined in the sense of point-wise Euclidean distance) between M {\displaystyle {\mathcal {M}}} and the static "scene" set S {\displaystyle {\mathcal {S}}} is minimized. In other words, a mapping from R d {\displaystyle \mathbb {R} ^{d}} to R d {\displaystyle \mathbb {R} ^{d}} is desired which yields the best alignment between the transformed "model" set and the "scene" set. The mapping may consist of a rigid or non-rigid transformation. The transformation model may be written as T {\displaystyle T} , using which the transformed, registered model point set is: The output of a point set registration algorithm is therefore the optimal transformation T ⋆ {\displaystyle T^{\star }} such that M {\displaystyle {\mathcal {M}}} is best aligned to S {\displaystyle {\mathcal {S}}} , according to some defined notion of distance function dist ⁡ ( ⋅ , ⋅ ) {\displaystyle \operatorname {dist} (\cdot ,\cdot )} : where T {\displaystyle {\mathcal {T}}} is used to denote the set of all possible transformations that the optimization tries to search for. The most popular choice of the distance function is to take the square of the Euclidean distance for every pair of points: where ‖ ⋅ ‖ 2 {\displaystyle \|\cdot \|_{2}} denotes the vector 2-norm, s m {\displaystyle s_{m}} is the corresponding point in set S {\displaystyle {\mathcal {S}}} that attains the shortest distance to a given point m {\displaystyle m} in set M {\displaystyle {\mathcal {M}}} after transformation. Minimizing such a function in rigid registration is equivalent to solving a least squares problem. == Types of algorithms == When the correspondences (i.e., s m ↔ m {\displaystyle s_{m}\leftrightarrow m} ) are given before the optimization, for example, using feature matching techniques, then the optimization only needs to estimate the transformation. This type of registration is called correspondence-based registration. On the other hand, if the correspondences are unknown, then the optimization is required to jointly find out the correspondences and transformation together. This type of registration is called simultaneous pose and correspondence registration. === Rigid registration === Given two point sets, rigid registration yields a rigid transformation which maps one point set to the other. A rigid transformation is defined as a transformation that does not change the distance between any two points. Typically such a transformation consists of translation and rotation. In rare cases, the point set may also be mirrored. In robotics and computer vision, rigid registration has the most applications. === Non-rigid registration === Given two point sets, non-rigid registration yields a non-rigid transformation which maps one point set to the other. Non-rigid transformations include affine transformations such as scaling and shear mapping. However, in the context of point set registration, non-rigid registration typically involves nonlinear transformation. If the eigenmodes of variation of the point set are known, the nonlinear transformation may be parametrized by the eigenvalues. A nonlinear transformation may also be parametrized as a thin plate spline. === Other types === Some approaches to point set registration use algorithms that solve the more general graph matching problem. However, the computational complexity of such methods tend to be high and they are limited to rigid registrations. In this article, we will only consider algorithms for rigid registration, where the transformation is assumed to contain 3D rotations and translations (possibly also including a uniform scaling). The PCL (Point Cloud Library) is an open-source framework for n-dimensional point cloud and 3D geometry processing. It includes several point registration algorithms. == Correspondence-based registration == Correspondence-based methods assume the putative correspondences m ↔ s m {\displaystyle m\leftrightarrow s_{m}} are given for every point m ∈ M {\displaystyle m\in {\mathcal {M}}} . Therefore, we arrive at a setting where both point sets M {\displaystyle {\mathcal {M}}} and S {\displaystyle {\mathcal {S}}} have N {\displaystyle N} points and the correspondences m i ↔ s i , i = 1 , … , N {\displaystyle m_{i}\leftrightarrow s_{i},i=1,\dots ,N} are given. === Outlier-free registration === In the simplest case, one can assume that all the correspondences are correct, meaning that the points m i , s i ∈ R 3 {\displaystyle m_{i},s_{i}\in \mathbb {R} ^{3}} are generated as follows:where l > 0 {\displaystyle l>0} is a uniform scaling factor (in many cases l = 1 {\displaystyle l=1} is assumed), R ∈ SO ( 3 ) {\displaystyle R\in {\text{SO}}(3)} is a proper 3D rotation matrix ( SO ( d ) {\displaystyle {\text{SO}}(d)} is the special orthogonal group of degree d {\displaystyle d} ), t ∈ R 3 {\displaystyle t\in \mathbb {R} ^{3}} is a 3D translation vector and ϵ i ∈ R 3 {\displaystyle \epsilon _{i}\in \mathbb {R} ^{3}} models the unknown additive noise (e.g., Gaussian noise). Specifically, if the noise ϵ i {\displaystyle \epsilon _{i}} is assumed to follow a zero-mean isotropic Gaussian distribution with standard deviation σ i {\displaystyle \sigma _{i}} , i.e., ϵ i ∼ N ( 0 , σ i 2 I 3 ) {\displaystyle \epsilon _{i}\sim {\mathcal {N}}(0,\sigma _{i}^{2}I_{3})} , then the following optimization can be shown to yield the maximum likelihood estimate for the unknown scale, rotation and translation:Note that when the scaling factor is 1 and the translation vector is zero, then the optimization recovers the formulation of the Wahba problem. Despite the non-convexity of the optimization (cb.2) due to non-convexity of the set SO ( 3 ) {\displaystyle {\text{SO}}(3)} , seminal work by Berthold K.P. Horn showed that (cb.2) actually admits a closed-form solution, by decoupling the estimation of scale, rotation and translation. Similar results were discovered by Arun et al. In addition, in order to find a unique transformation ( l , R , t ) {\displaystyle (l,R,t)} , at least N = 3 {\displaystyle N=3} non-collinear points in each point set are required. More recently, Briales and Gonzalez-Jimenez have developed a semidefinite relaxation using Lagrangian duality, for the case where the model set M {\displaystyle {\mathcal {M}}} contains different 3D primitives such as points, lines and planes (which is the case when the model M {\displaystyle {\mathcal {M}}} is a 3D mesh). Interestingly, the semidefinite relaxation is empirically tight, i.e., a certifiably globally optimal solution can be extracted from the solution of the semidefinite relaxation. === Robust registration === The least squares formulation (cb.2) is known to perform arbitrarily badly in the presence of outliers. An outlier correspondence is a pair of measurements s i ↔ m i {\displaystyle s_{i}\leftrightarrow m_{i}} that departs from the generative model (cb.1). In this case, one can consider a differen

    Read more →
  • How to Choose an AI Paragraph Rewriter

    How to Choose an AI Paragraph Rewriter

    Comparing the best AI paragraph rewriter? An AI paragraph rewriter is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI paragraph rewriter slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Joseph Keshet

    Joseph Keshet

    Joseph (Yossi) Keshet (Hebrew: יוסף (יוסי) קשת; born: 28 February 1973) is an Israeli professor in the Electrical and Computer Engineering Faculty of the Technion, where he is the director of the Speech, Language, and Deep Learning Lab. His research focuses on human speech processing and machine learning. == Early life and education == Keshet was born in Tel-Aviv. He graduated from the Amal School and began his academic studies at the Department of Electrical Engineering-Systems at Tel-Aviv University in 1991 and received his B.Sc. (Cum Laude) in 1994. Keshet served in the IDF Unit 8200 from 1995 to 2002 as the head of the speech processing research section in the R&D Center. During his service, he received a national award from the Administration for the Development of Weapons and Technological Infrastructure (Maf’at). Keshet was award his M.Sc. from the same department after he completed his Israel Defense Force service in 2002. His Dissertation was titled: Stop consonant spotting in continuous speech and was supervised by Dan Chazan from IBM Research Labs, Haifa. He continued his Ph.D. studies at the Hebrew University of Jerusalem until 2008. Prof. Yoram Singer supervised his thesis on Large Margin Algorithms for Discriminative Continuous Speech. == Career == Keshet was a Research Associate (postdoc) at IDIAP Research Institute, Martigny, Switzerland in 2007, and joined the TTI-Chicago and Department of Computer Science, University of Chicago, Chicago, IL in 2009 as Research Assistant Professor. In 2013, he returned to Israel and joined the Computer Science department at Bar-Ilan University as a senior lecturer and head of the Speech, Language, and Deep Learning Lab. In 2020, Keshet became a Founding Venture Partner at the Disruptive AI Venture Capital. In the same year, he also joined Amazon in Tel-Aviv as an Amazon Scholar. In 2022, Keshet joined the Faculty of Electrical and Computer Engineering at the Technion. == Research == Keshet's research work focuses on both machine learning and computational study of human speech and language. His work on speech and language concentrates on speech processing, speech recognition, acoustic phonetics, and pathological speech. In machine learning, Keshet is focused on deep learning and structured tasks. According to Google Scholar (September 2020), Keshet is one of the 15 most cited researchers in the field of spoken language processing. The algorithms that were developed in the Speech, Language, and Deep Learning Lab can analyze different pathological conditions in the throat and vocal cords based on the subject's voice. Other algorithms showed that the voice can be used to estimate physical and emotional state of the speaker. Another research led by Keshet suggested that it is possible to fool structured AI systems (like Google Voice). == Membership in professional societies == Keshet is the founder and chair of the Machine Learning for Speech and Language Processing Special Interest Group (SIGML) of the International Speech Communication Association (ISCA), from 2011. He is a senior member of the IEEE Signal Processing Society since 2018 and a member of ISCA since 2002. == Publications == Prof. Keshet has authored more than 70 scientific publications and edited one book. === Book === Joseph Keshet and Samy Bengio, Eds., Automatic Speech and Speaker Recognition: Large Margin and Kernel Methods, John Wiley & Sons, March 2009. === Selected articles === Jacob T. Cohen, Alma Cohen, Limor Benyamini, Yossi Adi, Joseph Keshet, Predicting glottal closure insufficiency using fundamental frequency contour analysis, Head & Neck, Journal of the Sciences and Specialities of the Head and Neck, Volume 41, Issue 7, pp. 2324–2331, July 2019. Yehoshua Dissen, Jacob Goldberger, and Joseph Keshet, Formant Estimation and Tracking: A Deep Learning Approach, Journal of the Acoustical Society of America, 145 (2), February 2019. Joseph Keshet, Automatic speech recognition: A primer for speech-language pathology researchers, International Journal of Speech-Language Pathology, Vol. 20 No. 6, pp. 599–609, 2018. Yossi Adi, Carsten Baum, Moustapha Cisse, Benny Pinkas, Joseph Keshet, Turning Your Weakness Into a Strength: Watermarking Deep Neural Networks by Backdooring, Usenix, 2018. Tzeviya Fuchs, Joseph Keshet, Spoken Term Detection Automatically Adjusted for a Given Threshold, IEEE Journal of Selected Topics in Signal Processing, Dec 2017, Volume 11, Issue 8, pp. 1–8. Moustapha Cisse, Yossi Adi, Natalia Neverova, Joseph Keshet, Houdini: Fooling Deep Structured Visual and Speech Recognition Models with Adversarial Examples, Neural Information and Processing Systems (NIPS), 2017. Joseph Keshet, Subhransu Maji, Tamir Hazan, and Tommi Jaakkola, Perturbation Models and PAC-Bayesian Generalization Bounds, in Perturbations, Optimization, and Statistics, Tamir Hazan, George Papandreou, and Daniel Tarlow, Eds., The MIT Press, 2016. Matthew Goldrick, Joseph Keshet, Erin Gustafson, Jordana Heller, and Jeremy Needle, Automatic Analysis of Slips of the Tongue: Insights into the Cognitive Architecture of Speech Production, Cognition, 149, 31–39, 2016. Joseph Keshet, Optimizing the Measure of Performance in Structured Prediction, in Advanced Structured Prediction, Sebastian Nowozin, Peter V. Gehler, Jeremy January, and Christoph H. Lampert, Eds., The MIT Press, 2014. Morgan Sonderegger and Joseph Keshet, Automatic Measurement of Voice Onset Time using Discriminative Structured Prediction, Journal of the Acoustical Society of America, Vol. 132, Issue 6, pp. 3965−3979, 2012. David McAllester, Tamir Hazan and Joseph Keshet, Direct Loss Minimization for Structured Prediction, The 24th Annual Conference on Neural Information Processing Systems (NIPS), 2010. Joseph Keshet, David Grangier and Samy Bengio, Discriminative Keyword Spotting, Speech Communication, Volume 51, Issue 4, pp. 317–329, April 2009. == Personal life == Keshet is married to Lital. They have three children.

    Read more →
  • SNNS

    SNNS

    SNNS (Stuttgart Neural Network Simulator) is a neural network simulator originally developed at the University of Stuttgart. While it was originally built for X11 under Unix, there are Windows ports. Its successor JavaNNS never reached the same popularity. == Features == SNNS is written around a simulation kernel to which user written activation functions, learning procedures and output functions can be added. It has support for arbitrary network topologies and the standard release contains support for a number of standard neural network architectures and training algorithms. == Status == There is currently no ongoing active development of SNNS. In July 2008 the license was changed to the GNU LGPL.

    Read more →
  • Halloween Problem

    Halloween Problem

    In computing, the Halloween Problem refers to a phenomenon in databases in which an update operation causes a change in the physical location of a row, potentially allowing the row to be visited again later in the same update operation. This could even cause an infinite loop in some cases where updates continually place the updated record ahead of the scan performing the update operation. The potential for this database error was first discovered by Don Chamberlin, Pat Selinger, and Morton Astrahan in the mid-1970s, on Halloween day, while working on query optimization. They wrote a SQL query supposed to give a ten percent raise to every employee who earned less than $25,000. This query would run successfully, with no errors, but when finished all the employees in the database earned at least $25,000, because it kept giving them a raise until they reached that level. The expectation was that the query would iterate over each of the employee records with a salary less than $25,000 precisely once. In fact, because even updated records were visible to the query execution engine and so continued to match the query's criteria, salary records were matching multiple times and each time being given a 10% raise until they were all greater than $25,000. Contrary to what some believe, the name is not descriptive of the nature of the problem but rather was given due to the day it was discovered on. As recounted by Don Chamberlin: Pat and Morton discovered this problem on Halloween... I remember they came into my office and said, "Chamberlin, look at this. We have to make sure that when the optimizer is making a plan for processing an update, it doesn't use an index that is based on the field that is being updated. How are we going to do that?" It happened to be on a Friday, and we said, "Listen, we are not going to be able to solve this problem this afternoon. Let's just give it a name. We'll call it the Halloween Problem and we'll work on it next week." And it turns out it has been called that ever since.

    Read more →
  • Anna Korhonen

    Anna Korhonen

    Anna-Leena Korhonen is a Finnish computer scientist who works in England as professor of natural language processing at the University of Cambridge, where she is co-director of the Language Technology Lab and the Institute for Technology and Humanity, fellow of the Alan Turing Institute, director of the Centre for Human Inspired Artificial Intelligence, fellow of the European Laboratory for Learning and Intelligent Systems, and a senior research fellow of Churchill College, Cambridge. Her research interests include natural language processing, the applications of natural language processing in health, and the social consequences of AI-based language tools. == Education and career == Korhonen studied linguistics as an undergraduate at the University of Helsinki. After a master's degree in linguistics at the University of Reading, she completed a Ph.D. in computer science at the University of Cambridge. Her 2002 doctoral dissertation, Subcategorization acquisition, was supervised by Ted Briscoe. After postdoctoral research at the University of Pennsylvania and at the National Institute of Informatics in Japan, she returned to Cambridge in 2005 as a senior research associate and Royal Society University Research Fellow. She became a reader in computational linguistics in 2014, professor of natural language processing in 2017, director of the Centre for Human Inspired Artificial Intelligence in 2022, and co-director of the Institute for Technology and Humanity in 2024. == Recognition == Korhonen was named as a Fellow of the Association for Computational Linguistics in 2023, "for significant contributions to lexical acquisition, multilingual and low resource NLP, socially beneficial language applications, and services to the ACL community". She was elected to the Academia Europaea in 2025.

    Read more →
  • Barbara Di Eugenio

    Barbara Di Eugenio

    Barbara Di Eugenio is an Italian-American computer scientist, the Collegiate Warren S. McCulloch Professor of Computer Science at the University of Illinois Chicago. Her research focuses on natural language processing and its applications to human–computer interaction, educational technology, and artificial intelligence in healthcare. == Education and career == Di Eugenio is originally from Turin. After an undergraduate education in Italy, she completed her Ph.D. in computer and information science in 1993 at the University of Pennsylvania. Her dissertation, Understanding Natural Language Instructions: A Computational Approach to Purpose Clauses, was supervised by Bonnie Webber. She became a faculty member at the University of Illinois Chicago in 1999, and at that time was the only woman faculty member in the Department of Electrical Engineering and Computer Science. == Recognition == In 2022, Di Eugenio received the Zenith Award of the Association for Women in Science. She was named as a Fellow of the Association for Computational Linguistics in 2023, "for outstanding contributions to natural language generation; intelligent tutoring systems; discourse; intercoder agreement; and applying multimodal interactive systems to health".

    Read more →
  • Selmer Bringsjord

    Selmer Bringsjord

    Selmer Bringsjord (born November 24, 1958) is a professor of computer science and cognitive science and a former chair of the Department of Cognitive Science at Rensselaer Polytechnic Institute. He also holds an appointment in the Lally School of Management & Technology and teaches artificial Intelligence (AI), formal logic, human and machine reasoning, and philosophy of AI. == Biography == Bringsjord's education includes a B.A. in philosophy from the University of Pennsylvania and a Ph.D. in philosophy from Brown University, where he studied under Roderick Chisholm. He conducts research in AI as the director of the Rensselaer AI & Reasoning (RAIR) Laboratory. He specializes in the logico-mathematical and philosophical foundations of AI and cognitive science, and in collaboratively building AI systems on the basis of computational logic. Bringsjord believes that "the human mind will forever be superior to AI", and that "much of what many humans do for a living will be better done by indefatigable machines who require not a cent in pay". Bringsjord has stated that the "ultimate growth industry will be building smarter and smarter such machines on the one hand, and philosophizing about whether they are truly conscious and free on the other". Bringsjord has an argument for P = NP using digital physics. Other research includes developing a new computational-logic framework allowing the formalization of deliberative multi-agent "mindreading" as applied to the realm of nuclear strategy, with the goal of creating a model and simulation to enable reliable prediction. He has published an opinion piece advocating for counter-terrorism security ensured by pervasive, all-seeing sensors; automated reasoners; and autonomous, lethal robots. Bringsjord received a National Science Foundation award to research Social Robotics and the Covey Award for the advancement of philosophy of computing awarded by the International Association for Computing And Philosophy, among several others prizes. == Books authored == with Yang, Y. Mental Metalogic: A New, Unifying Theory of Human and Machine Reasoning (Mahwah, NJ: Lawrence Erlbaum).(2007) with Zenzen, M. Superminds: People Harness Hypercomputation, and More (Dordrecht, The Netherlands: Kluwer). (2003) ISBN 978-1402010958 with Ferrucci, D. Artificial Intelligence and Literary Creativity: Inside the Mind of Brutus, A Storytelling Machine (Mahwah, NJ: Lawrence Erlbaum).(2000) Abortion: A Dialogue (Indianapolis, IN: Hackett).(1997) What Robots Can and Can’t Be (Dordrecht, The Netherlands: Kluwer).(1992) Soft Wars (New York, NY: Penguin USA). A novel.(1991)

    Read more →
  • Co-occurrence matrix

    Co-occurrence matrix

    A co-occurrence matrix or co-occurrence distribution (also referred to as : gray-level co-occurrence matrices GLCMs) is a matrix that is defined over an image to be the distribution of co-occurring pixel values (grayscale values, or colors) at a given offset. It is used as an approach to texture analysis with various applications especially in medical image analysis. == Method == Given a grey-level image I {\displaystyle I} , co-occurrence matrix computes how often pairs of pixels with a specific value and offset occur in the image. The offset, ( Δ x , Δ y ) {\displaystyle (\Delta x,\Delta y)} , is a position operator that can be applied to any pixel in the image (ignoring edge effects): for instance, ( 1 , 2 ) {\displaystyle (1,2)} could indicate "one down, two right". An image with p {\displaystyle p} different pixel values will produce a p × p {\displaystyle p\times p} co-occurrence matrix, for the given offset. The ( i , j ) th {\displaystyle (i,j)^{\text{th}}} value of the co-occurrence matrix gives the number of times in the image that the i th {\displaystyle i^{\text{th}}} and j th {\displaystyle j^{\text{th}}} pixel values occur in the relation given by the offset. For an image with p {\displaystyle p} different pixel values, the p × p {\displaystyle p\times p} co-occurrence matrix C is defined over an n × m {\displaystyle n\times m} image I {\displaystyle I} , parameterized by an offset ( Δ x , Δ y ) {\displaystyle (\Delta x,\Delta y)} , as: C Δ x , Δ y ( i , j ) = ∑ x = 1 n ∑ y = 1 m { 1 , if I ( x , y ) = i and I ( x + Δ x , y + Δ y ) = j 0 , otherwise {\displaystyle C_{\Delta x,\Delta y}(i,j)=\sum _{x=1}^{n}\sum _{y=1}^{m}{\begin{cases}1,&{\text{if }}I(x,y)=i{\text{ and }}I(x+\Delta x,y+\Delta y)=j\\0,&{\text{otherwise}}\end{cases}}} where: i {\displaystyle i} and j {\displaystyle j} are the pixel values; x {\displaystyle x} and y {\displaystyle y} are the spatial positions in the image I; the offsets ( Δ x , Δ y ) {\displaystyle (\Delta x,\Delta y)} define the spatial relation for which this matrix is calculated; and I ( x , y ) {\displaystyle I(x,y)} indicates the pixel value at pixel ( x , y ) {\displaystyle (x,y)} . The 'value' of the image originally referred to the grayscale value of the specified pixel, but could be anything, from a binary on/off value to 32-bit color and beyond. (Note that 32-bit color will yield a 232 × 232 co-occurrence matrix!) Co-occurrence matrices can also be parameterized in terms of a distance, d {\displaystyle d} , and an angle, θ {\displaystyle \theta } , instead of an offset ( Δ x , Δ y ) {\displaystyle (\Delta x,\Delta y)} . Any matrix or pair of matrices can be used to generate a co-occurrence matrix, though their most common application has been in measuring texture in images, so the typical definition, as above, assumes that the matrix is an image. It is also possible to define the matrix across two different images. Such a matrix can then be used for color mapping. == Aliases == Co-occurrence matrices are also referred to as: GLCMs (gray-level co-occurrence matrices) GLCHs (gray-level co-occurrence histograms) spatial dependence matrices == Application to image analysis == Whether considering the intensity or grayscale values of the image or various dimensions of color, the co-occurrence matrix can measure the texture of the image. Because co-occurrence matrices are typically large and sparse, various metrics of the matrix are often taken to get a more useful set of features. Features generated using this technique are usually called Haralick features, after Robert Haralick. Texture analysis is often concerned with detecting aspects of an image that are rotationally invariant. To approximate this, the co-occurrence matrices corresponding to the same relation, but rotated at various regular angles (e.g. 0, 45, 90, and 135 degrees), are often calculated and summed. Texture measures like the co-occurrence matrix, wavelet transforms, and model fitting have found application in medical image analysis in particular. == Other applications == Co-occurrence matrices are also used for words processing in natural language processing (NLP).

    Read more →
  • Talkman

    Talkman

    Talkman is an edutainment video game developed and published by Sony Computer Entertainment for the PlayStation Portable. It utilizes voice-activated translation software that operates in four languages, Japanese, English, Korean, and Mandarin Chinese. The name "Talkman" is a reference to Sony's Walkman line of portable audio products. It was released in Japan on November 17, 2005, and in America on August 5, 2008 (via the PlayStation Store), as Talkman Travel. In America, however, instead of receiving all the languages included in the Japanese version in one package, single-language packs are available for $2.99 each. Available packs are: Paris (French), Rome (Italian), and Tokyo (Japanese). The software is designed for travelers and entertainment, mostly containing slang and useful travel phrases. While originally sold in and designed for the Japanese market for Japanese users, its translation function operates between all four languages. In Japan, the software has proven popular with the middle-aged female demographic due to an interest in South Korean products, and Korean-language soap operas and movies; and as a fun English education aid for children. Outside of pure translations, Talkman also lets players play games to test their fluency of a language. The program comes with a USB microphone included. This microphone draws power through two gold-colored contacts on the top of the PSP, one on each side of the mini-USB port. This is uncommon due to the ability for most USB products to draw power through USB. These proprietary contacts are similar to the gold-colored contacts on the bottom-right of the device, which are used for charging. Note: The Chotto Shot (aka "Go!Cam") has a built-in microphone that also can be used with the Talkman program. Furthermore, the PSP-3000 model and PSP Go have built-in microphones that work with this application, without the need for any external attachments. == Talkman Euro == Following the success of the Asian version of Talkman, a version designed for translating European languages was developed and released on June 16, 2006. Talkman Euro is available in two versions. The Japanese version contains support for English, Italian, Spanish, German, French, and Japanese, while the Chinese version contains support for Traditional Chinese instead of Japanese. The differences on the packaging (the Japanese flag as opposed to a flag with the word "mie" in Chinese) are minimal and hard to notice. == Talkman UMD-only package == Talkman is also released as a UMD-only package, so users who already have the USB mic or camera can choose to purchase this standalone version. The Sony PSP Headset and the built-in microphone on later model PSPs have also been confirmed to work with Talkman.

    Read more →
  • 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

    Read more →