From 4eeef96e9a173932bf75d6230ef5d53a09d5b0df Mon Sep 17 00:00:00 2001 From: wxywb Date: Fri, 23 Sep 2022 16:41:43 +0800 Subject: [PATCH] update the readme. Signed-off-by: wxywb --- README.md | 18 ++++++++++++++---- tabular.png | Bin 0 -> 41975 bytes 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 tabular.png diff --git a/README.md b/README.md index bcac577..567d760 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,16 @@ This operator can compare two ordered sequences, then detect the range which fea ```python -placeholder +# simulate a video feature by 10 frames of 512d vectors. +videos_embeddings = np.random.randn(10,512) +videos_embeddings = videos_embeddings / np.linalg.norm(videos_embeddings,axis=1).reshape(10,-1) + +towhee.dc['src','dest']([[videos_embeddings,videos_embeddings]]) \ + .video_copy_detection.temporal_network[('src','dest'), ('range', 'range_score')]() \ + .show() ``` +result
@@ -70,7 +77,7 @@ A Temporal Network operator takes two numpy.ndarray(shape(N,D) N: number of feat **Parameters:** -​ ***src_video_vec data:*** *numpy.ndarray* +​ ***src_video_vec*** *numpy.ndarray* ​ Source video feature vectors. @@ -79,10 +86,13 @@ A Temporal Network operator takes two numpy.ndarray(shape(N,D) N: number of feat ​ Destination video feature vectors. -**Returns:** *List[List[Int]], List[float] * +**Returns:** -​ The returned aligned range and similarity score. +​ ***aligned_ranges:*** *List[List[Int]]* +​ The returned aligned range. +​ ***aligned_scores:*** *List[float]* +​ The returned similarity scores(length same as aligned_ranges). diff --git a/tabular.png b/tabular.png new file mode 100644 index 0000000000000000000000000000000000000000..08616ed71eaeb8fe3702e0f6acad0fd975f7625e GIT binary patch literal 41975 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