Deterministic learning video scene detection
By integrating supervised machine learning with optimal sequence grouping and applying specific loss functions, the accuracy and robustness of video scene detection are enhanced, addressing the limitations of existing unsupervised approaches.
Patent Information
- Application Number
- JP2023513218
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-27
- Filing Date
- 2021-08-26
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-08-26
AI Technical Summary
Existing video scene detection models face challenges in creating a fully functional machine learning model due to limited annotated data, and existing solutions often rely on unsupervised approaches that lack robustness and accuracy in scene segmentation.
Combining non-machine learning-based scene segmentation with supervised machine learning, utilizing optimal sequence grouping to enhance the accuracy of video scene detection by applying a block diagonal structure to the distance matrix and incorporating triplet, block diagonal, and segmentation probability losses to refine scene segmentation.
Improves the accuracy of video scene detection by leveraging supervised learning and optimal sequence grouping to enhance the robustness and precision of scene segmentation, overcoming limitations of existing unsupervised methods.
Smart Images

Figure 0007744719000014 
Figure 0007744719000015 
Figure 0007744719000016
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of video scene detection, and more particularly to the use of neural networks in video scene detection. [Background technology]
[0002] Generally, video scene detection models utilize deterministic algorithms to learn representations of visual, textual, and audio features in video scenes. Summary of the Invention
[0003] SUMMARY OF THE INVENTION Embodiments of the present invention provide methods, systems, and program products for video scene detection machine learning models.
[0004] A first embodiment encompasses a method for a video scene detection machine learning model. One or more processors receive feature vectors corresponding to audio and video components of a video. The one or more processors provide the feature vectors as inputs to a trained neural network. The one or more processors receive a plurality of output feature vectors from the trained neural network corresponding to shots of the video. The one or more processors apply an optimal sequence grouping to the output feature vectors. The one or more processors further train the trained neural network based at least in part on the applied optimal sequence grouping.
[0005] A second embodiment encompasses a computer program product for a video scene detection machine learning model. The computer program product includes one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media. The program instructions include program instructions for receiving feature vectors corresponding to audio and video components of a video. The program instructions include program instructions for providing the feature vectors as input to a trained neural network. The program instructions include program instructions for receiving, from the trained neural network, a plurality of output feature vectors corresponding to shots of the video. The program instructions include program instructions for applying an optimal sequence grouping to the output feature vectors. The program instructions include program instructions for further training the trained neural network based at least in part on the applied optimal sequence grouping.
[0006] A third embodiment encompasses a computer system for a video scene detection machine learning model. The computer system includes one or more computer processors, one or more computer-readable storage media, and program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors. The program instructions include program instructions for receiving feature vectors corresponding to audio and video components of a video. The program instructions include program instructions for providing the feature vectors as inputs to a trained neural network. The program instructions include program instructions for receiving, from the trained neural network, a plurality of output feature vectors corresponding to shots of the video. The program instructions include program instructions for applying an optimal sequence grouping to the output feature vectors. The program instructions include program instructions for further training the trained neural network based at least in part on the applied optimal sequence grouping. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a functional block diagram illustrating a computing environment in which a computing device generates a multimedia search engine through machine learning, according to an exemplary embodiment of the present invention. [Figure 2] 2 illustrates an operational process for implementing a system for a multimedia search engine on a computing device within the environment of FIG. 1, in accordance with an exemplary embodiment of the present invention. [Figure 3] 2 illustrates an operational processor for executing a system for a multimedia search engine on a computing device within the environment of FIG. 1 in accordance with an exemplary embodiment of the present invention. [Figure 4] FIG. 1 illustrates an operational process implemented by a system for determining video scene detection in accordance with at least one embodiment of the present invention. [Figure 5A] FIG. 2 is a block diagram of a distance matrix, in accordance with at least one embodiment of the present invention. [Figure 5B] FIG. 2 is a block diagram of a distance matrix neighborhood, in accordance with at least one embodiment of the present invention. [Figure 6] FIG. 1 illustrates a cloud computing environment in accordance with at least one embodiment of the present invention. [Figure 7] FIG. 1 illustrates abstraction model layers in accordance with at least one embodiment of the present invention. [Figure 8] 2 is a block diagram of components of one or more computing devices in the computing environment depicted in FIG. 1 in accordance with an exemplary embodiment of the invention. DETAILED DESCRIPTION OF THE INVENTION
[0008] Detailed embodiments of the present invention are disclosed herein with reference to the accompanying drawings. It should be understood that the disclosed embodiments are merely illustrative of potential embodiments of the present invention, which may take various forms. Additionally, the examples given in connection with the various embodiments are intended to be illustrative, not limiting. Furthermore, the figures are not necessarily to scale, and some features may be exaggerated to show details of particular components. Therefore, specific structural and functional details disclosed herein should not be construed as limiting, but merely as a representative basis for teaching those skilled in the art how to employ the present invention in various ways.
[0009] References herein to "one embodiment," "embodiment," "exemplary embodiment," etc., are intended to indicate that the described embodiment may include a particular feature, structure, or characteristic, but that not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly stated.
[0010]
[0006] Embodiments of the present invention improve the accuracy of video scene detection models, which involve dividing video segments into scenes and further classifying the scenes. Known solutions to video scene detection models collect data on video segments and scenes, and then extract visual and textual features from the video segments and scenes. It is generally known that, due to the limited amount of annotated data for video scene detection, no approach exists to create a fully functional machine learning model via backpropagation.
[0011] Possible solutions offer unsupervised approaches, but typically these involve grouping shots into scenes using keyframe similarities of visual word category descriptors, with quantization methods used to provide more robust descriptors. Grouping is performed using a sliding window algorithm to determine whether to merge shots or short scenes together. Typically, sequences of deep features are clustered into scenes. Linking shots is combined using an overlap linking method, which can be equivalent to a graph-based approach. Furthermore, evaluation is performed for a single viewpoint. Typically, possible solutions utilize deep Siamese networks (e.g., machine learning models) that apply spectral clustering to approximate scene boundaries for the distance measure. For a similarity metric to represent video, a joint representation of visual and textual features is learned. However, embodiments of the present invention provide a learning pipeline for scene segmentation, where learning, similar to cluster embedding, can be considered separate from the segmentation stage.
[0012] Embodiments of the present invention improve upon the aforementioned solutions by combining non-machine learning-based scene segmentation solutions, specifically optimal sequence grouping, with supervised machine learning to form a combined robust scene segmentation solution. In this way, as further described herein, embodiments of the present invention combine the advantages of both scene segmentation methods while avoiding many of their known deficiencies.
[0013] Next, the present invention will be described in detail with reference to the drawings.
[0014] 1 is a functional block diagram illustrating a computing environment, generally designated 100, according to one embodiment of the present invention. Computing environment 100 includes a computer system 120 and a storage area network (SAN) 130 connected via a network 110. Computer system 120 includes a scene segmentation program 122, a machine learning model 124, an optimal sequence grouping program 126, and a computer interface 128. Storage area network (SAN) 130 includes a server application 132 and a database 134.
[0015] In various embodiments of the present invention, computer system 120 is a computing device that can be a standalone device, a server, a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a personal digital assistant (PDA), a desktop computer, or any programmable electronic device capable of receiving, transmitting, and processing data. Generally, computer system 120 represents any programmable electronic device or combination of programmable electronic devices capable of executing machine-readable program instructions and communicating with various other computer systems (not shown). In another embodiment, computer system 120 represents a computing system that utilizes clustered computers and components to function as a single pool of seamless resources. Generally, computer system 120 can be any computing device or combination of devices accessible to various other computing systems (not shown) and capable of executing scene segmentation program 122, machine learning model 124, optimal sequence grouping program 126, and computer interface 128. Computer system 120 can include internal and external hardware components, as described in further detail with respect to FIG. 1 .
[0016] In this exemplary embodiment, the scene segmentation program 122, the machine learning model 124, the optimal sequence grouping program 126, and the computer interface 128 are stored on the computer system 120. However, in other embodiments, the scene segmentation program 122, the machine learning model 124, the optimal sequence grouping program 126, and the computer interface 128 are stored externally and accessed through a communications network, such as the network 110. The network 110 may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination thereof, and may include wired, wireless, fiber optic, or any other connection known in the art. In general, the network 110 may be any combination of connections and protocols supporting communication between the computer system 120, the SAN 130, and various other computer systems (not shown) in accordance with the desired embodiment of the present invention.
[0017] In various embodiments of the present invention, the various other computer systems (not shown) may be standalone devices, servers, laptop computers, tablet computers, netbook computers, personal computers (PCs), desktop computers, or any programmable electronic device capable of receiving, transmitting, and processing data. In another embodiment, the various other computer systems represent a computing system utilizing computers and components clustered to function as a single pool of seamless resources. In general, the various other computer systems may be any computing device or combination of devices capable of accessing the computer system 120, the SAN 130, and the network 110 and running the scene segmentation program 122, the machine learning model 124, the optimal sequence grouping program 126, and the computer interface 128. The various other computer systems may include internal and external hardware components, as depicted and described in further detail with respect to FIG. 1 .
[0018] 1, the scene segmentation program 122, the machine learning model 124, and the optimal sequence grouping program 126 have access, at least in part, to a server application 132 that can communicate data stored on the computer system 120 to the SAN 130 and various other computer systems (not shown). More specifically, the scene segmentation program 122 defines users of the computer system 120 that have access to the data stored on the computer system 120 or the database 134, or a combination thereof.
[0019] The scene segmentation program 122 is depicted in FIG. 1 for ease of explanation. In various embodiments of the present invention, the scene segmentation program 122 represents logical operations executed on the computer system 120, and the computer interface 128 manages the ability to view these logical operations managed and executed according to the scene segmentation program 122. In various embodiments, the scene segmentation program 122 includes, but is not limited to, a machine learning model 124 and an optimal sequence grouping program 126. In some embodiments, the machine learning model 124 represents a cognitive AI system that processes and analyzes input and output (I / O). Furthermore, the machine learning model 124 operates, but is not limited to, to learn from the analyzed I / O and generate a distance matrix based on the analysis operations when performing the cognitive AI processing. In various embodiments, the optimal sequence grouping program represents a deterministic optimization formula for solving video scene detection, which takes a distance matrix of a shot representation (i.e., a shot of video) and calculates an optimal segmentation given a cost function related to intra-scene distances.
[0020] Computer system 120 includes computer interface 128. Computer interface 128 provides an interface between computer system 120 and SAN 130. In some embodiments, computer interface 128 may be a graphical user interface (GUI) or a web user interface (WUI) that may display text, documents, web browsers, windows, user options, application interfaces, and operating instructions, including information (such as graphics, text, and sound) that a program presents to a user and control sequences that a user uses to control the program. In some embodiments, computer system 120 accesses data communicated from SAN 130 or various other computer systems via client-based applications running on computer system 120. For example, computer system 120 includes mobile application software that provides an interface between computer system 120 and SAN 130.
[0021] Storage area network (SAN) 130 is a storage system that includes server application 132 and database 134. SAN 130 can include, but is not limited to, one or more computing devices, servers, server clusters, web servers, databases, and storage devices. SAN 130 operates to communicate with computer system 120 and various other computing devices (not shown) over a network, such as network 110. For example, SAN 130 communicates with machine learning model 124 to transfer data between computer system 120 and various other computing devices (not shown) connected to network 110. SAN 130 can be any computing device or combination of devices communicatively connected to a local IoT network, i.e., a network comprised of various computing devices, including, but not limited to, computer system 120, to provide the functionality described herein. SAN 130 can include internal and external hardware components, as described with respect to FIG. 8. Embodiments of the present invention recognize that FIG. 1 can include any number of computing devices, servers, databases, or storage devices, or combinations thereof, and the present invention is not limited to only those depicted in FIG. 1. Thus, in some embodiments, some or all of the features and functionality of SAN 130 are included as part of computer system 120 or another computing device or a combination thereof. Similarly, in some embodiments, some of the features of computer system 120 are included as part of SAN 130 or another computing device or a combination thereof.
[0022] Additionally, in some embodiments, computer system 120 and SAN 130 represent or are part of a cloud computing platform. Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. The cloud model includes characteristics such as on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service, and can be represented by service models including Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS), and can be implemented in a variety of deployment models, including private clouds, community clouds, public clouds, and hybrid clouds.
[0023] 1 for illustrative simplicity. However, it will be understood that in various embodiments, the SAN 130 may include any number of databases managed according to the functionality of the server application 132. Generally, the database 134 represents data, and the server application 132 represents code that provides the ability to take specific actions with respect to different physical or virtual resources and manages the ability to use and modify the data. In alternative embodiments, the scene segmentation program 122 may represent any combination of the aforementioned features, where the server application 132 accesses the database 134. To illustrate various aspects of the present invention, an example of a server application 132 is presented in which the machine learning model 124 represents one or more of the local IoT networks, but is not limited to this.
[0024] In some embodiments, server application 132 and database 134 are stored on SAN 130. However, in various embodiments, server application 132 and database 134 are stored externally and may be accessed via a communications network, such as network 110, as described above.
[0025] In various embodiments of the present invention, the scene segmentation program 122 is a video scene detection model, and the scene segmentation program 122 segments the video into semantic temporal chapters. In various embodiments, the machine learning model 124 represents a machine learning model that learns from an optimal sequence grouping algorithm (e.g., the optimal sequence grouping program 126), where the learning is directed to improving the results of the video segmentation into semantic temporal chapters. The scene segmentation program 122 provides a feature representation of the video segmentation through backpropagation, and the impact of changes in the feature representation on the solution of the optimal sequence grouping algorithm is measured.
[0026] In various embodiments, the scene segmentation program 122 utilizes the inception-v3 architecture as a 2048-dimensional visual backbone feature extractor for video analysis and a VGGish network to encode audio segments into 128-dimensional vectors. In various embodiments of the present invention, the computer system 120 includes a machine learning model 124, which represents a machine learning model (e.g., a neural network) consisting of input / output (I / O) data and multiple hidden layers of neurons (i.e., rectified linear unit (RELU) layers). In various embodiments, four fully connected neural network layers are utilized to segment video scenes into semantic temporal chapters. In some embodiments, four layers are utilized for visual training (e.g., 3000, 3000, 1000, 100 neurons) and four layers are utilized for audio training (e.g., 200, 200, 100, 20 neurons). In various embodiments, the machine learning model 124 applies batch normalization to at least four layers for visual training and four layers for audio training. Additionally, in various embodiments, the machine learning model 124 applies ReLU activation to all layers of the neural network except the output layer. In various embodiments, the machine learning model 124 utilizes an optimization framework to optimize the neural network from 5×10 -3 The machine learning model 124 is trained with a learning rate of . Those skilled in the art will understand that the learning rate is a unitless ratio multiplied by the gradient. The machine learning model 124 applies a stopping criterion to avoid overfitting the neural network, and the training module of the neural network is stopped when the training loss decreases to 25% of its initial value. Furthermore, the machine learning model 124 normalizes the cosine distance (Δ) in equation (7) below between 0 and 1. The margin (α), which is a value parameter in equation (7), is selected to be 0.5. Furthermore, the long elbow approach defined below is utilized by the machine learning model 124 to estimate the number of scenes (e.g., semantic and temporal chapters) from the video file. Optimization frameworks include, but are not limited to, gradient descent or ADAM optimization for learning the parameters of the machine learning model.
[0027] In various embodiments, the machine learning model 124 divides the video into semantic temporal chapters to generate a block-diagonal distance matrix, which represents intra-scene distances.
[0028] In various embodiments of the present invention, the machine learning model 124 calculates the similarity of shots belonging to the same scene compared to shots belonging to different scenes. In various embodiments, the scene similarity is represented as a distance matrix, and a block diagonal structure is generated to represent that shots belonging to the same scene in the video are generally more likely to have lower distance values than shots belonging to different scenes. In various embodiments, the optimal sequence grouping program 126 utilizes an optimal sequence grouping algorithm to achieve a division of the distance matrix represented by the block diagonal structure with the lowest intra-scene distance.
[0029] TIFF0007744719000001.tif50168
[0030] TIFF0007744719000002.tif38168
[0031] TIFF0007744719000003.tif68168
[0032] In various embodiments of the present invention, the optimal sequence grouping program 126 estimates the number of divisions in k using either the log-elbow approach, the gap statistic, or another method known in the art for estimating the number of clusters at a given data point.
[0033] TIFF0007744719000004.tif81168
[0034] TIFF0007744719000005.tif87168
[0035] TIFF0007744719000006.tif44168
[0036] In various embodiments of the present invention, the optimal sequence grouping program 126 emphasizes the block diagonal structure in the distance matrix according to the calculations of Equations (1)-(5) specified above. In various embodiments, the optimal sequence grouping program 126 applies a block diagonal loss to enforce the block diagonal structure in the distance matrix.
[0037] TIFF0007744719000007.tif105168
[0038] TIFF0007744719000008.tif74168
[0039] Embodiments of the present invention provide that features extracted from the video scene segmentation are fed through a fully connected neural network, which outputs an embedding. In various embodiments, the embedding is computed utilizing an optimal sequence grouping algorithm, where the video scene segmentation is determined. The optimal sequence grouping program 126 computes a loss by measuring the error in the video scene segmentation, and the optimal sequence grouping program 126 backpropagates the loss through the optimal sequence grouping algorithm, as opposed to feeding the loss directly back into the embedding output.
[0040] TIFF0007744719000009.tif68168
[0041] TIFF0007744719000010.tif149168
[0042] Embodiments of the present invention provide a system including triplet loss, block diagonal loss, and more specifically, partition probability loss, applied to neural networks for training related to video scene detection. In various embodiments, triplet loss and block diagonal loss strive to minimize the distance between shots from the same scene and increase the distance between shots belonging to different scenes. The difference between triplet loss and block diagonal loss is that block diagonal loss strives to enforce the block diagonal structure to improve the performance of optimal sequential grouping algorithms. While triplet loss focuses on distance samples, block diagonal loss focuses on the complete structure.
[0043] In various embodiments, the three losses affect the gradient of the distance matrix. In some embodiments, the triplet loss depends on the individual values of the distances, the block-diagonal loss focuses on the overall block-diagonal structure of the ground truth scene, and the segmentation probability loss has a local impact focused around the segmentation point. For the segmentation probability loss, this is a direct consequence of the formulation's emphasis on the value of the average probability of scene segmentation.
[0044] TIFF0007744719000011.tif67168
[0045] FIG. 2 is a flowchart 200 illustrating the operation of the scene segmentation program 122 in the computing environment 100, according to an exemplary embodiment of the present invention. FIG. 2 also illustrates certain interactions between the machine learning model 124 and the server application 132. In some embodiments, the operations depicted in FIG. 2 incorporate the output of certain logical operations of the optimal sequence grouping program 126 executing on the computer system 120. It should be understood that FIG. 1 provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made. In one embodiment, the sequence of operations depicted in FIG. 2 may be performed in any order. In another embodiment, the sequence of operations depicted in FIG. 2 may be performed simultaneously. Furthermore, the sequence of operations depicted in FIG. 2 may be terminated by any operation. In addition to the features previously described, any operation depicted in FIG. 2 may be restarted at any time.
[0046] In some embodiments, the machine learning model 124 divides the video file into semantic temporal chapters, and the machine learning model 124 utilizes optimal sequential grouping and deep learning modules to cluster and identify similarities of video shots or scenes (e.g., semantic temporal chapters), or a combination thereof, based on a distance matrix represented by a block diagonal structure output by the machine learning model 124, without limitation.
[0047] In operation 202, the scene segmentation program 122 analyzes video segments of a video file. In various embodiments, the scene segmentation program 122 receives the video file from the database 134.
[0048] At operation 204, the scene segmentation program 122 encodes the visual and audiovisual components of the video segments and vectors for input to a machine learning model 124 (e.g., a deep learning neural network). In various embodiments, the scene segmentation program 122 utilizes a pre-trained Inception-v3 architecture, which includes a 2048-dimensional visual backbone feature extractor. In some embodiments, the scene segmentation program 122 extracts features including, but not limited to, objects, characters, weather patterns, activities (e.g., travel, eating, etc.), empathy, etc. present in a shot of the video. Additionally, in various embodiments, the scene segmentation program 122 encodes audio segments associated with the video segments into 128-dimensional vectors. Embodiments of the present invention recognize that encoding video segments and audio segments into 2048-dimensional and 128-dimensional vectors, respectively, is for the purposes of a deep learning neural network. The machine learning model 124 connects four neural network layers (e.g., 3000, 3000, 1000, 100) for the visual segments and four neural network layers (e.g., 200, 200, 100, 20) for the audio segments. In various embodiments, the machine learning model 124 applies batch normalization to all layers in the deep learning neural network, and the machine learning model 124 applies ReLU activation to all layers of the deep learning neural network except for the output layer.
[0049] In operation 206, the scene segmentation program 122 provides the encoded video and audio segment vectors to a trained deep learning neural network. In this operation, the machine learning model 124 (e.g., a deep learning neural network) receives as input the vectors of each of the video and audio segments of the video file. In response, the machine learning model 124 generates as output shot feature vectors that are generally grouped based on the likelihood that the shots are in the same scene. For example, in these embodiments, shots with vectors that are relatively close to each other are likely to be in the same scene.
[0050] In various embodiments, the scene segmentation program 122 first trains the machine learning model 124 using an annotated video scene dataset, including but not limited to the Open Video Scene Detection (OVSD) dataset, to detect video segments in a video file.
[0051] In operation 208, the scene segmentation program 122 generates a distance matrix from the output (i.e., the shot feature vector) of the machine learning model 124. In various embodiments, a block diagonal structure is generated based on at least the distance matrix. In various embodiments, the scene segmentation program 122 generates the block diagonal structure, with shots with higher relative similarity being assigned a brighter intensity than shots with lower similarity. In various embodiments, the distance between each diagonal block represents a sequence of shots. In some embodiments, dark blocks are sequences of shots with low intra-distance, which are likely to represent scenes in the video. In subsequent operations described below, the scene segmentation program 122 utilizes the distance matrix represented by the block diagonal structure and applies a multimodal optimal sequential grouping (e.g., optimal sequence grouping program 126) to further refine the visual and audio embedding and the representation of the distance matrix of the various shots in the video file. In various embodiments, equations (1)-(6) (eg, multimodal optimal sequence grouping) are applied to feature vector data represented by a block diagonal structure that provides distances between shots in the video.
[0052] FIG. 3 is a flowchart depicting operations for determining a scene boundary based on a received distance matrix for computing environment 100, according to an exemplary embodiment of the present invention. More specifically, in this embodiment, FIG. 3 depicts the overall operations 300 of scene segmentation program 122 executing on computer system 120. FIG. 3 also depicts specific interactions between machine learning model 124 and server application 132. Furthermore, operations 300 may include some or all of the combined overall operations of 200. In various embodiments, the sequence of operations 300 may be performed simultaneously with operations 200. It should be understood that FIG. 3 provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made. In one embodiment, the sequence of operations depicted in FIG. 3 may be performed in any order. In another embodiment, the sequence of operations depicted in FIG. 3 may be performed simultaneously. Furthermore, the sequence of operations depicted in FIG. 3 may terminate at any operation. In addition to the noted features, any operation depicted in FIG. 3 may be resumed at any time.
[0053] In operation 302, the optimal sequence grouping program 126 determines an optimal sequence grouping and a probabilistic segmentation loss based on the distance matrix generated in operation 208. In various embodiments, the optimal sequence grouping program 126 determines, from the distance matrix, sequences of various shots with similar features extracted from the video scene. Furthermore, the optimal sequence grouping program 126 identifies, from the diagonal block structure, one or more blocks exhibiting low values indicating the likelihood of the scene containing multiple shots. Embodiments of the present invention provide that the diagonal block structure is a visual representation of the distance matrix, and the distance matrix represents values representing the intra-distances between video scenes. In various embodiments, the optimal sequence grouping program 126 calculates a value of a normalized cost function based on at least the determined scene distances using equations (1) to (5). Furthermore, the optimal sequence grouping program 126 uses the values calculated from equations (1) to (5) and inserts the values into equations (10) to (12) to calculate a value of the probabilistic segmentation loss. An embodiment of the present invention provides that the optimal sequence grouping program 126 utilizes the value of the probability partitioning loss to further train the machine learning model and improve the prediction accuracy of video scene detection.
[0054] In various embodiments, the optimal sequence grouper 126 applies OSG-Prob to the scene segmentation. In various embodiments, the optimal sequence grouper 126 calculates the probability of a segmentation at the correct location in the distance matrix via Equations (10)-(12). In some embodiments, the optimal sequence grouper 126 determines the error of various segmentations of the scene in the distance matrix. As described in connection with the operations described below, the optimal sequence grouper 126 backpropagates the error in the scene segmentation through a machine learning model to generate new output embeddings, where the loss reflects changes in the neural network's training. In various embodiments, the optimal sequence grouper 126 learns through the loss of segmentation probabilities to determine segmentations at more accurate locations and generate an enhanced distance matrix that represents more defined blocks of the shot sequence in a block-diagonal structure.
[0055] In operation 304, after determining the optimal sequence grouping and performing the stochastic partitioning loss, the machine learning model 124 trains a deep learning neural network using the optimal sequence grouping and the stochastic partitioning loss. In various embodiments, the program 122 applies the stochastic partitioning loss to the original output of the deep learning neural network and then uses the updated output to train the deep learning neural network via backpropagation. In various embodiments, the machine learning model 124 learns from the shot data of the video file after the shot data has been updated based on the optimal sequence grouping and the stochastic partitioning loss.
[0056] In various embodiments of the present invention, the scene segmentation program 122 feeds the video shot features through an enhanced machine learning model 124, where a probabilistic segmentation loss enhances the machine learning model, and the 2048-dimensional vector and the 128-dimensional vector are encoded into respective feature vectors for the video scenes. In some embodiments, the output of the machine learning model generates an enhanced embedding, which is processed by an optimal sequential grouping algorithm, as specified above. In various embodiments, the embedding is represented by a feature space embedding in which samples from the video scenes are relatively close in terms of the visual and audio features extracted from the video scenes. Embodiments of the present invention provide that the output of the enhanced machine learning model includes an enhanced embedding that represents the distance between the video scenes.
[0057] Embodiments of the present invention provide that, when training the deep learning neural network, the scene segmentation program 122 provides (i) the original audio and video feature vectors encoded in operation 204 and (ii) the segmentation probability loss calculated from equations (10)-(12) applied to the original output of the deep learning neural network to the deep learning neural network of the machine learning model 124. In various embodiments, the scene segmentation program 122 utilizes the updated feature vectors represented by the segmentation probability loss to train the machine learning model 124 to more accurately determine similarities between video scenes. In various embodiments, the enhanced machine learning model determines video scenes that are more similar than other different video scenes that are more similar (e.g., separating scenes in a movie). In various embodiments, the machine learning model 124 then provides the originally encoded feature vectors of the audio and video files to the enhanced machine learning model. In various embodiments, the machine learning model analyzes the originally encoded feature vectors of the audio and video files and outputs updated embeddings of the feature vectors from the enhanced machine learning model.
[0058] In various embodiments, the machine learning model 124 generates a new distance matrix that provides an example of the distances between video scenes. In various embodiments, the machine learning model applies an additional multimodal optimal sequential grouping to the distance matrix (e.g., output embedding) to determine scene segmentation probabilities based on vector proximity.
[0059] TIFF0007744719000012.tif62168
[0060] FIG. 4 is a flowchart illustrating operations for creating, modifying, utilizing, and / or executing a deep learning neural network for computing environment 100 according to an exemplary embodiment of the present invention. More specifically, in this embodiment, FIG. 4 illustrates the overall operations 400 of scene segmentation program 122 executing on computer system 120. FIG. 4 also illustrates specific interactions between machine learning model 124 and server application 132. Furthermore, operations 400 may include some or all of the overall operations combining operations 200 and 300. It should be understood that FIG. 4 provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made. In one embodiment, the sequence of operations depicted in FIG. 4 may be performed in any order. In another embodiment, the sequence of operations depicted in FIG. 4 may be performed simultaneously. Furthermore, the sequence of operations depicted in FIG. 4 may terminate at any operation. Furthermore, the operations depicted in FIG. 4 may be resumed at any time.
[0061] At operation 402, the machine learning model 124 trains a neural network as described above. In various embodiments, the machine learning model 124 utilizes the inception-v3 architecture as a 2048-dimensional visual backbone feature extractor for video analysis and a VGGish network to encode 128-dimensional vector audio segments. In various embodiments, four fully connected neural network layers are utilized to perform video scene segmentation into semantic temporal chapters. In some embodiments, four layers are utilized for visual training (e.g., 3000, 3000, 1000, 100 neurons) and four layers are utilized for audio training (e.g., 200, 200, 100, 20 neurons). In various embodiments, the machine learning model 124 applies batch normalization to at least four layers for visual training and four layers for audio training. Additionally, in various embodiments, the machine learning model 124 applies ReLU activation to all layers of the neural network except the output layer. In various embodiments, the machine learning model 124 utilizes an optimization framework to optimize the neural network to a scale of 5×10 -3 The machine learning model 124 is trained with a learning rate of . As described above, those skilled in the art will understand that the learning rate is a unitless ratio multiplied by the gradient. The machine learning model 124 applies a stopping criterion to avoid overfitting the neural network, and stops the neural network training module when the learning loss decreases to 25% of its initial value. Furthermore, the machine learning model 124 normalizes the cosine distance (Δ) in equation (7) above between 0 and 1, and the margin (α), a value parameter in equation (7), is selected as 0.5. The long elbow approach defined below is utilized by the machine learning model 124 to estimate the number of scenes from a video file (e.g., semantic temporal chapters). Those skilled in the art will understand that optimization frameworks include, but are not limited to, gradient descent or ADAM optimization for learning the parameters of the machine learning model.
[0062] In various embodiments, the scene segmentation program 122 receives a video file that includes, but is not limited to, visual and audio components. The scene segmentation program 122 encodes the video and audio components into respective feature vectors, and the scene segmentation program 122 provides the encoded feature vectors to the machine learning model 124 for purposes of training the machine learning model. In various embodiments, the machine learning model 124 analyzes and learns from the feature vectors of the video and audio components to identify similarities between video scenes.
[0063] In operation 404, the optimal sequence grouper 126 determines an output embedding. In various embodiments, features extracted from the video scene segmentation are fed through a fully connected neural network, which outputs an embedding. In various embodiments, the embedding is utilized by optimal sequential grouping, where the video scene segmentation is determined. The optimal sequence grouper 126 calculates a loss by measuring the error in the video scene segmentation, and the optimal sequence grouper 126 backpropagates the loss through the optimal sequential grouping algorithm, as opposed to feeding the loss directly back into the embedding output.
[0064] In various embodiments, the neural network outputs feature space embeddings, including but not limited to visual and audio embeddings of the video segments. While samples from the same class (e.g., video segments) are close in feature space, samples from different classes (e.g., video segments) are further apart. This allows for ranking tasks, but in the case of scene segmentation, a triplet loss occurs that causes samples to cluster together.
[0065] At operation 406, the machine learning model 124 generates a distance matrix. In various embodiments, the machine learning model 124 divides the video into semantic temporal chapters to generate a block diagonal of the distance matrix, where the distance matrix represents intra-scene distances. In various embodiments, scene similarities are represented as a distance matrix, and generally, the block diagonal structure is generated to represent that shots belonging to the same scene in the video are more likely to have lower distance values than shots belonging to different scenes. In various embodiments, the machine learning model 124 utilizes an optimal sequential grouping algorithm to achieve the division of the distance matrix represented by the block diagonal structure with the lowest intra-scene distance.
[0066] TIFF0007744719000013.tif43168
[0067] In operation 410, the scene segmentation program 122 applies the triplet loss back through the neural network. In various embodiments, machine learning learns a feature space embedding in which samples from the same class are close in feature space, while samples from different classes are further apart. Embodiments of the present invention provide that the scene segmentation program 122 strives to minimize the distance between video segments from the same scene and increase the distance between shots belonging to different scenes. Furthermore, the triplet loss focuses on dissimilar samples.
[0068] In operation 412, the scene segmentation program 122 applies the block diagonal loss back through the neural network. In various embodiments, the scene segmentation program 122 determines that, throughout the video, some video segments may be very similar to each other, but their temporal distance or intervening scenes distinguish them. The cost function (e.g., Equation (6)) accumulates so that far-away diagonal values do not influence the decision, as long as the values between them are sufficiently high. In some embodiments, a slight variation of the block diagonal loss is to consider the inter-scene distance between scenes that are not adjacent to each other, known as block contiguity. Similar to the triplet loss, the block diagonal loss strives to minimize the distance between shots from the same scene and increase the distance between shots belonging to different scenes. However, the block diagonal loss reinforces the block diagonal structure, better aiding the performance of optimal sequential grouping algorithms.
[0069] In operation 414, the optimal sequence grouping program 126 applies the segmentation probability loss back through the neural network. In various embodiments, the segmentation probability loss emphasizes the average probability value of scene segmentation. Furthermore, the segmentation probability loss is configured to depend on the segmentation location, as opposed to the block diagonal. In various embodiments, the structure of the segmentation probability loss allows the optimal sequential grouping algorithm to be integrated into a larger learning pipeline.
[0070] 5A depicts a block diagonal structure 500 containing various video segments, or shots, clustered together as indicated by various dark squares, in accordance with an embodiment of the present invention. In this embodiment, higher values are assigned to the intensity levels of the blocks, and dark blocks are sequences of video segments with low inter-distance that are more likely to represent a scene.
[0071] 5B depicts a similar block diagonal structure including a block neighbor portion 502 of the distance matrix, in accordance with an embodiment of the present invention. In this embodiment, the block diagonal structure depicts the loss between inter-scene distances for scenes that are not adjacent to one another (e.g., block neighbors). In various embodiments, dark squares represent intra-distances (e.g., block diagonals) within a video segment, and light squares represent inter-scene distances (e.g., block neighbors).
[0072] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be practiced in conjunction with any other type of computing environment now known or later developed.
[0073] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) in which resources are rapidly provisioned, and may include at least five characteristics, at least three service models, and at least four deployment models.
[0074] The characteristics are as follows:
[0075] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time or network storage, automatically as needed, without the need for human interaction with the service provider.
[0076] Broad network access: Computing power is available over the network and can be accessed through standard mechanisms, facilitating use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, PDAs).
[0077] Resource Pooling: Computing resources from a provider are pooled and offered to multiple consumers using a multi-tenant model. Various physical and virtual resources are dynamically allocated and reallocated based on demand. Consumers generally have no control or knowledge of the exact location of the resources they are provided with, resulting in a sense of location independence. However, consumers may be able to determine location at a higher level of abstraction (e.g., country, state, data center).
[0078] Rapid Elasticity: Computing capacity can be provisioned quickly and elastically, sometimes automatically, to instantly scale out and quickly release to instantly scale in. To the consumer, the computing power available for provisioning often appears unlimited, and can be purchased at any time and in any quantity.
[0079] Metered Services: Cloud systems leverage measurement capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, active user accounts) to automatically control and optimize resource usage. Resource usage can be monitored, controlled, and reported to provide transparency to both providers and consumers of utilized services.
[0080] The service model is as follows:
[0081] Software as a Service (SaaS): The functionality offered to the consumer is the availability of a provider's applications running on a cloud infrastructure that can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., webmail). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functionality, except for limited user-specific application configuration settings.
[0082] Platform as a Service (PaaS): The capability offered to consumers is to deploy applications they create or acquire using programming languages and tools supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of their hosting environment.
[0083] Infrastructure as a Service (IaaS): The functionality offered to consumers is the provisioning of processors, storage, networking, and other basic computing resources on which they can deploy and run any software, including operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating system, storage, and deployed applications, and in some cases partial control over some network components (e.g., host firewalls).
[0084] The deployment model is as follows:
[0085] Private Cloud: This cloud infrastructure is dedicated to a specific organization and can be managed by that organization or a third party, and can exist on-premise or off-premise.
[0086] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance). This cloud infrastructure can be managed by those organizations or a third party and can exist on-premises or off-premises.
[0087] Public cloud: This cloud infrastructure is available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0088] Hybrid cloud: This cloud infrastructure combines two or more cloud models (private, community, or public), each of which retains its inherent nuances but is bound by standards or specific technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0089] A cloud computing environment is a service-oriented environment that emphasizes statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0090] FIG. 6 illustrates an exemplary cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which local computing devices used by cloud consumers (e.g., PDAs or cell phones 54A, desktop computers 54B, laptop computers 54C, or automobile computer systems 54N, or combinations thereof) can communicate. The nodes 10 can communicate with each other. The nodes 10 can be physically or virtually grouped (not shown) in one or more networks, such as the private, community, public, or hybrid clouds described above, or combinations thereof. This enables the cloud computing environment 50 to provide infrastructure, platform, or software as a service, or combinations thereof, for which cloud consumers are not required to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N illustrated in FIG. 6 are merely exemplary, and that the computing nodes 10 and the cloud computing environment 50 can communicate with any type of electronic device via any type of network or network-addressable connection (e.g., using a web browser), or both.
[0091] A set of functional abstraction layers provided by the cloud computing environment 50 (FIG. 6) is now shown in FIG. 7. It should be understood in advance that the components, layers, and functions shown in FIG. 7 are merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0092] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61, reduced instruction set computer (RISC) architecture-based server 62, server 63, blade server 64, storage device 65, and network and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0093] The virtualization layer 70 provides an abstraction layer from which the following virtual entities can be provided, for example: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0094] By way of example, the management layer 80 may provide the following functionality: Resource provisioning 81 enables dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 enables cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. By way of example, these resources may include application software licenses. Security enables identification and verification of cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 enables allocation and management of cloud computing resources so that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 enables advance arrangement and procurement of anticipated future cloud computing resources required in accordance with SLAs.
[0095] The workload layer 90 provides examples of functionality available to a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and providing user-generated output 96.
[0096] 8 illustrates a block diagram 800 of components of computer system 120 and storage area network 130 in accordance with an exemplary embodiment of the invention. It should be understood that FIG. 8 provides only an illustration of one implementation and is not intended to suggest any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made.
[0097] Computer system 120 and storage area network 130 include a communications fabric 802 that provides communications between computer processor(s) 804, memory 806, persistent storage 808, communications units 810, and input / output (I / O) interfaces 812. Communications fabric 802 may be implemented with any architecture designed to pass data or control information, or a combination thereof, between processors (such as microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system. For example, communications fabric 802 may be implemented using one or more buses.
[0098] Memory 806 and persistent storage 808 are computer-readable storage media. In this embodiment, memory 806 includes random access memory (RAM) 814 and cache memory 816. In general, memory 806 may include any suitable volatile or non-volatile computer-readable storage media.
[0099] The scene segmentation program 122, the machine learning model 124, the optimal sequence grouping program 126, the computer interface 128, the server application 132, and the database 134 are stored in persistent storage 808 for execution and / or access by one or more of the respective computer processors 804 via one or more memories of memory 806. In this embodiment, persistent storage 808 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 808 may include a solid-state hard drive, a semiconductor memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0100] The media used by persistent storage 808 may also be removable. For example, a removable hard disk may be used for persistent storage 808. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage 808.
[0101] Communications unit 810, in these examples, provides for communication with other data processing systems or devices, including resources of network 110. In these examples, communications unit 810 includes one or more network interface cards. Communications unit 810 may provide communication through the use of either or both physical and wireless communications links. Scene segmentation program 122, machine learning model 124, optimal sequence grouping program 126, computer interface 128, server application 132, and database 134 may be downloaded to persistent storage 808 via communications unit 810.
[0102] The I / O interface 812 enables the input and output of data with other devices that may be connected to the computer system 120 and the storage area network 130. For example, the I / O interface 812 may provide a connection to an external device 818, such as a keyboard, keypad, touchscreen, or some other suitable input device or combination thereof. The external device 818 may also include a portable computer-readable storage medium, such as a thumb drive, a portable optical or magnetic disk, and a memory card. Software and data used to practice embodiments of the present invention, such as the scene segmentation program 122, the machine learning model 124, the optimal sequence grouping program 126, the computer interface 128, the server application 132, and the database 134, may be stored on such a portable computer-readable storage medium and loaded into the persistent storage 808 via the I / O interface 812. The I / O interface 812 also connects to a display 820.
[0103] Display 820 provides a mechanism for displaying data to a user and may be, for example, a computer monitor or a television screen.
[0104] The present invention may be a system, a method, or a computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.
[0105] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, by way of example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof. More specific examples of computer-readable storage media include portable computer diskettes, hard disks, RAM, ROM, EPROM (or flash memory), SRAM, CD-ROMs, DVDs, memory sticks, floppy disks, mechanically encoded devices having instructions recorded on punch cards or ridge-in-groove structures, or the like, and suitable combinations thereof. Computer-readable storage devices, as used herein, should not be construed as ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0106] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computer / processing device. Alternatively, they can be downloaded to an external computer or external storage device via a network (e.g., the Internet, a LAN, a WAN, or a wireless network, or a combination thereof). The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface within each computer / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computer / processing device for storage.
[0107] The computer-readable program instructions for carrying out the operations of the present invention can be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk and C++, and procedural programming languages such as the "C" programming language and similar programming languages. The computer-readable program instructions can execute entirely on the user's computer as a stand-alone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a LAN or WAN, or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to customize the electronic circuitry for carrying out aspects of the present invention.
[0108] Embodiments of the present invention are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. Each block of the flowchart and / or block diagrams, and combinations of blocks in the flowchart and / or block diagrams, can be implemented by computer-readable program instructions.
[0109] The computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of such computer or other programmable data processing apparatus, create means for performing the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams. The computer-readable program instructions may also be stored on a computer-readable storage medium capable of instructing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. The computer-readable storage medium having instructions stored thereon thereby constitutes an article of manufacture including instructions for performing aspects of the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams.
[0110] Computer-readable program instructions may also be loaded into a computer, other programmable device, or other device and a series of operational steps executed on the computer, other programmable device, or other device to create a computer-implemented process, whereby the instructions executing on the computer, other programmable device, or other device perform the functions / operations identified in one or more blocks in the flowcharts and / or block diagrams.
[0111] The flowcharts and block diagrams in the figures of this disclosure illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for performing specific logical functions. In some implementations, the functions shown in the blocks may be executed in a different order than shown in the figures. For example, two blocks shown in succession may actually be executed concurrently or nearly concurrently, or may even be executed in reverse order, depending on the functionality involved. Note that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs specific functions or operations or executes a combination of dedicated hardware and computer instructions.
[0112] The programs described herein are identified based on the applications for which they are implemented in particular embodiments of the invention. However, it should be understood that any particular program nomenclature herein is used merely for convenience, and therefore the invention should not be limited to use in any particular application specified and / or implied by such nomenclature.
[0113] Please note that terms such as "Smalltalk" may be the subject of trademark rights in various jurisdictions around the world and are used herein only in connection with products or services properly designated by trademarks, to the extent such trademark rights exist.
Claims
1. one or more computer-readable storage media; and program instructions stored on the one or more computer-readable storage media, the stored program instructions comprising: program instructions to cause a processor to receive feature vectors corresponding to audio and video components of the video; program instructions to cause a processor to provide the feature vector as an input to a trained neural network; program instructions to cause a processor to receive from the trained neural network a plurality of output feature vectors grouped based on scenes of shots of the video, each output feature vector corresponding to a respective shot of the video based on audio and video components of the video to which the feature vector corresponds; program instructions for causing a processor to perform a process of applying a grouping of sequences of shots of the video to the output feature vector; program instructions for causing a processor to further train the trained neural network based at least in part on the applied grouping of sequences of shots of the video; program instructions to cause a processor to generate a distance matrix using output feature vectors, the distance matrix being represented by a block diagonal structure, the distance matrix defining distances between the output feature vectors; program instructions for causing a processor to identify diagonal blocks from the distance matrix that represent sequences of shots within a certain distance of each of the output feature vectors; and program instructions for causing a processor to determine a segmentation of a scene in the video based at least in part on the diagonal blocks identified from the distance matrix.
2. The stored program instructions include:
2. The computer program product of claim 1, further comprising program instructions for causing a processor to determine a scene boundary for the video, the scene boundary being determined based at least in part on a second plurality of output feature vectors received from the neural network that has been further trained with the feature vector and a segmentation probability loss based on the output feature vector.
3. The program instructions for causing a processor to perform a process of applying sequence grouping to the output feature vector include: - program instructions for causing a processor to apply a sequence grouping probability function to said segmentation of said scenes of said video, resulting in a modified scene segmentation; program instructions for causing a processor to calculate an error in segmenting the revised scene based at least in part on the loss in segmentation probability; and program instructions for causing a processor to modify the output feature vector based at least in part on the modified scene segmentation and the calculated error in the modified scene segmentation.
4. The computer program of claim 3, wherein the program instructions to a processor for further training the trained neural network based at least in part on the grouping of the applied sequences include program instructions to a processor for backpropagating the modified output feature vector through the trained neural network.
5. The stored program instructions include: program instructions to cause a processor to separate the video into the audio and video components; and program instructions for causing a processor to encode the audio and video components into the feature vectors, wherein (i) the audio component is encoded into a 128-dimensional feature vector and (ii) the video component is encoded into a 2048-dimensional vector; 5. The computer program of claim 4, wherein the neural network includes: (i) four visual layers with 3000, 3000, 1000, and 100 neurons, respectively; and (ii) four audio layers with 200, 200, 100, and 20 neurons, respectively.
6. 1. A computer system, comprising: one or more processors; one or more computer-readable storage media; program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, the stored program instructions comprising: program instructions for receiving feature vectors corresponding to audio and video components of the video; program instructions for providing the feature vector as an input to a trained neural network; program instructions for receiving from the trained neural network a plurality of output feature vectors grouped based on scenes of shots of the video, each output feature vector corresponding to a shot of the video based on the audio and video components of the video corresponding to the feature vector; program instructions for applying a grouping of sequences of shots of the video to the output feature vector; program instructions for further training the trained neural network based at least in part on the applied grouping of sequences of shots of the video; program instructions for generating a distance matrix using output feature vectors, the distance matrix being represented by a block diagonal structure, the distance matrix defining distances between the output feature vectors; program instructions for identifying diagonal blocks from the distance matrix that represent sequences of shots within a certain distance of each of the output feature vectors; and program instructions for determining a division of a scene in the video based at least in part on the diagonal blocks identified from the distance matrix.
7. The stored program instructions include:
7. The computer system of claim 6, further comprising: program instructions for determining a scene boundary of the video, the scene boundary being determined based at least in part on a second plurality of output feature vectors received from the neural network that has been further trained using the feature vector and a split probability loss based on the output feature vector.
8. The program instructions for applying sequence grouping to the output feature vector include: - program instructions for applying a sequence grouping probability function to said segmentation of said scenes of said video, resulting in a modified scene segmentation; program instructions for calculating an error in segmenting the revised scene based at least in part on the loss in segmentation probability; and program instructions for modifying the output feature vector based at least in part on the modified scene segmentation and the calculated error in the modified scene segmentation.
9. 9. The computer system of claim 8, wherein the program instructions for further training the trained neural network based at least in part on the applied sequence groupings comprise program instructions for backpropagating the modified output feature vector through the trained neural network.
Citation Information
Patent Citations
Video semantic scene segmentation and labeling method
CN108537134A
Video scene segmentation method based on deep learning
CN111008978A
Key shot video abstraction method based on multi-layer space-time framework
CN111460979A
Scene variation point model learning device, scene variation point detection device and programs thereof
JP2018120362A
Automated semantic inference of visual features and scenes
US20190042900A1