{
"cells": [
{
"cell_type": "markdown",
"id": "1e6cfefc",
"metadata": {},
"source": [
"[![image](https://raw.githubusercontent.com/visual-layer/visuallayer/main/imgs/vl_horizontal_logo.png)](https://www.visual-layer.com)"
]
},
{
"cell_type": "markdown",
"id": "79e47a0f-eb0a-43f1-81f1-26ef84a3ab2f",
"metadata": {},
"source": [
"# Object Detection from Videos with YOLOv5\n",
"\n",
"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/visual-layer/fastdup/blob/main/examples/video-yolov5-detection.ipynb)\n",
"[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/visual-layer/fastdup/blob/main/examples/video-yolov5-detection.ipynb)\n",
"\n",
"In this tutorial, we will use fastdup with a pretrained yolov5 object detection model to detect and crop from videos. Following that we analyze the cropped objects for issues such as duplicates, near-duplicates, outliers, bright/dark/blurry objects."
]
},
{
"cell_type": "markdown",
"id": "cef8afd5-45d1-400b-b5a2-8b56095ae66c",
"metadata": {},
"source": [
"## Installation & Setting Up"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1fb73f7e-1bd9-4e8e-b113-94a714abca73",
"metadata": {},
"outputs": [],
"source": [
"!pip install fastdup kaggle -Uq"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "90d6aea7-f03e-4a9c-ba2c-dee490579304",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/usr/bin/dpkg\n"
]
},
{
"data": {
"text/plain": [
"'1.30'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import fastdup\n",
"fastdup.__version__"
]
},
{
"cell_type": "markdown",
"id": "372a2c62-82aa-4b78-828c-95edf6b74c91",
"metadata": {},
"source": [
"## Download & Extract Dataset\n",
"\n",
"\n",
"Let's download the [Video Fight Detection Dataset](https://www.kaggle.com/datasets/naveenk903/movies-fight-detection-dataset) from Kaggle. The dataset consists of real life videos of fight and non-fight scenes meant for video classification task.\n",
"\n",
"You can download the dataset by manually by heading to the dataset [homepage](https://www.kaggle.com/datasets/naveenk903/movies-fight-detection-dataset) or using the [Kaggle API](https://github.com/Kaggle/kaggle-api). \n",
"\n",
"Let's use the Kaggle API to download the dataset:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6022c79f",
"metadata": {},
"outputs": [],
"source": [
"!kaggle datasets download -d naveenk903/movies-fight-detection-dataset"
]
},
{
"cell_type": "markdown",
"id": "8233b1b7",
"metadata": {},
"source": [
"Next, extract the .zip file into a folder named `data`."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2e0674a5",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"!unzip -q movies-fight-detection-dataset.zip -d data"
]
},
{
"cell_type": "markdown",
"id": "fecc72b9-17fd-4f6c-9d2a-a68345461443",
"metadata": {},
"source": [
"## Video to Images\n",
"\n",
"fastdup works on images. We must first turn the videos into frames of images.\n",
"\n",
"We can use a one-liner fastdup utility function to turn all the videos in a folder into frames. This should create a new folder called `frames` that has all the frames from the videos."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9258e5af-0802-476b-85ba-2423240a2771",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"fastdup.extract_video_frames(input_dir=\"data/\", work_dir=\"frames/\")"
]
},
{
"cell_type": "markdown",
"id": "ce318e6e-ba76-4e07-bd91-1b56da39c952",
"metadata": {},
"source": [
"## Run fastdup\n",
"\n",
"Now that we have the frames of images, let's run fastdup and analyze the frames."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "bd3bf19f-1322-46cc-bfc3-d8db50689367",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warning: fastdup create() without work_dir argument, output is stored in a folder named work_dir in your current working path.\n"
]
}
],
"source": [
"fd = fastdup.create(input_dir='frames/')"
]
},