TW202203212A - Key point detection method, electronic device and computer readable storage medium - Google Patents
Key point detection method, electronic device and computer readable storage medium Download PDFInfo
- Publication number
- TW202203212A TW202203212A TW110109419A TW110109419A TW202203212A TW 202203212 A TW202203212 A TW 202203212A TW 110109419 A TW110109419 A TW 110109419A TW 110109419 A TW110109419 A TW 110109419A TW 202203212 A TW202203212 A TW 202203212A
- Authority
- TW
- Taiwan
- Prior art keywords
- key point
- graph model
- key
- key points
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
Description
本發明關於圖像處理技術領域,尤其關於一種關鍵點檢測方法、電子設備及電腦可讀儲存介質。The present invention relates to the technical field of image processing, and in particular, to a key point detection method, an electronic device and a computer-readable storage medium.
人體關鍵點檢測和跟蹤是視頻分析的基礎,在安防領域、動作分析領域具有重要的應用前景。自底向上的多人姿態檢測技術,由於具有較高的計算效率,而被廣泛應用。一般的,自底向上方法首先預測得到各個關鍵點的位置,再對各個關鍵點進行聚類,得到完整的人體姿態。Human key point detection and tracking is the basis of video analysis, and has important application prospects in the field of security and motion analysis. Bottom-up multi-person pose detection technology is widely used due to its high computational efficiency. In general, the bottom-up method first predicts the position of each key point, and then clusters each key point to obtain a complete human pose.
當前的方法中,可以採用圖分割演算法或者啟發式的聚類演算法,對各個關鍵點進行聚類,聚類過程只是作為後處理操作,並沒有直接對聚類結果進行監督,使得關鍵點聚類過程的準確度較低。In the current method, a graph segmentation algorithm or a heuristic clustering algorithm can be used to cluster each key point. The clustering process is only used as a post-processing operation, and does not directly supervise the clustering results, so that the key points are The clustering process is less accurate.
有鑑於此,本發明至少提供一種關鍵點檢測方法、電子設備及電腦可讀儲存介質。In view of this, the present invention provides at least a key point detection method, an electronic device and a computer-readable storage medium.
第一方面,本發明提供了一種關鍵點檢測方法,包括:獲取待檢測圖像;基於所述待檢測圖像,生成圖像特徵圖和多個關鍵點熱圖;所述圖像特徵圖用於表徵所述待檢測圖像中各個目標對象之間的相對位置關係;每個所述關鍵點熱圖中包含所述待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應所述目標對象的不同部位;基於所述圖像特徵圖和多個所述關鍵點熱圖,生成初始關鍵點圖模型;所述初始關鍵點圖模型中包含所述待檢測圖像中不同類別的關鍵點的資訊以及連接邊的資訊,每個連接邊為兩個不同類別的關鍵點之間的邊;對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到分別屬於各個目標對象的關鍵點資訊。In a first aspect, the present invention provides a key point detection method, including: acquiring an image to be detected; generating an image feature map and a plurality of key point heatmaps based on the to-be-detected image; is used to characterize the relative positional relationship between each target object in the image to be detected; each of the key point heatmaps contains a type of key points of the image to be detected, and key points of different types correspond to the different parts of the target object; based on the image feature map and a plurality of the key point heatmaps, an initial key point graph model is generated; the initial key point graph model contains the keys of different categories in the image to be detected Information of points and information of connecting edges, each connecting edge is an edge between two different types of key points; the initial key point graph model is pruned multiple times for the connecting edges, until the processed Multiple key points in the key point graph model are clustered into multiple clusters to obtain key point information belonging to each target object.
採用上述方法,可以基於生成的圖像特徵圖和多個關鍵點熱圖,生成待檢測圖像對應的初始關鍵點圖模型,由於初始關鍵點圖模型中包括圖像特徵圖和關鍵點熱圖中的資訊,而圖像特徵圖可以表徵出待檢測圖像中不同目標對象之間的相對位置關係,從而可以對初始關鍵點圖模型進行所處連接邊的剪枝處理,得到各個目標對象的關鍵點資訊,較準確地對不同目標對象的關鍵點進行區分,以提高關鍵點聚類的精準度。Using the above method, an initial keypoint graph model corresponding to the image to be detected can be generated based on the generated image feature map and multiple keypoint heatmaps. Since the initial keypoint graph model includes image feature maps and keypoint heatmaps The image feature map can represent the relative positional relationship between different target objects in the image to be detected, so that the initial key point graph model can be pruned at the connected edges to obtain the information of each target object. The key point information can more accurately distinguish the key points of different target objects, so as to improve the accuracy of key point clustering.
一種可能的實施方式中,所述關鍵點的資訊包括位置資訊、類別資訊、以及圖元特徵資訊;根據以下步驟確定所述初始關鍵點圖模型中各個關鍵點的資訊:基於所述關鍵點熱圖,確定各個關鍵點的位置資訊;基於每個所述關鍵點的位置資訊,從所述圖像特徵圖中提取所述關鍵點的圖元特徵資訊,並基於所述關鍵點所屬關鍵點熱圖的類別標籤,確定所述關鍵點對應的類別資訊。In a possible implementation, the information of the key points includes location information, category information, and primitive feature information; the information of each key point in the initial key point graph model is determined according to the following steps: Figure, determine the position information of each key point; based on the position information of each key point, extract the primitive feature information of the key point from the image feature map, and based on the key point to which the key point belongs The category label of the graph determines the category information corresponding to the key point.
一種可能的實施方式中,所述方法還包括:針對所述初始關鍵點圖模型中的每個所述關鍵點,基於所述關鍵點的資訊和所述關鍵點圖模型中與所述關鍵點之間存在連接邊的其他關鍵點的資訊,確定所述關鍵點的融合特徵;所述對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,包括:基於所述初始關鍵點圖模型中包含的每個所述關鍵點的融合特徵,對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理。In a possible implementation manner, the method further includes: for each key point in the initial key point graph model, based on the information of the key point and the relationship between the key point in the key point graph model and the key point. There is information about other key points with connecting edges between them, and the fusion feature of the key points is determined; and the initial key point graph model is subjected to multiple pruning processing of the connecting edges, including: based on the initial key points. For the fusion feature of each key point included in the point graph model, the initial key point graph model is subjected to multiple times of pruning of the connecting edges.
一種可能的實施方式中,所述對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,包括:針對當前關鍵點圖模型執行第一處理過程:基於所述當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點;其中,所述巨集節點中包括聚類後的多個相鄰關鍵點;並基於每個所述巨集節點中包括的關鍵點的融合特徵,確定所述巨集節點的融合特徵;基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,對所述當前關鍵點圖模型進行當前次所述連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型;在執行完當前次的所述第一處理過程之後,將當前次剪枝處理後的關鍵點圖模型作為當前關鍵點圖模型,將當前次確定的所述巨集節點以及所述巨集節點的融合特徵作為所述當前關鍵圖模型中的關鍵點以及關鍵點的融合特徵,並再次執行所述第一處理過程,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇。In a possible implementation manner, the initial keypoint graph model is subjected to multiple times of pruning of the connecting edges, until multiple keypoints in the processed keypoint graph model are clustered into multiple clusters. , including: performing a first processing process for the current key point graph model: based on the fusion features of two key points corresponding to each connecting edge in the current key point graph model Perform key point clustering of the same target object on adjacent key points among the key points to obtain at least one macro node; wherein, the macro node includes a plurality of adjacent key points after clustering; and based on each The fusion feature of the key points included in the macro node, determine the fusion feature of the macro node; Based on the obtained at least one of the macro node and the current key point graph model, the current key point graph model Perform the pruning process of the current connection edge, and obtain the key point graph model after the current pruning process; after executing the current first processing process, the key points after the current pruning process are The graph model is used as the current key point graph model, and the currently determined fusion feature of the macro node and the macro node is used as the key point and the fusion feature of the key point in the current key graph model, and the execution of the The first processing procedure is described, until the multiple key points in the processed key point graph model are clustered into multiple clusters.
一種可能的實施方式中,所述基於所述當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點,包括:基於所述連接邊對應的兩個關鍵點的融合特徵,確定所述連接邊的權重,所述權重表徵所述連接邊對應的兩個關鍵點屬於同一目標對象的概率;基於所述當前關鍵點圖模型中包括的每條連接邊的權重,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點。這裡,通過確定每條連接邊的權重,該權重表徵連接邊對應的兩個關鍵點屬於同一目標對象的概率,再可以基於每條連接邊的權重,對當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點,比如將對應權重較大的兩個關鍵點聚類在一起,得到一個巨集節點,使得巨集節點的確定較為準確。In a possible implementation, based on the fusion feature of two key points corresponding to each connecting edge in the current key point graph model, the adjacent key points among the multiple key points included in the current key point graph model are compared. The key point is to perform key point clustering of the same target object to obtain at least one macro node, including: determining the weight of the connection edge based on the fusion feature of the two key points corresponding to the connection edge, and the weight represents the The probability that the two key points corresponding to the connecting edge belong to the same target object; based on the weight of each connecting edge included in the current key point graph model, the adjacent key points among the multiple key points included in the current key point graph model The key point is to perform key point clustering of the same target object to obtain at least one macro node. Here, by determining the weight of each connecting edge, the weight represents the probability that the two key points corresponding to the connecting edge belong to the same target object, and then based on the weight of each connecting edge, the current key point graph model includes multiple key points. The adjacent key points in the point are clustered by the key points of the same target object to obtain at least one macro node. For example, two key points with larger corresponding weights are clustered together to obtain a macro node, which makes the macro node determine more accurate.
一種可能的實施方式中,所述基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,對所述當前關鍵點圖模型進行當前次所述連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型,包括:基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,確定待刪減連接邊,並從所述當前關鍵點圖模型中將所述待刪減連接邊刪除;將至少一個所述巨集節點、和所述當前關鍵點圖模型中除所述巨集節點中包括的關鍵點之外的其他關鍵點作為剪枝處理後的關鍵點,將刪除後剩餘的連接邊作為剪枝處理後的連接邊,得到當前次剪枝處理後的關鍵點圖模型。In a possible implementation manner, based on the obtained at least one of the macro node and the current key point graph model, the current key point graph model is subjected to the pruning process of the current connection edge, and the result is obtained. The key point graph model after the current pruning process includes: based on the obtained at least one of the macro node and the current key point graph model, determining the connection edges to be deleted, and extracting from the current key point graph model Delete the connection edge to be deleted; use at least one of the macro node and other key points other than the key points included in the macro node in the current key point graph model as pruning processing The key points of , and the remaining connection edges after deletion are used as the connection edges after pruning, and the key point graph model after the current pruning process is obtained.
一種可能的實施方式中,所述基於得到的至少一個巨集節點和所述當前關鍵點圖模型,確定待刪減連接邊,包括:基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及所述當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定所述待刪減連接邊。In a possible implementation, the described based on the obtained at least one macro node and the current key point graph model, determine the connection edge to be deleted, including: based on the category of each key point included in the at least one macro node information, and category information of other key points in the current key point graph model except for the key points included in at least one macro node, to determine the connection edge to be deleted.
一種可能的實施方式中,基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及所述當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定所述待刪減連接邊,包括:針對所述當前關鍵點圖模型中的任一連接邊,在該任一連接邊對應的兩個關鍵點為不同巨集節點中的關鍵點,且該任一連接邊對應的兩個巨集節點中存在類別資訊相同的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊;在該任一連接邊對應的兩個關鍵點為同一巨集節點中的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊; 在該任一連接邊對應的兩個關鍵點中一個關鍵點為巨集節點中的關鍵點、另一個關鍵點不是巨集節點中的關鍵點,且該任一連接邊對應的所述巨集節點中存在與另一個關鍵點的類別資訊相同的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊。In a possible implementation, based on the category information of each key point included in the at least one macro node and other key points other than the key points included in the at least one macro node in the current key point graph model The category information, determining the connection edge to be deleted, including: for any connection edge in the current key point graph model, the two key points corresponding to the arbitrary connection edge are the key points in different macro nodes point, and if there are key points with the same category information in the two macro nodes corresponding to any connecting edge, determine that any connecting edge is the connecting edge to be deleted; In the case that the two key points are the key points in the same macro node, determine that any connecting edge is the connecting edge to be deleted; one of the two key points corresponding to the any connecting edge is a macro point. A key point in a set node, another key point is not a key point in a macro node, and the macro node corresponding to any connecting edge has a key point with the same type information as the other key point , determine that any connecting edge is the connecting edge to be deleted.
一種可能的實施方式中,所述每個目標對象的關鍵點資訊通過預先訓練好的目標神經網路生成;其中,所述目標神經網路是由包括巨集節點判別器的待訓練神經網路訓練得到的,所述巨集節點判別器用於判別每個巨集節點中包括的多個關鍵點是否屬於同一目標對象。In a possible implementation manner, the key point information of each target object is generated by a pre-trained target neural network; wherein, the target neural network is a neural network to be trained including a macro node discriminator. After training, the macro node discriminator is used to discriminate whether multiple key points included in each macro node belong to the same target object.
一種可能的實施方式中,通過下述步驟對所述待訓練神經網路進行訓練,得到預先訓練好的目標神經網路:獲取樣本圖像;基於所述樣本圖像,對包括所述巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。In a possible implementation manner, the neural network to be trained is trained by the following steps to obtain a pre-trained target neural network: obtaining a sample image; The to-be-trained neural network of the node discriminator is trained to obtain a pre-trained target neural network.
一種可能的實施方式中,基於所述樣本圖像,對包括所述巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路,包括:基於所述樣本圖像,對所述待訓練神經網路進行訓練,得到預測結果,所述預測結果包括所述巨集節點判別器的檢測結果、每個關鍵點的預測類別、以及每個關鍵點的預測位置資訊;基於所述巨集節點判別器的檢測結果,確定第一損失值;以及基於所述每個關鍵點的預測類別、所述每個關鍵點的預測位置資訊,和所述樣本圖像中攜帶的標注結果,確定第二損失值;其中,所述標注結果包括每個關鍵點屬於對應目標對象的標注類別,以及每個關鍵點的標注位置資訊;基於所述第一損失值和所述第二損失值,對所述待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。In a possible implementation manner, based on the sample image, the neural network to be trained including the macro node discriminator is trained to obtain a pre-trained target neural network, including: based on the sample image , the neural network to be trained is trained to obtain a prediction result, and the prediction result includes the detection result of the macro node discriminator, the prediction category of each key point, and the prediction position information of each key point; determining a first loss value based on the detection result of the macro node discriminator; and based on the predicted category of each key point, the predicted location information of each key point, and the information carried in the sample image The labeling result is to determine a second loss value; wherein, the labeling result includes the labeling category that each key point belongs to the corresponding target object, and the labeling position information of each key point; based on the first loss value and the second The loss value is used to train the neural network to be trained to obtain a pre-trained target neural network.
一種可能的實施方式中,在得到所述待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:基於每個目標對象對應的所述關鍵點資訊,確定該目標對象的行為類型。In a possible implementation manner, after obtaining the key point information of each target object in the to-be-detected image, the method further includes: determining the behavior type of the target object based on the key point information corresponding to each target object. .
一種可能的實施方式中,在得到所述待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:基於每個目標對象對應的所述關鍵點資訊,確定該目標對象的至少一個目標部位的位置資訊,並根據所述至少一個目標部位的位置資訊,生成針對所述至少一個目標部位的特效資訊。In a possible implementation manner, after obtaining the key point information of each target object in the image to be detected, the method further includes: determining at least one target object based on the key point information corresponding to each target object. position information of the target part, and generate special effect information for the at least one target part according to the position information of the at least one target part.
以下裝置、電子設備等的效果描述參見上述方法的說明,這裡不再贅述。For descriptions of the effects of the following apparatuses, electronic devices, etc., reference may be made to the descriptions of the above-mentioned methods, which will not be repeated here.
第二方面,本發明提供了一種關鍵點檢測裝置,包括:獲取模組,配置為獲取待檢測圖像;第一生成模組,配置為基於所述待檢測圖像,生成圖像特徵圖和多個關鍵點熱圖;所述圖像特徵圖用於表徵所述待檢測圖像中各個目標對象的關鍵點之間的相對位置關係;每個所述關鍵點熱圖中包含所述待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應所述目標對象的不同部位;第二生成模組,配置為基於所述圖像特徵圖和多個所述關鍵點熱圖,生成初始關鍵點圖模型;所述初始關鍵點圖模型中包含所述待檢測圖像中不同類別的關鍵點的資訊以及連接邊的資訊,每個連接邊為兩個不同類別的關鍵點之間的邊;處理模組,配置為對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到分別屬於各個目標對象的關鍵點資訊。In a second aspect, the present invention provides a key point detection device, comprising: an acquisition module, configured to acquire an image to be detected; a first generation module, configured to generate an image feature map based on the to-be-detected image and a multiple key point heat maps; the image feature maps are used to represent the relative positional relationship between key points of each target object in the to-be-detected image; each of the key-point heat maps contains the to-be-detected image The key points of one category of the image, the key points of different categories correspond to different parts of the target object; the second generation module is configured to generate an initial image based on the image feature map and a plurality of the key point heat maps A key point graph model; the initial key point graph model includes information of different types of key points in the to-be-detected image and information of connecting edges, and each connecting edge is an edge between two different types of key points The processing module is configured to carry out the pruning processing of the connection edges for multiple times on the initial key point graph model, until the multiple key points in the processed key point graph model are clustered into multiple clusters, obtaining The key point information belonging to each target object respectively.
第三方面,本發明提供一種電子設備,包括:處理器、記憶體和匯流排,所述記憶體儲存有所述處理器可執行的機器可讀指令,在電子設備運行的情況下,所述處理器與所述記憶體之間通過匯流排通信,所述機器可讀指令被所述處理器執行時執行如上述第一方面或任一實施方式所述的關鍵點檢測方法的步驟。In a third aspect, the present invention provides an electronic device, comprising: a processor, a memory, and a bus, the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the The processor and the memory communicate through a bus, and when the machine-readable instructions are executed by the processor, the steps of the method for detecting key points according to the first aspect or any one of the implementation manners are performed.
第四方面,本發明提供一種電腦可讀儲存介質,該電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器運行時執行如上述第一方面或任一實施方式所述的關鍵點檢測方法的步驟。In a fourth aspect, the present invention provides a computer-readable storage medium on which a computer program is stored, and when the computer program is run by a processor, the key points described in the first aspect or any one of the above-mentioned embodiments are executed. The steps of the detection method.
第五方面,本發明提供了一種電腦程式產品,包括電腦可讀代碼,當所述電腦可讀代碼在電子設備中運行時,所述電子設備中的處理器執行用於實現上述一個或多個實施例中伺服器執行上述方法。為使本發明的上述目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附附圖,作詳細說明如下。In a fifth aspect, the present invention provides a computer program product, comprising computer-readable code, when the computer-readable code is executed in an electronic device, a processor in the electronic device executes the code for implementing one or more of the above In the embodiment, the server executes the above method. In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below, and are described in detail as follows in conjunction with the accompanying drawings.
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的元件可以以各種不同的配置來佈置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述並非旨在限制要求保護的本發明的範圍,而是僅僅表示本發明的選定實施例。基於本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。In order to make the purposes, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments It is only a part of the embodiments of the present invention, but not all of the embodiments. The elements of the embodiments of the invention generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Thus, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present invention.
一般的,自底向上方法首先預測得到各個關鍵點的位置,再對各個關鍵點進行聚類,得到完整的人體姿態。當前的方法中,可以採用圖分割演算法或者啟發式的聚類演算法,對各個關鍵點進行聚類,聚類過程只是作為後處理操作,並沒有直接對聚類結果進行監督,使得關鍵點聚類過程的準確度較低。In general, the bottom-up method first predicts the position of each key point, and then clusters each key point to obtain a complete human pose. In the current method, a graph segmentation algorithm or a heuristic clustering algorithm can be used to cluster each key point. The clustering process is only used as a post-processing operation, and does not directly supervise the clustering results, so that the key points are The clustering process is less accurate.
為了提高關鍵點聚類過程的準確度,本發明實施例提供了一種關鍵點檢測方法。In order to improve the accuracy of the key point clustering process, an embodiment of the present invention provides a key point detection method.
為便於對本發明實施例進行理解,首先對本發明實施例所公開的一種關鍵點檢測方法進行詳細介紹。To facilitate understanding of the embodiments of the present invention, a key point detection method disclosed in the embodiments of the present invention is first introduced in detail.
參見圖1所示,為本發明實施例所提供的一種關鍵點檢測方法的流程示意圖,該方法包括S101-S104,其中: S101,獲取待檢測圖像。 S102,基於待檢測圖像,生成圖像特徵圖和多個關鍵點熱圖;圖像特徵圖用於表徵待檢測圖像中各個目標對象之間的相對位置關係;每個關鍵點熱圖中包含待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應目標對象的不同部位。 S103,基於圖像特徵圖和多個關鍵點熱圖,生成初始關鍵點圖模型;初始關鍵點圖模型中包含待檢測圖像中不同類別的關鍵點的資訊以及連接邊的資訊,每個連接邊為兩個不同類別的關鍵點之間的邊。 S104,對初始關鍵點圖模型進行多次連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到分別屬於各個目標對象的關鍵點資訊。Referring to FIG. 1, it is a schematic flowchart of a key point detection method provided by an embodiment of the present invention. The method includes S101-S104, wherein: S101, acquiring an image to be detected. S102, based on the image to be detected, generate an image feature map and a plurality of key point heat maps; the image feature map is used to represent the relative positional relationship between each target object in the to-be-detected image; each key point heat map It contains the key points of one category of the image to be detected, and the key points of different categories correspond to different parts of the target object. S103, an initial key point graph model is generated based on the image feature map and a plurality of key point heat maps; the initial key point graph model includes information of different types of key points in the image to be detected and information of connecting edges, each connection An edge is an edge between two keypoints of different classes. S104, performing multiple pruning processing of connecting edges on the initial key point graph model, until multiple key points in the processed key point graph model are clustered into multiple clusters, to obtain key point information belonging to each target object respectively .
上述方法中,可以基於生成的圖像特徵圖和多個關鍵點熱圖,生成待檢測圖像對應的初始關鍵點圖模型,由於初始關鍵點圖模型中包括圖像特徵圖和關鍵點熱圖中的資訊,而圖像特徵圖可以表徵出待檢測圖像中不同目標對象之間的相對位置關係,從而可以對初始關鍵點圖模型進行所處連接邊的剪枝處理,得到各個目標對象的關鍵點資訊,較準確地對不同目標對象的關鍵點進行區分,以提高關鍵點聚類的精準度。In the above method, an initial key point map model corresponding to the image to be detected can be generated based on the generated image feature map and a plurality of key point heat maps, since the initial key point map model includes the image feature map and the key point heat map. The image feature map can represent the relative positional relationship between different target objects in the image to be detected, so that the initial key point graph model can be pruned at the connected edges to obtain the information of each target object. The key point information can more accurately distinguish the key points of different target objects, so as to improve the accuracy of key point clustering.
針對S101以及S102:待檢測圖像可以為任一包括多個目標對象的圖像。目標對象可以為人,即對待檢測對象中包括的多個人體的關鍵點進行檢測。For S101 and S102: the image to be detected may be any image including multiple target objects. The target object can be a person, that is, the key points of a plurality of human bodies included in the object to be detected are detected.
在實施過程中,可以將獲取的待檢測圖像輸入至訓練後的關鍵點檢測神經網路中,生成圖像特徵圖和多個關鍵點熱圖;並基於圖像特徵圖、多個關鍵點熱圖、以及訓練後的關鍵點檢測神經網路,確定每個目標對象的各個關鍵點。During the implementation process, the acquired image to be detected can be input into the trained keypoint detection neural network to generate an image feature map and multiple keypoint heatmaps; and based on the image feature map, multiple keypoints The heatmap, and the trained keypoint detection neural network, determine each keypoint of each target object.
這裡,每個關鍵點熱圖中包含待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應目標對象的不同部位。比如,關鍵點的類別可以為頭部、頸部、手部等,進而關鍵點熱圖可以為包含頭部關鍵點的圖像,或者,關鍵點熱圖可以為包含頸部關鍵點的圖像等;或者,關鍵點的類別可以為設置的第一類別、第二類別等,其中,第一類別關鍵點可以為拇指上的關鍵點,第二類別關鍵點可以為食指上的關鍵點等,進而關鍵點熱圖可以為包含第一類別關鍵點的圖像,或者,關鍵點熱圖可以為包含第二類別關鍵點的圖像等。其中,關鍵點的類別和類別的數量可以根據實際需要進行設置。以及,每個目標對象對應的關鍵點的數量可以根據實際需要進行設置,比如,每個目標對象對應的關鍵點的數量可以為17個、105個等。Here, each keypoint heatmap contains keypoints of one category of the image to be detected, and keypoints of different categories correspond to different parts of the target object. For example, the categories of key points may be head, neck, hand, etc., and the key point heatmap may be an image containing head key points, or the key point heat map may be an image containing neck key points etc.; or, the categories of the key points may be the set first category, second category, etc., wherein the first category of key points may be the key points on the thumb, and the second category of key points may be the key points on the index finger, etc., Furthermore, the keypoint heatmap may be an image containing keypoints of the first category, or the keypoint heatmap may be an image containing keypoints of the second category, or the like. Among them, the categories of key points and the number of categories can be set according to actual needs. And, the number of key points corresponding to each target object may be set according to actual needs, for example, the number of key points corresponding to each target object may be 17, 105, and so on.
這裡,關鍵點熱圖的數量與設置的關鍵點類別的數量一致,比如,在設置的關鍵點的類別數量為17個的情況下,基於待檢測圖像生成的關鍵點熱圖的數量也為17個。其中,每種類別的關鍵點的數量可以為一個。Here, the number of keypoint heatmaps is consistent with the set number of keypoint categories. For example, when the set number of keypoint categories is 17, the number of keypoint heatmaps generated based on the image to be detected is also 17. Among them, the number of keypoints for each category can be one.
圖像特徵圖的數量可以為一個,也可以為多個。其中,在圖像特徵圖的數量為一個的情況下,該圖像特徵圖可以表徵待檢測圖像中各個目標對象的、各種類別的關鍵點對應的部位之間的相對位置關係。在圖像特徵圖的數量為多個的情況下,圖像特徵圖的數量與關鍵點熱圖的數量可以相同,即每張圖像特徵圖可以表徵待檢測圖像中各個目標對象的一種類別的關鍵點對應的部位之間的相對位置關係。其中,圖像特徵圖的尺寸與關鍵點熱圖的尺寸一致。The number of image feature maps can be one or more. Wherein, in the case where the number of image feature maps is one, the image feature map may represent the relative positional relationship between parts of each target object in the image to be detected and corresponding to the key points of various categories. When the number of image feature maps is multiple, the number of image feature maps can be the same as the number of key point heat maps, that is, each image feature map can represent a category of each target object in the image to be detected The relative positional relationship between the parts corresponding to the key points. Among them, the size of the image feature map is consistent with the size of the keypoint heatmap.
在實施過程中,可以通過在關鍵點檢測神經網路中設置不同的損失函數,得到圖像特徵圖和多個關鍵點熱圖。During implementation, image feature maps and multiple keypoint heatmaps can be obtained by setting different loss functions in the keypoint detection neural network.
針對S103:這裡,可以從多個關鍵點熱圖和圖像特徵圖中提取得到每個關鍵點的資訊,將包含資訊的每個關鍵點作為節點、以不同類別的關鍵點之間的邊作為連接邊,構成了初始關鍵點圖模型。其中,連接邊的資訊可以為對應兩個關鍵點之間存在連接關係的資訊,比如,連接邊一的資訊可以為:連接邊一對應的關鍵點P1和關鍵點P2存在連接關係。For S103: Here, the information of each key point can be extracted from multiple key point heatmaps and image feature maps, and each key point containing information is used as a node, and the edges between different types of key points are used as The connected edges form the initial keypoint graph model. The information of the connection edge may be information corresponding to the connection relationship between two key points. For example, the information of the connection edge 1 may be that the key point P1 corresponding to the connection edge 1 has a connection relationship with the key point P2.
在本發明的一些實施例中,關鍵點的資訊包括位置資訊、類別資訊、以及圖元特徵資訊。其中,可以根據以下步驟確定初始關鍵點圖模型中各個關鍵點的資訊:基於關鍵點熱圖,確定各個關鍵點的位置資訊;基於每個關鍵點的位置資訊,從圖像特徵圖中提取關鍵點的圖元特徵資訊,並基於關鍵點所屬關鍵點熱圖的類別標籤,確定關鍵點對應的類別資訊。In some embodiments of the present invention, the information of the key point includes location information, category information, and primitive feature information. Among them, the information of each key point in the initial key point graph model can be determined according to the following steps: based on the key point heat map, determine the position information of each key point; based on the position information of each key point, extract the key point from the image feature map The feature information of the primitives of the point, and the category information corresponding to the key point is determined based on the category label of the key point heat map to which the key point belongs.
在實施過程中,可以基於關鍵點熱圖中每個圖元點的圖元值,確定各個關鍵點的位置資訊。示例性的,針對每個關鍵點熱圖,可以選擇圖元值為極大值的圖元點,確定為一關鍵點,並將選擇的該圖元點的位置資訊確定為關鍵點的位置資訊。其中,在關鍵點熱圖中某一圖元點的圖元值大於周圍圖元點的圖元值的情況下,認為該圖元點的圖元值為極大值,該圖元點為關鍵點。在得到了每個圖元點的位置資訊之後,可以從圖像特徵圖中提取與該位置資訊對應的圖元點的圖元值,將提取的圖元值確定為關鍵點的圖元特徵資訊。同時,還可以根據每個關鍵點所屬關鍵點熱圖的類別標籤,確定關鍵點對應的類別資訊。比如,在關鍵點熱圖G1的類別標籤為頭部的情況下,關鍵點熱圖G1中包括的各個關鍵點的類別資訊為頭部關鍵點;在關鍵點熱圖G2的類別標籤為頸部的情況下,關鍵點熱圖G2中包括的各個關鍵點的類別資訊為頸部關鍵點。In the implementation process, the position information of each key point can be determined based on the primitive value of each primitive point in the key point heat map. Exemplarily, for each key point heat map, a primitive point whose primitive value is a maximum value may be selected as a key point, and the position information of the selected primitive point may be determined as the position information of the key point. Among them, in the case where the value of a certain primitive point in the key point heat map is greater than the primitive value of the surrounding primitive points, the primitive value of the primitive point is considered to be a maximum value, and the primitive point is a key point . After obtaining the position information of each primitive point, the primitive value of the primitive point corresponding to the position information can be extracted from the image feature map, and the extracted primitive value can be determined as the primitive feature information of the key point . At the same time, the category information corresponding to the key point can also be determined according to the category label of the key point heat map to which each key point belongs. For example, in the case where the category label of the keypoint heatmap G1 is head, the category information of each keypoint included in the keypoint heatmap G1 is the head keypoint; the category label of the keypoint heatmap G2 is neck In the case of , the category information of each key point included in the key point heatmap G2 is the neck key point.
針對S104:在本發明的一些實施例中,在對初始關鍵點進行多次剪枝處理之前,還可以包括:針對初始關鍵點圖模型中的每個關鍵點,基於關鍵點的資訊和關鍵點圖模型中與關鍵點之間存在連接邊的其他關鍵點的資訊,確定關鍵點的融合特徵。進而,對初始關鍵點圖模型進行多次連接邊的剪枝處理,可以包括:基於初始關鍵點圖模型中包含的每個關鍵點的融合特徵,對初始關鍵點圖模型進行多次連接邊的剪枝處理。For S104: In some embodiments of the present invention, before performing multiple pruning processes on the initial key points, the method may further include: for each key point in the initial key point graph model, information and key points based on the key point The information of other key points with connected edges in the graph model and the key points is used to determine the fusion characteristics of the key points. Further, performing pruning processing of multiple connection edges on the initial key point graph model may include: based on the fusion feature of each key point included in the initial key point graph model, performing multiple connection edges on the initial key point graph model. Pruning treatment.
這裡,可以先為初始關鍵點圖模型中的每個關鍵點生成對應的融合特徵,再基於每個關鍵點的融合特徵,對初始關鍵點圖模型進行多次連接邊的剪枝處理。Here, a corresponding fusion feature can be generated for each key point in the initial key point graph model, and then based on the fusion feature of each key point, the initial key point graph model is pruned multiple times to connect edges.
在實施過程中,可以針對每個關鍵點,確定初始關鍵點圖模型中與該關鍵點之間存在連接邊的其他關鍵點,基於該關鍵點的資訊和其他關鍵點的資訊,生成該關鍵點的融合特徵。示例性的,可以利用圖神經網路(Graph Neural Network,GNN),確定初始關鍵點圖模型中,每個關鍵點的融合特徵,並基於初始關鍵點圖模型中包含的每個關鍵點的融合特徵,對初始關鍵點圖模型進行多次連接邊的剪枝處理。During the implementation process, for each key point, other key points in the initial key point graph model that have connecting edges with the key point can be determined, and the key point can be generated based on the information of the key point and other key points. fusion features. Exemplarily, a graph neural network (Graph Neural Network, GNN) can be used to determine the fusion feature of each key point in the initial key point graph model, and based on the fusion of each key point included in the initial key point graph model feature, the initial keypoint graph model is pruned multiple times to connect the edges.
上述實施方式中,通過針對每個關鍵點,基於該關鍵點的資訊和與該關鍵點之間存在連接邊的其他關鍵點的資訊,生成該關鍵點對應的融合特徵,這樣,該關鍵點的融合特徵不僅可以表徵該關鍵點的特徵,還可以表徵該關鍵點與其他關鍵點之間的關聯關係,使得基於各個關鍵點分別對應的融合特徵,可以較準確的對初始關鍵點圖模型進行多次連接邊的剪枝處理,進而可以較準確的確定每個目標對象對應的關鍵點資訊。In the above-mentioned embodiment, by for each key point, based on the information of the key point and the information of other key points that have connecting edges with the key point, the fusion feature corresponding to the key point is generated. The fusion feature can not only characterize the characteristics of the key point, but also the relationship between the key point and other key points, so that based on the fusion features corresponding to each key point, the initial key point graph model can be more accurate. The pruning process of the secondary connection edge can more accurately determine the key point information corresponding to each target object.
在本發明的一些實施例中,對初始關鍵點圖模型進行多次連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,包括: 針對當前關鍵點圖模型執行第一處理過程:步驟一、基於當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點;其中,巨集節點中包括聚類後的多個相鄰關鍵點;並基於每個巨集節點中包括的關鍵點的融合特徵,確定巨集節點的融合特徵;步驟二、基於得到的至少一個巨集節點和當前關鍵點圖模型,對當前關鍵點圖模型進行當前次連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型;步驟三、在執行完當前次的第一處理過程之後,將當前次剪枝處理後的關鍵點圖模型作為當前關鍵點圖模型,將當前次確定的巨集節點以及巨集節點的融合特徵作為當前關鍵圖模型中的關鍵點以及關鍵點的融合特徵,並再次執行第一處理過程,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇。這裡,可以將初始關鍵點圖模型作為當前關鍵點圖模型,執行第一次第一處理過程,得到剪枝處理後的關鍵點圖模型;並將第一次剪枝處理後的關鍵點圖模型作為當前關鍵點圖模型,將第一次剪枝處理後得到的每個巨集節點和每個巨集節點對應的融合特徵,作為當前關鍵點圖模型中的關鍵點以及關鍵點的融合特徵,執行第二次第一處理過程,直至處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,聚類得到的簇的數量與待檢測圖像中包括的目標對象的數量相同,每個簇中包括一個目標對象對應的全部關鍵點,即得到了待檢測圖像中每個目標對象的各個關鍵點。In some embodiments of the present invention, the initial keypoint graph model is subjected to multiple pruning processing of connecting edges, until multiple keypoints in the processed keypoint graph model are clustered into multiple clusters, including: Execute the first processing process for the current key point graph model: Step 1. Based on the fusion feature of two key points corresponding to each connecting edge in the current key point graph model, analyze the multiple key points included in the current key point graph model. Perform key point clustering of the same target object on adjacent key points to obtain at least one macro node; wherein, the macro node includes multiple adjacent key points after clustering; and based on the key points included in each macro node The fusion characteristics of the points are determined to determine the fusion characteristics of the macro nodes; step 2, based on the obtained at least one macro node and the current key point graph model, the current key point graph model is pruned for the current connection edge, and the current key point graph model is obtained. The key point graph model after the second pruning process; Step 3: After the current first processing process is completed, the key point graph model after the current pruning process is used as the current key point graph model, and the current determined The macro node and the fusion feature of the macro node are used as the key points in the current key graph model and the fusion feature of the key points, and the first processing process is performed again until multiple key points in the processed key point graph model are aggregated. Classes are clusters. Here, the initial key point graph model can be used as the current key point graph model, and the first processing process is performed for the first time to obtain the key point graph model after pruning; and the key point graph model after the first pruning process is As the current key point graph model, each macro node and the fusion feature corresponding to each macro node obtained after the first pruning process are used as the key points in the current key point graph model and the fusion feature of the key points, Perform the second first processing process until the key points in the processed key point graph model are clustered into multiple clusters, and the number of clusters obtained by clustering is the same as the number of target objects included in the image to be detected. Similarly, each cluster includes all key points corresponding to a target object, that is, each key point of each target object in the image to be detected is obtained.
上述實施方式下,在每一次第一處理過程中,對相鄰關鍵點進行一次聚類,得到至少一個巨集節點,每個巨集節點中包括的多個關鍵點為同一目標對象的關鍵點,通過對初始關鍵點圖模型進行多次第一處理過程,直至處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到了每個目標對象的關鍵點資訊,使得得到的每個目標對象對應的關鍵點資訊較為準確。Under the above-described embodiment, in each first processing process, adjacent key points are clustered once to obtain at least one macro node, and the multiple key points included in each macro node are the key points of the same target object. , by performing multiple first processing processes on the initial key point graph model until multiple key points in the processed key point graph model are clustered into multiple clusters, the key point information of each target object is obtained, so that The obtained key point information corresponding to each target object is more accurate.
下述對第一處理過程進行詳細說明:在步驟一中,在本發明的一些實施例中,基於當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點,包括:A1,基於連接邊對應的兩個關鍵點的融合特徵,確定連接邊的權重,權重表徵連接邊對應的兩個關鍵點屬於同一目標對象的概率。A2,基於當前關鍵點圖模型中包括的每條連接邊的權重,對當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點。這裡,可以確定每條連接邊對應的權重,該權重表徵連接邊兩側的兩個關鍵點屬於同一目標對象的概率。示例性的,可以通過訓練的邊判別器,針對每條連接邊對應的兩個關鍵點的融合特徵,確定每條連接邊的權重。The first processing procedure is described in detail as follows: In step 1, in some embodiments of the present invention, based on the fusion feature of two key points corresponding to each connecting edge in the current key point graph model, the current key point graph model The adjacent key points of the multiple key points included in the point graph model perform key point clustering of the same target object to obtain at least one macro node, including: A1, based on the fusion feature of the two key points corresponding to the connection edge, determine the connection The weight of the edge, the weight represents the probability that the two key points corresponding to the connecting edge belong to the same target object. A2, based on the weight of each connecting edge included in the current keypoint graph model, perform keypoint clustering of the same target object on adjacent keypoints among multiple keypoints included in the current keypoint graph model to obtain at least one macroset node. Here, the weight corresponding to each connecting edge can be determined, and the weight represents the probability that the two key points on both sides of the connecting edge belong to the same target object. Exemplarily, the weight of each connecting edge may be determined according to the fusion feature of the two key points corresponding to each connecting edge through the trained edge discriminator.
在本發明的一些實施例中,可以基於當前關鍵點圖模型中包括的每條連接邊的權重,對當前關鍵點圖模型中包括的多個關鍵點中相鄰關鍵點進行關鍵點聚類,得到至少一個巨集節點,其中,每個巨集節點中包括的多個關鍵點為屬於同一目標對象的關鍵點。比如可以將權重較大的連接邊對應的兩個關鍵點聚類在一起,得到一個巨集節點。每個巨集節點中包括當前關鍵點圖模型中的兩個關鍵點,並使得聚類後得到的至少一個巨集節點中包括的連接邊的權重和較大。比如,在對當前關鍵點圖模型進行本次關鍵點聚類後,得到兩個巨集節點的情況下,可以使得聚類後得到該兩個巨集節點中包括的連接邊權重和較大。In some embodiments of the present invention, keypoint clustering may be performed on adjacent keypoints among multiple keypoints included in the current keypoint graph model based on the weight of each connecting edge included in the current keypoint graph model, At least one macro node is obtained, wherein the multiple key points included in each macro node are key points belonging to the same target object. For example, two key points corresponding to connecting edges with larger weights can be clustered together to obtain a macro node. Each macro node includes two key points in the current key point graph model, so that the weight sum of the connection edges included in at least one macro node obtained after clustering is larger. For example, in the case of obtaining two macro nodes after performing this key point clustering on the current key point graph model, the sum of the connection edge weights included in the two macro nodes obtained after clustering can be larger.
在得到了巨集節點之後,進行下一次第一處理過程之前,可以確定每個巨集節點的融合特徵。即可以將巨集節點中包括的每個關鍵點的融合特徵進行融合處理,得到巨集節點對應的融合特徵。在實施過程中,可以將巨集節點中包括的每個關鍵點的融合特徵進行池化處理,得到該巨集節點的融合特徵。After the macro nodes are obtained, the fusion feature of each macro node can be determined before the next first processing process. That is, the fusion feature of each key point included in the macro node can be fused to obtain the fusion feature corresponding to the macro node. In the implementation process, the fusion feature of each key point included in the macro node may be pooled to obtain the fusion feature of the macro node.
這裡,通過確定每條連接邊的權重,該權重表徵連接邊對應的兩個關鍵點屬於同一目標對象的概率,再可以基於每條連接邊的權重,對當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點,比如將對應權重較大的兩個關鍵點聚類在一起,得到一個巨集節點,使得巨集節點的確定較為準確。Here, by determining the weight of each connecting edge, the weight represents the probability that the two key points corresponding to the connecting edge belong to the same target object, and then based on the weight of each connecting edge, the current key point graph model includes multiple key points. The adjacent key points in the point are clustered by the key points of the same target object to obtain at least one macro node. For example, two key points with larger corresponding weights are clustered together to obtain a macro node, which makes the macro node determine more accurate.
在步驟二中,基於得到的至少一個巨集節點和當前關鍵點圖模型,對當前關鍵點圖模型進行當前次連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型,包括:B1,基於得到的至少一個巨集節點和當前關鍵點圖模型,確定待刪減連接邊,並從當前關鍵點圖模型中將待刪減連接邊刪除。B2,將至少一個巨集節點、和當前關鍵點圖模型中除巨集節點中包括的關鍵點之外的其他關鍵點作為剪枝處理後的關鍵點,將刪除後剩餘的連接邊作為剪枝處理後的連接邊,得到當前次剪枝處理後的關鍵點圖模型。In step 2, based on the obtained at least one macro node and the current key point graph model, the current key point graph model is subjected to the pruning process of the current connection edge, and the key point graph model after the current pruning process is obtained, Including: B1, based on the obtained at least one macro node and the current key point graph model, determine the connection edge to be deleted, and delete the connection edge to be deleted from the current key point graph model. B2, use at least one macro node and other key points in the current key point graph model except the key points included in the macro node as the key points after pruning, and use the remaining connection edges after deletion as the pruning After processing the connected edges, the key point graph model after the current pruning process is obtained.
這裡,在步驟B1中,可以先根據得到的至少一個巨集節點和當前關鍵點圖模型,確定當前次剪枝處理中待刪減連接邊,並將該待刪減連接邊從當前關鍵點圖模型中刪除。Here, in step B1, first, according to the obtained at least one macro node and the current key point graph model, determine the connection edge to be deleted in the current pruning process, and remove the connection edge to be deleted from the current key point graph removed from the model.
在本發明的一些實施例中,在步驟B1中,基於得到的至少一個巨集節點和當前關鍵點圖模型,確定待刪減連接邊,包括:基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定待刪減連接邊。這裡,考慮到每個目標對象中僅可以包括一個相同類別的關鍵點,比如,每個目標對象中僅可以包括一個頭部類別的關鍵點、一個頸部類別的關鍵點、一個左腳類別的關鍵點,因此,可以基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定待刪減連接邊。In some embodiments of the present invention, in step B1, determining the connection edge to be deleted based on the obtained at least one macro node and the current key point graph model includes: based on each key included in the at least one macro node The category information of the points and the category information of other key points in the current key point graph model except the key points included in the at least one macro node are used to determine the connection edges to be deleted. Here, considering that each target object can include only one key point of the same category, for example, each target object can only include one key point of the head category, one key point of the neck category, and one key point of the left foot category. key points, therefore, can be based on the category information of each key point included in at least one macro node, and the category information of other key points in the current key point graph model except the key points included in at least one macro node , to determine the connecting edge to be deleted.
在本發明的一些實施例中,基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定待刪減連接邊,包括: 針對當前關鍵點圖模型中的任一連接邊:條件一、在該任一連接邊對應的兩個關鍵點為不同巨集節點中的關鍵點,且該任一連接邊對應的兩個巨集節點中存在類別資訊相同的關鍵點的情況下,確定該任一連接邊為待刪減連接邊。條件二、在該任一連接邊對應的兩個關鍵點為同一巨集節點中的關鍵點的情況下,確定該任一連接邊為待刪減連接邊。條件三、在該任一連接邊對應的兩個關鍵點中一個關鍵點為巨集節點中的關鍵點、另一個關鍵點不是巨集節點中的關鍵點,且該任一連接邊對應的巨集節點中存在與另一個關鍵點的類別資訊相同的關鍵點的情況下,確定該任一連接邊為待刪減連接邊。In some embodiments of the present invention, based on the category information of each key point included in the at least one macro node, and other key points in the current key point graph model except the key points included in the at least one macro node category information to determine the connecting edges to be deleted, including: For any connecting edge in the current keypoint graph model: Condition 1, the two key points corresponding to any connecting edge are key points in different macro nodes, and the two macros corresponding to any connecting edge When there are key points with the same category information in the nodes, it is determined that any connecting edge is the connecting edge to be deleted. Condition 2: In the case that the two key points corresponding to any connecting edge are key points in the same macro node, determine that any connecting edge is a connecting edge to be deleted. Condition 3. Among the two key points corresponding to any connecting edge, one key point is the key point in the macro node, the other key point is not the key point in the macro node, and the macro point corresponding to any connecting edge is the key point in the macro node. If there is a keypoint with the same type information as another keypoint in the set node, it is determined that any connecting edge is the connecting edge to be deleted.
這裡,針對當前關鍵點圖模型中的任一連接邊,在該連接邊滿足條件一、條件二、和條件三中的任一種條件的情況下,認為該連接邊為待刪減連接邊,否則,該連接邊不屬於待刪減連接邊。Here, for any connecting edge in the current key point graph model, if the connecting edge satisfies any one of condition 1, condition 2, and condition 3, the connecting edge is considered to be the connecting edge to be deleted, otherwise , the connecting edge does not belong to the connecting edge to be deleted.
在條件一中,在連接邊對應的兩個關鍵點為不同巨集節點中的關鍵點的情況下,可以判斷該連接邊對應的兩個巨集節點中是否存在類別資訊相同的關鍵點,在存在類別資訊相同的關鍵點的情況下,該連接邊為待刪減連接邊;在不存在類別資訊相同的關鍵點的情況下,該連接邊不屬於待刪減連接邊。在條件二中,在連接邊對應的兩個關鍵點為同一巨集節點中的關鍵點的情況下,該連接邊為待刪減連接邊。在條件三中,在該連接邊對應的關鍵點中一個關鍵點是巨集節點中包括的關鍵點,另一個關鍵點不是巨集節點中的關鍵點,即另一個關鍵點是當前關鍵點圖模型中除巨集節點包括的關鍵點之外的其他關鍵點的情況下,可以判斷該連接邊對應的巨集節點中是否存在與另一關鍵點的類別資訊相同的關鍵點,在存在所述關鍵點的情況下,該連接邊為待刪減連接邊;在不存在所述關鍵點的情況下,該連接邊不屬於待刪減連接邊。In Condition 1, if the two key points corresponding to the connecting edge are key points in different macro nodes, it can be determined whether there are key points with the same category information in the two macro nodes corresponding to the connecting edge. If there are key points with the same category information, the connecting edge is the connecting edge to be deleted; if there is no key point with the same category information, the connecting edge does not belong to the connecting edge to be deleted. In Condition 2, when the two key points corresponding to the connecting edge are key points in the same macro node, the connecting edge is the connecting edge to be deleted. In condition 3, one of the key points corresponding to the connecting edge is the key point included in the macro node, and the other key point is not the key point in the macro node, that is, the other key point is the current key point graph In the case of other key points other than the key points included in the macro node in the model, it can be judged whether there is a key point with the same category information as another key point in the macro node corresponding to the connecting edge, and in the presence of the In the case of a key point, the connection edge is the connection edge to be deleted; in the absence of the key point, the connection edge does not belong to the connection edge to be deleted.
上述實施方式下,考慮到每個目標對象的關鍵點資訊中同類別的關鍵點僅包括一個,即每個目標對象的關鍵點資訊中包括一個頭部關鍵點、一個頸部關鍵點、一個左腳關鍵點等,因此,這裡可以基於連接邊對應的兩個關鍵點的類別,確定待刪減連接邊,並生成剪枝後的關鍵點圖模型,進而可以進行下一次第一處理過程,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇。In the above embodiment, considering that the key point information of each target object includes only one key point of the same type, that is, the key point information of each target object includes a head key point, a neck key point, a left key point, and a left key point. Therefore, based on the category of the two key points corresponding to the connecting edge, the connecting edge to be deleted can be determined, and the pruned key point graph model can be generated, and then the next first processing process can be performed until Multiple keypoints in the processed keypoint graph model are clustered into multiple clusters.
在B2中,在將待刪減連接邊刪除之後,可以將至少一個巨集節點、和當前關鍵點圖模型中除巨集節點中包括的關鍵點之外的其他關鍵點作為剪枝處理後的關鍵點,將刪除後剩餘的連接邊作為兼職處理後的連接邊,得到當前次剪枝處理後的關鍵點圖模型。即當前次剪枝處理後的關鍵點圖模型中,在關鍵點為巨集節點的情況下,該關鍵點的融合特徵為該巨集節點對應的融合特徵。In B2, after the connection edge to be deleted is deleted, at least one macro node and other key points in the current key point graph model except the key points included in the macro node can be used as the pruned Key points, the remaining connection edges after deletion are used as connection edges after part-time processing, and the key point graph model after the current pruning process is obtained. That is, in the key point graph model after the current pruning process, when the key point is a macro node, the fusion feature of the key point is the fusion feature corresponding to the macro node.
在步驟三中,在執行完當前次的第一處理過程之後,可以將當前次剪枝處理後的關鍵點圖模型作為下一次剪枝處理時對應的當前關鍵點圖模型,將當前次確定的巨集節點以及巨集節點的融合特徵作為當前關鍵圖模型中的關鍵點以及關鍵點的融合特徵,並再次執行第一處理過程,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,也即直至處理後的關鍵點圖模型中不存在任一條連接邊時為止,進而得到了待檢測圖像中包括的每個目標對象的各個關鍵點。In step 3, after the current first processing process is performed, the key point graph model after the current pruning process can be used as the current key point graph model corresponding to the next pruning process, and the currently determined key point graph model The macro node and the fusion feature of the macro node are used as the key points in the current key graph model and the fusion feature of the key points, and the first processing process is performed again until multiple key points in the processed key point graph model are aggregated. The class is a plurality of clusters, that is, until there is no connecting edge in the processed keypoint graph model, then each keypoint of each target object included in the image to be detected is obtained.
參見圖2A所示,圖中示出的是一種關鍵點檢測方法中,剪枝處理的流程示意圖;可以基於待檢測圖像,生成圖像特徵圖22(即Feature maps)和多個關鍵點熱圖21(即Heatmaps),再基於圖像特徵圖22和多個關鍵點熱圖21,生成初始關鍵點圖模型23,其中,初始關鍵點圖模型23中的圓形標識為關鍵點,虛線為不同類別的關鍵點之間的連接邊。接著,可以為每個關鍵點生成對應的融合特徵,並通過訓練的邊判別器24確定每一條連接邊的權重,並基於初始關鍵點圖模型23中包括的每條連接邊的權重,對初始關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點25。再接著,可以基於得到的至少一個巨集節點25和初始關鍵點圖模型23,確定待刪減連接邊,並從初始關鍵點圖模型中將待刪減連接邊刪除,再將至少一個巨集節點、和初始關鍵點圖模型中除巨集節點中包括的關鍵點之外的其他關鍵點作為剪枝處理後的關鍵點,將刪除後剩餘的連接邊作為剪枝處理後的連接邊,得到當前次剪枝處理後的關鍵點圖模型26,將當前次剪枝處理後的關鍵點圖模型26作為當前關鍵點圖模型再次進行第一處理過程,直至處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,即如圖2A中最後一步得到的處理結果。其中,在待訓練神經網路進行訓練的情況下,還可以通過巨集節點判別器27對生成的每個巨集節點進行判別,即判斷每個巨集節點中包括的關鍵點是否屬於同一個目標對象,並基於巨集節點判別器27的檢測結果對待訓練神經網路進行訓練,得到訓練好的目標神經網路。Referring to Figure 2A, the figure shows a schematic diagram of the pruning process in a key point detection method; based on the image to be detected, an image feature map 22 (ie, Feature maps) and multiple key point hotspots can be generated Figure 21 (ie Heatmaps), and then based on the
在本發明的一些實施例中,每個目標對象的關鍵點資訊通過預先訓練好的目標神經網路生成;其中,目標神經網路是由包括巨集節點判別器的待訓練神經網路訓練得到的,巨集節點判別器用於判別每個巨集節點中包括的多個關鍵點是否屬於同一目標對象。可以將待檢測圖像輸入至預先訓練好的目標神經網路中,得到待檢測圖像中包括的每個目標對象的關鍵點資訊。其中,每個目標對象對應的各個關鍵點的類別和關鍵點的數量,可以根據實際需要進行設置。In some embodiments of the present invention, the key point information of each target object is generated by a pre-trained target neural network; wherein, the target neural network is obtained by training a to-be-trained neural network including a macro node discriminator Yes, the macro node discriminator is used to discriminate whether multiple key points included in each macro node belong to the same target object. The image to be detected can be input into the pre-trained target neural network to obtain the key point information of each target object included in the image to be detected. Among them, the category of each key point corresponding to each target object and the number of key points can be set according to actual needs.
在實施過程中,該預先訓練好的目標神經網路中可以不包括巨集節點判別器。即該巨集節點判別器可以在待訓練神經網路的訓練過程中,判斷得到的每個巨集節點中的多個關鍵點是否屬於同一目標對象。在上述實施方式下,通過對包含巨集節點判別器的待訓練神經網路進行訓練,得到目標神經網路,其中,巨集節點判別器用於判別每個巨集節點中包括的多個關鍵點是否屬於同一目標對象,可以使得訓練得到的目標神經網路的準確度較高。In the implementation process, the macro node discriminator may not be included in the pre-trained target neural network. That is, the macro node discriminator can judge whether the obtained multiple key points in each macro node belong to the same target object during the training process of the neural network to be trained. In the above embodiment, a target neural network is obtained by training a neural network to be trained including a macro node discriminator, wherein the macro node discriminator is used to discriminate a plurality of key points included in each macro node Whether they belong to the same target object can make the accuracy of the target neural network obtained by training higher.
在本發明的一些實施例中,通過下述步驟對待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。In some embodiments of the present invention, the neural network to be trained is trained through the following steps to obtain a pre-trained target neural network.
獲取樣本圖像;並基於樣本圖像,對包括巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。Obtain a sample image; and based on the sample image, train the neural network to be trained including the macro node discriminator to obtain a pre-trained target neural network.
在基於樣本圖像,對包括巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路,可以包括:一、基於樣本圖像,對待訓練神經網路進行訓練,得到預測結果,預測結果包括巨集節點判別器的檢測結果、每個關鍵點的預測類別、以及每個關鍵點的預測位置資訊。二、基於巨集節點判別器的檢測結果,確定第一損失值;以及基於每個關鍵點的預測類別、每個關鍵點的預測位置資訊,和樣本圖像中攜帶的標注結果,確定第二損失值;其中,標注結果包括每個關鍵點屬於對應目標對象的標注類別,以及每個關鍵點的標注位置資訊。三、基於第一損失值和第二損失值,對待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。這裡,樣本圖像中攜帶有標注結果,該標注結果中包括每個關鍵點屬於對應目標對象的標注類別,以及每個關鍵點的標注位置資訊。將樣本圖像輸入至待訓練神經網路中,得到預測結果,其中,預測結果中包括巨集節點判別器的檢測結果、每個關鍵點的預測類別、以及每個關鍵點的預測位置資訊。進而可以基於預測結果和標注結果,對待訓練神經網路進行訓練,得到訓練好的目標神經網路。可以基於巨集節點判別器的檢測結果,確定第一損失值,並基於每個關鍵點的預測類別、每個關鍵點的預測位置資訊,和樣本圖像中攜帶的標注結果,確定第二損失值;通過第一損失值與第二損失值之和,對待訓練神經網路進行訓練,得到目標神經網路。Based on the sample images, the neural network to be trained including the macro node discriminator is trained to obtain a pre-trained target neural network, which may include: 1. Training the neural network to be trained based on the sample images, The prediction result is obtained, and the prediction result includes the detection result of the macro node discriminator, the prediction type of each key point, and the predicted position information of each key point. 2. Determine the first loss value based on the detection result of the macro node discriminator; and determine the second loss value based on the predicted category of each key point, the predicted position information of each key point, and the annotation results carried in the sample image Loss value; among them, the labeling result includes the labeling category that each key point belongs to the corresponding target object, and the labeling position information of each key point. 3. Based on the first loss value and the second loss value, the neural network to be trained is trained to obtain a pre-trained target neural network. Here, the sample image carries the labeling result, and the labeling result includes the labeling category to which each key point belongs to the corresponding target object, and the labeling position information of each key point. Input the sample image into the neural network to be trained to obtain the prediction result, wherein the prediction result includes the detection result of the macro node discriminator, the prediction type of each key point, and the prediction position information of each key point. Then, the neural network to be trained can be trained based on the prediction result and the labeling result, and the trained target neural network can be obtained. The first loss value can be determined based on the detection results of the macro node discriminator, and the second loss can be determined based on the predicted category of each key point, the predicted location information of each key point, and the annotation results carried in the sample image value; through the sum of the first loss value and the second loss value, the neural network to be trained is trained to obtain the target neural network.
在本發明的一些實施例中,在得到待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:基於每個目標對象對應的關鍵點資訊,確定該目標對象的行為類型。這裡,在得到每個目標對象的各個關鍵點的資訊之後,可以將每個目標對象的各個關鍵點的資訊輸入至行為檢測神經網路中,確定該目標對象的行為類型,比如,該行為類型可以為跑步、走步、托舉雙臂等。In some embodiments of the present invention, after obtaining the key point information of each target object in the image to be detected, the method further includes: determining the behavior type of the target object based on the key point information corresponding to each target object. Here, after obtaining the information of each key point of each target object, the information of each key point of each target object can be input into the behavior detection neural network to determine the behavior type of the target object, for example, the behavior type You can run, walk, raise your arms, etc.
在本發明的一些實施例中,在得到待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:基於每個目標對象對應的關鍵點資訊,確定該目標對象的至少一個目標部位的位置資訊,並根據至少一個目標部位的位置資訊,生成針對至少一個目標部位的特效資訊。這裡,可以針對每個目標對象的各個關鍵點的資訊,確定該目標對象的至少一個目標部位的位置資訊,基於預設的目標部位對應的特效資訊,在目標部位的位置處生成對應的特效資訊。其中,目標部位可以為手臂、頭部、手部等。比如,可以針對目標對象的各個關鍵點的資訊,確定目標對象的手臂位置,並基於預設的手臂的特效資訊,在目標對象的手臂位置處,生成手臂對應的特效資訊。In some embodiments of the present invention, after obtaining the key point information of each target object in the image to be detected, the method further includes: determining at least one target part of the target object based on the key point information corresponding to each target object and generate special effect information for at least one target part according to the position information of at least one target part. Here, according to the information of each key point of each target object, the position information of at least one target part of the target object can be determined, and based on the preset special effect information corresponding to the target part, the corresponding special effect information is generated at the position of the target part . The target part may be an arm, a head, a hand, or the like. For example, the arm position of the target object can be determined according to the information of each key point of the target object, and based on the preset special effect information of the arm, the special effect information corresponding to the arm is generated at the arm position of the target object.
相關技術中,人體關鍵點檢測和跟蹤是視頻分析的基礎,在安防領域、動作分析領域具有重要的應用前景。自底向上的多人姿態檢測技術,由於較高的計算效率,而被廣泛應用。一般地,自底向上方法一般分為兩步,第一步預測關鍵點的高斯回應圖,並得到各個關鍵點的位置。第二步,對各個關鍵點進行聚類,得到完整的人體姿態。然而,相關技術中,聚類步驟採用圖分割演算法或者啟發式的聚類演算法。聚類只是作為後處理操作,並沒有直接對聚類結果進行監督。由此可知,相關技術中,存在以下缺點:1)聚類步驟一般採用圖分割演算法或者啟發式的聚類演算法,只是作為後處理操作,並沒有直接對聚類結果進行監督;2)普通的圖聚類演算法,無法充分利用人體的分層結構先驗資訊,例如,分層資訊為:一個人可以分解為上半身和下半身;上半身又可以分解為頭、肩膀、胳膊;而頭部又由臉部的5個關鍵點組成;3)普通的圖聚類演算法,只利用了局部資訊,而忽視了全域人體資訊。In related technologies, human key point detection and tracking are the basis of video analysis, and have important application prospects in the field of security and motion analysis. Bottom-up multi-person pose detection technology is widely used due to its high computational efficiency. Generally, the bottom-up method is generally divided into two steps. The first step is to predict the Gaussian response map of the key points and obtain the position of each key point. In the second step, each key point is clustered to obtain the complete human pose. However, in the related art, the clustering step adopts a graph segmentation algorithm or a heuristic clustering algorithm. Clustering is only used as a post-processing operation and does not directly supervise the clustering results. It can be seen that the related art has the following shortcomings: 1) The clustering step generally adopts a graph segmentation algorithm or a heuristic clustering algorithm, which is only used as a post-processing operation, and does not directly supervise the clustering results; 2) Ordinary graph clustering algorithms cannot make full use of the prior information of the hierarchical structure of the human body. For example, the hierarchical information is: a person can be decomposed into upper body and lower body; the upper body can be decomposed into head, shoulders, arms; It consists of 5 key points of the face; 3) Ordinary graph clustering algorithm only uses local information and ignores global human body information.
為解決上述問題,本發明實施例提供了一種關鍵點檢測方法,該方法中,首先基於可微分的“分層圖聚類別模組”,將關鍵點的檢測和聚類聯合起來,進行端到端地訓練。然後,對聚類結果進行監督,聚類的損失可以直接反傳回底層特徵提取網路,進行整體網路優化。這樣,網路更加注重聚類結果錯誤的關鍵點,可以更加有效的進行特徵學習。一方面,分層的圖聚類演算法一步步反覆運算地對目標對象關鍵點進行聚類,構成了從關鍵點--肢體--整個目標對象的層次結構,可以對各個層次的聚類結構進行監督,能夠更好地保留目標對象的層次結構先驗資訊。另一方面,通過引入宏關鍵點判別器(Macro-node Discriminator)可以對整個巨集結點內部的特徵進行判別,更好地保留了全域特徵資訊。In order to solve the above problem, an embodiment of the present invention provides a key point detection method. In the method, first, based on a differentiable "hierarchical graph clustering category module", the detection and clustering of key points are combined to perform end-to-end. Ground training. Then, the clustering results are supervised, and the clustering loss can be directly transmitted back to the underlying feature extraction network for overall network optimization. In this way, the network pays more attention to the key points of wrong clustering results, and can perform feature learning more effectively. On the one hand, the hierarchical graph clustering algorithm repeatedly operates to cluster the key points of the target object step by step, forming a hierarchical structure from the key points-limbs-the entire target object, which can be used for clustering structures at each level. Supervision can better preserve the prior information of the target object's hierarchy. On the other hand, by introducing the macro-node discriminator, the features inside the entire macro node can be discriminated, and the global feature information can be better preserved.
圖2A為本發明實施例所提供的一種關鍵點檢測方法中,剪枝處理的流程示意圖,通過判斷兩兩關鍵點是否屬於同一個目標對象,把同一個目標對象的關鍵點聚集在一起。2A is a schematic flowchart of a pruning process in a key point detection method provided by an embodiment of the present invention. By judging whether two key points belong to the same target object, the key points of the same target object are gathered together.
1)提取待檢測圖像中的關鍵點資訊,並根據所述關鍵點資訊構造初始關鍵點圖模型;這裡,首先,需要提取關鍵點的資訊,來構造初始關鍵點圖模型G={V, E}。初始關鍵點圖模型G分為關鍵點V和邊E兩部分,其中關鍵點V為各個關鍵點的資訊,即包含「關鍵點的類別T,關鍵點的座標X,關鍵點的特徵F」。而邊E代表關鍵點之間的關係,即是否屬於同一個目標對象。構造初始關鍵點圖模型之後,進行相關性特徵的提取。1) Extract the key point information in the image to be detected, and construct the initial key point graph model according to the key point information; here, first, the information of the key points needs to be extracted to construct the initial key point graph model G={V, E}. The initial key point graph model G is divided into two parts: the key point V and the edge E, where the key point V is the information of each key point, that is, it includes "the type of the key point T, the coordinates of the key point X, and the feature F of the key point". The edge E represents the relationship between key points, that is, whether they belong to the same target object. After constructing the initial keypoint graph model, extract the correlation features.
2)利用GNN來進行相關性特徵的學習。使用邊卷積(EdgeConv)來搭建圖卷積神經網路模型,對所構造好的關鍵點圖模型(Graph)進行卷積,更新關鍵點的特徵。2) Use GNN to learn correlation features. Use edge convolution (EdgeConv) to build a graph convolutional neural network model, convolve the constructed key point graph model (Graph), and update the features of key points.
3)更新關鍵點之間的相似度矩陣:接著訓練一個邊判別器(Edge Discriminator),對每一對關鍵點進行判別,判斷這一對關鍵點是否屬於同一個目標對象。利用判別資訊來更新關鍵點之間的相似度矩陣。3) Update the similarity matrix between key points: Then train an edge discriminator (Edge Discriminator) to discriminate each pair of key points to determine whether the pair of key points belong to the same target object. Use discriminant information to update the similarity matrix between keypoints.
4)聚類(Grouping):利用關鍵點之間的相似度矩陣,執行聚類演算法,將相鄰的關鍵點聚集在一起,成為一個新的巨集節點(聚類後得到的關鍵點成為巨集節點)。訓練一個巨集節點的判別器(Macro-Node Discriminator),判斷一個巨集節點內部的關鍵點是否屬於同一個目標對象。4) Clustering: Use the similarity matrix between key points to perform a clustering algorithm to gather adjacent key points together to form a new macro node (the key points obtained after clustering become macro node). Train a Macro-Node Discriminator to judge whether the key points inside a macro node belong to the same target object.
5)剪枝處理(Graph Pruning):根據一些目標對象結構先驗約束,來對關鍵點圖模型(Graph)進行剪枝處理,刪除一些無關的邊。5) Graph Pruning: According to some prior constraints of the target object structure, the key point graph model (Graph) is pruned, and some irrelevant edges are deleted.
6)特徵聚集(Feature Aggregation):對每個巨集節點更新特徵。整個聚類過程反覆運算地進行,直到關鍵點圖模型中所有的邊被刪去,或所有關鍵點被成功聚類為若干個簇。6) Feature Aggregation: Update features for each macro node. The whole clustering process is performed repeatedly until all edges in the keypoint graph model are deleted, or all keypoints are successfully clustered into several clusters.
本發明實施例提供了一種關鍵點檢測方法,以線上分層圖聚類(Online Hierarchical Graph Clustering,OHGC)為例,輸入:一張多目標對象的 RGB 圖像(目標對象數假設為P);輸出:P個目標對象關鍵點簇 (一個目標對象的所有關鍵點組成一個簇);所述方法包括: 步驟S1,提取待檢測圖像中的關鍵點資訊;步驟S2,構造多目標對象的關鍵點熱圖;步驟S3,基於GNN的相關性進行特徵學習;步驟S4,反覆運算若干次,直到所述關鍵點圖模型中無待剪枝邊。An embodiment of the present invention provides a method for detecting key points. Taking Online Hierarchical Graph Clustering (OHGC) as an example, the input is: an RGB image of a multi-target object (the number of target objects is assumed to be P); Output: P target object keypoint clusters (all keypoints of a target object form a cluster); the method includes: Step S1, extract key point information in the image to be detected; Step S2, construct a heat map of key points of multi-target objects; Step S3, perform feature learning based on the correlation of GNN; Step S4, repeat the operation several times until the There are no edges to be pruned in the keypoint graph model.
在本發明的一些實施例中,所述步驟S4,反覆運算若干次,直到所述關鍵點圖模型中無待剪枝邊,包括:步驟S41,利用池化層(avg-pooling),進行關鍵點特徵融合;步驟S42,更新關鍵點之間的相似度矩陣;步驟S43,對所述關鍵點進行聚類;這裡,所述聚類可以為用於實現關鍵點的合併;步驟S44,對當前關鍵點圖模型進行剪枝處理。根據目標對象結構約束,刪去對當前關鍵點圖模型中不合理的邊。例如,一個目標對象只有一個頭頂點。In some embodiments of the present invention, the step S4 is repeated several times until there are no edges to be pruned in the key point graph model, including: step S41 , using a pooling layer (avg-pooling) to perform key point feature fusion; step S42, updating the similarity matrix between key points; step S43, clustering the key points; here, the clustering may be used to realize the merging of key points; The keypoint graph model is pruned. According to the structural constraints of the target object, the unreasonable edges in the current keypoint graph model are deleted. For example, a target object has only one head vertex.
圖2B為本發明實施例所提供的一種實現關鍵點檢測方法的網路結構示意圖,如圖2B所示,所述網路結構包括:GNN模組21、邊判別器22(Edge Discriminator)和巨集節點判別器23(Macro-node Discriminator),其中:GNN模組21,由邊緣卷積EdgeConv層和多層神經網路(Multi-Layer Perceptron,MLP)堆疊而成。其中,EdgeConv層為一種可微的,能嵌入已有的網路架構中的神經網路模組,具有含了局部領域資訊;通過堆疊EdgeConv模組或迴圈使用,可以提取到全域形狀資訊等優點。邊判別器22,配置為輸入一對關鍵點的特徵,來判斷這兩個關鍵點是否屬於同一個目標對象。巨集節點判別器23,配置為判斷一個巨集節點內部的關鍵點是否完全屬於同一個目標對象。FIG. 2B is a schematic diagram of a network structure for implementing a key point detection method according to an embodiment of the present invention. As shown in FIG. 2B , the network structure includes: a
上述方法既可以用於在互聯網視頻中,對目標對象關鍵點的位置進行準確預測;又可以用於分析目標對象的行為種類;還可以用於,在目標對象的不同部位增加即時特效。上述方法中,基於分層的圖聚類別模組,實現了線上分層的圖聚類演算法,保留了目標對象的結構先驗資訊和目標對象全域資訊。一方面,通過端到端的訓練,更加關注聚類結果出現的錯誤,更加有效的進行特徵學習,可以直接優化聚類結果,提升了聚類精度;另一方面,能夠利用目標對象結構先驗資訊和全域特徵資訊,提升了關鍵點的聚類精度。The above method can not only be used to accurately predict the position of the key points of the target object in the Internet video, but also can be used to analyze the behavior types of the target object; and can also be used to add real-time special effects to different parts of the target object. In the above method, based on the hierarchical graph clustering category module, an online hierarchical graph clustering algorithm is realized, and the structure prior information of the target object and the global information of the target object are retained. On the one hand, through end-to-end training, more attention is paid to the errors in the clustering results, and feature learning can be performed more effectively, which can directly optimize the clustering results and improve the clustering accuracy; on the other hand, the prior information of the target object structure can be used. and global feature information, which improves the clustering accuracy of key points.
本領域技術人員可以理解,在實施方式的上述方法中,各步驟的撰寫順序並不意味著嚴格的執行順序而對實施過程構成任何限定,各步驟的執行順序應當以其功能和可能的內在邏輯確定。Those skilled in the art can understand that in the above method of the embodiments, the writing order of each step does not mean a strict execution order but constitutes any limitation to the implementation process, and the execution order of each step should be based on its function and possible internal logic. Sure.
基於相同的構思,本發明實施例還提供了一種關鍵點檢測裝置,參見圖3所示,為本發明實施例提供的關鍵點檢測裝置的架構示意圖,包括獲取模組301、第一生成模組302、第二生成模組303、處理模組304、確定模組305、訓練模組306、行為類型確定模組307、以及特效生成模組308,其中:
獲取模組301,配置為獲取待檢測圖像;
第一生成模組302,配置為基於所述待檢測圖像,生成圖像特徵圖和多個關鍵點熱圖;所述圖像特徵圖用於表徵所述待檢測圖像中各個目標對象的關鍵點之間的相對位置關係;每個所述關鍵點熱圖中包含所述待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應所述目標對象的不同部位;
第二生成模組303,配置為基於所述圖像特徵圖和多個所述關鍵點熱圖,生成初始關鍵點圖模型;所述初始關鍵點圖模型中包含所述待檢測圖像中不同類別的關鍵點的資訊以及連接邊的資訊,每個連接邊為兩個不同類別的關鍵點之間的邊;
處理模組304,配置為對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到分別屬於各個目標對象的關鍵點資訊。Based on the same concept, an embodiment of the present invention also provides a key point detection device. Referring to FIG. 3, it is a schematic diagram of the architecture of the key point detection device provided by the embodiment of the present invention, including an acquisition module 301, a first generation module 302, the second generation module 303, the processing module 304, the determination module 305, the training module 306, the behavior
一種可能的實施方式中,所述關鍵點的資訊包括位置資訊、類別資訊、以及圖元特徵資訊;所述第二生成模組303,配置為根據以下步驟確定所述初始關鍵點圖模型中各個關鍵點的資訊:基於所述關鍵點熱圖,確定各個關鍵點的位置資訊;基於每個所述關鍵點的位置資訊,從所述圖像特徵圖中提取所述關鍵點的圖元特徵資訊,並基於所述關鍵點所屬關鍵點熱圖的類別標籤,確定所述關鍵點對應的類別資訊。In a possible implementation manner, the information of the key points includes location information, category information, and primitive feature information; the second generation module 303 is configured to determine each of the initial key point graph models according to the following steps: Information of key points: based on the heat map of the key points, determine the position information of each key point; based on the position information of each of the key points, extract the feature information of the primitives of the key points from the image feature map , and based on the category label of the key point heat map to which the key point belongs, the category information corresponding to the key point is determined.
一種可能的實施方式中,所述裝置還包括:確定模組305,配置為針對所述初始關鍵點圖模型中的每個所述關鍵點,基於所述關鍵點的資訊和所述關鍵點圖模型中與所述關鍵點之間存在連接邊的其他關鍵點的資訊,確定所述關鍵點的融合特徵;所述處理模組304,在對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理的情況下,配置為:基於所述初始關鍵點圖模型中包含的每個所述關鍵點的融合特徵,對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理。In a possible implementation manner, the apparatus further includes: a determination module 305 configured to, for each of the key points in the initial key point graph model, based on the information of the key points and the key point graph There is information about other key points that connect edges between the model and the key points, and the fusion feature of the key points is determined; the processing module 304 performs the connection for the initial key point graph model multiple times. In the case of edge pruning processing, the configuration is: based on the fusion feature of each of the key points included in the initial key point graph model, the initial key point graph model is pruned multiple times for the connected edges. Branch processing.
一種可能的實施方式中,所述處理模組304,在對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇的情況下,配置為:針對當前關鍵點圖模型執行第一處理過程:基於所述當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點;其中,所述巨集節點中包括聚類後的多個相鄰關鍵點;並基於每個所述巨集節點中包括的關鍵點的融合特徵,確定所述巨集節點的融合特徵;基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,對所述當前關鍵點圖模型進行當前次所述連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型;在執行完當前次的所述第一處理過程之後,將當前次剪枝處理後的關鍵點圖模型作為當前關鍵點圖模型,將當前次確定的所述巨集節點以及所述巨集節點的融合特徵作為所述當前關鍵圖模型中的關鍵點以及關鍵點的融合特徵,並再次執行所述第一處理過程,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇。In a possible implementation manner, the processing module 304 performs multiple times of pruning the connecting edges on the initial keypoint graph model until multiple keypoints in the processed keypoint graph model are In the case of clustering into multiple clusters, the configuration is as follows: perform the first processing process for the current key point graph model: based on the fusion feature of the two key points corresponding to each connecting edge in the current key point graph model, The adjacent key points in the multiple key points included in the current key point graph model perform key point clustering of the same target object to obtain at least one macro node; wherein, the macro node includes a plurality of clustered nodes. Adjacent key points; and based on the fusion features of the key points included in each of the macro nodes, determine the fusion features of the macro nodes; based on the obtained at least one of the macro nodes and the current key point graph model, perform the current pruning process of the connection edges on the current key point graph model, and obtain the key point graph model after the current pruning process; after executing the current first processing process, The key point graph model after the current pruning process is used as the current key point graph model, and the currently determined macro node and the fusion feature of the macro node are used as the key point in the current key graph model and The fusion feature of the key points is performed, and the first processing process is performed again until the multiple key points in the processed key point graph model are clustered into multiple clusters.
一種可能的實施方式中,所述處理模組304,在基於所述當前關鍵點圖模型中的每條連接邊對應的兩個關鍵點的融合特徵,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點的情況下,配置為:基於所述連接邊對應的兩個關鍵點的融合特徵,確定所述連接邊的權重,所述權重表徵所述連接邊對應的兩個關鍵點屬於同一目標對象的概率;基於所述當前關鍵點圖模型中包括的每條連接邊的權重,對所述當前關鍵點圖模型包括的多個關鍵點中相鄰關鍵點進行同一目標對象的關鍵點聚類,得到至少一個巨集節點。In a possible implementation manner, the processing module 304, based on the fusion feature of two key points corresponding to each connecting edge in the current key point graph model, performs a multiplication process on the current key point graph model. In the case of obtaining at least one macro node by performing key point clustering of the same target object on adjacent key points among the key points, the configuration is: based on the fusion features of the two key points corresponding to the connection edges, determine the connection The weight of the edge, the weight represents the probability that the two key points corresponding to the connecting edge belong to the same target object; based on the weight of each connecting edge included in the current key point graph model, the current key point graph The adjacent key points among the multiple key points included in the model perform key point clustering of the same target object to obtain at least one macro node.
一種可能的實施方式中,所述處理模組304,在基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,對所述當前關鍵點圖模型進行當前次所述連接邊的剪枝處理,並得到當前次剪枝處理後的關鍵點圖模型的情況下,配置為:基於得到的至少一個所述巨集節點和所述當前關鍵點圖模型,確定待刪減連接邊,並從所述當前關鍵點圖模型中將所述待刪減連接邊刪除;將至少一個所述巨集節點、和所述當前關鍵點圖模型中除所述巨集節點中包括的關鍵點之外的其他關鍵點作為剪枝處理後的關鍵點,將刪除後剩餘的連接邊作為剪枝處理後的連接邊,得到當前次剪枝處理後的關鍵點圖模型。In a possible implementation manner, the processing module 304, based on the obtained at least one of the macro node and the current key point graph model, performs the current time on the connection edge on the current key point graph model. In the case of obtaining the key point graph model after the current pruning process, the configuration is: based on the obtained at least one of the macro node and the current key point graph model, determine the connection edge to be deleted, And from the current key point graph model, the connection edges to be deleted are deleted; at least one of the macro nodes and the key points included in the macro node are removed from the current key point graph model. The other key points are used as the key points after the pruning process, and the remaining connection edges after deletion are used as the connection edges after the pruning process, and the key point graph model after the current pruning process is obtained.
一種可能的實施方式中,所述處理模組304,在基於得到的至少一個巨集節點和所述當前關鍵點圖模型,確定待刪減連接邊的情況下,配置為:基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及所述當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定所述待刪減連接邊。In a possible implementation manner, the processing module 304 is configured to: based on the obtained at least one macro node and the current key point graph model to determine the connection edge to be deleted: based on at least one macro Category information of each key point included in the node, and category information of other key points in the current key point graph model except the key point included in at least one macro node, determine the connection edge to be deleted .
一種可能的實施方式中,所述處理模組304,在基於至少一個巨集節點中包括的每個關鍵點的類別資訊、以及所述當前關鍵點圖模型中除至少一個巨集節點中包括的關鍵點之外的其他關鍵點的類別資訊,確定所述待刪減連接邊的情況下,配置為:針對所述當前關鍵點圖模型中的任一連接邊,在該任一連接邊對應的兩個關鍵點為不同巨集節點中的關鍵點,且該任一連接邊對應的兩個巨集節點中存在類別資訊相同的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊;在該任一連接邊對應的兩個關鍵點為同一巨集節點中的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊; 在該任一連接邊對應的兩個關鍵點中一個關鍵點為巨集節點中的關鍵點、另一個關鍵點不是巨集節點中的關鍵點,且該任一連接邊對應的所述巨集節點中存在與另一個關鍵點的類別資訊相同的關鍵點的情況下,確定該任一連接邊為所述待刪減連接邊。In a possible implementation manner, the processing module 304 is based on the category information of each key point included in the at least one macro node and the current key point graph model except that included in the at least one macro node. The category information of other key points other than the key point, in the case of determining the connection edge to be deleted, the configuration is: for any connection edge in the current key point graph model, in the corresponding connection edge of any connection edge. When two key points are key points in different macro nodes, and there are key points with the same category information in the two macro nodes corresponding to any connection edge, determine that any connection edge is the to-be-deleted Subtract the connecting edge; in the case that the two key points corresponding to any connecting edge are key points in the same macro node, determine that any connecting edge is the connecting edge to be deleted; One of the corresponding two key points is the key point in the macro node, the other key point is not the key point in the macro node, and the macro node corresponding to any connecting edge has another key point in the macro node. In the case of the key points with the same type information of the key points, it is determined that any connecting edge is the connecting edge to be deleted.
一種可能的實施方式中,所述每個目標對象的關鍵點資訊通過預先訓練好的目標神經網路生成;其中,所述目標神經網路是由包括巨集節點判別器的待訓練神經網路訓練得到,巨集節點判別器用於判別每個巨集節點中包括的多個關鍵點是否屬於同一目標對象。In a possible implementation manner, the key point information of each target object is generated by a pre-trained target neural network; wherein, the target neural network is a neural network to be trained including a macro node discriminator. After training, the macro node discriminator is used to discriminate whether multiple key points included in each macro node belong to the same target object.
一種可能的實施方式中,所述裝置還包括:訓練模組306,配置為通過下述步驟對所述待訓練神經網路進行訓練,得到預先訓練好的目標神經網路:獲取樣本圖像;基於所述樣本圖像,對包括所述巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。In a possible implementation manner, the device further includes: a training module 306, configured to train the neural network to be trained through the following steps to obtain a pre-trained target neural network: obtaining sample images; Based on the sample images, the to-be-trained neural network including the macro node discriminator is trained to obtain a pre-trained target neural network.
一種可能的實施方式中,所述訓練模組306,在基於所述樣本圖像,對包括所述巨集節點判別器的待訓練神經網路進行訓練,得到預先訓練好的目標神經網路的情況下,配置為:基於所述樣本圖像,對所述待訓練神經網路進行訓練,得到預測結果,所述預測結果包括所述巨集節點判別器的檢測結果、每個關鍵點的預測類別、以及每個關鍵點的預測位置資訊;基於所述巨集節點判別器的檢測結果,確定第一損失值;以及基於所述每個關鍵點的預測類別、所述每個關鍵點的預測位置資訊,和所述樣本圖像中攜帶的標注結果,確定第二損失值;其中,所述標注結果包括每個關鍵點屬於對應目標對象的標注類別,以及每個關鍵點的標注位置資訊;基於所述第一損失值和所述第二損失值,對所述待訓練神經網路進行訓練,得到預先訓練好的目標神經網路。In a possible implementation manner, the training module 306, based on the sample image, trains the neural network to be trained including the macro node discriminator, and obtains the pre-trained target neural network. In this case, the configuration is: based on the sample image, the neural network to be trained is trained to obtain a prediction result, and the prediction result includes the detection result of the macro node discriminator and the prediction of each key point. category, and the predicted position information of each key point; based on the detection result of the macro node discriminator, determine the first loss value; and based on the predicted category of each key point, the prediction of each key point The location information, and the labeling result carried in the sample image, determine the second loss value; wherein, the labeling result includes the labeling category that each key point belongs to the corresponding target object, and the labeling location information of each key point; Based on the first loss value and the second loss value, the neural network to be trained is trained to obtain a pre-trained target neural network.
一種可能的實施方式中,在得到所述待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:行為類型確定模組307,配置為基於每個目標對象對應的所述關鍵點資訊,確定該目標對象的行為類型。In a possible implementation manner, after obtaining the key point information of each target object in the to-be-detected image, the method further includes: a behavior
一種可能的實施方式中,在得到所述待檢測圖像中的每個目標對象的關鍵點資訊之後,還包括:特效生成模組308,配置為基於每個目標對象對應的所述關鍵點資訊,確定該目標對象的至少一個目標部位的位置資訊,並根據所述至少一個目標部位的位置資訊,生成針對所述至少一個目標部位的特效資訊。In a possible implementation manner, after obtaining the key point information of each target object in the to-be-detected image, it also includes: a special effect generation module 308 configured to be based on the key point information corresponding to each target object. , determining the position information of at least one target part of the target object, and generating special effect information for the at least one target part according to the position information of the at least one target part.
在一些實施例中,本發明實施例提供的裝置具有的功能或包含的範本可以用於執行上文方法實施例描述的方法,其實現的過程可以參照上文方法實施例的描述,為了簡潔,這裡不再贅述。In some embodiments, the functions or templates included in the apparatuses provided in the embodiments of the present invention may be used to execute the methods described in the above method embodiments. For the implementation process, reference may be made to the descriptions in the above method embodiments. I won't go into details here.
基於同一技術構思,本發明實施例還提供了一種電子設備。參照圖4所示,為本發明實施例提供的電子設備的結構示意圖,包括處理器401、記憶體402、和匯流排403。其中,記憶體402配置為儲存執行指令,包括內部記憶體4021和外部記憶體4022;這裡的內部記憶體4021也稱內記憶體,配置為暫時存放處理器401中的運算資料,以及與硬碟等外部記憶體4022交換的資料,處理器401通過內部記憶體4021與外部記憶體4022進行資料交換,在電子設備400運行的情況下,處理器401與記憶體402之間通過匯流排403通信,使得處理器401在執行以下指令:獲取待檢測圖像;基於所述待檢測圖像,生成圖像特徵圖和多個關鍵點熱圖;所述圖像特徵圖用於表徵所述待檢測圖像中各個目標對象之間的相對位置關係;每個所述關鍵點熱圖中包含所述待檢測圖像的一種類別的關鍵點,不同類別的關鍵點對應所述目標對象的不同部位;基於所述圖像特徵圖和多個所述關鍵點熱圖,生成初始關鍵點圖模型;所述初始關鍵點圖模型中包含所述待檢測圖像中不同類別的關鍵點的資訊以及連接邊的資訊,每個連接邊為兩個不同類別的關鍵點之間的邊;對所述初始關鍵點圖模型進行多次所述連接邊的剪枝處理,直到處理後的關鍵點圖模型中的多個關鍵點被聚類為多個簇,得到分別屬於各個目標對象的關鍵點資訊。此外,本發明實施例還提供一種電腦可讀儲存介質,該電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器運行時執行上述方法實施例中所述的關鍵點檢測方法的步驟。Based on the same technical concept, an embodiment of the present invention also provides an electronic device. Referring to FIG. 4 , it is a schematic structural diagram of an electronic device provided by an embodiment of the present invention, including a processor 401 , a memory 402 , and a bus bar 403 . The memory 402 is configured to store execution instructions, including an internal memory 4021 and an external memory 4022; the internal memory 4021 here is also called an internal memory, and is configured to temporarily store the operation data in the processor 401 and the data associated with the hard disk. Waiting for the data exchanged by the external memory 4022, the processor 401 exchanges data with the external memory 4022 through the internal memory 4021. When the electronic device 400 is running, the processor 401 and the memory 402 communicate through the bus bar 403. The processor 401 is caused to execute the following instructions: acquiring an image to be detected; generating an image feature map and a plurality of key point heat maps based on the to-be-detected image; the image feature map is used to represent the to-be-detected image The relative positional relationship between each target object in the image; each of the key point heatmaps contains a type of key points of the to-be-detected image, and key points of different categories correspond to different parts of the target object; based on The image feature map and a plurality of the key point heat maps generate an initial key point graph model; the initial key point graph model includes the information of different types of key points in the to-be-detected image and the connection edges. information, each connecting edge is an edge between two different types of keypoints; the initial keypoint graph model is subjected to multiple pruning processing of the connecting edges, until more than one in the processed keypoint graph model is processed. The key points are clustered into multiple clusters, and the key point information belonging to each target object is obtained. In addition, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, the steps of the key point detection method described in the above method embodiments are executed. .
本發明實施例所提供的關鍵點檢測方法的電腦程式產品,包括儲存了程式碼的電腦可讀儲存介質,所述程式碼包括的指令可用於執行上述方法實施例中所述的關鍵點檢測方法的步驟,可參見上述方法實施例,在此不再贅述。The computer program product of the key point detection method provided by the embodiment of the present invention includes a computer-readable storage medium storing a program code, and the instructions included in the program code can be used to execute the key point detection method described in the above method embodiments. For the steps, reference may be made to the above method embodiments, which will not be repeated here.
所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,上述描述的系統和裝置的工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本發明所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,又例如,多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。Those skilled in the art can clearly understand that, for the convenience and brevity of description, for the working process of the system and device described above, reference may be made to the corresponding process in the foregoing method embodiments, and details are not repeated here. In the several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods may be implemented in other manners. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or elements may be combined or may be Integration into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment. In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個處理器可執行的非易失的電腦可讀取儲存介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的儲存介質包括:U盤、移動硬碟、唯讀記憶體(Read-Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或者光碟等各種可以儲存程式碼的介質。以上僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以申請專利範圍的保護範圍為準。The functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a processor-executable non-volatile computer-readable storage medium. Based on this understanding, the technical solution of the present invention can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including several The instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: U disk, removable hard disk, Read-Only Memory (ROM), Random Access Memory (RAM), disk or CD, etc. that can store program codes medium. The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art who is familiar with the technical scope disclosed by the present invention can easily think of changes or replacements, which should be covered in the within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the patent application.
工業實用性 本發明基於生成的圖像特徵圖和多個關鍵點熱圖,生成待檢測圖像對應的初始關鍵點圖模型,由於初始關鍵點圖模型中包括圖像特徵圖和關鍵點熱圖中的資訊,而圖像特徵圖可以表徵出待檢測圖像中不同目標對象之間的相對位置關係,從而可以對初始關鍵點圖模型進行所處連接邊的剪枝處理,得到各個目標對象的關鍵點資訊,較準確地對不同目標對象的關鍵點進行區分,以提高關鍵點聚類的精準度。Industrial Applicability Based on the generated image feature map and a plurality of key point heat maps, the present invention generates an initial key point map model corresponding to the image to be detected. Since the initial key point map model includes the information in the image feature map and the key point heat map , and the image feature map can represent the relative positional relationship between different target objects in the image to be detected, so that the initial key point graph model can be pruned at the connected edges, and the key point information of each target object can be obtained. , to more accurately distinguish the key points of different target objects, so as to improve the accuracy of key point clustering.
21:關鍵點熱圖 22:圖像特徵圖 23:初始關鍵點圖模型 24:邊判別器 25:巨集節點 26:處理後的關鍵點圖模型 27:巨集節點判別器 301:獲取模組 302:第一生成模組 303:第二生成模組 304:處理模組 305:確定模組 306:訓練模組 307:行為類型確定模組 308:特效生成模組 400:電子設備 401:處理器 402:記憶體 4021:內部記憶體 4022:外部記憶體 403:匯流排 S101~S104:步驟21: Keypoint Heatmap 22: Image Feature Map 23: Initial keypoint graph model 24: Edge Discriminator 25: Macro Node 26: Processed keypoint graph model 27: Macro Node Discriminator 301: Get Mods 302: The first generation module 303: Second Generation Module 304: Processing module 305: Determine the module 306: Training Module 307: Behavior type determination module 308: Special effect generation module 400: Electronic Equipment 401: Processor 402: memory 4021: Internal memory 4022: External memory 403: Busbar S101~S104: Steps
圖1為本發明實施例所提供的一種關鍵點檢測方法的流程示意圖; 圖2A為本發明實施例所提供的一種關鍵點檢測方法中,剪枝處理的流程示意圖; 圖2B為本發明實施例所提供的一種實現關鍵點檢測方法的網路結構示意圖; 圖3為本發明實施例所提供的一種關鍵點檢測裝置的架構示意圖; 圖4為本發明實施例所提供的一種電子設備400的結構示意圖。1 is a schematic flowchart of a key point detection method provided by an embodiment of the present invention; 2A is a schematic flowchart of pruning processing in a key point detection method provided by an embodiment of the present invention; 2B is a schematic diagram of a network structure for implementing a key point detection method provided by an embodiment of the present invention; FIG. 3 is a schematic structural diagram of a key point detection apparatus provided by an embodiment of the present invention; FIG. 4 is a schematic structural diagram of an electronic device 400 according to an embodiment of the present invention.
S101~S104:步驟S101~S104: Steps
Claims (15)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622135.7 | 2020-06-30 | ||
CN202010622135.7A CN111898642B (en) | 2020-06-30 | 2020-06-30 | Key point detection method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202203212A true TW202203212A (en) | 2022-01-16 |
TWI766618B TWI766618B (en) | 2022-06-01 |
Family
ID=73191965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110109419A TWI766618B (en) | 2020-06-30 | 2021-03-16 | Key point detection method, electronic device and computer readable storage medium |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7182021B2 (en) |
CN (1) | CN111898642B (en) |
TW (1) | TWI766618B (en) |
WO (1) | WO2022001123A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783882B (en) * | 2020-06-30 | 2022-09-09 | 北京市商汤科技开发有限公司 | Key point detection method and device, electronic equipment and storage medium |
CN111898642B (en) * | 2020-06-30 | 2021-08-13 | 北京市商汤科技开发有限公司 | Key point detection method and device, electronic equipment and storage medium |
CN112465006B (en) * | 2020-11-24 | 2022-08-05 | 中国人民解放军海军航空大学 | Target tracking method and device for graph neural network |
CN112561054B (en) * | 2020-12-03 | 2023-03-31 | 中国科学院光电技术研究所 | Neural network filter pruning method based on batch characteristic heat map |
CN112580652B (en) * | 2020-12-24 | 2024-04-09 | 咪咕文化科技有限公司 | Virtual decoration method, device, electronic equipment and storage medium |
CN112598070B (en) * | 2020-12-25 | 2023-07-28 | 创新奇智(广州)科技有限公司 | Target detection method, target detection device, electronic equipment and storage medium |
CN113408568B (en) * | 2021-04-16 | 2024-04-16 | 科大讯飞股份有限公司 | Related method, device and equipment for training detection model of object key points |
CN113850245A (en) * | 2021-11-30 | 2021-12-28 | 北京市商汤科技开发有限公司 | Image processing method, image processing device, electronic equipment and storage medium |
CN114372477B (en) * | 2022-03-21 | 2022-06-10 | 北京百度网讯科技有限公司 | Training method of text recognition model, and text recognition method and device |
CN115019136B (en) * | 2022-08-05 | 2022-11-25 | 山东圣点世纪科技有限公司 | Training method and detection method of target key point detection model for resisting boundary point drift |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200919210A (en) * | 2007-07-18 | 2009-05-01 | Steven Kays | Adaptive electronic design |
CN105893920B (en) * | 2015-01-26 | 2019-12-27 | 阿里巴巴集团控股有限公司 | Face living body detection method and device |
CN108985259B (en) | 2018-08-03 | 2022-03-18 | 百度在线网络技术(北京)有限公司 | Human body action recognition method and device |
US11010645B2 (en) | 2018-08-27 | 2021-05-18 | TalkMeUp | Interactive artificial intelligence analytical system |
US11238612B2 (en) * | 2018-08-28 | 2022-02-01 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Device and method of tracking poses of multiple objects based on single-object pose estimator |
US10643085B1 (en) | 2019-01-30 | 2020-05-05 | StradVision, Inc. | Method and device for estimating height and weight of passengers using body part length and face information based on human's status recognition |
CN110020633B (en) * | 2019-04-12 | 2022-11-04 | 腾讯科技(深圳)有限公司 | Training method of posture recognition model, image recognition method and device |
CN110532873A (en) | 2019-07-24 | 2019-12-03 | 西安交通大学 | A kind of depth online learning methods of joint human testing and Attitude estimation |
CN111160085A (en) * | 2019-11-19 | 2020-05-15 | 天津中科智能识别产业技术研究院有限公司 | Human body image key point posture estimation method |
CN111339903B (en) * | 2020-02-21 | 2022-02-08 | 河北工业大学 | Multi-person human body posture estimation method |
CN111341438B (en) | 2020-02-25 | 2023-04-28 | 中国科学技术大学 | Image processing method, device, electronic equipment and medium |
CN111783882B (en) * | 2020-06-30 | 2022-09-09 | 北京市商汤科技开发有限公司 | Key point detection method and device, electronic equipment and storage medium |
CN111898642B (en) * | 2020-06-30 | 2021-08-13 | 北京市商汤科技开发有限公司 | Key point detection method and device, electronic equipment and storage medium |
-
2020
- 2020-06-30 CN CN202010622135.7A patent/CN111898642B/en active Active
-
2021
- 2021-02-10 WO PCT/CN2021/076467 patent/WO2022001123A1/en active Application Filing
- 2021-02-10 JP JP2021565761A patent/JP7182021B2/en active Active
- 2021-03-16 TW TW110109419A patent/TWI766618B/en active
Also Published As
Publication number | Publication date |
---|---|
CN111898642B (en) | 2021-08-13 |
TWI766618B (en) | 2022-06-01 |
JP7182021B2 (en) | 2022-12-01 |
JP2022543954A (en) | 2022-10-17 |
CN111898642A (en) | 2020-11-06 |
WO2022001123A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI766618B (en) | Key point detection method, electronic device and computer readable storage medium | |
WO2023065545A1 (en) | Risk prediction method and apparatus, and device and storage medium | |
CN103268495B (en) | Human body behavior modeling recognition methods based on priori knowledge cluster in computer system | |
WO2020073714A1 (en) | Training sample obtaining method, account prediction method, and corresponding devices | |
CN108288051B (en) | Pedestrian re-recognition model training method and device, electronic equipment and storage medium | |
TWI774271B (en) | Key point detection method, electronic device and computer readable storage medium | |
CN110931112B (en) | Brain medical image analysis method based on multi-dimensional information fusion and deep learning | |
CN112308115B (en) | Multi-label image deep learning classification method and equipment | |
CN112200266B (en) | Network training method and device based on graph structure data and node classification method | |
WO2020224433A1 (en) | Target object attribute prediction method based on machine learning and related device | |
CN111241326B (en) | Image visual relationship indication positioning method based on attention pyramid graph network | |
CN108647800A (en) | A kind of online social network user missing attribute forecast method based on node insertion | |
CN114897085A (en) | Clustering method based on closed subgraph link prediction and computer equipment | |
CN118628736A (en) | Weak supervision indoor point cloud semantic segmentation method, device and medium based on clustering thought | |
CN118468061A (en) | Automatic algorithm matching and parameter optimizing method and system | |
CN114220536A (en) | Disease analysis method, device, equipment and storage medium based on machine learning | |
Cai et al. | Semantic and correlation disentangled graph convolutions for multilabel image recognition | |
CN111914772A (en) | Method for identifying age, and training method and device of age identification model | |
CN104200222B (en) | Object identifying method in a kind of picture based on factor graph model | |
CN116630062A (en) | Medical insurance fraud detection method, system and storage medium | |
CN116704202A (en) | Visual relation detection method based on knowledge embedding | |
CN117011577A (en) | Image classification method, apparatus, computer device and storage medium | |
EP4002297A1 (en) | Systems and methods for automated detection of building footprints | |
CN115034837A (en) | Product sales prediction method, equipment and medium based on knowledge graph | |
CN109522954A (en) | Heterogeneous Information network linking prediction meanss |