EP4172782A1 - Machine learning pipeline - Google Patents
Machine learning pipelineInfo
- Publication number
- EP4172782A1 EP4172782A1 EP21730376.7A EP21730376A EP4172782A1 EP 4172782 A1 EP4172782 A1 EP 4172782A1 EP 21730376 A EP21730376 A EP 21730376A EP 4172782 A1 EP4172782 A1 EP 4172782A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- pipeline
- user
- feature
- data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
Definitions
- Continuous, complex artificial intelligence agents can be built from multiple machine learning models and other algorithms that form a pipeline, taking a sequence of input data and transforming it through each component, producing an output state from each component, and an eventual pipeline end state (the output of the pipeline as a whole).
- Such an agent may be referred to as continuous in that the input and output states can be continuously updated (this contrasts with decision-based systems where the algorithm has a single output). Further inputs will continue to update and change the output states of the successive components in the pipeline.
- the pipeline end state can be used by the agent to drive the processing in a system or an end user experience.
- One example is a continuous agent that uses a camera to recognize and track people moving around in a space. There may be a component to detect whereabouts there are people in the images, a subsequent component that may identify the people when their faces are visible, and one further component that can track and predict their movements between camera frame inputs.
- Each component in this pipeline may use a machine learning model, or an algorithm, to process the input and produce an output for the next component, or at the end of the pipeline, produce a state predicting where all tracked people may be located.
- a system comprising: processing apparatus comprising one or more processing units; and memory comprising one or more memory units, wherein the memory stores software arranged to run on the processing apparatus, the software comprising a tool for performing additional processing on a machine learning pipeline that comprises a plurality of pipeline stages from a first stage to a last stage, at least one of the plurality of pipeline stages comprising a machine learning model, wherein each stage receives a respective input state and generates a respective output state based thereon, and each but the last stage provides its respective output state as at least part of the input state to a respective successive stage in the pipeline, the input state of the first stage providing a pipeline input to the pipeline and the output state of the last stage providing a pipeline output of the pipeline.
- the tool comprises: a feature extractor configured to receive intermediate pipeline data comprising at least some of the output state of one of the pipeline stages other than the last stage, and transform the intermediate pipeline data in order to derive at least one feature therefrom; and a user interface module configured to provide a user interface to a user including a control part, comprising at least a first control enabling the user to choose said at least one feature.
- the user interface module is configured to present the at least one feature to a user in a presentation part of the user interface.
- Figure l is a schematic block diagram of an example system comprising a machine learning pipeline and a feature identifier in accordance with embodiments disclosed herein,
- Figure 2 is a schematic mock-up of a user interface in accordance with embodiments disclosed herein, and
- Figure 3 is a flow chart of an example method of extracting data from a pipeline and generating one or more features based thereon.
- a continuous, complex artificial intelligence agent can be built from multiple models and/or other algorithms that form a pipeline, taking a sequence of input data and transforming it through each component, producing an output state from each component, and an eventual pipeline end state. Further inputs will continue to update and change the output states of subsequent components.
- the component output states or the pipeline end state can be used by the agent to drive the processing in a system or an end user experience. However, there are many scenarios where it would be useful to do further processing on either the output of a component in the pipeline, or on the pipeline end state.
- Each component in this pipeline may use a machine learning model, or an algorithm, to process the input and produce an output for the next component, or at the end of the pipeline, produce a state predicting where all tracked people may be located.
- a feature extractor can be an algorithm or a machine learning model that can perform additional processing on the output state of at least one of the components within the pipeline. In embodiments, it may be able to perform such processing one any of the pipeline component output states, or the pipeline end state, without interrupting the main processing pipeline.
- the engineer or domain specialist can use the feature extractor to evaluate the output state of the component that initially detects where people are in the image - in this case, an algorithm to count the detections.
- the feature extractor will then create a marker for the pipeline input.
- the marker allows the engineer to identify instantly in any sequence of inputs which input met the criteria of more than three people in the image, allowing them to navigate quickly between the input images to review all of the states.
- a marker created by a feature extractor may just be a pointer to the pipeline input, but in other embodiments it may also contain complex data. For instance in the above example, the engineer may also record the bounding boxes of each of the people in the input image.
- the feature extractor can be applied to an existing continuous agent pipeline, without interrupting the pipeline, or altering the output states of any of the pipeline components or the pipeline end state itself. One or more feature extractors can be added to each component, or at the end of the pipeline, and in embodiments they will be invoked every time an output state is ready to be evaluated.
- the algorithm or model for the feature extractor may be written completely independently of the pipeline components. It does not need the context of the pipeline or agent, but only to be able to receive the output state of the component it is added to.
- the feature extractor does not need to have access to the pipeline input image, nor need to be aware that it is used in a pipeline that enables people tracking. It simply reads the output of a component that passes a list of pixel positions representing where people were located in an image. Due to this abstraction, this also means that a feature extractor can be very simple to create and the concept of a feature extractor is highly reusable across multiple pipelines and projects.
- Figure 1 gives a schematic block diagram of a machine learning pipeline 101 and a tool 103 for performing additional processing on data from the machine learning pipeline 101
- the pipeline stages 102 are arranged in a sequence from first to last, wherein each but the last stage 102 N in the sequence receives an input from the output of the preceding stage 102_n-l in the sequence, with the last stage 102 N providing the output of the pipeline as a whole.
- Each pipeline stage 102 receives a respective input state (input data) and processes this to produce a respective output state (output data).
- the first pipeline stage 102 1 receives as its input state the input of the pipeline as a whole (the pipeline input), and the output state of the last pipeline stage 102 N provides the output of the pipeline as a whole (the pipeline output).
- Each pipeline stage 102 comprises a module of code stored on computer readable storage (memory) and arranged to run on processing apparatus comprising one or more processing units.
- the memory may comprise one or more memory units such as a hard drive or external removable storage drive.
- the memory may employ one or more storage media, e.g. a magnetic medium such as a magnetic disk or tape, an electronic medium such DRAM, EEPROM or flash memory, or an optical medium such as an optical disk or quartz glass.
- the (or each) processing unit may take any suitable form such as a general purpose central processing unit (CPU), or an accelerator processor or other form of application specific processor such as a graphics processing unit (GPU), digital signal processor (DSP), crypto processor, or machine learning accelerator processor.
- the memory and processing apparatus may be implemented on one or more computer devices, e.g. one or more servers implemented at one or more geographic sites; and/or one or more user devices such as a desktop or laptop computer, handheld computer device such as a tablet or smartphone, or a wearable device such as a headset or smart watch.
- the different pipeline stages 102, or parts of a given stage may be stored in the same memory unit(s) as one another or different memory units on the same or different computer devices, and may be run on the same processing unit(s) or different processing units on the same or different computer devices.
- At least one of the pipeline stages 102 comprises a machine learning model.
- a machine learning model is a statistical model that is trained based on observed training data in order to produce a desired or expected output state for a given input state.
- a machine learning model may for example comprise a neural network, or another form of Bayesian probability model, or a meta learning model or clustering algorithm.
- the model comprises a network (graph) of nodes each of parameterized by one or more weights, which are gradually adapted based on the training data until the output state of the graph best fits the training data for a given set of inputs states in the training data.
- each of the pipeline stages 102 is a respective machine learning model.
- one or some of the pipeline stages 102 could be other forms of algorithm, e.g. an analytical algorithm such as filter that can remove data from the input should it not meet a desired threshold.
- the pipeline output from the last stage 102 N in the pipeline provides the output of the pipeline as a whole (i.e. at the end of the sequence), and this may be considered the primary function of the pipeline.
- the tool 103 is configured to be able to perform further processing on data from somewhere mid pipeline (in addition to the processing performed by the pipeline 101 to produce the pipeline output, i.e. in addition to the primary function of the pipeline itself).
- the pipeline 101 may be a pipeline that is to be used in a people identification application or other image recognition application, such as in a headset to be worn by a visually impaired person, or a device that enables gesture control such as a games console or gaming peripheral.
- Recognition here may mean generally just recognizing the presence of a person or object, or identifying the person or object.
- 102_N may for example comprises any one or more of: a stage that detects presence of people, a stage that detects bodies, a stage that detects faces, a stage that detects a bounding box around a person’s body or face, a stage that identifies people, a stage that detects position and/or relative proportions of bones and/or joints, a stage that detects a pose of a person, and/or a stage that tracks the motion of a person.
- the pipeline input comprises image data from one or more cameras. Stages 102 1...
- the final pipeline output (the output state of the last stage 102 N) may be a 2D or 3D map indicating the positions and identities or other properties of detected people in a region around the headset. This map may be played out audibly to the wearer through headphones or the like, e.g. by playing out the name of an identified person when the wearer directs his/her face toward that person.
- the pipeline 101 could be implemented in the same device as the application to which it is applied (e.g. in the headset, or in the games console or peripheral, etc.) or externally in one or more other devices (such as a server), or a combination.
- the tool 103 which may be used for offline analysis or in the live experience, or both.
- the tool 103 comprises a feature extractor 104 and a user interface (UI) module 106.
- the feature extractor 104 comprises a data interface 108 and a feature derivation module 110.
- the UI module 106 comprises a UI output module 112 and a UI input module 114.
- the UI output module 112 may for example comprise a timeline generator.
- the UI input module 114 may comprise an input data selector 116 and a feature selector 118.
- Each of these elements 104, 106, 108, 110, 112, 114, 116, 118 is implemented in software, as a module of code stored on computer readable storage (memory) and arranged to run on processing apparatus comprising one or more processing units.
- the memory may comprise one or more memory units of any suitable form such as a hard drive or external removable storage drive; and may employ one or more storage media, e.g. a magnetic medium such as a magnetic disk or tape, an electronic medium such DRAM, EEPROM or flash memory, or an optical medium such as an optical disk or quartz glass.
- Each processing unit may again also take any suitable form such as a CPU, GPU, DSP, crypto-processor, machine learning accelerator processor, or any other form of general purpose or application specific processor.
- the memory and processing apparatus may again be implemented on one or more computer devices, e.g.
- one or more servers implemented at one or more geographic sites; and/or one or more user devices such as a desktop or laptop computer, handheld computer device such as a tablet or smartphone, or a wearable device such as a headset or smart watch.
- the different modules 104-118, or parts of a given module may be stored in the same memory unit(s) as one another or different memory units on the same or different computer devices, and may be run on the same processing unit(s) or different processing units on the same or different computer devices.
- part of all of the tool 103 may be implemented on the same memory and/or processing unit(s) as some or all of the pipeline 101 or on different memory and/or processing unit(s), or a combination of these approaches. In embodiments, part or all of the tool 103 may be implemented on the same computer device(s) as some or all of the pipeline 101 or on a different device or devices, or a combination of the same and different devices.
- the data interface 108 of the feature extractor 104 is arranged to receive at least part of the output state of one of the pipeline stages 102 1....102 N-1 before the last stage 102 N ( Figure 1 shows it connected to the output of the first stage 102 1 but this is just one example).
- the data interface 108 receives intermediate pipeline data from part way along the pipeline.
- the data interface 108 may be capable of receiving input state comprising data of a predetermined type in a predetermined format from a pipeline stage of any of a plurality of different pipelines, as long as that pipeline stage outputs data of the predetermined type in the relevant format.
- the data interface may comprise an application programming interface (API) that enables different developers to plug the feature extractor 103 into their own pipeline.
- API application programming interface
- the feature extractor 104 may have the ability to be plugged into the middle of one pipeline or the end of another.
- the predetermined data type could be, for example, people count data, person identification data or bounding box data, etc.; and the format may refer to the manner in which the data is formatted in the data stream or file, or the like, supplied to the data interface.
- the interface may even be standardized. However such interoperability is not essential to all possible embodiments, and it is not excluded that in other embodiments the interface 108 could instead be a bespoke interface to the relevant pipeline stage 102_n.
- the data interface 108 forwards the intermediate pipeline data which it receives to the feature derivation module 110, optionally with some initial processing such as reformatting, sorting and/or filtering or the like.
- the feature derivation module 110 is configured to process the received data in order to extract a feature from the data.
- the extracted feature could be a count of the number of detected people, or an estimated percentage confidence in the recognition (likelihood of being correct). This could be derived for example from a pipeline stage that detects presence, bodies, bounding boxes around bodies or faces, or skeletons or frames of people, or such like, but before the subsequent identification or spatial mapping performed by a subsequent stage.
- the UI module 106 is configured to provide a user interface (UI) to a user of the tool 103 to enable both user inputs and user outputs.
- the UI may comprise a graphical user interface (GUI), and/or or an audio or tactile interface (such as for visually impaired users).
- GUI graphical user interface
- the user for the present purposes is a user of the tool 103, who is not necessarily the user of the end device or application (such as the headset). E.g. the user of the tool 103 may not be the same as the wearer of the headset or the gamer using the games console, etc. Nonetheless in one advantageous application the user does not have to be an expert programmer, and does not have to be one of the programmers who programmed the pipeline 101.
- the user could be a behavioural scientist or medical expert (e.g. doctor) involved in developing and/or training the pipeline 101, but not necessarily programming it.
- the user for the present purposes could be a single individual or a team of people, e.g. a team of behavioural scientists and/or doctors.
- this UI control may comprise a menu of predetermined features, that enables the user to choose the desired feature to extract by selecting it from the menu.
- the UI control may comprise a drop down menu from which the feature can be selected.
- the user interface control may enable the user to choose the at least one feature by entering a definition of the feature, e.g. the UI control comprising an equation editor or feature builder “wizard”.
- the feature selector 118 communicates the chosen feature to the feature extractor 104, which in response operates to extract the chosen feature from the relevant stage 102 of the pipeline 101.
- the UI output module 112 is configured to present the extracted feature to the user through the UI, e.g. graphically.
- the extracted feature is output (e.g. displayed) in conjunction with at least some of the pipeline input data from which it was generated.
- the input data comprises an image
- the extracted data may be displayed in the UI next to or overlaid on the image from which the feature was extracted.
- the extracted feature is output in a way that indicates a relation between the feature and the pipeline input data from which it was generated.
- the indication of the extracted feature may be overlaid on a position of the feature in the image, or may be otherwise displayed in relation to that position such as being connected by a line or arrow, or associated with a marker symbol used to indicate the location on the image.
- the pipeline input may comprise a plurality of different portions of data, e.g. different images, files or data sets etc.
- the UI input module 114 may comprise an input selector sub-module 116 providing a further UI control enabling the user to select which input data to extract the feature in association with.
- the pipeline input may comprise series data, such as time series data.
- the pipeline input data comprises a series of portions of data, e.g. captured from different times.
- the different portions could be different images, such as different frames of a video or different snapshots captured at different times. This would be the case for example in the headset application.
- the UI output module 112 may comprise a timeline generator arranged to present the extracted feature to the user on a graphical timeline. This is illustrated schematically by way of example in the UI mock-up of Figure 2.
- the UI comprises a timeline 202.
- the relevant portion of input data 206, with which the extracted feature 208 is associated, is displayed in association with the point on the timeline corresponding to the time of that portion of input data 206, e.g. by means of arrow or line connecting the displayed portion of input data 206 to the corresponding point on the timeline, and/or displaying a marker or slider 204 on the timeline at the relevant point.
- a marker or slider 204 on the timeline at the relevant point.
- the UI may show the relevant frame or snapshot as being connected to, pointing to or otherwise associated with the point on the timeline 202 corresponding to the time at which the frame or snapshot was captured.
- the extracted feature 208 may also be displayed in association with the input data 206 as discussed previously.
- the UI control provided by the input selector 116 may enable the user to navigate back and forth along the timeline.
- the UI control enabling selection of the input data may comprise a slider 204 which the user can slide along the timeline 202. This could be the same UI element as used as a marker to indicate the position on the timeline of the portion of input data 206 for which the extracted feature 208 is being generated.
- the disclosed tool 103 There are a multitude of possible applications of the disclosed tool 103. As mentioned, one possible application is in relation to a headset for the visually impaired, where the input data to the first pipeline stage 102 1 comprises a series of captured images (e.g. frames or snapshots) and the output of the final stage 102 N is a 2D or 3D map of people indicating where recognized people are, played out audibly to wearer.
- the input data to the first pipeline stage 102 1 comprises a series of captured images (e.g. frames or snapshots) and the output of the final stage 102 N is a 2D or 3D map of people indicating where recognized people are, played out audibly to wearer.
- the extracted feature 208 may comprise for example: a number of people detected, detection of a predetermined behaviour such as a motion or gesture of at least one person, or an indication of whether a predetermined body part can be detected. Further examples include a percentage confidence associated with detection of some aspect such as presence of a person or object, or a particular body part or pose, etc.; or an estimated number of misdetections based on one or more heuristic rules.
- Such features could be extracted for example from a pipeline stage 102 that detects presence of a person, or is responsible for detecting a bounding box around a person’s body, or detecting a frame or skeleton of a person, or recognizing a particular body part such as a head or face.
- the extracted feature may comprise a detected behaviour of a wearer of the headset.
- the user may be a domain specialist such as a behavioural scientist, who is helping develop or test the pipeline 101.
- the output of the pipeline 101 may be programmed to read out the name of a detected person in the wearer’s surroundings when the wearer turns his/her face toward that person.
- the domain specialist may find it useful to extract from the pipeline 101 a detection of when and/or how often the wearer of the headset moves his/her head, as this may give a valuable insight into how the wearer uses the device such as how often they move their head to update their map of their surroundings.
- the pipeline 101 may be arranged as a pose detector, for instance for use in video game control.
- one stage 102 detects a box around each person detected in an image, then one or more further stages 102 detect position and/or relative proportions of bones, joints, head and/or face or the like; and the final stage 102 N outputs a detected pose.
- An example of extracting a feature from one or more intermediate stages in this case, would be to apply one or more heuristic rules to detect estimated misdetections.
- the heuristic rules may for example be based on one or more of: size of box relative to image, relative position and/or proportions of detected bones, and/or number of detected bones. E.g. too many or too few bones, or too large or small a box size, or unlikely proportions, may be gauged a likely misdetection.
- a machine learning pipeline 101 may be used to predict a trajectory of a condition of a patient or other subject.
- the condition may comprise anxiety or depression.
- the input stage 102 1 may receive survey data and/or one or more measurements relating to the subject, and may predicts a score based on this.
- a subsequent stage 102 in the pipeline 101 may predict one or more future scores based on data of the subject and other subjects in the training data set.
- the extracted feature may for example comprise a measure of reliable change (change of greater than a predetermined amount over a predetermined period, e.g. a predetermined number of days or weeks).
- the tool 103 can be used for either offline analysis or in the live experience.
- the extracted information may help the user, such as a domain specialist, to improve one or more stages 102 of the pipeline 101 for future use.
- the domain specialist may determine, by comparing the extracted feature with the original raw image data, that the pipeline 101 is, say, overdetecting or underdetecting the number of people in the images. The domain specialist could then determine that the machine learning model of one of the pipeline stages 102 needs to be trained with additional or training data, or that it needs to have one or more parameters tuned, in order to decrease or increase sensitivity (likelihood of declaring a positive detection).
- the UI input module 114 may comprise one or more additional controls enabling the user to retrain or tune one of the pipeline stages 102, such as the stage 102 whose output the feature extractor 104 is connected to or a preceding stage.
- the tool 103 may be running in real time on the pipeline 101 of the wearer’s headset (either implemented in the headset itself or on an external device such as a server and connected wirelessly to the headset).
- the extracted feature may comprise an indication of when the headset’s camera(s) can only see a part of another person’s body not including their face or a sufficient view of the face for facial recognition, e.g. because it can only see a torso. This could be used to indicate to the wearer (who in this example is also the user) to look up or turn his/her head.
- an advantage of the tool 103 is that it does not to require the user to view the raw input data of the pipeline, for example the input video of sequence of snapshots, or medical records of individual subjects. This may be advantageous in applications where privacy is a concern, such as people tracking applications or medical applications as mentioned above.
- the tool 103 enables the user to assess the model based on anonymized extracted features, but without requiring access to the actual input data such as the raw images or medical records, which may enable people or sensitive data to be identified.
- the user may view the raw pipeline input in conjunction with the extracted features from part way along the pipeline. This will enable the user to make a judgement about the extracted features in context of the ground-truth of the actual input data, e.g. the actual captured video frames or snapshots.
- Step 310 comprises providing the pipeline 101, by programming the pipeline 101 and training the machine learning stages 102 of the pipeline. This step is not required if the method begins by operating on a pre-existing pipeline 101.
- the user selects the feature they desire to extract via the UI, and optionally also selects a portion of the pipeline input data from which the extracted feature is to be generated (e.g. by navigating on a timeline 202).
- the method comprises receiving data from the output state of one of the pipeline stages 102 1... 102_N-1 before the last stage 102_N.
- the method comprises transforming the received data to generate the selected feature.
- the method comprises outputting the extracted feature to the user via the UI in association with the corresponding portion of pipeline input data.
- the user may re-train or tune one or more parameters of the machine learning model of one or more of the pipeline stages 102 based on the extracted feature as presented to him/her through the UI.
- a system comprising: processing apparatus comprising one or more processing units; and memory comprising one or more memory units, wherein the memory stores software arranged to run on the processing apparatus, the software comprising a tool for performing additional processing on a machine learning pipeline that comprises a plurality of pipeline stages from a first stage to a last stage, at least one of the plurality of pipeline stages comprising a machine learning model, wherein each stage receives a respective input state and generates a respective output state based thereon, and each but the last stage provides its respective output state as at least part of the input state to a respective successive stage in the pipeline, the input state of the first stage providing a pipeline input to the pipeline and the output state of the last stage providing a pipeline output of the pipeline; the tool comprising: a feature extractor configured to receive intermediate pipeline data comprising at least some of the output state of one of the pipeline stages other than the last stage, and transform the intermediate pipeline data in order to derive at least one feature therefrom; and
- the feature extractor may be configured to annotate the accessed portion of input data with the at least one feature
- the user interface module may be configured to present the at least one feature by presenting the annotated portion of input data to a user in a presentation part of the user interface.
- the user interface module may be operable to present the annotated portion of data to the user without presenting the pipeline input to the user.
- control part of the user interface may further comprise a second control enabling the user to select said portion of input data.
- the pipeline input may comprise series data comprising a series of different portions of input data, wherein the user interface control enables the user to select which of the portions in the series to access as said portion of data.
- the series may be a time series, the different portions of input data comprising data associated with different respective times.
- the presentation part of the user interface may present the different portions of data on a timeline at positions corresponding to the different respective times, and the second control enables the user to select the selected portion of input data by navigating back and forth along the timeline.
- the timeline may be presented graphically and the second control may comprise a graphical slider on the timeline which the user can slide along the timeline to perform said navigating back and forth.
- the user interface may comprise a graphical user interface, the presentation part comprising a display part, and the first and/or second controls comprising a graphical input mechanism.
- the annotation may indicate a relation between the annotated portion of input data and the at least one feature.
- the portion of input data may comprise an image or spatial map
- the annotation may indicates a location within the image or map with which the feature is associated.
- Said one of the pipeline stages from which the intermediate pipeline data is received by the feature extractor, or a preceding pipeline stage preceding said one of the pipeline stages, may comprise a machine learning model.
- the tool may enables the user to re-train one or more of the pipeline stages and/or tune one or more parameters of at least one of the pipeline stages in the pipeline based on the annotated input data.
- the feature extractor may comprise a data interface capable of receiving, for the derivation of the at least one feature, output states comprising a predetermined data type inf a predetermined format from pipeline stages of at least two alternative pipelines: the output state of said one of the pipeline stages in said machine learning pipeline, and, if instead used in another pipeline, an output state of a pipeline stage which outputs data of a same data type in a same format as said one of the pipeline stages.
- said data interface may provide a standardized interface for the receipt of the output states of a class of pipeline stage comprising said one of the pipeline stages in said machine learning pipeline and said other pipeline stage in said other pipeline.
- the pipeline may be for use in a people recognition application, wherein the pipeline input comprises image data, and the pipeline output comprises a 2D or 3D map of physical locations of the identified people.
- the pipeline stages may comprise one or more of:
- the at least one feature may comprises:
- a system comprising: processing apparatus comprising one or more processing units; and memory comprising one or more memory units, wherein the memory stores software arranged to run on the processing apparatus, the software comprising a tool for performing additional processing on a machine learning pipeline that comprises a plurality of pipeline stages from a first stage to a last stage, at least one of the plurality of pipeline stages comprising a machine learning model, wherein each stage receives a respective input state and generates a respective output state based thereon, and each but the last stage provides its respective output state as at least part of the input state to a respective successive stage in the pipeline, the input state of the first stage providing a pipeline input to the pipeline and the output state of the last stage providing a pipeline output of the pipeline; the tool comprising: a feature extractor configured to receive intermediate pipeline data comprising at least some of the output state of one of the pipeline stages other than the last stage, and transform the intermediate pipeline data in order to derive at least one feature therefrom; and a
- a computer-implemented method of performing additional processing on a machine learning pipeline that comprises a plurality of pipeline stages from a first stage to a last stage, at least one of the plurality of pipeline stages comprising a machine learning model, wherein each stage receives a respective input state and generates a respective output state based thereon, and each but the last stage provides its respective output state as at least part of the input state to a respective successive stage in the pipeline, the input state of the first stage acting as a pipeline input to the pipeline and the output state of the last stage providing a pipeline output of the pipeline; the method comprising: providing a user interface to a user including a user interface control part, comprising at least a first control enabling the user to choose at least one feature to be extracted, receiving intermediate pipeline data comprising at least some of the output state of one of the pipeline stages other than the last stage, transforming the intermediate pipeline data in order to derive at the least one feature therefrom, and presenting the at least one feature to a user
- the method may further comprise re-training one or more of the pipeline stages and/or tuning one or more parameters of at least one of the pipeline stages based on the presentation of the at least one feature.
- the user may comprise at least one domain specialist who is not a programmer of the machine learning pipeline.
- the domain specialist may be a medical expert or a behavioural scientist.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP20183250.8A EP3933599A1 (en) | 2020-06-30 | 2020-06-30 | Machine learning pipeline |
| PCT/US2021/032126 WO2022005623A1 (en) | 2020-06-30 | 2021-05-13 | Machine learning pipeline |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4172782A1 true EP4172782A1 (en) | 2023-05-03 |
Family
ID=71409239
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20183250.8A Withdrawn EP3933599A1 (en) | 2020-06-30 | 2020-06-30 | Machine learning pipeline |
| EP21730376.7A Withdrawn EP4172782A1 (en) | 2020-06-30 | 2021-05-13 | Machine learning pipeline |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20183250.8A Withdrawn EP3933599A1 (en) | 2020-06-30 | 2020-06-30 | Machine learning pipeline |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230259817A1 (en) |
| EP (2) | EP3933599A1 (en) |
| WO (1) | WO2022005623A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11948003B2 (en) * | 2020-11-04 | 2024-04-02 | RazorThink, Inc. | System and method for automated production and deployment of packaged AI solutions |
| US12572827B2 (en) * | 2021-07-28 | 2026-03-10 | International Business Machines Corporation | Artificial intelligence (AI) model deployment |
| US12282719B1 (en) * | 2024-05-22 | 2025-04-22 | Airia LLC | Building and simulating execution of managed artificial intelligence pipelines |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11727314B2 (en) * | 2019-09-30 | 2023-08-15 | Amazon Technologies, Inc. | Automated machine learning pipeline exploration and deployment |
| US11461135B2 (en) * | 2019-10-25 | 2022-10-04 | International Business Machines Corporation | Dynamically modifying the parallelism of a task in a pipeline |
-
2020
- 2020-06-30 EP EP20183250.8A patent/EP3933599A1/en not_active Withdrawn
-
2021
- 2021-05-13 US US18/003,839 patent/US20230259817A1/en active Pending
- 2021-05-13 WO PCT/US2021/032126 patent/WO2022005623A1/en not_active Ceased
- 2021-05-13 EP EP21730376.7A patent/EP4172782A1/en not_active Withdrawn
Non-Patent Citations (3)
| Title |
|---|
| ANONYMOUS: "Pipeline DB: Debugging, Auditing, and Replaying Machine Learning and Data Processing Workflows", 9 February 2019 (2019-02-09), pages 1 - 4, XP093286229, Retrieved from the Internet <URL:https://web.archive.org/web/20190209011357/http://dsail.csail.mit.edu/index.php/model-db/> * |
| HALLBERG AARON: "7 Ways to Look at the Values of Variables While Debugging in Visual Studio - Azure DevOps Blog", 15 July 2016 (2016-07-15), pages 1 - 5, XP093134355, Retrieved from the Internet <URL:https://devblogs.microsoft.com/devops/7-ways-to-look-at-the-values-of-variables-while-debugging-in-visual-studio/> [retrieved on 20240223] * |
| See also references of WO2022005623A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230259817A1 (en) | 2023-08-17 |
| WO2022005623A1 (en) | 2022-01-06 |
| EP3933599A1 (en) | 2022-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Singh et al. | Real-time human pose detection and recognition using mediapipe | |
| Sümer et al. | Multimodal engagement analysis from facial videos in the classroom | |
| US12282506B2 (en) | Electronic apparatus for searching related image and control method therefor | |
| Kennedy-Metz et al. | Computer vision in the operating room: Opportunities and caveats | |
| US11605161B2 (en) | Surgical workflow and activity detection based on surgical videos | |
| Zia et al. | Video and accelerometer-based motion analysis for automated surgical skills assessment | |
| KR102014385B1 (en) | Method and apparatus for learning surgical image and recognizing surgical action based on learning | |
| US20240161497A1 (en) | Detection of surgical states and instruments | |
| Forestier et al. | Classification of surgical processes using dynamic time warping | |
| Avola et al. | Deep temporal analysis for non-acted body affect recognition | |
| WO2019245768A1 (en) | System for predicting articulated object feature location | |
| US20230259817A1 (en) | Machine learning pipeline | |
| WO2020244075A1 (en) | Sign language recognition method and apparatus, and computer device and storage medium | |
| Laraba et al. | Dance performance evaluation using hidden Markov models | |
| EP4207098B1 (en) | Information processing program, information processing method, and information processing apparatus | |
| Panetta et al. | Software architecture for automating cognitive science eye-tracking data analysis and object annotation | |
| Cimen et al. | Classification of human motion based on affective state descriptors | |
| CN112365956A (en) | Psychological treatment method, psychological treatment device, psychological treatment server and psychological treatment storage medium based on virtual reality | |
| Pordoy et al. | Multi-frame transfer learning framework for facial emotion recognition in e-learning contexts | |
| Ezatzadeh et al. | A human fall detection framework based on multi-camera fusion | |
| Diaz et al. | Enhancing deception detection with exclusive visual features using deep learning | |
| Bernard et al. | Approaches and challenges in the visual-interactive comparison of human motion data. | |
| JP2021111299A (en) | Learning device, learning method, learning program, identification device, identification method, and identification program | |
| EP4172781B1 (en) | Machine learning pipeline | |
| Khairnar et al. | Machine learning-based automated assessment of intracorporeal suturing in laparoscopic fundoplication |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20221221 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20240305 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20251021 |