
{
"cell_type": "markdown",
"id": "3d1dfd32",
"metadata": {},
"source": [
"For demonstration we'll just run on `num_images=2000`, feel free to change its value or omitting it altogether to run it on the entire dataset."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "29fde366-db7d-4fff-a537-2ff589cddffd",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"FastDup Software, (C) copyright 2022 Dr. Amir Alush and Dr. Danny Bickson.\n",
"2023-07-24 15:37:16 [INFO] Going to loop over dir frames\n",
"2023-07-24 15:37:16 [INFO] Found total 4791 images to run on, 4791 train, 0 test, name list 4791, counter 4791 \n",
"FastDup Software, (C) copyright 2022 Dr. Amir Alush and Dr. Danny Bickson.utes\n",
"2023-07-24 15:46:41 [INFO] Going to loop over dir /tmp/crops_input.csv\n",
"2023-07-24 15:46:41 [INFO] Found total 4908 images to run on, 4908 train, 0 test, name list 4908, counter 4908 \n",
"2023-07-24 15:46:54 [INFO] Found total 4908 images to run ontimated: 0 Minutes\n",
"Finished histogram 1.056\n",
"Finished bucket sort 1.071\n",
"2023-07-24 15:46:54 [INFO] 74) Finished write_index() NN model\n",
"2023-07-24 15:46:54 [INFO] Stored nn model index file work_dir/nnf.index\n",
"2023-07-24 15:46:54 [INFO] Total time took 13135 ms\n",
"2023-07-24 15:46:54 [INFO] Found a total of 154 fully identical images (d>0.990), which are 1.57 %\n",
"2023-07-24 15:46:54 [INFO] Found a total of 553 nearly identical images(d>0.980), which are 5.63 %\n",
"2023-07-24 15:46:54 [INFO] Found a total of 7904 above threshold images (d>0.900), which are 80.52 %\n",
"2023-07-24 15:46:54 [INFO] Found a total of 492 outlier images (d<0.050), which are 5.01 %\n",
"2023-07-24 15:46:54 [INFO] Min distance found 0.581 max distance 1.000\n",
"2023-07-24 15:46:54 [INFO] Running connected components for ccthreshold 0.960000 \n",
".0\n",
" ########################################################################################\n",
"\n",
"Dataset Analysis Summary: \n",
"\n",
" Dataset contains 4908 images\n",
" Valid images are 100.00% (4,908) of the data, invalid are 0.00% (0) of the data\n",
" Similarity: 19.01% (933) belong to 28 similarity clusters (components).\n",
" 80.99% (3,975) images do not belong to any similarity cluster.\n",
" Largest cluster has 128 (2.61%) images.\n",
" For a detailed analysis, use `.connected_components()`\n",
"(similarity threshold used is 0.9, connected component threshold used is 0.96).\n",
"\n",
" Outliers: 6.58% (323) of images are possible outliers, and fall in the bottom 5.00% of similarity values.\n",
" For a detailed list of outliers, use `.outliers()`.\n",
"\n"
]
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.run(bounding_box='yolov5s')"
]
},
{
"cell_type": "markdown",
"id": "d6098b39-9ac7-4766-a0eb-e5ff255ce05d",
"metadata": {},
"source": [
"## Components Gallery\n",
"\n",
"We can visualize the cluster of similar detections using the components gallery view. Specify `draw_bbox=True` to see the detection bounding box on the original image."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c13076de-3cf2-428f-866f-24278b082c02",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████| 20/20 [00:01<00:00, 17.59it/s]\n",
"/home/dnth/anaconda3/envs/fastdup/lib/python3.10/site-packages/fastdup/galleries.py:933: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" top_components['label'] = top_components['label'].apply(lambda x: x[:MAX_IMAGES_IN_GRID])\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Finished OK. Components are stored as image files work_dir/galleries/components_[index].jpg\n",
"Stored components visual view in work_dir/galleries/components.html\n",
"Execution time in seconds 1.6\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Components Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Components Report
Showing groups of similar images
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 692 | \n",
"
\n",
"\n",
" num_images | \n",
" 32 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9617 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 32 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 637 | \n",
"
\n",
"\n",
" num_images | \n",
" 30 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 28 | \n",
"
\n",
"\n",
" fire hydrant | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 678 | \n",
"
\n",
"\n",
" num_images | \n",
" 27 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9708 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 27 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2233 | \n",
"
\n",
"\n",
" num_images | \n",
" 24 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9604 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 24 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 448 | \n",
"
\n",
"\n",
" num_images | \n",
" 18 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9627 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2132 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 14 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1644 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9698 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 14 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2168 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9604 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 14 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1060 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 14 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 449 | \n",
"
\n",
"\n",
" num_images | \n",
" 13 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9626 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 13 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2448 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9636 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 12 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2530 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9618 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 12 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2772 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9621 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 12 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 211 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9669 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 12 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1012 | \n",
"
\n",
"\n",
" num_images | \n",
" 11 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9654 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 11 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1645 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9626 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 10 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1668 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9603 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 10 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1563 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9722 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 10 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 627 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9721 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 10 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2201 | \n",
"
\n",
"\n",
" num_images | \n",
" 9 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9609 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Label | \n",
"
\n",
"\n",
" person | \n",
" 9 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.component_gallery(draw_bbox=True)"
]
},