AI Art Free No Sign Up

AI Art Free No Sign Up — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Shape context

    Shape context

    Shape context is a feature descriptor used in object recognition. Serge Belongie and Jitendra Malik proposed the term in their paper "Matching with Shape Contexts" in 2000. == Theory == The shape context is intended to be a way of describing shapes that allows for measuring shape similarity and the recovering of point correspondences. The basic idea is to pick n points on the contours of a shape. For each point pi on the shape, consider the n − 1 vectors obtained by connecting pi to all other points. The set of all these vectors is a rich description of the shape localized at that point but is far too detailed. The key idea is that the distribution over relative positions is a robust, compact, and highly discriminative descriptor. So, for the point pi, the coarse histogram of the relative coordinates of the remaining n − 1 points, h i ( k ) = # { q ≠ p i : ( q − p i ) ∈ bin ( k ) } {\displaystyle h_{i}(k)=\#\{q\neq p_{i}:(q-p_{i})\in {\mbox{bin}}(k)\}} is defined to be the shape context of p i {\displaystyle p_{i}} . The bins are normally taken to be uniform in log-polar space. The fact that the shape context is a rich and discriminative descriptor can be seen in the figure below, in which the shape contexts of two different versions of the letter "A" are shown. (a) and (b) are the sampled edge points of the two shapes. (c) is the diagram of the log-polar bins used to compute the shape context. (d) is the shape context for the point marked with a circle in (a), (e) is that for the point marked as a diamond in (b), and (f) is that for the triangle. As can be seen, since (d) and (e) are the shape contexts for two closely related points, they are quite similar, while the shape context in (f) is very different. For a feature descriptor to be useful, it needs to have certain invariances. In particular it needs to be invariant to translation, scaling, small perturbations, and, depending on the application, rotation. Translational invariance comes naturally to shape context. Scale invariance is obtained by normalizing all radial distances by the mean distance α {\displaystyle \alpha } between all the point pairs in the shape although the median distance can also be used. Shape contexts are empirically demonstrated to be robust to deformations, noise, and outliers using synthetic point set matching experiments. One can provide complete rotational invariance in shape contexts. One way is to measure angles at each point relative to the direction of the tangent at that point (since the points are chosen on edges). This results in a completely rotationally invariant descriptor. But of course this is not always desired since some local features lose their discriminative power if not measured relative to the same frame. Many applications in fact forbid rotational invariance e.g. distinguishing a "6" from a "9". == Use in shape matching == A complete system that uses shape contexts for shape matching consists of the following steps (which will be covered in more detail in the Details of Implementation section): Randomly select a set of points that lie on the edges of a known shape and another set of points on an unknown shape. Compute the shape context of each point found in step 1. Match each point from the known shape to a point on an unknown shape. To minimize the cost of matching, first choose a transformation (e.g. affine, thin plate spline, etc.) that warps the edges of the known shape to the unknown (essentially aligning the two shapes). Then select the point on the unknown shape that most closely corresponds to each warped point on the known shape. Calculate the "shape distance" between each pair of points on the two shapes. Use a weighted sum of the shape context distance, the image appearance distance, and the bending energy (a measure of how much transformation is required to bring the two shapes into alignment). To identify the unknown shape, use a nearest-neighbor classifier to compare its shape distance to shape distances of known objects. == Details of implementation == === Step 1: Finding a list of points on shape edges === The approach assumes that the shape of an object is essentially captured by a finite subset of the points on the internal or external contours on the object. These can be simply obtained using the Canny edge detector and picking a random set of points from the edges. Note that these points need not and in general do not correspond to key-points such as maxima of curvature or inflection points. It is preferable to sample the shape with roughly uniform spacing, though it is not critical. === Step 2: Computing the shape context === This step is described in detail in the Theory section. === Step 3: Computing the cost matrix === Consider two points p and q that have normalized K-bin histograms (i.e. shape contexts) g(k) and h(k). As shape contexts are distributions represented as histograms, it is natural to use the χ2 test statistic as the "shape context cost" of matching the two points: C S = 1 2 ∑ k = 1 K [ g ( k ) − h ( k ) ] 2 g ( k ) + h ( k ) {\displaystyle C_{S}={\frac {1}{2}}\sum _{k=1}^{K}{\frac {[g(k)-h(k)]^{2}}{g(k)+h(k)}}} The values of this range from 0 to 1. In addition to the shape context cost, an extra cost based on the appearance can be added. For instance, it could be a measure of tangent angle dissimilarity (particularly useful in digit recognition): C A = 1 2 ‖ ( cos ⁡ ( θ 1 ) sin ⁡ ( θ 1 ) ) − ( cos ⁡ ( θ 2 ) sin ⁡ ( θ 2 ) ) ‖ {\displaystyle C_{A}={\frac {1}{2}}{\begin{Vmatrix}{\dbinom {\cos(\theta _{1})}{\sin(\theta _{1})}}-{\dbinom {\cos(\theta _{2})}{\sin(\theta _{2})}}\end{Vmatrix}}} This is half the length of the chord in unit circle between the unit vectors with angles θ 1 {\displaystyle \theta _{1}} and θ 2 {\displaystyle \theta _{2}} . Its values also range from 0 to 1. Now the total cost of matching the two points could be a weighted-sum of the two costs: C = ( 1 − β ) C S + β C A {\displaystyle C=(1-\beta )C_{S}+\beta C_{A}\!\,} Now for each point pi on the first shape and a point qj on the second shape, calculate the cost as described and call it Ci,j. This is the cost matrix. === Step 4: Finding the matching that minimizes total cost === Now, a one-to-one matching π ( i ) {\displaystyle \pi (i)} that matches each point pi on shape 1 and qj on shape 2 that minimizes the total cost of matching, H ( π ) = ∑ i C ( p i , q π ( i ) ) {\displaystyle H(\pi )=\sum _{i}C\left(p_{i},q_{\pi (i)}\right)} is needed. This can be done in O ( N 3 ) {\displaystyle O(N^{3})} time using the Hungarian method, although there are more efficient algorithms. To have robust handling of outliers, one can add "dummy" nodes that have a constant but reasonably large cost of matching to the cost matrix. This would cause the matching algorithm to match outliers to a "dummy" if there is no real match. === Step 5: Modeling transformation === Given the set of correspondences between a finite set of points on the two shapes, a transformation T : R 2 → R 2 {\displaystyle T:\mathbb {R} ^{2}\to \mathbb {R} ^{2}} can be estimated to map any point from one shape to the other. There are several choices for this transformation, described below. ==== Affine ==== The affine model is a standard choice: T ( p ) = A p + o {\displaystyle T(p)=Ap+o\!} . The least squares solution for the matrix A {\displaystyle A} and the translational offset vector o is obtained by: o = 1 n ∑ i = 1 n ( p i − q π ( i ) ) , A = ( Q + P ) t {\displaystyle o={\frac {1}{n}}\sum _{i=1}^{n}\left(p_{i}-q_{\pi (i)}\right),A=(Q^{+}P)^{t}} Where P = ( 1 p 11 p 12 ⋮ ⋮ ⋮ 1 p n 1 p n 2 ) {\displaystyle P={\begin{pmatrix}1&p_{11}&p_{12}\\\vdots &\vdots &\vdots \\1&p_{n1}&p_{n2}\end{pmatrix}}} with a similar expression for Q {\displaystyle Q\!} . Q + {\displaystyle Q^{+}\!} is the pseudoinverse of Q {\displaystyle Q\!} . ==== Thin plate spline ==== The thin plate spline (TPS) model is the most widely used model for transformations when working with shape contexts. A 2D transformation can be separated into two TPS function to model a coordinate transform: T ( x , y ) = ( f x ( x , y ) , f y ( x , y ) ) {\displaystyle T(x,y)=\left(f_{x}(x,y),f_{y}(x,y)\right)} where each of the ƒx and ƒy have the form: f ( x , y ) = a 1 + a x x + a y y + ∑ i = 1 n ω i U ( ‖ ( x i , y i ) − ( x , y ) ‖ ) , {\displaystyle f(x,y)=a_{1}+a_{x}x+a_{y}y+\sum _{i=1}^{n}\omega _{i}U\left({\begin{Vmatrix}(x_{i},y_{i})-(x,y)\end{Vmatrix}}\right),} and the kernel function U ( r ) {\displaystyle U(r)\!} is defined by U ( r ) = r 2 log ⁡ r 2 {\displaystyle U(r)=r^{2}\log r^{2}\!} . The exact details of how to solve for the parameters can be found elsewhere but it essentially involves solving a linear system of equations. The bending energy (a measure of how much transformation is needed to align the points) will also be easily obtained. ==== Regularized TPS ==== The TPS formulation above has exact matching requirement for the pairs of points on the two shapes. For noisy data, it is best to

    Read more →
  • Semantic analysis (knowledge representation)

    Semantic analysis (knowledge representation)

    Semantic analysis is a method for eliciting and representing knowledge about organisations. Initially the problem must be defined by domain experts and passed to the project analyst(s). The next step is the generation of candidate affordances. This step will generate a list of semantic units that may be included in the schema. The candidate grouping follows where some of the semantic units that will appear in the schema are placed in simple groups. Finally the groups will be integrated together into an ontology chart. Semantic analysis always starts from the problem definition which if not clear, require the analyst to employ relevant literature, interviews with the stakeholders and other techniques towards collecting supplementary information. All assumptions made must be genuine and not limiting the system.

    Read more →
  • Hive (artificial intelligence company)

    Hive (artificial intelligence company)

    Hive is an American artificial intelligence company offering machine learning models via APIs to enterprise customers. Hive uses around 700,000 gig workers to train data for its models through its Hive Work app. One of Hive's major offerings is to provide automated content moderation services. == Products == Hive is reported to have been engaged to provide content moderation services to social news aggregator Reddit, Giphy, BeReal, Donald Trump-affiliated social network Truth Social, and on online chat website Chatroulette. Parler, after its shutdown by content service providers in early 2021 due to a lack of content moderation, integrated with Hive and was allowed back in the App Store. Hive's content moderation models have been leveraged widely in the livestreaming industry, where the cost of human moderation is high. Hive's models have also been used in events such as the Super Bowl and March Madness, and its contextual advertising models used by NBC Universal and Vevo. Hive provides APIs to detect deepfakes and AI-generated artwork. In early 2023, Hive released a free demo text classifier intended to detect AI-generated text. Mark Hachman at PC World rated Hive's classifier favorably and found it more reliable than OpenAI's AI text classifier. == History == Hive was founded by Kevin Guo and Dmitriy Karpman, and in April 2021, announced $85M in new capital at a valuation of $2 billion.

    Read more →
  • Fooocus

    Fooocus

    Fooocus is an open source generative artificial intelligence program that allows users to generate images from a text prompt. It uses Stable Diffusion XL as the base model for its image capabilities as well as a collection of default settings and prompts to make the image generation process more streamlined. == History == Fooocus was created by Lvmin Zhang, a doctoral student at Stanford University who previously studied at the Chinese University of Hong Kong and Soochow University. He is also the main author of ControlNet, which has been adopted by many other Stable Diffusion interfaces, such as AUTOMATIC1111 and ComfyUI. As of 9 July 2024, the project had 38.1k stars on GitHub. == Features == Fooocus' main feature is that it is easy to set up and does not require users to manually configure model parameters to achieve desirable results. According to the project, it uses GPT-2 to automatically add more detail to the user's prompts. It includes common extensions such LCM low-rank adaptation by default which allows for faster generation speed. Fooocus prefers a photographic style by default, with a list of predefined styles to choose from. While Fooocus aims to provide good results out of the box, it also includes an "advanced" tab that allows for user customization. The user interface is based on Gradio. It appears this project has not been updated in over 1 year. The latest git update for Fooocus was in Aug 12, 2024.

    Read more →
  • Competition in artificial intelligence

    Competition in artificial intelligence

    Competition in artificial intelligence refers to the rivalry among companies, research institutions, and governments to develop and deploy the most capable artificial intelligence (AI) systems. The competition spans multiple domains, including large language models (LLMs), autonomous vehicles, robotics, computer vision systems, natural language processing (NLP), and AI-optimized hardware. == Background == Competition in AI is driven by potential economic, strategic, and scientific advantages. Breakthroughs in AI can enhance productivity, enable new products and services, and provide geopolitical leverage. The field has experienced rapid progress since the mid-2010s, particularly in machine learning and artificial neural networks, leading to intense rivalry among leading actors. == Corporate competition == Major technology companies are among the most visible competitors in AI. In the United States, firms such as OpenAI, Google DeepMind, Meta Platforms, Microsoft, Anthropic, and Nvidia compete in building advanced LLMs, generative AI platforms, and AI-optimized graphics processing units (GPUs). In China, companies such as Baidu, Alibaba Group, Tencent, and startups such DeepSeek have become leaders in AI deployment, often with state backing. The "[war for talent]" in AI research has become a defining feature of corporate competition. Leading firms often recruit top AI researchers from rivals, sometimes offering multi-million-dollar compensation packages. == National competition == Governments see leadership in AI as a strategic priority. The United States has funded AI research for military, economic, and societal applications, while China has set a target to lead the world in AI by 2030 through its "New Generation Artificial Intelligence Development Plan". Other nations, including the UK, India, Israel, Russia, South Korea, and members of the European Union, have launched national AI strategies. In February 2026 Anthropic said Chinese companies - DeepSeek, Moonshot AI, and MiniMax - were conducting "distillation attacks" in an attempt to copy their model's capabilities, and warned that business wars were closely tied to geopolitical ones: "foreign labs that illicitly distill American models can remove safeguards, feeding model capabilities into their own military, intelligence, and surveillance systems." == Sectors of competition == === Large language models and chatbots competition === Competition to produce the most capable generative text models, with benchmarks such as MMLU and ARC used to evaluate performance has been on scale since the emergence of AI. These systems leverage deep learning, especially transformer architectures, to understand and generate human-like language. Companies and research groups globally compete to develop chatbots that are more capable, reliable, and context-aware. Among the most well-known chatbots is ChatGPT, developed by OpenAI. Since its public release in 2022, ChatGPT has rapidly gained widespread attention for its ability to engage in coherent and versatile conversations, assist with creative writing, and solve complex problems. In response, technology firms introduced competing chatbots aiming to challenge or surpass ChatGPT's capabilities. Notably, DeepSeek, a Chinese AI company, launched an advanced chatbot integrated with their R1 language model, emphasizing strong natural language understanding and multilingual support. Similarly, Grok, developed by xAI (company), integrates conversational AI into vehicles and digital assistants, combining natural language processing with real-time data for personalized user interaction. These chatbots not only compete in language tasks but also demonstrate strategic reasoning capabilities by playing complex games such as chess and Go. This form of competition is reminiscent of historic AI milestones set by programs such as Deep Blue and AlphaGo. The OpenAI’s ChatGPT has been tested in playing chess at various levels, while DeepSeek’s chatbot showcased its prowess in online chess tournaments in early 2024, winning several matches against human and AI opponents. Grok, leveraging Tesla's vast data infrastructure, has demonstrated real-time strategic decision-making in simulation environments that include chess-like games. The competition pushes rapid innovation, with firms racing to improve chatbot conversational depth, reduce biases, increase factual accuracy, and integrate multimodal inputs like images and videos. At the same time, the competition raises questions about AI safety, ethical use, and the societal impacts of increasingly human-like chatbots. === Autonomous vehicles === Companies such as Waymo, Tesla, and Baidu are racing to deploy safe and reliable self-driving car technology. === AI chips === Rivalry between Nvidia, AMD, Intel, and Huawei in designing processors optimized for AI workloads. === Military applications === Development of AI-enabled drones, surveillance systems, and decision-support tools, with associated ethical debates. == Events == In 2023, OpenAI released GPT-4, prompting competitors such as Google DeepMind to accelerate the release of their own models, including Gemini. In 2024, Chinese AI company DeepSeek launched the R1 model, leading OpenAI to release an open-source system, GPT-OSS, as a strategic countermeasure. In 2022, Tesla and Waymo both expanded autonomous taxi services in U.S. cities, competing for regulatory approval and public trust. The U.S. Department of Defense's Project Maven and China's AI-enabled surveillance programs have been cited as examples of military AI rivalry. In 2025, Microsoft hired several senior engineers from Google DeepMind, highlighting the ongoing "talent poaching" competition in the AI sector. == Risks and concerns == Critics warn that unrestrained competition in AI can undermine safety, ethics, and governance. Concerns include the proliferation of biased or unsafe models, escalation in autonomous weapons, and reduced cooperation on safety standards.

    Read more →
  • OpenVX

    OpenVX

    OpenVX is an open, royalty-free standard for cross-platform acceleration of computer vision applications. It is designed by the Khronos Group to facilitate portable, optimized and power-efficient processing of methods for vision algorithms. This is aimed for embedded and real-time programs within computer vision and related scenarios. It uses a connected graph representation of operations. == Overview == OpenVX specifies a higher level of abstraction for programming computer vision use cases than compute frameworks such as OpenCL. The high level makes the programming easy and the underlying execution will be efficient on different computing architectures. This is done while having a consistent and portable vision acceleration API. OpenVX is based on a connected graph of vision nodes that can execute the preferred chain of operations. It uses an opaque memory model, allowing to move image data between the host (CPU) memory and accelerator, such as GPU memory. As a result, the OpenVX implementation can optimize the execution through various techniques, such as acceleration on various processing units or dedicated hardware. This architecture facilitates applications programmed in OpenVX on different systems with different power and performance, including battery-sensitive, vision-enabled, wearable displays. OpenVX is complementary to the open source vision library OpenCV. OpenVX in some applications offers a better optimized graph management than OpenCV. == History == OpenVX 1.0 specification was released in October 2014. OpenVX sample implementation was released in December 2014. OpenVX 1.1 specification was released on May 2, 2016. OpenVX 1.2 was released on May 1, 2017. Updated OpenVX adopters program and OpenVX 1.2 conformance test suite was released on November 21, 2017. OpenVX 1.2.1 was released on November 27, 2018. OpenVX 1.3 was released on October 22, 2019. == Implementations, frameworks and libraries == AMD MIVisionX Archived 2019-08-05 at the Wayback Machine - for AMD's CPUs and GPUs. Cadence - for Cadence Design Systems's Tensilica Vision DSPs. Imagination - for Imagination Technologies's PowerVR GPUs Synopsys - for Synopsys' DesignWare EV Vision Processors Texas Instruments’ OpenVX (TIOVX) - for Texas Instruments’ Jacinto™ ADAS SoCs. NVIDIA VisionWorks - for CUDA-capable Nvidia GPUs and SoCs. OpenVINO - for Intel's CPUs, GPUs, VPUs, and FPGAs.

    Read more →
  • Simulation decomposition

    Simulation decomposition

    SimDec, or Simulation decomposition, is a hybrid uncertainty and sensitivity analysis method, for visually examining the relationships between the output and input variables of a computational model. SimDec maps multivariable scenarios onto the distribution of the model output. This visual analytics approach exposes the underlying nature of the model behavior, including its nonlinear and multivariate interaction effects. SimDec can be used in any range of science, engineering, and social domains. Existing applications include business and environmental issues. == Method == SimDec operates on Monte Carlo simulation (or measured) data where both output and input values are recorded. At least one thousand observations (or simulated iterations) are typically recommended to preserve the readability of the resulting histograms. An outline of the decomposition algorithm, which is readily available in multiple programming languages, proceeds as follows: Select the input variables for decomposition. One can use sensitivity indices (see variance-based sensitivity analysis) to define the most influential variables for decomposition or choose them manually according to the decision-problem context (for example, only those input variables that the decision-maker can act upon). Two to three input variables, ordered by decreasing value of their sensitivity indices, usually provide the most meaningful decomposition results. Divide the inputs into states. The numeric ranges of the inputs are split into several intervals with an equal number of observations in each. For categorical variables, the categories represent states. Form scenarios. All combinations of states of the selected input variables produce unique scenarios or subsets of the data. For example, if the range of X2 is divided into low, medium and high, and X3 takes values of 1 or 2, six scenarios are formed: (i) X2 low & X3 = 1, (ii) X2 low & X3 = 2, (iii) X2 medium & X3 = 1, (iv) X2 medium & X3 = 2, (v) X2 high & X3 = 1, and (vi) X2 high & X3 = 2. Assign scenarios to each output value. The simulation data is used to define the scenario index for each simulation run. For example, if an X2 value falls into the low state and X3 is equal to 2, the corresponding scenario, defined in Step 3, is (ii). Color-code the output distribution. When all output values are assigned scenario indices, they are plotted as series in a stacked histogram, visually separated by color-coding. For ease of visual perception, the states of the most influential input variable are assigned distinct colors, and all the remaining partitions take shades of those colors (see Figure). All of these steps can be run automatically on the given data using the open-source SimDec packages currently available in Python, R, Julia, and Matlab. A SimDec template in Excel runs a Monte Carlo simulation of a spreadsheet model but possesses only a manual option for input selection. == How to read SimDec == === Histogram === Histogram is an approximate representation of the distribution of numerical data. Its horizontal axis shows the range of the variable of interest, and its vertical axis denotes count, also called frequency, or, if divided by the total number of data points, probability. The distribution alone can supply only limited information about the data – its minimum, maximum, and shape (where the most of data occurs). === Judging the importance of inputs === If an input variable has no effect on the output, its states (e.g., low & high) would lie on top of each other on the SimDec histogram, occupying fully overlapping ranges of the output. If an input variable has a strong effect and explains most of the variance of the output, the border between its states on the SimDec histogram would be vertical. Such visualization has an important decision-making implication – e.g., if the high state of X can be achieved, it would guarantee a certain range of Y. All cases in-between with low-to-strong effects would show a diagonal border between the states. The less they overlap, the larger the effect of X on Y. While the horizontal displacement of sub-distributions on the SimDec histogram is the key to interpreting the results, the vertical disposition of sub-distributions is just a technical matter of the order of plotting the series of the stacked histogram. === Exploring the interaction of inputs === When two or more input variables are used for decomposition, it becomes possible to examine their joint effects. A schematic visualization portrays how different types of joint effects of input variables on the output appear on SimDec visualization. Understanding the nature of interaction effects in a computational model and its behavior in general is crucial for effective decision-making. == Limitations == The SimDec method has several limitations: It is based on Monte Carlo simulation and thus requires running a computational model a thousand of times or more. To models that take hours to evaluate once, it would be impossible to use SimDec (unless a supercomputer and/or large of time are available). SimDec is based on a histogram, thus, for binary or categorical output variables, the visualization would be very limited (e.g., only a few bins). The more input variables one selects for the decomposition, the less readable the histogram becomes. Only cases with two and three input variables are presented in.

    Read more →
  • GNOWSYS

    GNOWSYS

    GNOWSYS (Gnowledge Networking and Organizing system) is a specification for a generic distributed network based memory/knowledge management. It is developed as an application for developing and maintaining semantic web content. It is written in Python. It is implemented as a Django app. The GNOWSYS project was launched by Nagarjuna G. in 2001, while he was working at Homi Bhabha Centre for Science Education (HBCSE). The memory of GNOWSYS is designed as a node-oriented space. A node is described by other nodes to which it has links. The nodes are organized and processed according to a complex data structure called the neighborhood. == Applications == The application can be used for web-based knowledge representation and content management projects, for developing structured knowledge bases, as a collaborative authoring tool, suitable for making electronic glossaries, dictionaries and encyclopedias, for managing large web sites or links, developing an online catalogue for a library of any thing including books, to make ontologies, classifying and networking any objects, etc. This tool is also intended to be used for an on-line tutoring system with dependency management between various concepts or software packages. For example, the dependency relations between Debian packages have been represented by the gnowledge portal Archived 2018-05-14 at the Wayback Machine. == Component Classes == The kernel is designed to provide support to persistently store highly granular nodes of knowledge representation like terms, predicates and very complex propositional systems like arguments, rules, axiomatic systems, loosely held paragraphs, and more complex structured and consistent compositions. All the component classes in GNOWSYS are classified according to complexity into three groups, where the first two groups are used to express all possible well formed formulae permissible in a first order logic. === Terms === ‘Object’, ‘Object Type’ for declarative knowledge, ‘Event’, ‘Event Type’, for temporal objects, and ‘Meta Types’ for expressing upper ontology. The objects in this group are essentially any thing about which the knowledge engineer intends to express and store in the knowledge base, i.e., they are the objects of discourse. The instances of these component classes can be stored with or without expressing ‘instance of’ or ‘sub-class of’ relations among them. === Predicates === This group consists of ‘Relation’, and ‘Relation Type’ for expressing declarative knowledge, and ‘Function’ and ‘Function Type’ for expressing procedural knowledge. This group is to express qualitative and quantitative relations among the various instances stored in the knowledge base. While instantiating the predicates can be characterized by their logical properties of relations, quantifiers and cardinality as monadic predicates of these predicate objects. === Structures === ‘System’, ‘Encapsulated Class’, ‘Program’, and ‘Process’, are other base classes for complex structures, which can be combined iteratively to produce more complex systems. The component class ‘System’ is to store in the knowledge base a set of propositions composed into ontologies, axiomatic systems, complex systems like say a human body, an artifact like a vehicle etc., with or without consistency check. An ‘Encapsulated Class’ is to com- pose declarative and behavioural objects in a flexible way to build classes. A ‘Program’ is not only to store the logic of any complete program or a component class, composed from the already available behavioural instances in the knowledge base with built-in connectives (conditions, and loops), but also execute them as web services. A ‘Process’ is to structure temporal objects with sequence, concurrency, synchronous or asynchronous specifications. Every node in the database keeps the neighbourhood information, such as its super-class, sub-class, instance-of, and other relations, in which the object has a role, in the form of predicates. This feature makes computation of drawing graphs and inferences, on the one hand, and dependency and navigation paths on the other hand very easy. All the data and metadata is indexed in a central catalogue making query and locating resources efficient.

    Read more →
  • Kubity

    Kubity

    Kubity is a cloud-based 3D communication tool that works on desktop computers, the web, smartphones, tablets, augmented reality gear, and virtual reality glasses. Kubity is powered by several proprietary 3D processing engines including "Paragone" and "Etna" that prepare the 3D file for transfer over mobile devices. Kubity has practical applications for architecture, interior design, engineering, product design, film, and video games among others. The majority of its users create 3D models using SketchUp or Autodesk Revit software. Kubity products include the Kubity web app and Kubity Go (a mobile application for iOS and Android). Kubity is compatible across many platforms, devices and operating systems including: iOS, Android, Firefox, Chrome, Windows, MacOS, and Linux. == History == Kubity was created by SPK Technology (ex Kubity S.A.S.), a Paris-based software company specializing in automatic 3D data optimization and visualization. Founded in 2012 by a group of software engineers and an urban projects developer, they united around a simple idea: create a way for anyone, anywhere to simply and intuitively explore 3D models on smartphones and computers. In order to bring architects, engineers and designers together with their clients around a 3D model, it was essential to develop an interactive platform that supported multiple desktop and mobile devices for instantaneous and fluid 3D navigation. With specifications in place, 15 engineers fused together several technologies: 3D design, data compression, decimation and rendering optimization, web and mobile transfer, and virtual reality headset integration. In January 2014, the first public Kubity prototype (1.0 Amethyst) was launched to a small group of beta testers with a plug-in that allowed users to import 3D models from SketchUp to their browser. A global release was announced in April 2014 at the SketchUp Basecamp in Vail, Colorado. In May 2015, Kubity launched a web application that worked using WebGL technology (2.0 Citrine). For the first time, users were able to drag and drop any SketchUp file in a web browser without having to install a plug-in. In December 2015, Kubity launched a mobile application on the App Store for iPhone, iPod, and iPad as well as on Google Play for Android devices (3.0 Druzy). In November 2016, Kubity launched support for Oculus Rift and HTC Vive (4.0 Emerald). Beginning in November 2017, Kubity launched a full suite rollout of mobile applications over six months that included Kubity AR for augmented reality, Kubity VR for virtual reality, and Kubity Mirror for remote presentations and screen mirroring (5.0 Feldspar). In September 2018, a one-click plugin for SketchUp and Revit (Kubity PRO), along with a mobile-first revamp of Kubity Go was launched, allowing PRO-to-Go device pairing for automatic mobile sync (6.0 Gypsum). In early 2019, the Kubity Go application was updated to include fully integrated AR, VR, and screen mirroring functionalities, killing off the dedicated companion apps Kubity AR, Kubity VR and Kubity Mirror in the process (7.0 Heliotrope). In January 2020, support for the Kubity PRO plugin for SketchUp and Revit was migrated to a SketchUp-only web app. == Technology == Kubity is powered by a proprietary 3D crystallization engine known as "Paragone"; a technology developed by SPK Technology. Paragone takes constrained information from a 3D file and runs it through the "BlockWave" algorithm (US Patent 10,482.629), also developed by SPK Technology. BlockWave is a multiphase optimization algorithm that combines 3D design, data compression, decimation and rendering optimization, web and mobile transfer, and mixed reality headset integration to create a crystallized universal format of the original file. One phase of the BlockWave algorithm is based on the quadric-based polygonal surface simplification algorithm, performed using predefined heuristics, and is associated with a plurality of simplified versions of the 3D model, each version being associated with a predefined level of detail adapted to the user specific end device. BlockWave extracts data content, geometry and textures, then sets quadrics for each top of the original 3D model, and identifies pairs of adjacent tops linked by vertices. The algorithm uses a local collapsing operator and a top-plan error metric to obtain a fixed number of faces or a maximum defined error; 3D meshing is simplified by replacing two points with one, then deleting the degrading faces and updating adjacent relations. Once decimation is completed, texture optimization is set using texture target parameters allowing maximized GPU memory to improve computing time. With texture encoding completed, the crystallized universal 3D file can now be easily opened on any user-specific end device and played across most digital devices with real-time rendering. == Features == === 3D Crystallization === A user converts (or crystallizes) a 3D file by exporting it with the Kubity web app. Crystallization adds features like AR/VR and cinematic fly-through tour as well as assigns the model a dedicated QR code. === Automatic Mobile Sync === When a 3D model is exported, it is automatically synced to Kubity Go on the user's mobile device. From there, it can be accessed, explored, and shared with others with or without an internet connection. === Security and Management === User models can be managed all in one place on Kubity Go or in a browser from their account. Models can be renamed, password-protected, shared, and played. === Augmented Reality === Developed using Apple ARKit and Google ARCore technology, Kubity Go's augmented reality feature maps the environment in a room detecting horizontal planes like tables and floors to track and place 3D objects. By blending digital objects and information with the environment, Kubity allows users to interact with 3D models in true augmented reality. Built-in communication features allows users to instantly share 3D models with anyone over text, email, social media, or direct device-to-device with a QR Code. Platform Support AR supports devices running iOS11 including: iPhone SE, iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone X, all iPad Pro models, and iPad (2017). AR for Android requires Android 7.0 or later and access to the Google Play Store. === Virtual Reality === VR allows users to explore SketchUp models and Revit projects on-the-go right from a mobile device using Oculus Go, Google Cardboard, Samsung Gear VR, or the glasses-free Magic Window feature. Kubity's virtual reality feature is compatible with Oculus Go, Google Cardboard viewers and other cardboard compatible devices including clip-on style VR glasses like Homido Mini, as well as the mobile virtual reality headset, Samsung Gear VR. Samsung Gear VR supports: Galaxy S6, Galaxy S6 Edge, Galaxy S6 Edge+, Samsung Galaxy Note 5, Galaxy S7, Galaxy S7 Edge, Galaxy S8, Galaxy S8+, Samsung Galaxy Note Fan Edition, Samsung Galaxy Note 8, Samsung Galaxy A8/A8+ (2018), and Samsung Galaxy S9/Galaxy S9+. === Screen Mirroring === Screen mirroring allows a user to sync the sender device to a receiver on a webpage, then control from the sender device to give a remote presentation of the 3D model. Devices are easily synced by entering a six-digit number displayed on the receiving computer. == Platform support == On iOS, the Kubity application is compatible with devices running on the version 9.0 or higher. On Android, Kubity is compatible with devices running on the version 4.4 “Kit Kat” or higher. The web version of Kubity applications currently support web browsers compatible with WebGL2 : Mozilla Firefox and Google Chrome. AR is compatible with devices running iOS11 including: iPhone SE, iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone X, all iPad Pro models, and iPad (2017), and Android devices. Requires Android 7.0 or later and access to the Google Play Store. VR is compatible with Google Cardboard viewers and other cardboard compatible devices including clip-on style VR glasses like Homido Mini, as well as the Samsung Gear VR and Oculus Go. Samsung Gear VR supports: Galaxy S6, Galaxy S6 Edge, Galaxy S6 Edge+, Samsung Galaxy Note 5, Galaxy S7, Galaxy S7 Edge, Galaxy S8, Galaxy S8+, Samsung Galaxy Note Fan Edition, Samsung Galaxy Note 8, Samsung Galaxy A8/A8+ (2018) and Samsung Galaxy S9/Galaxy S9+.

    Read more →
  • Library classification

    Library classification

    A library classification is a system used within a library to organize materials, including books, sound and video recordings, electronic materials, etc., both on shelves and in catalogs and indexes. Each item is typically assigned a call number, which identifies the location of the item within the system. Materials can be arranged by many different factors, typically in either a hierarchical tree structure based on the subject or using a faceted classification system, which allows the assignment of multiple classifications to an object, enabling the classifications to be ordered in many ways. == Description == Library classification is an important and crucial aspect in library and information science. It is distinct from scientific classification in that it has as its goal to provide a useful ordering of documents rather than a theoretical organization of knowledge. Although it has the practical purpose of creating a physical ordering of documents, it does generally attempt to adhere to accepted scientific knowledge. Library classification helps to accommodate all the newly published literature in an already created order of arrangement in a filial sequence. Library classification can be defined as the arrangement of books on shelves, or description of them, in the manner which is most useful to those who read with the ultimate aim of grouping similar things together. Library classification is meant to achieve these four purposes: ordering the fields of knowledge in a systematic way, bring related items together in the most helpful sequence, provide orderly access on the shelf, and provide a location for an item on the shelf. Library classification is distinct from the application of subject headings in that classification organizes knowledge into a systematic order, while subject headings provide access to intellectual materials through vocabulary terms that may or may not be organized as a knowledge system. The characteristics that a bibliographic classification demands for the sake of reaching these purposes are: a useful sequence of subjects at all levels, a concise memorable notation, and a host of techniques and devices of number synthesis. == History == Library classifications were preceded by classifications used by bibliographers such as Conrad Gessner. The earliest library classification schemes organized books in broad subject categories. The earliest known library classification scheme is the Pinakes by Callimachus, a scholar at the Library of Alexandria during the third century BC. During the Renaissance and Reformation era, "Libraries were organized according to the whims or knowledge of individuals in charge." This changed the format in which various materials were classified. Some collections were classified by language and others by how they were printed. After the printing revolution in the sixteenth century, the increase in available printed materials made such broad classification unworkable, and more granular classifications for library materials had to be developed in the nineteenth century. In 1627 Gabriel Naudé published a book called Advice on Establishing a Library. At the time, he was working in the private library of Président à mortier Henri de Mesmes II. Mesmes had around 8,000 printed books and many more Greek, Latin and French written manuscripts. Although it was a private library, scholars with references could access it. The purpose of Advice on Establishing a Library was to identify rules for private book collectors to organize their collections in a more orderly way to increase the collection's usefulness and beauty. Naudé developed a classification system based on seven different classes: theology, medicine, jurisprudence, history, philosophy, mathematics, and the humanities. These seven classes would later be increased to twelve. Advice on Establishing a Library was about a private library, but within the same book, Naudé encouraged the idea of public libraries open to all people regardless of their ability to pay for access to the collection. One of the most famous libraries that Naudé helped improve was the Bibliothèque Mazarine in Paris. Naudé spent ten years there as a librarian. Because of Naudé's strong belief in free access to libraries to all people, the Bibliothèque Mazarine became the first public library in France around 1644. Although libraries created order within their collections from as early as the fifth century BC, the Paris Bookseller's classification, developed in 1842 by Jacques Charles Brunet, is generally seen as the first of the modern book classifications. Brunet provided five major classes: theology, jurisprudence, sciences and arts, belles-lettres, and history. Classification can now be seen as a provider of subject access to information in a networked environment. == Types == There are many standard systems of library classification in use, and many more have been proposed over the years. However, in general, classification systems can be divided into three types depending on how they are used: === Universal schemes === Covers all subjects, e.g. the Dewey Decimal Classification (DDC), Universal Decimal Classification (UDC), and Colon Classification (CC). === Specific classification schemes === Covers particular subjects or types of materials, e.g. Iconclass (art), British Catalogue of Music Classification, and Dickinson classification (music), or the NLM Classification (medicine). === National schemes === Specially created for certain countries, e.g. Swedish library classification system, SAB (Sveriges Allmänna Biblioteksförening). The Library of Congress Classification was designed around the collection of the US Library of Congress and has an American, European, and Christian bias. Nevertheless, it is used widely in large academic and research libraries. In terms of functionality, classification systems are often described as: === Enumerative === Subject headings are listed alphabetically, with numbers assigned to each heading in alphabetical order. === Hierarchical === Subjects are divided hierarchically, from most general to most specific. === Faceted/analytico-synthetic === Subjects are divided into mutually exclusive orthogonal facets. There are few completely enumerative systems or faceted systems; most systems are a blend but favouring one type or the other. The most common classification systems, LCC and DDC, are essentially enumerative, though with some hierarchical and faceted elements (more so for DDC), especially at the broadest and most general level. The first true faceted system was the colon classification of S. R. Ranganathan. == Methods or systems == Classification types denote the classification or categorization according to the form or characteristics or qualities of a classification scheme or schemes. Method and system has similar meaning. Method or methods or system means the classification schemes like Dewey Decimal Classification or Universal Decimal Classification. The types of classification is for identifying and understanding or education or research purposes while classification method means those classification schemes like DDC, UDC. === English language universal classification systems === The most common systems in English-speaking countries are: Dewey Decimal Classification (DDC) Library of Congress Classification (LCC) Universal Decimal Classification (UDC) Other systems include: Book Industry Standards and Communications (BISAC), originally developed for use by U.S. booksellers, has become increasingly popular in libraries. Bliss bibliographic classification used in some British libraries Colon classification (CC) Garside classification used in most libraries of University College London Gladstone Library Classification, devised by W.E. Gladstone and used exclusively at Gladstone's Library Harvard-Yenching Classification, an English classification system for Chinese language materials === Non-English universal classification systems === German Regensburger Verbundklassifikation (RVK) A system of book classification for Chinese libraries (Liu's Classification) library classification for user New Classification Scheme for Chinese Libraries Nippon Decimal Classification (NDC) Chinese Library Classification (CLC) Korean Decimal Classification (KDC) Russian Library-Bibliographical Classification (BBK) Swedish library classification system (SAB) === Universal classification systems that rely on synthesis (faceted systems) === Bliss bibliographic classification Colon classification Cutter Expansive Classification Universal Decimal Classification Newer classification systems tend to use the principle of synthesis (combining codes from different lists to represent the different attributes of a work) heavily, which is comparatively lacking in LC or DDC. == Practice == Library classification is associated with library (descriptive) cataloging under the rubric of cataloging and classification, sometimes grouped together as technical serv

    Read more →
  • Computational theory of mind

    Computational theory of mind

    In philosophy of mind, the computational theory of mind (CTM), also known as computationalism, is a family of views that hold that the human mind is an information processing system and that cognition and consciousness together are a form of computation. It is closely related to functionalism, a broader theory that defines mental states by what they do rather than what they are made of. == History == Warren McCulloch and Walter Pitts (1943) were the first to suggest that neural activity is computational. They argued that neural computations explain cognition. A version of the theory was put forward by Peter Putnam and Robert W. Fuller in 1964. The theory was proposed in its modern form by Hilary Putnam in 1960 and 1961, aided by his then PhD student, philosopher and cognitive scientist Jerry Fodor, who continued the research as a post-doc in the 1960s, 1970s, and 1980s. It was later criticized by Putnam himself, John Searle, and others. == Classical computational theory of mind == The CTM holds that the human mind is a computational system that is realized (i.e., physically implemented) by neural activity in the brain. The theory can be elaborated in many ways and varies largely based on how the term computation is understood. In classical computational theory of mind (CCTM), computation is modeled in terms of Turing machines which manipulate symbols according to a rule, in combination with the internal state of the machine. A Turing machine is an abstract machine with unlimited time and storage. CCTM does not pretend that the mind looks like a Turing machine, but instead uses Turing machines as a formalism. Alan Turing argued that any symbolic algorithm executed by a human brain can in theory be replicated on a Turing machine. The critical aspect of such a computational model is that it allows to abstract away from particular physical details of the machine that is implementing the computation. For example, the appropriate computation could be implemented either by silicon chips or biological neural networks, so long as there is a series of outputs based on manipulations of inputs and internal states, performed according to a rule. Computational theories of mind are often said to require mental representation because 'input' into a computation comes in the form of symbols or representations of other objects. A computer cannot compute an actual object but must interpret and represent the object in some form and then compute the representation. Unlike CTM, the representational theory of mind shifts the focus to the symbols being manipulated. This approach better accounts for systematicity and productivity. In Fodor's view, the mind is a computational system that processes the language of thought. == Variants == Connectionist computationalism models the mind as a neural network. Steven Pinker and Alan Prince distinguish two types of connectionists: eliminative and implementationist. Eliminative connectionists generally reject classical CTMs and the idea of a structured, symbolic mind, whereas implementationists view neural networks and Turing machines as two potentially complementary levels of analysis. It is indeed possible in theory to implement a neural network in a Turing machine, or a Turing machine in a neural network. Building from the tradition of McCulloch and Pitts, the computational theory of cognition (CTC) states that neural computations explain cognition. The computational theory of mind asserts that not only cognition, but also phenomenal consciousness or qualia, are computational. That is to say, CTM entails CTC. While phenomenal consciousness could fulfill some other functional role, computational theory of cognition leaves open the possibility that some aspects of the mind could be non-computational. CTC, therefore, provides an important explanatory framework for understanding neural networks, while avoiding counter-arguments that center around phenomenal consciousness. == "Computer metaphor" == Computational theory of mind is not the same as the computer metaphor, comparing the mind to a modern-day digital computer. While the computer metaphor draws an analogy between the mind as software and the brain as hardware, CTM is the claim that the mind is literally a computational system. "Computational system" is not intended to mean a modern-day electronic computer. == Pancomputationalism == CTM raises a question that remains a subject of debate: what does it take for a physical system (such as a mind, or an artificial computer) to perform computations? A very straightforward account is based on a simple mapping between abstract mathematical computations and physical systems: a system performs computation C if and only if there is a mapping between a sequence of states individuated by C and a sequence of states individuated by a physical description of the system. Putnam (1988) and Searle (1992) argue that this simple mapping account (SMA) trivializes the empirical import of computational descriptions. As Putnam put it, "everything is a Probabilistic Automaton under some Description". Even rocks, walls, and buckets of water—contrary to appearances—are computing systems. Gualtiero Piccinini identifies different versions of pancomputationalism. Searle wrote:the wall behind my back is right now implementing the WordStar program, because there is some pattern of molecule movements that is isomorphic with the formal structure of WordStar. But if the wall is implementing WordStar, if it is a big enough wall it is implementing any program, including any program implemented in the brain.In response to the trivialization criticism, and to restrict SMA, philosophers of mind have offered different accounts of computational systems. These typically include causal account, semantic account, syntactic account, and mechanistic account. Instead of a semantic restriction, the syntactic account imposes a syntactic restriction. The mechanistic account was first introduced by Gualtiero Piccinini in 2007. == Criticism == A range of arguments have been proposed against physicalist conceptions used in computational theories of mind. An early, though indirect, criticism of the computational theory of mind comes from philosopher John Searle. In his thought experiment known as the Chinese room, Searle attempts to refute the claims that artificially intelligent agents can be said to have intentionality and understanding and that these systems, because they can be said to be minds themselves, are sufficient for the study of the human mind. Searle asks us to imagine that there is a man in a room with no way of communicating with anyone or anything outside of the room except for a piece of paper with symbols written on it that is passed under the door. With the paper, the man is to use a series of provided rule books to return paper containing different symbols. Unknown to the man in the room, these symbols are of a Chinese language, and this process generates a conversation that a Chinese speaker outside of the room can actually understand. Searle contends that the man in the room does not understand the Chinese conversation. This was originally written as a repudiation of the idea that computers work like minds. Objections like Searle's might be called insufficiency objections. They claim that computational theories of mind fail because computation is insufficient to account for some capacity of the mind. Arguments from qualia, such as Frank Jackson's knowledge argument, can be understood as objections to computational theories of mind in this way—though they take aim at physicalist conceptions of the mind in general, and not computational theories specifically. Objections have also been put forth that are directly tailored for computational theories of mind. Jerry Fodor himself argues that the mind is still a very long way from having been explained by the computational theory of mind. The main reason for this shortcoming is that most cognition is abductive and global, hence sensitive to all possibly relevant background beliefs to (dis)confirm a belief. This creates, among other problems, the frame problem for the computational theory, because the relevance of a belief is not one of its local, syntactic properties but context-dependent. Putnam himself (see in particular Representation and Reality and the first part of Renewing Philosophy) became a prominent critic of computationalism for a variety of reasons, including ones related to Searle's Chinese room arguments, questions of world-word reference relations, and thoughts about the mind-body problem. Regarding functionalism in particular, Putnam has claimed along lines similar to, but more general than Searle's arguments, that the question of whether the human mind can implement computational states is not relevant to the question of the nature of mind, because "every ordinary open system realizes every abstract finite automaton." Computationalists have responded by aiming to develop criteri

    Read more →
  • National Library of Medicine classification

    National Library of Medicine classification

    The National Library of Medicine (NLM) classification system is a library indexing system covering the fields of medicine and preclinical basic sciences. Operated and maintained by the U.S. National Library of Medicine, the NLM classification is patterned after the Library of Congress (LC) Classification system: alphabetical letters denote broad subject categories which are subdivided by numbers. For example, QW 279 would indicate a book on an aspect of microbiology or immunology. The one- or two-letter alphabetical codes in the NLM classification use a limited range of letters: only QS–QZ and W–WZ. This allows the NLM system to co-exist with the larger LC coding scheme as neither of these ranges are used in the LC system. There are, however, three pre-existing codes in the LC system which overlap with the NLM: Human Anatomy (QM), Microbiology (QR), and Medicine (R). To avoid further confusion, these three codes are not used in the NLM. The headings for the individual schedules (letters or letter pairs) are given in brief form (e.g., QW - Microbiology and Immunology; WG - Cardiovascular System) and together they provide an outline of the subjects covered by the NLM classification. Headings are interpreted broadly and include the physiological system, the specialties connected with them, the regions of the body chiefly concerned and subordinate related fields. The NLM system is hierarchical, and within each schedule, division by organ usually has priority. Each main schedule, as well as some sub-sections, begins with a group of form numbers ranging generally from 1–49 which classify materials by publication type, e.g., dictionaries, atlases, laboratory manuals, etc. The main schedules QS-QZ, W-WY, and WZ (excluding the range WZ 220–270) classify works published after 1913; the 19th century schedule is used for works published 1801–1913; and WZ 220-270 is used to provide century groupings for works published before 1801. == Classification categories == === Preclinical Sciences === QS Human Anatomy QT Physiology QU Biochemistry QV Pharmacology QW Microbiology & Immunology QX Parasitology QY Clinical Pathology QZ Pathology === Medicine and Related Subjects === W Health Professions WA Public Health WB Practice of Medicine WC Communicable Diseases WD Disorders of Systemic, Metabolic, or Environmental Origin, etc. WE Musculoskeletal System WF Respiratory System WG Cardiovascular System WH Hemic and Lymphatic Systems WI Digestive System WJ Urogenital System WK Endocrine System WL Nervous System WM Psychiatry WN Radiology. Diagnostic Imaging WO Surgery WP Gynecology WQ Obstetrics WR Dermatology WS Pediatrics WT Geriatrics. Chronic Disease WU Dentistry. Oral Surgery WV Otolaryngology WW Ophthalmology WX Hospitals & Other Health Facilities WY Nursing WZ History of Medicine 19th Century Schedule

    Read more →
  • Reflection (computer graphics)

    Reflection (computer graphics)

    Reflection in computer graphics is used to render reflective objects like mirrors and shiny surfaces. Accurate reflections are commonly computed using ray tracing whereas approximate reflections can usually be computed faster by using simpler methods such as environment mapping. Reflections on shiny surfaces like wood or tile can add to the photorealistic effects of a 3D rendering. == Approaches to reflection rendering == For rendering environment reflections there exist many techniques that differ in precision, computational and implementation complexity. Combination of these techniques are also possible. Image order rendering algorithms based on tracing rays of light, such as ray tracing or path tracing, typically compute accurate reflections on general surfaces, including multiple reflections and self reflections. However these algorithms are generally still too computationally expensive for real time rendering (even though specialized HW exists, such as Nvidia RTX) and require a different rendering approach from typically used rasterization. Reflections on planar surfaces, such as planar mirrors or water surfaces, can be computed simply and accurately in real time with two pass rendering — one for the viewer, one for the view in the mirror, usually with the help of stencil buffer. Some older video games used a trick to achieve this effect with one pass rendering by putting the whole mirrored scene behind a transparent plane representing the mirror. Reflections on non-planar (curved) surfaces are more challenging for real time rendering. Main approaches that are used include: Environment mapping (e.g. cube mapping): a technique that has been widely used e.g. in video games, offering reflection approximation that's mostly sufficient to the eye, but lacking self-reflections and requiring pre-rendering of the environment map. The precision can be increased by using a spatial array of environment maps instead of just one. It is also possible to generate cube map reflections in real time, at the cost of memory and computational requirements. Screen space reflections (SSR): a more expensive technique that traces rays come from pixel data.This requires the data of surface normal and either depth buffer (local space) or position buffer (world space).The disadvantage is that objects not captured in the rendered frame cannot appear in the reflections, which results in unresolved and or false intersections causing artefacts such as reflection vanishment and virtual image. SSR was originally introduced as Real Time Local Reflections in CryENGINE 3. == Types of reflection == Polished - A polished reflection is an undisturbed reflection, like a mirror or chrome surface. Blurry - A blurry reflection means that tiny random bumps, or microfacets, on the surface of the material causes the reflection to be blurry. Metallic - A reflection is metallic if the highlights and reflections retain the color of the reflective object. Glossy - This term can be misused: sometimes, it is a setting which is the opposite of blurry (e.g. when "glossiness" has a low value, the reflection is blurry). Sometimes the term is used as a synonym for "blurred reflection". Glossy used in this context means that the reflection is actually blurred. === Polished or mirror reflection === Mirrors are usually almost 100% reflective. === Metallic reflection === Normal (nonmetallic) objects reflect light and colors in the original color of the object being reflected. Metallic objects reflect lights and colors altered by the color of the metallic object itself. === Blurry reflection === Many materials are imperfect reflectors, where the reflections are blurred to various degrees due to surface roughness that scatters the rays of the reflections. === Glossy reflection === Fully glossy reflection, shows highlights from light sources, but does not show a clear reflection from objects. == Examples of reflections == === Wet floor reflections === The wet floor effect is a graphic effects technique popular in conjunction with Web 2.0 style pages, particularly in logos. The effect can be done manually or created with an auxiliary tool which can be installed to create the effect automatically. Unlike a standard computer reflection (and the Java water effect popular in first-generation web graphics), the wet floor effect involves a gradient and often a slant in the reflection, so that the mirrored image appears to be hovering over or resting on a wet floor.

    Read more →
  • Shane Legg

    Shane Legg

    Shane Legg (born 1973 or 1974) is a machine learning researcher and entrepreneur. With Demis Hassabis and Mustafa Suleyman, he cofounded DeepMind Technologies (later bought by Google and now called Google DeepMind), and works there as the chief AGI scientist. He is also known for his academic work on artificial general intelligence, including his thesis supervised by Marcus Hutter. == Early life and education == Legg attended Rotorua Lakes High School in Rotorua, on New Zealand's North Island. He completed his undergraduate studies at Waikato University in 1996. Also in 1996, he obtained his MSc degree with a thesis entitled "Solomonoff Induction", with Cristian S. Calude at the University of Auckland. == Research interests == In the early 2000s, Legg re-introduced and popularized with Ben Goertzel the term "artificial general intelligence" (AGI), to describe an AI that can do practically any cognitive task a human can do. At that time, talking about AGI "would put you on the lunatic fringe". Legg is known for his concern of existential risk from AI, highlighted in 2011 in an interview on LessWrong and in 2023 he signed the statement on AI risk of extinction. == Career == Before his PhD and before cofounding DeepMind, Shane Legg worked at "a number of software development positions at private companies", including the "big data firm Adaptive Intelligence" and the startup WebMind founded by Ben Goertzel. === Research === Legg later obtained a PhD at the Dalle Molle Institute for Artificial Intelligence Research (IDSIA), a joint research institute of USI Università della Svizzera italiana and SUPSI. He worked on theoretical models of super intelligent machines (AIXI) with Marcus Hutter, and completed in 2008 his doctoral thesis entitled "Machine Super Intelligence". He then went on to complete a postdoctoral fellowship in finance at USI, and began a further fellowship at University College London's Gatsby Computational Neuroscience Unit. === DeepMind === Demis Hassabis and Shane Legg first met in 2009 at University College London, where Legg was a postdoctoral researcher. In 2010, Legg cofounded the start-up DeepMind Technologies along with Demis Hassabis and Mustafa Suleyman. DeepMind Technologies was bought in 2014 by Google. After the merge with Google Brain in 2023, the company is now known as Google DeepMind. According to a 2017 article, a significant part of his job as the chief scientist was to supervise recruitment, to decide where DeepMind should focus its efforts, and to lead DeepMind's AI safety work. As of July 2023, Legg works at Google DeepMind as the Chief AGI Scientist. == Awards and honors == Legg was awarded the $10,000 prize of the Singularity Institute for Artificial Intelligence for his PhD done in 2008. Legg was appointed Commander of the Order of the British Empire (CBE) in the 2019 Birthday Honours for services to the science and technology sector and to investment.

    Read more →
  • 20Q

    20Q

    20Q is a computerized game of twenty questions that began as a test in artificial intelligence (AI). It was invented by Robin Burgener in 1988. The game was made handheld by Radica in 2003, but was discontinued in 2011 because Techno Source took the license for 20Q handheld devices. The game 20Q is based on the spoken parlor game known as twenty questions, and is both a website and a handheld device. 20Q asks the player to think of something and will then try to guess what they are thinking of with twenty yes-or-no questions. If it fails to guess in 20 questions, it will ask an additional 5 questions. If it fails to guess even with 25 (or 30) questions, the player is declared the winner. Sometimes the first guess of the object can be asked at question 14. == Principle and history == The principle is that the player thinks of something and the 20Q artificial intelligence asks a series of questions before guessing what the player is thinking. This artificial intelligence learns on its own with the information relayed back to the players who interact with it, and is not programmed. The player can answer these questions with: Yes, No, Unknown, and Sometimes. The experiment is based on the classic word game of Twenty Questions, and on the computer game "Animals," popular in the early 1970s, which used a somewhat simpler method to guess an animal. The 20Q AI uses an artificial neural network to pick the questions and to guess. After the player has answered the twenty questions posed (sometimes fewer), 20Q makes a guess. If it is incorrect, it asks more questions, then guesses again. It makes guesses based on what it has learned; it is not programmed with information or what the inventor thinks. Answers to any question are based on players’ interpretations of the questions asked. Newer editions were made for different categories, such as music 20Q which has the player think of a song, and Harry Potter 20Q, which has the player think of something from the world of the Harry Potter series. The 20Q AI can draw its own conclusions on how to interpret the information. It can be described as more of a folk taxonomy than a taxonomy. Its knowledge develops with every game played. In this regard, the online version of the 20Q AI can be inaccurate because it gathers its answers from what people think rather than from what people know. Limitations of taxonomy are often overcome by the AI itself because it can learn and adapt. For example, if the player was thinking of a "Horse" and answered "No" to the question "Is it an animal?," the AI will, nevertheless, guess correctly, despite being told that a horse is not an animal. Patent applications in the US and Europe were submitted in 2005. In August 2014, 20Q.net Inc., with Brashworks Studios, developed and released an iOS iPad version available at the Apple iTunes store. == Game show == On June 13, 2009, GSN began a TV version of the game, hosted by Cat Deeley, with Hal Sparks as the voice of Mr. Q.

    Read more →