AI Chatbot In Discord

AI Chatbot In Discord — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • DUAL table

    DUAL table

    The DUAL table is a special one-row, one-column table present by default in Oracle and other database installations. In Oracle, the table has a single VARCHAR2(1) column called DUMMY that has a value of 'X'. It is suitable for use in selecting a pseudo column such as SYSDATE or USER. == Example use == Oracle's SQL syntax requires the FROM clause but some queries don't require any tables - DUAL can be used in these cases. == History == Charles Weiss explains why he created DUAL: I created the DUAL table as an underlying object in the Oracle Data Dictionary. It was never meant to be seen itself, but instead used inside a view that was expected to be queried. The idea was that you could do a JOIN to the DUAL table and create two rows in the result for every one row in your table. Then, by using GROUP BY, the resulting join could be summarized to show the amount of storage for the DATA extent and for the INDEX extent(s). The name, DUAL, seemed apt for the process of creating a pair of rows from just one. == Optimization == Beginning with 10g Release 1, Oracle no longer performs physical or logical I/O on the DUAL table, though the table still exists. DUAL is readily available for all authorized users in a SQL database. == In other database systems == Several other databases (including Microsoft SQL Server, MySQL, PostgreSQL, SQLite, and Teradata) enable one to omit the FROM clause entirely if no table is needed. This avoids the need for any dummy table. ClickHouse has a one-row system table system.one with a single column named "dummy" of type UInt8 and value 0. This table is implicitly used when no table is specified in the SELECT query. Firebird has a one-row system table RDB$DATABASE that is used in the same way as Oracle's DUAL, although it also has a meaning of its own. IBM Db2 has a view that resolves DUAL when using Oracle Compatibility. It also has a table called sysibm.sysdummy1 that has similar properties to the Oracle DUAL one. Informix: Informix version 11.50 and later has a table named sysmaster:"informix".sysdual with the same functionality but a more verbose name. You can use CREATE PUBLIC SYNONYM dual FOR sysmaster:"informix".sysdual to create a name dual in the current database with the same functionality. Microsoft Access: A table named DUAL may be created and the single-row constraint enforced via ADO (Table-less UNION query in MS Access) Microsoft SQL Server: SQL Server does not require a dummy table. Queries like 'select 1 + 1' can be run without a "from" clause/table name. MySQL allows DUAL to be specified as a table in queries that do not need data from any tables. It is suitable for use in selecting a result function such as SYSDATE() or USER(), although it is not essential. PostgreSQL: A DUAL-view can be added to ease porting from Oracle. Snowflake: DUAL is supported, but not explicitly documented. It appears in sample SQL for other operations in the documentation. SQLite: A VIEW named "dual" that works the same as the Oracle "dual" table can be created as follows: CREATE VIEW dual AS SELECT 'x' AS dummy; SAP HANA has a table called DUMMY that works the same as the Oracle "dual" table. Teradata database does not require a dummy table. Queries like 'select 1 + 1' can be run without a "from" clause/table name. Vertica has support for a DUAL table in their official documentation.

    Read more →
  • Open-source robotics

    Open-source robotics

    Open-source robotics is a branch of robotics where robots are developed with open-source hardware and free and open-source software, publicly sharing blueprints, schematics, and source code. It is thus closely related to the open design movement, the maker movement and open science. == Requirements == Open source robotics means that information about the hardware is easily discerned, so that others can easily rebuild it. In turn, this requires design to use only easily available standard subcomponents and tools, and for the build process to be documented in detail including a bill of materials and detailed ('Ikea style') step-by-step building and testing instructions. (A CAD file alone is not sufficient, as it does not show the steps for performing or testing the build). These requirements are standard to open source hardware in general, and are formalised by various licences, certifications, especially those defined by the peer-reviewed journals Journal of Open Hardware and HardwareX. Licensing requirements for software are the same as for any open source software. But in addition, for software components to be of practical use in real robot systems, they need to be compatible with other software, usually as defined by some robotics middleware community standard. == Hardware systems == Applications to date include: Robot arms, e.g. PARA or Thor Wheeled mobile robots. e.g. OpenScout Four-legged robots such as the Open Dynamic Robot Initiative UAV quadcopters (drones) such as Agilicious Humanoid robots, e.g. iCub, Berkeley Humanoid Lite Self-driving cars, e.g. OpenPodcar (→ Personal rapid transit) Submersible robots, eg. OpenFish Laboratory robotics such as chemical liquid handling Vertical farming Swarm robots, e.g. HeRoSwarm Domestic tasks: vacuum cleaning, floor washing and grass mowing Robot sports including robot combat and autonomous racing Education == Hardware subcomponents == Most open source hardware definitions allow non-open subcomponents to be used in modular design, as long as they are easily available. However many designs try to push openness down into as many subcomponents as possible, with the aim of ultimately reaching fully open designs. Open hardware manual-drive vehicles and their subcomponents, such as from Open Source Ecology, are often used as starting points and extended with automation systems. Open subcomponents can include open-source computing hardware as subcomponents, such as Arduino and RISC-V, as well as open source motors and drivers such as the Open Source Motor Controller and ODrive. Open hardware robotics interface boards can simplify interfacing between middleware software and physical hardware. == Software subcomponents == === Middleware === Robotics middleware is software which links multiple other software components together. In robotics, this specifically means real-time communication systems with standardized message passing protocols. The predominant open source middleware is ROS2, the robot operating system, now as version 2. Other alternatives include ROS1, YARP — used in the iCub, URBI, and Orca. Open source middleware is usually run on an open source operating system, especially the Ubuntu distribution of Linux. === Driver software === Most robot sensors and actuators require software drivers. There is little standardization of open source software at this level, because each hardware device is different. Creating open drivers for closed hardware is difficult as it requires both low level programming and reverse engineering. === Simulation software === Open source robotics simulators include Gazebo, MuJoCo and Webots. Open source 3D game engines such as Godot are also sometimes used as simulators, when equipped with suitable middleware interfaces. === Automation software === At the level of AI, many standard algorithms have open source software implementations, mostly in ROS2. Major components include: Machine vision systems such as the YOLO object detector. 3D photogrammetry Navigation including SLAM and planning such as nav2 Arm inverse kinematics such as moveIt2 == Community == The first signs of the increasing popularity of building and sharing robot designs were found with the maker culture community. What began with small competitions for remote operated vehicles (e.g. Robot combat), soon developed to the building of autonomous telepresence robots such as Sparky and then true robots (being able to take decisions themselves) as the Open Automaton Project. Several commercial companies now also produce kits for making simple robots. The community has adopted open source hardware licenses, certifications, and peer-reviewed publications, which check that source has been made correctly and permanently available under community definitions, and which validate that this has been done. These processes have become critically important due to many historical projects claiming to be open source but them reverting on the promise due to commercialisation or other pressures. As with other forms of open source hardware, the community continues to debate precise criteria for 'ease of build'. A common standard is that designs should be buildable by a technical university student, in a few days, using typical fablab tools, but definitions of all of these subterms can also be debated. Compared to other forms of open source hardware, open source robotics typically includes a large software element, so involves software as well as hardware engineers. Open source concepts are more established in open source software than hardware, so robotics is a field in which those concepts can be shared and transferred from software to hardware. While the community in open source robotics is multi-faceted with a wide range of backgrounds, a sizable sub-community uses the ROS middleware and meets at the ROSCon conferences to discuss development of ROS itself and automation components built on it.

    Read more →
  • Adobe Presenter Video Express

    Adobe Presenter Video Express

    Adobe Presenter Video Express is screencasting and video editing software developed by Adobe Systems. == Description == Adobe Presenter Video Express is primarily used as a software by video creators, to record and mix webcam and screen video feeds. It allows users to simultaneously record video from their webcam and the screen, and easily mix the 2 tracks with a simple user interface. Users can change the background in their recorded video without needing equipment like a green screen. This is unlike other video tools which rely on chroma keying technology, and only work with green or blue screens. They can also add annotations and quizzes to their content and publish the video to MP4 or HTML5 formats. == List of notable features == === Record and mix, screen and webcam === Support for simultaneous recording of screen and webcam video feeds, with a simple editing interface to mix the two video streams. This lets the author rapidly create screencasts, software demos, etc. === Make my background awesome === This feature allows authors to change the background of their webcam recording without needing a green screen, provided they use a solid-colored backdrop which contrasts well against them. Authors can select images, videos or even the screen recording as their background. === In-video quizzing === Authors can insert quizzes within their video content. On success/failure attempts, the author can decide what message to display, and can also configure the video to jump to a certain point and play. Quizzes are published as part of the interactive HTML 5 player, which cannot be hosted on YouTube and Vimeo. === LMS Reporting === Authors can publish to any SCORM compliant LMS (Learning Management System) for quiz reporting, or to Adobe Captivate Prime. === In-app assets and branding === Adobe Presenter Video Express ships with a large number of branding videos, backgrounds and video filters to help authors create studio quality videos. === MP4 and HTML5 Output === The tool publishes a single MP4 video file containing all the video content, within an HTML 5 wrapper that contains the interactive player. The interactive HTML 5 player can be hosted on any website. == Common uses == === Screencasting === Screencasting is the process of recording one's computer screen as a video, usually with an audio voice over, to create a software demonstration, tutorial, presentation, etc. Adobe Presenter Video Express supports simultaneous recording of full screen video and microphone audio for creating screencasts. === Product marketing and demos === The ability to record the webcam video in addition to everything that is visible on the screen in Adobe Presenter Video Express, allows the author to add their personality to their screencasts. Features like video mixing and 'make my background awesome' further enhance the presentation, allowing effortless creation of marketing and demo videos. === Education === Adobe Presenter Video Express supports in-video quizzes and LMS reporting, along with screencasting and webcam recording. These features make it a powerful tool for creating educational content. == Differences from Adobe Presenter and Adobe Captivate == Adobe Presenter is a Microsoft PowerPoint plug-in for converting PowerPoint slides into interactive eLearning content, available only on Windows. Starting with Adobe Presenter 8, the video creation tool Adobe Presenter Video Express was bundled with every purchase of Adobe Presenter. From September 2015, Adobe Presenter Video Express 11 was also made available as a stand-alone product on Windows and Mac. A subscription license for Adobe Presenter Video Express, valid on Windows and Mac, is available for $9.99/month. Adobe Presenter Video Express continues to be bundled with purchases of Adobe Presenter on Windows as well. Adobe Captivate is an authoring tool for creating numerous forms of interactive eLearning content. Unlike Adobe Presenter, it uses a proprietary editing interface instead of Microsoft PowerPoint. While it is possible to create screen captures with Adobe Captivate, you cannot record the webcam feed. Adobe Captivate does not bundle Adobe Presenter or Adobe Presenter Video Express.

    Read more →
  • CinePlayer

    CinePlayer

    CinePlayer is a software based media player used to review Digital Cinema Packages (DCP) without the need for a digital cinema server by Doremi Labs. CinePlayer can play back any DCP, not just those created by Doremi Mastering products. In addition to playing DCPs, CinePlayer can also playback JPEG2000 image sequences and many popular multimedia file types. There are two versions of CinePlayer available, standard and Pro. The standard version supports playback of non-encrypted, 2D DCP's up to 2K resolution. The Pro version supports playback of encrypted, 2D or 3D DCP's with subtitles up to 4K resolution. == Supported formats == === Containers === AVI MOV MXF MPG TS WMV M2TS MTS MP4 MKV === Video codecs === JPEG2000 ProRes 422 DNxHD YUV Uncompressed 8-10 bits DIVX XVID MPEG4 AVC / H-264 VC-1 MPEG2 === Supported image sequences === BMP TIFF TGA DPX JPG J2C === Supported audio files === WAV MP3 WMA MP2

    Read more →
  • Conference app

    Conference app

    A conference app, also known as an event app or meeting app, is a mobile app developed to help attendees and meeting planners manage their conference experience. It typically includes conference proceedings and venue information, allowing users to create personalized schedules and engage with other users. A conference app can be a native app or web-based. In recent years, conference apps have gained in popularity as a sustainable solution for event management by reducing paper produced by printed materials. Advanced features often include real-time notifications for updates or changes, integration with virtual meeting platforms for hybrid or fully online events, and analytics tools for organizers to measure attendance and engagement. Additionally, some apps support sponsorship and exhibitor features, enabling businesses to showcase their products or services directly within the app.

    Read more →
  • PANGU (software)

    PANGU (software)

    The PANGU (Planet and Asteroid Natural scene Generation Utility) is a computer graphics utility of which the development was funded by ESA and performed by University of Dundee. It generates scenes of planets, moons, asteroids, spacecraft and rovers. The main purpose of the tool is to test and validate navigation techniques based on the processing of images coming from on-board sensors, such as a camera or imaging LIDAR on a planetary lander.

    Read more →
  • Shepp–Logan phantom

    Shepp–Logan phantom

    The Shepp–Logan phantom is a standard test image created by Larry Shepp and Benjamin F. Logan for their 1974 paper "The Fourier Reconstruction of a Head Section". It serves as the model of a human head in the development and testing of image reconstruction algorithms. == Definition == The function describing the phantom is defined as the sum of 10 ellipses inside a 2×2 square:

    Read more →
  • 3D-Coat

    3D-Coat

    3DCoat is a commercial digital sculpting program from Pilgway designed to create free-form organic and hard surfaced 3D models, with tools which enable users to sculpt, add polygonal topology (automatically or manually), create UV maps (automatically or manually), texture the resulting models with natural painting tools, and render static images or animated "turntable" movies. The program can also be used to modify imported 3D models from a number of commercial 3D software products by means of plugins called Applinks. Imported models can be converted into voxel objects for further refinement and for adding high resolution detail, complete UV unwrapping and mapping, as well as adding PBR textures for displacement, bump maps, specular and diffuse color maps. A live connection to a chosen external 3D application can be established through the Applink pipeline, allowing for the transfer of model and texture information. 3DCoat specializes in voxel sculpting and polygonal sculpting using dynamic patch tessellation technology and polygonal sculpting tools. It includes "auto-retopology", a proprietary skinning algorithm which generates a polygonal mesh skin over any voxel sculpture, composed primarily of quadrangles.

    Read more →
  • Cost-sensitive machine learning

    Cost-sensitive machine learning

    Cost-sensitive machine learning is an approach within machine learning that considers varying costs associated with different types of errors. This method diverges from traditional approaches by introducing a cost matrix, explicitly specifying the penalties or benefits for each type of prediction error. The inherent difficulty which cost-sensitive machine learning tackles is that minimizing different kinds of classification errors is a multi-objective optimization problem. == Overview == Cost-sensitive machine learning optimizes models based on the specific consequences of misclassifications, making it a valuable tool in various applications. It is especially useful in problems with a high imbalance in class distribution and a high imbalance in associated costs Cost-sensitive machine learning introduces a scalar cost function in order to find one (of multiple) Pareto optimal points in this multi-objective optimization problem (similar to the Weighted sum model) == Cost Matrix == The cost matrix is a crucial element within cost-sensitive modeling, explicitly defining the costs or benefits associated with different prediction errors in classification tasks. Represented as a table, the matrix aligns true and predicted classes, assigning a cost value to each combination. For instance, in binary classification, it may distinguish costs for false positives and false negatives. The utility of the cost matrix lies in its application to calculate the expected cost or loss. The formula, expressed as a double summation, utilizes joint probabilities: Expected Loss = ∑ i ∑ j P ( Actual i , Predicted j ) ⋅ Cost Actual i , Predicted j {\displaystyle {\text{Expected Loss}}=\sum _{i}\sum _{j}P({\text{Actual}}_{i},{\text{Predicted}}_{j})\cdot {\text{Cost}}_{{\text{Actual}}_{i},{\text{Predicted}}_{j}}} Here, P ( Actual i , Predicted j ) {\displaystyle P({\text{Actual}}_{i},{\text{Predicted}}_{j})} denotes the joint probability of actual class i {\displaystyle i} and predicted class j {\displaystyle j} , providing a nuanced measure that considers both the probabilities and associated costs. This approach allows practitioners to fine-tune models based on the specific consequences of misclassifications, adapting to scenarios where the impact of prediction errors varies across classes. == Applications == === Fraud Detection === In the realm of data science, particularly in finance, cost-sensitive machine learning is applied to fraud detection. By assigning different costs to false positives and false negatives, models can be fine-tuned to minimize the overall financial impact of misclassifications. === Medical Diagnostics === In healthcare, cost-sensitive machine learning plays a role in medical diagnostics. The approach allows for customization of models based on the potential harm associated with misdiagnoses, ensuring a more patient-centric application of machine learning algorithms. == Challenges == A typical challenge in cost-sensitive machine learning is the reliable determination of the cost matrix which may evolve over time. == Literature == Cost-Sensitive Machine Learning. USA, CRC Press, 2011. ISBN 9781439839287 Abhishek, K., Abdelaziz, D. M. (2023). Machine Learning for Imbalanced Data: Tackle Imbalanced Datasets Using Machine Learning and Deep Learning Techniques. (n.p.): Packt Publishing. ISBN 9781801070881

    Read more →
  • Passenger drone

    Passenger drone

    A passenger drone is an autonomous aircraft that is designed to carry a small number of passengers to a destination. In 2021, Ehang, a technology company based in Guangzhou, China, developed the Ehang 184, the world's first passenger drone. == History == Unmanned aerial vehicles were first introduced in World War 1, when Britain first developed the Aerial Target, an aircraft controlled remotely through radio signals. A year later in the United States, testing of Kettering Bug, a 12-foot long biplane attached with a bomb and that launched via a “slingshot-like rail”, was also under progress. Both of their unreliable test results and their possibility of endangering friendly troops in deployment caused neither aircraft to be used during the war. Production of UAVs continued after World War I and into World War II and the Vietnam War, where they would be invaluable in assisting with training as well as reconnaissance. Late 20th century also saw the proposition and development of unique methods of travel, including personal jetpacks and even flying cars. While the previously mentioned are not drones, they serve as a precursor and foundation for the passenger drones of today. The first passenger drone was unveiled on January 6 of 2016 at the international Consumer Electronics Show (CES) in Las Vegas. Produced by Ehang, a Chinese company based in Guangzhou, the 184 was a one passenger drone equipped with four propellers that could fly for approximately 23 minutes at a top speed of 63 mph. Since then, many new companies have entered the market, but none yet have been accessible by the public. == Technological development == Since 2013, improvements in designs to wing structures have contributed to the economic feasibility of passenger drones. New structural advancements, such as the flapping-wing propulsion system based on the mechanisms of birds’ wings, are more available as they have proven their capabilities in laboratory testing. As of September 29th, 2015, most market-ready drones are delivery drones with a carrying capacity limited to small packages - with a typical max capacity of under 5 pounds. However, while the technology exists for drones with larger carrying capacities, specifically those capable of carrying multiple humans, the execution of this technology is not yet market accessible. This capacity limit must be addressed for passenger drones; given current designs strive to carry a maximum of 5 people. However, some estimates believe that passengers drones could become a reality, specifically for paid transportation and emergency purposes, as early as 2026. With implementation of this technology, there could be significant effects on ground traffic including reducing gridlock in heavily congested areas and conserving up to 15% of the fuel currently used in heavy traffic patterns. However, extensive growth of the passenger drone market also risks clouding the low-altitude airspace and causing new safety risks. However, this concern is being addressed by recent advancements in the Internet of Drones (IoD) which links drones together to ensure appropriate pathing and reduce mid-air collisions. While this brings additional security issues, including maintaining reliable communication channels in the case of technological failure, researchers hope that this will help reduce crashes that can result in damage to passengers, buildings, and people in and around the airspace. == Notable companies == Ehang is a Chinese company that has developed numerous drones including passenger plane Ehang 184. EHang 184 was their first model, developed as an eight dual rotor wing blade drone that can carry two passengers. The model was retired in 2020 and is replaced by the Ehang 216. Ehang also released a one passenger drone, Ehang 116. Ehang in 2021 unveiled the model VT-30. VT-30 is designed to have eight dual rotor wing blades to complement its fixed wing platform. Flyastro, a Texas-based drone company, developed the Astro ALTA, with two and four person passenger models. The company is known for being the first to develop a solar-powered airplane. The development team initially began with the model, Elroy. It was a two passenger drone with similar design to the ALTA. Once flight was achieved, the model Astro ALTA began development. Joby Aviation is a California based company that has developed a five passenger drone, with one seat for the pilot. The company expects to complete its FAA certification process 2022. Joby in 2020 acquired a 75 million dollar investment from service provider Uber Technologies Inc., leading to Uber Elevate and Expands partnership. Archer Aviation is a California-based company that has developed a two passenger model called Maker. It has fixed wings with twelve rotor wings. Archer is developing five person model. United Airlines has partnered with Archer for commercial sale of the model, Maker. Maker is expected to be released within Los Angeles and Miami by 2024. CityAirbus is a drone project developed by Airbus, a European multinational aerospace company, based in the Netherlands. CityAirbus has developed a four- person passenger drone with fixed wings that include rotor wing blades. Its expected certification for public flight is in 2025. Boeing, an American multinational aviation corporation is developing a passenger drone model called the Passenger Air Vehicle (PAV). The model is a fixed wing with eight rotor blade wings attached onto a platform underneath the base structure. This model can hold two passengers and still is in development. Volocopter is a German aircraft manufacturer that is developing a passenger drone called Volocity. The model consist of eighteen rotor wings above the cockpit on a circular ring. Japan Airlines, an investor of Volocopter plans to have public test in Japan as early as 2023. == Future use == === Potential benefits === Passenger drones can greatly reduce the time for travel. As passenger drones flight paths are not restricted by conventional roads, the travel distance is shortened. Current ventures such as Joby Aviation, after acquiring Uber Air, plan to take advantage of this technology in the form of air taxis. Other potential benefits include the use of passenger drones by emergency services such as search and rescue missions and the delivery of life saving goods. Companies like Ehang have already begun using passenger drones as emergency vehicles as a response to the potential river collapses during the flood season in China. === Concerns === Passenger and air traffic safety remains at the forefront of concerns. Regulations for air traffic centered around passenger drones are still underway and would continue to develop with increasing use cases for passenger drones. Remote security threats on commercial drones such as Man-In-The-Middle (MITM) attack have also exposed the vulnerabilities in current drone systems. Among American adults, 54 percent say that they would feel unsafe flying inside a passenger drone. Passenger drones can be very noisy; a single passenger drone such as Joby Aviation’s all-electric vertical take-off and landing (“eVTOL”) aircraft has an estimated noise production of 70 decibels (dB), a noise level equating to “loud traffic”.

    Read more →
  • Normalization (image processing)

    Normalization (image processing)

    In image processing, normalization is a process that changes the range of pixel intensity values, a kind of intensity mapping. Applications include photographs with poor contrast due to glare, for example. A typical case is contrast stretching. In more general fields of data processing, such as digital signal processing, it is referred to as dynamic range expansion. The purpose of dynamic range expansion in the various applications is usually to bring the image, or other type of signal, into a range that is more familiar or normal to the senses, hence the term normalization. Often, the motivation is to achieve consistency in dynamic range for a set of data, signals, or images to avoid mental distraction or fatigue. For example, a newspaper will strive to make all of the images in an issue share a similar range of grayscale. Auto-normalization in image processing software typically normalizes to the full dynamic range of the number system specified in the image file format. == Definition == Normalization transforms an n-dimensional grayscale image I : { X ⊆ R n } → { Min , . . , Max } {\displaystyle I:\{\mathbb {X} \subseteq \mathbb {R} ^{n}\}\rightarrow \{{\text{Min}},..,{\text{Max}}\}} with intensity values in the range ( Min , Max ) {\displaystyle ({\text{Min}},{\text{Max}})} , into a new image I N : { X ⊆ R n } → { newMin , . . , newMax } {\displaystyle I_{N}:\{\mathbb {X} \subseteq \mathbb {R} ^{n}\}\rightarrow \{{\text{newMin}},..,{\text{newMax}}\}} with intensity values in the range ( newMin , newMax ) {\displaystyle ({\text{newMin}},{\text{newMax}})} . The linear normalization of a grayscale digital image is performed according to the formula I N = ( I − Min ) newMax − newMin Max − Min + newMin {\displaystyle I_{N}=(I-{\text{Min}}){\frac {{\text{newMax}}-{\text{newMin}}}{{\text{Max}}-{\text{Min}}}}+{\text{newMin}}} For example, if the intensity range of the image is 50 to 180 and the desired range is 0 to 255 the process entails subtracting 50 from each of pixel intensity, making the range 0 to 130. Then each pixel intensity is multiplied by 255/130, making the range 0 to 255. Normalization might also be non-linear, as the relationship between I {\displaystyle I} and I N {\displaystyle I_{N}} may not be linear. An example of non-linear normalization is when the normalization follows a sigmoid function, in which case the normalized image is computed according to the formula I N = ( newMax − newMin ) 1 1 + e − I − β α + newMin {\displaystyle I_{N}=({\text{newMax}}-{\text{newMin}}){\frac {1}{1+e^{-{\frac {I-\beta }{\alpha }}}}}+{\text{newMin}}} Where α {\displaystyle \alpha } defines the width of the input intensity range, and β {\displaystyle \beta } defines the intensity around which the range is centered. Gamma correction (log/inverse log) is also a common transformation function. === Colorspace === Intensity operations generally operate on a colorspace that maps to the human perception of lightness without intentionally changing the other properties. This can be done, for example, by operating on the L component of the CIELAB color space, or approximately by operating on the Y component of YCbCr. It is also possible to operate on each of the RGB color channels, though the result will not always make sense. == Contrast stretching == This is the most significant and essential technique of spatial-based image enhancement. The basic intent of this contrast enhancement technique is to adjust the local contrast in the image so as to bring out the clear regions or objects in the image. Low-contrast images often result from poor or non-uniform lighting conditions, a limited dynamic range of the imaging sensor, or improper settings of the lens aperture. This operation tries to change the intensity of the pixel in the image, particularly in the input image, to obtain an enhanced image. It is based on the number of techniques, namely local, global, dark and bright levels of contrast. The contrast enhancement is considered as the amount of color or gray differentiation that lies among the different features in an image. The contrast enhancement improves the quality of image by increasing the luminance difference between the foreground and background. A contrast stretching transformation can be achieved by: Stretching the dark range of input values into a wider range of output values: This involves increasing the brightness of the darker areas in the image to enhance details and improve visibility. Shifting the mid-range of input values: This involves adjusting the brightness levels of the mid-tones in the image to improve overall contrast and clarity. Compressing the bright range of input values: This process involves reducing the brightness of the brighter areas in the image to prevent overexposure resulting in a more balanced and visually appealing image. It can be described as the following piecewise funciton: I N = { s 1 r 1 I if I < r 1 s 2 − s 1 r 1 − r 2 ( I − r 1 ) if r 1 ≤ I ≤ r 2 1 − s 2 1 − r 2 ( I − r 2 ) if I > r 2 {\displaystyle I_{N}={\begin{cases}{\frac {s_{1}}{r_{1}}}I&{\text{if }}Ir_{2}\end{cases}}} Where: ( r 1 , s 1 ) {\displaystyle (r_{1},s_{1})} defines the transition point between the "dark" range to the "main" range. ( r 2 , s 2 ) {\displaystyle (r_{2},s_{2})} defines the transition point between the "main" range to the "bright" range. A typical linear stretch is obtained when ( r 1 , s 1 ) = ( r min , 0 ) {\displaystyle (r_{1},s_{1})=(r_{\text{min}},0)} and ( r 2 , s 2 ) = ( r max , 1 ) {\displaystyle (r_{2},s_{2})=(r_{\text{max}},1)} , where r min {\displaystyle r_{\text{min}}} and r max {\displaystyle r_{\text{max}}} denote the minimum and maximum levels in the source image. === Global contrast stretching === Global Contrast Stretching considers all color palate ranges at once to determine the maximum and minimum values for the entire RGB color image. This approach utilizes the combination of RGB colors to derive a single maximum and minimum value for contrast stretching across the entire image. === Local contrast stretching === Local contrast stretching (LCS) is an image enhancement method that focuses on locally adjusting each pixel's value to improve the visualization of structures within an image, particularly in both the darkest and lightest portions. It operates by utilizing sliding windows, known as kernels, which traverse the image. The central pixel within each kernel is adjusted using the following formula: I p ( x , y ) = 255 × [ I 0 ( x , y ) − m i n ] ( m a x − m i n ) {\displaystyle I_{p}(x,y)=255\times {\frac {[I_{0}(x,y)-min]}{(max-min)}}} Where: Ip(x,y) is the color level for the output pixel (x,y) after the contrast stretching process. I0(x,y) is the color level input for data pixel (x, y). max is the maximum value for color level in the input image within the selected kernel. min is the minimum value for color level in the input image within the selected kernel. A piecewise form (see above) may also be used. LCS can be applied to the three color channels of an image separately.

    Read more →
  • Boris FX

    Boris FX

    Boris FX is a visual effects, video editing, photography, and audio software plug-in developer based in Miami, Florida, USA. The developer is known for its flagship products, Continuum (formerly Boris Continuum Complete/BCC), Sapphire, Mocha, and Silhouette. Boris FX creates plug-in tools for feature film, broadcast television, and multimedia post-production workflows. The plug-ins are compatible with various NLEs, including Adobe After Effects and Premiere Pro, Avid Media Composer, Apple Final Cut Pro, and OFX hosts such as Autodesk Flame, Foundry Nuke, Blackmagic Design DaVinci Resolve and Fusion, and VEGAS Pro. Boris FX has incorporated artificial intelligence into its software, introducing features for noise reduction, rotoscoping, upscaling, and masking. The company has acquired technologies via mergers and acquisitions from Imagineer Systems, GenArts, Silhouette FX, Digital Film Tools, CrumplePop and Andersson Technologies to expand its visual effects, editing, photography, and audio tools. == History == Boris FX was founded in 1995 by Boris Yamnitsky. The former Media 100 engineer (a member of the original Media 100 launch team in 1993) released “Boris FX,” the first plug-in-based digital video effects (DVE) for Adobe Premiere and Media 100, in 1995. The plug-in won Best of Show at Apple Macworld in Boston, MA that same year. The Boris FX Suite includes a range of visual effects and post-production tools, such as Sapphire, Continuum, Mocha Pro, Silhouette, SynthEyes, CrumplePop, Optics, and Particle Illusion. == Media 100 == In October 2005, Yamnitsky acquired Media 100 the company that launched his plug-in career. Boris FX had a long relationship with Media 100 which bundled Boris RED software as its main titling and compositing solution. Media 100's video editing software is available as freeware for macOS. == Continuum == Continuum is a visual effect and compositing plugin suite that includes a library of over 300 effects and more than 40 transitions, including tools for image restoration, compositing, titling, particle generation, and stylized effects, along with features such as lens flares, lighting effects, and cinematic color grading presets. A key component of Continuum is its integration with the Mocha planar tracking and masking system, enabling advanced tracking and rotoscoping within the effects. The suite also includes Particle Illusion, a real-time particle generator used for creating visual effects such as explosions, smoke, and abstract motion graphics, as well as Primatte Studio, a chroma keying and compositing toolset for green screen and blue screen workflows. Continuum supports GPU acceleration and offers compatibility with HDR and 360/VR content. Regular updates introduce new effects, presets, and performance enhancements to expand its capabilities. In October 2018, Continuum relaunched Particle Illusion, a Mocha Essentials workflow with magnetic edge-snapping, and updates to Title Studio. In October 2019, Continuum introduced Corner Pin Studio with built-in Mocha tracking for quick screen replacement and inserts, 6 stylized transitions, and 4 creative effects. In October 2020, Continuum released an update that included over 80 GPU-accelerated effects such as film stocks, color grades, optical filter simulations, and a digital gobo library. The update also introduced a custom FX Editor interface, real-time particles, and more than 1,000 drag-and-drop presets. In November 2021, it added multi-frame rendering for After Effects, native Apple M1 support, fluid dynamics in Particle Illusion, and 60 color-grade presets. In October 2022, the software introduced 10 additional transitions, a revised Particle Illusion workflow, an atmospheric glow effect, and more than 250 curated presets. Continuum plugins have been used in television, streaming, and film projects, including A Black Lady Sketch Show (HBO/HBO Max), Star Trek: Discovery (CBS), Andor (Disney+), The Curse of Oak Island (History Channel), Keeping up with the Kardashians (E!), This Old House (PBS), Ms. Marvel (Disney+), MasterChef (Fox), WipeOut (TBS), The Boys (Prime Video), and The Today Show (NBC). == Mocha Pro == In December 2014, Boris FX merged with Imagineer Systems, the UK-based developer of the Academy Award-winning planar motion tracking software, Mocha Pro. Mocha Pro's features include planar tracking (motion tracking), rotoscoping, image stabilization, 3D camera tracking, and object removal. In June 2016, Mocha released (v5) which introduced Mocha Pro's tools as plug-ins for Adobe After Effects and Premiere Pro, Avid Media Composer, and OFX hosts Foundry's NUKE, Blackmagic Design Fusion, VEGAS Pro, and HitFilm. A simplified version, Mocha AE, is included with Adobe After Effects Creative Cloud and has been bundled with the software since CS4. A similar version is also available with HitFilm Pro from FXhome and VEGAS Pro. Mocha's tracking SDK is integrated into other visual effects tools, including SAM Quantel Pablo Rio, Silhouette FX, CoreMelt, and Motion VFX. Mocha Pro has been used in various film and television productions, including Birdman, Black Swan, the Harry Potter series, The Hobbit, Star Wars, The Mandalorian, Star Trek: Discovery, and The Umbrella Academy. It has also been employed in projects such as Gone Girl, The Hunger Games: Mockingjay – Part 1, Game of Thrones, and House of Cards. == Sapphire == GenArts, founded by Karl Sims in 1996, developed visual effects plug-ins that were used by studios and post-production facilities. In September 2016, Boris FX merged with former competitor, GenArts, Inc., developer of Sapphire high-end visual effects plug-ins, to expand its suite of motion graphics and VFX tools. The merger brought Sapphire alongside Boris Continuum Complete (BCC) and Mocha Pro, integrating these tools for film and television post-production. The Sapphire suite includes a library of over 270 effects and transitions, organized into categories such as lighting, stylization, distortions, textures, and transitions. Commonly used effects include glows, lens flares, film looks, and blurs. The plug-ins are designed to be GPU-accelerated, allowing for improved rendering performance and real-time previews in supported host applications. A central feature of Sapphire is the Builder tool, a node-based workspace that allows users to create custom effects and transitions by combining multiple Sapphire plug-ins. This enables a high level of creative flexibility and reusability, making it a popular tool for both editors and VFX artists. Sapphire also integrates with Mocha, Boris FX's planar tracking and masking system, allowing for advanced control of visual elements within an effect. In October 2017, Boris FX released its first new version of Sapphire since the GenArts acquisition. Sapphire (v11) now includes integrated Mocha tracking and masking tools. Sapphire is available for Adobe, Avid, the Autodesk Flame family, and OFX hosts including Blackmagic DaVinci Resolve and Fusion, and Foundry's NUKE. As part of the merger, Boris FX acquired the rights to Particle Illusion. In 2018, Boris FX reintroduced the product to the larger NLE/Compositing market. Sapphire's plug-ins transitioned from C to C++ to improve performance and support higher-resolution visual effects. This update enhanced floating-point calculations, compatibility with film editing APIs, and integration with NVIDIA's CUDA for faster rendering. The plug-ins have been used in various films, including Avatar, the Harry Potter and the Prisoner of Azkaban, Iron Man, The Lord of the Rings, The Matrix trilogy, Titanic, and X-Men. == Particle Illusion == As part of the merger with GenArts in 2016, Boris FX acquired the rights to the Particle Illusion (formerly particleIllusion) product, a storied particle system from the original developer Alan Lorence, the founder of Wondertouch. In 2018, Boris FX released a redesigned version of the product to a larger NLE/compositing market as part of Continuum (2019). The new Particle Illusion plug-in supports Adobe, Avid, and many OFX hosts. == Silhouette == In September 2019, Boris FX merged with SilhouetteFX, Academy Award-winning developer of Silhouette, a high-end digital paint, advanced rotoscoping, motion tracking, and node-based compositing application for visual effects in film post-production. The acquisition integrated Silhouette's advanced rotoscoping and paint technology, recognized by the Academy of Motion Pictures, into Boris FX's suite of products, alongside Sapphire, Continuum, and Mocha Pro. In May 2021, Boris FX released Silhouette 2021, the first version of Silhouette released by Boris FX to function both as a standalone application and as a plug-in for Adobe, Autodesk, Nuke, and other OFX hosts. Silhouette has been used in the visual effects of films such as Avatar, Avengers: Infinity War, Blade Runner 2049, Ex Machina, and Interstellar. == Optics == In June 2020, Boris FX launched Optics, its first plugin deve

    Read more →
  • Instance selection

    Instance selection

    Instance selection (or dataset reduction, or dataset condensation) is an important data pre-processing step that can be applied in many machine learning (or data mining) tasks. Approaches for instance selection can be applied for reducing the original dataset to a manageable volume, leading to a reduction of the computational resources that are necessary for performing the learning process. Algorithms of instance selection can also be applied for removing noisy instances, before applying learning algorithms. This step can improve the accuracy in classification problems. Algorithm for instance selection should identify a subset of the total available data to achieve the original purpose of the data mining (or machine learning) application as if the whole data had been used. Considering this, the optimal outcome of IS would be the minimum data subset that can accomplish the same task with no performance loss, in comparison with the performance achieved when the task is performed using the whole available data. Therefore, every instance selection strategy should deal with a trade-off between the reduction rate of the dataset and the classification quality. == Instance selection algorithms == The literature provides several different algorithms for instance selection. They can be distinguished from each other according to several different criteria. Considering this, instance selection algorithms can be grouped in two main classes, according to what instances they select: algorithms that preserve the instances at the boundaries of classes and algorithms that preserve the internal instances of the classes. Within the category of algorithms that select instances at the boundaries it is possible to cite DROP3, ICF and LSBo. On the other hand, within the category of algorithms that select internal instances, it is possible to mention ENN and LSSm. In general, algorithm such as ENN and LSSm are used for removing harmful (noisy) instances from the dataset. They do not reduce the data as the algorithms that select border instances, but they remove instances at the boundaries that have a negative impact on the data mining task. They can be used by other instance selection algorithms, as a filtering step. For example, the ENN algorithm is used by DROP3 as the first step, and the LSSm algorithm is used by LSBo. There is also another group of algorithms that adopt different selection criteria. For example, the algorithms LDIS, CDIS and XLDIS select the densest instances in a given arbitrary neighborhood. The selected instances can include both, border and internal instances. The LDIS and CDIS algorithms are very simple and select subsets that are very representative of the original dataset. Besides that, since they search by the representative instances in each class separately, they are faster (in terms of time complexity and effective running time) than other algorithms, such as DROP3 and ICF. Besides that, there is a third category of algorithms that, instead of selecting actual instances of the dataset, select prototypes (that can be synthetic instances). In this category it is possible to include PSSA, PSDSP and PSSP. The three algorithms adopt the notion of spatial partition (a hyperrectangle) for identifying similar instances and extract prototypes for each set of similar instances. In general, these approaches can also be modified for selecting actual instances of the datasets. The algorithm ISDSP adopts a similar approach for selecting actual instances (instead of prototypes).

    Read more →
  • Robotics

    Robotics

    Robotics is the interdisciplinary study and practice of the design, construction, operation, and use of robots. A roboticist is someone who specializes in robotics. Robotics usually combines four aspects of design work: a power source (e.g. a battery), mechanical construction, a control system (electrical circuits), and software (run by remote control or artificial intelligence). The goal of most robotics is to design machines that can assist humans in various fields, such as agriculture, construction, domestic work, food processing, inventory management, manufacturing, medicine, military, mining, space exploration, and transportation. Robots impact humans by displacing workers. Some expect this to occur at an increasing rate, leading to proposed solutions such as basic income. Robotics is itself a lucrative business that creates careers, especially for postgraduates. Roboticists often aim to create machines that seem to interface naturally with humans. The field is under active research and development, with areas of interest including robot kinematics and quantum robotics. == Design == Robotics usually combines four aspects of design work to create a robot: Power source: Potential energy sources include wired electricity, a battery, and/or petrol. Mechanical construction: A physical form or combination of forms is designed to functionally achieve tasks within a given range of environments. This can include locomotive elements such as wheels and caterpillar tracks, as well as hydraulic limbs and manipulators (e.g. hands). Control system: Electrical circuits (utilizing components such as diodes and transistors) are used to run software, govern motor movement, and read sensors. Software: A program is how a robot decides when or how to do something. Robotic programs can be run by remote control, artificial intelligence (AI), or a hybrid of the two. AI programming is an important part of robotic navigation and human–robot interaction. === Power source === Many different types of batteries can be used as a power source. Most are lead–acid batteries, which are safe and have relatively long shelf lives but are rather heavy compared to silver–cadmium batteries, which are much smaller in volume and much more expensive. Designing a battery-powered robot needs to take into account factors such as safety, cycle lifetime, and weight. Generators, often some type of internal combustion engine, can also be used, but are often mechanically complex and inefficient. Additionally, a tether could connect the robot to a power supply, saving weight and space, but requiring a cumbersome cable. Potential power sources include: Flywheel energy storage Hydraulics Nuclear Organic garbage (through anaerobic digestion) Pneumatics (compressed gases) Solar power === Mechanical construction === Actuators are the "muscles" of a robot, the parts which convert stored energy into movement. The most popular actuators are electric motors that rotate a wheel or gear and linear actuators that control factory robots. Most robots use electric motors—often brushed and brushless DC motors in portable robots or AC motors in industrial robots and computer numerical control machines—especially in systems with lighter loads and where the predominant form of motion is rotational. Meanwhile, linear actuators move in and out and often have quicker direction changes, particularly when large forces are needed, such as with industrial robotics. They are typically powered by oil or compressed air, but can also be powered by electricity, usually via a motor and a leadscrew. The mechanical rack and pinion is common. Recent alternatives to DC motors are piezoelectric motors, including ultrasonic motors, in which tiny piezoceramic elements vibrate many thousands of times per second, causing linear or rotary motion. One type uses the vibration of the piezo elements to step the motor in a circle or a straight line; another type uses the piezo elements to vibrate a nut or drive a screw. The advantages of these motors are nanometer resolution, speed, and force for their size. Series elastic actuation (SEA) relies on introducing intentional elasticity between the motor actuator and the load for robust force control. Due to the resultant lower reflected inertia, series elastic actuation improves safety during robot interactions or collisions. Further, it provides energy efficiency and shock absorption (mechanical filtering) while reducing excessive wear on the transmission and other components. This approach has successfully been employed in various robots, particularly advanced manufacturing robots and walking humanoid robots. The controller design of a series elastic actuator is most often performed within the passivity framework as it ensures the safety of interaction with unstructured environments. However, this framework suffers from stringent limitations imposed on the controller, which may impact performance. Pneumatic artificial muscles, also known as air muscles, are special tubes that expand (typically up to 42%) when air is forced inside them; they are used in some robot applications. Muscle wire, also known as shape memory alloy, is a material that contracts (under 5%) when electricity is applied; they have been used for some small robots. Electroactive polymers are a plastic material that can contract substantially (up to 380% activation strain) from electricity and have been used in the facial muscles and arms of humanoid robots, as well as to enable new robots to float, fly, swim or walk. Additionally, elastic carbon nanotubes are a promising experimental artificial muscle technology. The absence of defects in carbon nanotubes enables these filaments to deform elastically by several percent, with energy storage levels of perhaps 10 J/cm3 for metal nanotubes. Human biceps could be replaced with wire of this material measuring 8 millimetres (3⁄8 in) in diameter, feasibly allowing future robots to outperform humans. ==== Locomotion ==== Robots with only one or two wheel(s) can have advantages such as greater efficiency, reduced parts, and navigation through confined areas. A one-wheeled robot balances on a round ball; Carnegie Mellon University's Ballbot is the approximate height and width of a person. Several attempts have also been made to build spherical robots (also known as orb bots or ball bots), which move by spinning a weight inside the ball or rotating outer shells. Two-wheeled balancing robots generally use a gyroscope to detect how much a robot is falling and drive the wheels proportionally up to hundreds of times per second to counterbalance the fall, based on inverted pendulum dynamics. NASA's Robonaut has been mounted to a Segway for a similar effect. Most mobile robots have four wheels or continuous tracks. Six wheels can give better traction in outdoor terrain, while tracks provide even more grip. Tracked wheels are common for outdoor off-road robots, but are difficult to use indoors. A small number of skating robots have been developed, one of which is a multimodal walking and skating device with four legs and unpowered wheels. Several robots have been made that can walk on two legs, but not yet as reliably as a human. Many other robots have been built that walk on more than two legs, being significantly easier. Walking robots could be used for uneven terrains, providing a high degree of mobility and efficiency, but two-legged robots can currently only handle flat floors or perhaps stairs. Some approaches have included: The zero moment point (ZMP) is the algorithm used by robots such as Honda's ASIMO. The robot's onboard computer tries to keep the total inertial forces (the combination of Earth's gravity and the acceleration and deceleration of walking) exactly opposed by the floor reaction force (the force of the floor pushing back on the robot's foot). In this way, the two forces cancel out, leaving no moment (force causing the robot to rotate and fall over). Human observers note that this is not exactly how a human walks, with some describing ASIMO's walk as looking like it needs use the bathroom. ASIMO's walking algorithm utilizes some dynamic balancing, but requires a flat surface. Several robots, built in the 1980s by Marc Raibert at the MIT Leg Laboratory, successfully demonstrated very dynamic walking. Initially, a robot with only one leg, and a very small foot could stay upright simply by hopping. The movement is the same as that of a person on a pogo stick. As the robot falls to one side, it would jump slightly in that direction to catch itself. Soon, the algorithm was generalized to two and four legs. A bipedal robot was demonstrated running and even performing somersaults. A quadruped was also demonstrated which could trot, run, pace, and bound. A more advanced approach is a dynamic balancing algorithm, which constantly monitors the robot's motion and places the feet to maintain stability. This technique has been demonstrated by Anybots' Dexter robot (

    Read more →
  • OpenPipeline

    OpenPipeline

    openPipeline is an open-source plug-in for Autodesk Maya that is designed to assist in a Production Pipeline structure and Computer animation. == Development == Created in Maya Embedded Language, openPipeline was initiated at Eyebeam Atelier and further developed at Pratt Institute in the Digital Arts Lab. The initial release date was December 28, 2006. == Contributors == Rob O'Neill (Creator) Paris Mavroidis Meng-Han Ho

    Read more →