
{
"cell_type": "markdown",
"id": "057288e5-3787-448b-b218-2cb0c3bd2926",
"metadata": {},
"source": [
"If you'd like to view just the cropped bounding box images, specify `draw_bbox=False`"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3edfd955-da16-455d-9089-87ee06161d9c",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████| 20/20 [00:00<00:00, 39.85it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Finished OK. Components are stored as image files work_dir/galleries/components_[index].jpg\n",
"Stored components visual view in work_dir/galleries/components.html\n",
"Execution time in seconds 1.1\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Components Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Components Report
Showing groups of similar images
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 692 | \n",
"
\n",
"\n",
" num_images | \n",
" 32 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9617 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 637 | \n",
"
\n",
"\n",
" num_images | \n",
" 30 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 678 | \n",
"
\n",
"\n",
" num_images | \n",
" 27 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9708 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2233 | \n",
"
\n",
"\n",
" num_images | \n",
" 24 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9604 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 448 | \n",
"
\n",
"\n",
" num_images | \n",
" 18 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9627 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2132 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1644 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9698 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2168 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9604 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1060 | \n",
"
\n",
"\n",
" num_images | \n",
" 14 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9601 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 449 | \n",
"
\n",
"\n",
" num_images | \n",
" 13 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9626 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2448 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9636 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2530 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9618 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2772 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9621 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 211 | \n",
"
\n",
"\n",
" num_images | \n",
" 12 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9669 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1012 | \n",
"
\n",
"\n",
" num_images | \n",
" 11 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9654 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1645 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9626 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1668 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9603 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 1563 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9722 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 627 | \n",
"
\n",
"\n",
" num_images | \n",
" 10 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9721 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" component | \n",
" 2201 | \n",
"
\n",
"\n",
" num_images | \n",
" 9 | \n",
"
\n",
"\n",
" mean_distance | \n",
" 0.9609 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.component_gallery(draw_bbox=False)"
]
},
{
"cell_type": "markdown",
"id": "9f81f218-2b43-4eaf-9305-91e6f4ce2890",
"metadata": {},
"source": [
"## Find Similar Objects Across Videos\n",
"\n",
"Using the `similarity_gallery` view, we can find similar looking detections across all the extracted frames."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ae3e6a8d-340d-4dfb-a91a-32fde7522325",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warning: you are running create_similarity_gallery() without providing get_label_func so similarities are not computed between different classes. It is recommended to run this report with labels. Without labels this report output is similar to create_duplicate_gallery()\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████| 20/20 [00:00<00:00, 184.84it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored similar images visual view in work_dir/galleries/similarity.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Similarity Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Similarity Report
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi99.avioutput_000001.jpg_425_179_176_244.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900044 | \n",
" /crops/tmpdataPeliculasfightsnewfi99.avioutput_000007.jpg_430_181_174_233.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi4.avioutput_000007.jpg_96_25_115_227.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900051 | \n",
" /crops/tmpdataPeliculasfightsnewfi4.avioutput_000008.jpg_89_23_109_221.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi79.avioutput_000010.jpg_52_158_65_131.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900077 | \n",
" /crops/tmpdataPeliculasfightsnewfi79.avioutput_000011.jpg_115_188_69_149.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900082 | \n",
" /crops/tmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900082 | \n",
" /crops/tmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi51.avioutput_000006.jpg_129_92_113_235.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900146 | \n",
" /crops/tmpdataPeliculasfightsnewfi51.avioutput_000009.jpg_161_95_83_219.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi66.avioutput_000007.jpg_448_133_129_335.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.913802 | \n",
" /crops/tmpdataPeliculasfightsnewfi66.avioutput_000006.jpg_468_134_132_330.jpg | \n",
"
\n",
"\n",
" 0.900177 | \n",
" /crops/tmpdataPeliculasfightsnewfi66.avioutput_000005.jpg_473_141_115_327.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi100.avioutput_000021.jpg_186_267_149_124.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900201 | \n",
" /crops/tmpdataPeliculasfightsnewfi100.avioutput_000020.jpg_181_266_170_155.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000003.jpg_1_69_262_351.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.917534 | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000002.jpg_1_69_262_348.jpg | \n",
"
\n",
"\n",
" 0.90022 | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000001.jpg_2_70_282_347.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000001.jpg_2_70_282_347.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.951013 | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000002.jpg_1_69_262_348.jpg | \n",
"
\n",
"\n",
" 0.90022 | \n",
" /crops/tmpdataPeliculasfightsnewfi90.avioutput_000003.jpg_1_69_262_351.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi74avi.avioutput_000009.jpg_176_192_74_200.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900355 | \n",
" /crops/tmpdataPeliculasfightsnewfi74avi.avioutput_000007.jpg_146_186_91_237.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi4.avioutput_000005.jpg_230_110_226_408.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900361 | \n",
" /crops/tmpdataPeliculasfightsnewfi4.avioutput_000007.jpg_221_131_261_387.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi3.avioutput_000020.jpg_453_290_83_233.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.907882 | \n",
" /crops/tmpdataPeliculasfightsnewfi19.avioutput_000003.jpg_399_287_83_210.jpg | \n",
"
\n",
"\n",
" 0.900385 | \n",
" /crops/tmpdataPeliculasfightsnewfi19.avioutput_000002.jpg_406_289_81_212.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi19.avioutput_000002.jpg_406_289_81_212.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.966457 | \n",
" /crops/tmpdataPeliculasfightsnewfi19.avioutput_000003.jpg_399_287_83_210.jpg | \n",
"
\n",
"\n",
" 0.900385 | \n",
" /crops/tmpdataPeliculasfightsnewfi3.avioutput_000020.jpg_453_290_83_233.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi97.avioutput_000050.jpg_168_235_36_48.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.950719 | \n",
" /crops/tmpdataPeliculasfightsnewfi97.avioutput_000049.jpg_171_233_33_52.jpg | \n",
"
\n",
"\n",
" 0.900387 | \n",
" /crops/tmpdataPeliculasfightsnewfi97.avioutput_000024.jpg_200_232_24_46.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi39.avioutput_000001.jpg_176_69_188_476.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.964918 | \n",
" /crops/tmpdataPeliculasfightsnewfi39.avioutput_000002.jpg_177_70_186_476.jpg | \n",
"
\n",
"\n",
" 0.900394 | \n",
" /crops/tmpdataPeliculasfightsnewfi39.avioutput_000004.jpg_180_70_187_477.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi77.avioutput_000050.jpg_339_143_178_278.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900396 | \n",
" /crops/tmpdataPeliculasfightsnewfi77.avioutput_000049.jpg_370_158_146_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi77.avioutput_000049.jpg_370_158_146_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900396 | \n",
" /crops/tmpdataPeliculasfightsnewfi77.avioutput_000050.jpg_339_143_178_278.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi86.avioutput_000003.jpg_239_111_68_280.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900417 | \n",
" /crops/tmpdataPeliculasfightsnewfi86.avioutput_000002.jpg_241_111_71_282.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info From | \n",
"
\n",
"\n",
" from | \n",
" /crops/tmpdataPeliculasfightsnewfi86.avioutput_000002.jpg_241_111_71_282.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info To | \n",
"
\n",
"\n",
" 0.900417 | \n",
" /crops/tmpdataPeliculasfightsnewfi86.avioutput_000003.jpg_239_111_68_280.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tQuery Image | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\tSimilar | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t\t\t\t | \n",
"\t\t\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t\t\t\n",
"\t\t\t\t\t\t\t
\n",
"\t\t\t\t\t\t
\n",
"\t\t\t\t\t
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" from | \n",
" to | \n",
" distance | \n",
"
\n",
" \n",
" \n",
" \n",
" 4190 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi99.avioutput_000001.jpg_425_179_176_244.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi99.avioutput_000007.jpg_430_181_174_233.jpg] | \n",
" [0.900044] | \n",
"
\n",
" \n",
" 798 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi4.avioutput_000007.jpg_96_25_115_227.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi4.avioutput_000008.jpg_89_23_109_221.jpg] | \n",
" [0.900051] | \n",
"
\n",
" \n",
" 2974 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi79.avioutput_000010.jpg_52_158_65_131.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi79.avioutput_000011.jpg_115_188_69_149.jpg] | \n",
" [0.900077] | \n",
"
\n",
" \n",
" 3739 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg] | \n",
" [0.900082] | \n",
"
\n",
" \n",
" 3738 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg] | \n",
" [0.900082] | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 263 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi2.avioutput_000002.jpg_11_16_73_168.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi1.avioutput_000002.jpg_11_16_73_168.jpg] | \n",
" [1.0] | \n",
"
\n",
" \n",
" 1963 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000025.jpg_434_192_79_245.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000025.jpg_434_192_79_245.jpg] | \n",
" [1.0] | \n",
"
\n",
" \n",
" 1961 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000013.jpg_467_216_79_239.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000013.jpg_467_216_79_239.jpg] | \n",
" [1.0] | \n",
"
\n",
" \n",
" 2 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi1.avioutput_000002.jpg_11_16_73_168.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi2.avioutput_000002.jpg_11_16_73_168.jpg] | \n",
" [1.0] | \n",
"
\n",
" \n",
" 1987 | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000025.jpg_434_192_79_245.jpg | \n",
" [work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000025.jpg_434_192_79_245.jpg] | \n",
" [1.0] | \n",
"
\n",
" \n",
"
\n",
"
4212 rows × 3 columns
\n",
"
"
],
"text/plain": [
" from to distance\n",
"4190 work_dir/crops/framestmpdataPeliculasfightsnewfi99.avioutput_000001.jpg_425_179_176_244.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi99.avioutput_000007.jpg_430_181_174_233.jpg] [0.900044]\n",
"798 work_dir/crops/framestmpdataPeliculasfightsnewfi4.avioutput_000007.jpg_96_25_115_227.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi4.avioutput_000008.jpg_89_23_109_221.jpg] [0.900051]\n",
"2974 work_dir/crops/framestmpdataPeliculasfightsnewfi79.avioutput_000010.jpg_52_158_65_131.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi79.avioutput_000011.jpg_115_188_69_149.jpg] [0.900077]\n",
"3739 work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg] [0.900082]\n",
"3738 work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000024.jpg_288_172_99_200.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi93.avioutput_000026.jpg_289_171_80_205.jpg] [0.900082]\n",
"... ... ... ...\n",
"263 work_dir/crops/framestmpdataPeliculasfightsnewfi2.avioutput_000002.jpg_11_16_73_168.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi1.avioutput_000002.jpg_11_16_73_168.jpg] [1.0]\n",
"1963 work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000025.jpg_434_192_79_245.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000025.jpg_434_192_79_245.jpg] [1.0]\n",
"1961 work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000013.jpg_467_216_79_239.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000013.jpg_467_216_79_239.jpg] [1.0]\n",
"2 work_dir/crops/framestmpdataPeliculasfightsnewfi1.avioutput_000002.jpg_11_16_73_168.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi2.avioutput_000002.jpg_11_16_73_168.jpg] [1.0]\n",
"1987 work_dir/crops/framestmpdataPeliculasfightsnewfi73.avioutput_000025.jpg_434_192_79_245.jpg [work_dir/crops/framestmpdataPeliculasfightsnewfi72.avioutput_000025.jpg_434_192_79_245.jpg] [1.0]\n",
"\n",
"[4212 rows x 3 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.similarity_gallery(draw_bbox=False)"
]
},
{
"cell_type": "markdown",
"id": "7cf59dc4-9fd9-4e5a-a502-c8b715b772a3",
"metadata": {},
"source": [
"## Find Outliers\n",
"\n",
"Useing the `outliers_gallery` we can also visualize detections that looks visually different from others."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5e774ad3-3817-417f-915c-31efbb544fbc",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|█████████| 20/20 [00:00<00:00, 34850.88it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored outliers visual view in work_dir/galleries/outliers.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Outliers Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Outliers Report
Showing image outliers, one per row
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.586839 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi89.avioutput_000002.jpg_579_231_141_185.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.652022 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi28.avioutput_000003.jpg_39_280_89_83.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.655118 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi47.avioutput_000051.jpg_352_136_210_428.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.662201 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi54.avioutput_000002.jpg_374_129_99_66.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.667109 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi29.avioutput_000001.jpg_358_182_70_60.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.683235 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi86.avioutput_000001.jpg_574_115_83_124.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.685564 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi84.avioutput_000006.jpg_24_322_176_90.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.68916 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi29.avioutput_000002.jpg_143_84_200_100.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.695353 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi84.avioutput_000005.jpg_25_318_174_93.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.699362 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi81.avioutput_000006.jpg_137_20_171_453.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.701543 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi21.avioutput_000040.jpg_34_200_176_344.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.70211 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi99.avioutput_000007.jpg_483_309_132_42.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.704878 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi81.avioutput_000007.jpg_145_21_163_450.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.705163 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi94.avioutput_000021.jpg_305_263_136_84.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.710253 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi16.avioutput_000022.jpg_406_225_302_59.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.711675 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi41.avioutput_000042.jpg_469_398_108_114.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.71494 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi28.avioutput_000004.jpg_550_332_158_159.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.716716 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi38.avioutput_000027.jpg_141_127_91_72.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.725537 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi20.avioutput_000024.jpg_7_207_207_78.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 0.726201 | \n",
"
\n",
"\n",
" Path | \n",
" /crops/tmpdataPeliculasfightsnewfi81.avioutput_000019.jpg_169_38_143_43.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.outliers_gallery()"
]
},
{
"cell_type": "markdown",
"id": "720944df-3bce-44ba-876f-8b383a84445b",
"metadata": {},
"source": [
"## Duplicate Detections\n",
"\n",
"With the `duplicates_gallery` view, visualize duplicate image pairs across videos."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "00bf2f0c-ac22-4fd4-b245-9fbed745a128",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████| 20/20 [00:00<00:00, 237.49it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored similarity visual view in work_dir/galleries/duplicates.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Duplicates Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Duplicates Report
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000007.jpg_212_203_134_262.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000007.jpg_212_203_134_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000005.jpg_207_236_116_286.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000005.jpg_207_236_116_286.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000003.jpg_447_219_122_242.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000003.jpg_447_219_122_242.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000008.jpg_271_126_149_415.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000008.jpg_271_126_149_415.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000006.jpg_207_203_140_262.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000006.jpg_207_203_140_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000004.jpg_207_203_140_262.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000004.jpg_207_203_140_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000004.jpg_439_215_131_245.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000004.jpg_439_215_131_245.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000010.jpg_137_241_78_129.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000010.jpg_137_241_78_129.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000002.jpg_264_123_158_424.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000002.jpg_264_123_158_424.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000007.jpg_441_215_124_246.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000007.jpg_441_215_124_246.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000011.jpg_214_203_97_254.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000011.jpg_214_203_97_254.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000009.jpg_215_201_123_260.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000009.jpg_215_201_123_260.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000009.jpg_452_214_104_249.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000009.jpg_452_214_104_249.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000008.jpg_447_214_116_246.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000008.jpg_447_214_116_246.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000005.jpg_276_129_146_403.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000005.jpg_276_129_146_403.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi72.avioutput_000001.jpg_208_203_137_262.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi73.avioutput_000001.jpg_208_203_137_262.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" Distance | \n",
" 1.0 | \n",
"
\n",
"\n",
" From | \n",
" /crops/tmpdataPeliculasfightsnewfi2.avioutput_000001.jpg_262_120_158_432.jpg | \n",
"
\n",
"\n",
" To | \n",
" /crops/tmpdataPeliculasfightsnewfi1.avioutput_000001.jpg_262_120_158_432.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.duplicates_gallery()"
]
},
{
"cell_type": "markdown",
"id": "49078755-13d3-4420-85bb-7c772bf203a9",
"metadata": {},
"source": [
"## Dark Detections\n",
"\n",
"Using the `stats_gallery` view, we can sort the detections following a desired `metric` such as 'dark', 'bright' and 'blur'. "
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "5977b2db-6dd9-404e-9af5-53dd6292f87f",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 20/20 [00:00<00:00, 1612.26it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored mean visual view in work_dir/galleries/mean.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Dark Image Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Dark Image Report
Showing example images, sort by ascending order
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 4.6901 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi96.avioutput_000001.jpg_331_118_89_231.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.4976 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000001.jpg_675_82_44_250.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.7361 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000002.jpg_674_82_46_250.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.9165 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000006.jpg_673_81_46_251.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.9374 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000005.jpg_674_86_46_250.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.9384 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000003.jpg_673_81_46_252.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 5.9744 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi84.avioutput_000004.jpg_672_83_47_252.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 6.6712 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000002.jpg_649_262_70_145.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 6.8141 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000003.jpg_649_264_70_142.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 6.828 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000004.jpg_649_264_70_140.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.0736 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi21.avioutput_000041.jpg_35_95_173_442.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.097 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000001.jpg_654_263_66_141.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.1916 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000006.jpg_654_272_65_134.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.269 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000005.jpg_656_268_63_135.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.5461 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi28.avioutput_000004.jpg_305_90_151_412.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.6978 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi89.avioutput_000002.jpg_579_231_141_185.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 7.7324 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi21.avioutput_000040.jpg_34_200_176_344.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 8.3245 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi97.avioutput_000042.jpg_71_223_119_209.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 8.3548 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000007.jpg_667_270_52_133.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 8.4445 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi97.avioutput_000043.jpg_65_223_120_231.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.stats_gallery(metric='dark')"
]
},
{
"cell_type": "markdown",
"id": "8ff9bdf8-89d9-4851-8911-30ca555210b6",
"metadata": {},
"source": [
"## Bright Detections"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2d27902d-cd84-4f23-b86b-4eb9cfd7f863",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 20/20 [00:00<00:00, 2087.08it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored mean visual view in work_dir/galleries/mean.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Bright Image Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Bright Image Report
Showing example images, sort by descending order
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 206.4165 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi80.avioutput_000056.jpg_579_401_110_51.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 206.3676 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi80.avioutput_000055.jpg_582_401_107_50.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 194.5003 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi80.avioutput_000020.jpg_583_401_106_52.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 193.9089 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi80.avioutput_000021.jpg_584_401_107_51.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 182.5095 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi10.avioutput_000001.jpg_134_343_78_158.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 180.5055 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi10.avioutput_000033.jpg_149_375_82_126.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 172.7109 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000020.jpg_72_450_45_36.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 169.8732 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi33.avioutput_000042.jpg_366_457_52_47.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 166.5238 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi95.avioutput_000037.jpg_281_192_33_74.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 163.0869 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi19.avioutput_000004.jpg_304_297_173_207.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 162.5998 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi19.avioutput_000002.jpg_406_289_81_212.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 161.5224 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi19.avioutput_000003.jpg_399_287_83_210.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 161.0118 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi11.avioutput_000032.jpg_385_431_44_63.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 159.7791 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi33.avioutput_000035.jpg_189_110_71_201.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 158.7646 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi13.avioutput_000006.jpg_402_321_72_191.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 157.9503 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi2.avioutput_000009.jpg_430_338_19_20.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 157.9503 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi1.avioutput_000009.jpg_430_338_19_20.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 156.7766 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi18.avioutput_000003.jpg_527_284_23_21.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 156.7711 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi3.avioutput_000020.jpg_453_290_83_233.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" mean | \n",
" 156.5746 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi5.avioutput_000012.jpg_152_482_62_59.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.stats_gallery(metric='bright')"
]
},
{
"cell_type": "markdown",
"id": "d35bd1bd-a008-417e-9015-e7149e91fb7f",
"metadata": {},
"source": [
"## Blurry Detections"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "3d9dd6ff-165a-48e3-a498-6e719f253b9a",
"metadata": {
"scrolled": false,
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 20/20 [00:00<00:00, 3199.56it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored blur visual view in work_dir/galleries/blur.html\n"
]
},
{
"data": {
"text/html": [
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Blurry Image Report\n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
Blurry Image Report
Showing example images, sort by ascending order
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 5.1635 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi92.avioutput_000001.jpg_572_161_54_47.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 6.2514 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi92.avioutput_000001.jpg_0_172_93_144.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 6.7307 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi92.avioutput_000001.jpg_415_177_78_105.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 6.8313 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000002.jpg_649_262_70_145.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 7.5661 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi92.avioutput_000001.jpg_521_160_50_51.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 7.7214 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000004.jpg_590_75_25_37.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 7.8333 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000003.jpg_649_264_70_142.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.0188 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi37.avioutput_000008.jpg_75_413_100_97.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.0522 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000001.jpg_654_263_66_141.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.1975 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi41.avioutput_000006.jpg_599_240_59_46.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.3127 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000005.jpg_591_74_26_37.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.364 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000002.jpg_591_75_23_36.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.6836 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi92.avioutput_000001.jpg_474_164_55_45.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 8.8331 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000003.jpg_590_77_26_37.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 9.2415 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000006.jpg_591_75_25_39.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 9.4684 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi43.avioutput_000001.jpg_591_75_24_36.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 9.4762 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi28.avioutput_000029.jpg_381_447_34_37.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 9.7096 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi83.avioutput_000004.jpg_649_264_70_140.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 10.0385 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi86.avioutput_000001.jpg_0_142_44_134.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
" Info | \n",
"
\n",
"\n",
" blur | \n",
" 10.0432 | \n",
"
\n",
"\n",
" filename | \n",
" work_dir/crops/framestmpdataPeliculasfightsnewfi86.avioutput_000005.jpg_0_138_47_137.jpg | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fd.vis.stats_gallery(metric='blur')"
]
},
{
"cell_type": "markdown",
"id": "34851433",
"metadata": {},
"source": [
"## Wrap Up\n",
"\n",
"Next, feel free to check out other tutorials -\n",
"\n",
"+ ⚡ [**Quickstart**](https://nbviewer.org/github/visual-layer/fastdup/blob/main/examples/quick-dataset-analysis.ipynb): Learn how to install fastdup, load a dataset and analyze it for potential issues such as duplicates/near-duplicates, broken images, outliers, dark/bright/blurry images, and view visually similar image clusters. If you're new, start here!\n",
"+ 🧹 [**Clean Image Folder**](https://nbviewer.org/github/visual-layer/fastdup/blob/main/examples/cleaning-image-dataset.ipynb): Learn how to analyze and clean a folder of images from potential issues and export a list of problematic files for further action. If you have an unorganized folder of images, this is a good place to start.\n",
"+ 🖼 [**Analyze Image Classification Dataset**](https://nbviewer.org/github/visual-layer/fastdup/blob/main/examples/analyzing-image-classification-dataset.ipynb): Learn how to load a labeled image classification dataset and analyze for potential issues. If you have labeled ImageNet-style folder structure, have a go!\n",
"+ 🎁 [**Analyze Object Detection Dataset**](https://nbviewer.org/github/visual-layer/fastdup/blob/main/examples/analyzing-object-detection-dataset.ipynb): Learn how to load bounding box annotations for object detection and analyze for potential issues. If you have a COCO-style labeled object detection dataset, give this example a try. "
]
},
{
"cell_type": "markdown",
"id": "934a1fb4",
"metadata": {},
"source": [
"\n",
"## VL Profiler\n",
"If you prefer a no-code platform to inspect and visualize your dataset, [**try our free cloud product VL Profiler**](https://app.visual-layer.com) - VL Profiler is our first no-code commercial product that lets you visualize and inspect your dataset in your browser. \n",
"\n",
"[Sign up](https://app.visual-layer.com) now, it's free.\n",
"\n",
"[![image](https://raw.githubusercontent.com/visual-layer/fastdup/main/gallery/vl_profiler_promo.svg)](https://app.visual-layer.com)\n",
"\n",
"As usual, feedback is welcome! \n",
"\n",
"Questions? Drop by our [Slack channel](https://visualdatabase.slack.com/join/shared_invite/zt-19jaydbjn-lNDEDkgvSI1QwbTXSY6dlA#/shared-invite/email) or open an issue on [GitHub](https://github.com/visual-layer/fastdup/issues)."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}