import pandas as pd
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import numpy as np
from utils.personal_utils import *
class_dict = read_class_dict('/root/data/OID/annotations/class-descriptions-boxable.csv')
fish_class_ids = []
for class_id in class_dict:
if class_dict[class_id] in ['Fish', 'Goldfish']:
fish_class_ids += [class_id]
print(fish_class_ids)
print([class_dict[class_id] for class_id in fish_class_ids])
['/m/03fj2', '/m/0ch_cf'] ['Goldfish', 'Fish']
df = pd.read_csv('/root/data/OID/annotations/train/train-annotations-bbox.csv')
df.tail()
ImageID | Source | LabelName | Confidence | XMin | XMax | YMin | YMax | IsOccluded | IsTruncated | IsGroupOf | IsDepiction | IsInside | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
14610224 | fffffdaec951185d | xclick | /m/0dzct | 1 | 0.445625 | 0.672500 | 0.154784 | 0.200750 | 1 | 0 | 1 | 0 | 0 |
14610225 | fffffdaec951185d | xclick | /m/0dzct | 1 | 0.695625 | 0.786250 | 0.118199 | 0.297373 | 0 | 0 | 0 | 0 | 0 |
14610226 | fffffdaec951185d | xclick | /m/0dzct | 1 | 0.788750 | 0.835000 | 0.198874 | 0.272045 | 1 | 0 | 0 | 0 | 0 |
14610227 | fffffdaec951185d | xclick | /m/0dzct | 1 | 0.796875 | 0.951875 | 0.156660 | 0.205441 | 1 | 0 | 1 | 0 | 0 |
14610228 | fffffdaec951185d | xclick | /m/0dzct | 1 | 0.991250 | 0.999375 | 0.174484 | 0.195122 | 1 | 0 | 0 | 0 | 0 |
df = df.loc[df['LabelName'].isin(fish_class_ids)]
df = df.reset_index(drop=True)
df = df[df['IsGroupOf']==0] # Remove big group of fish
df
ImageID | Source | LabelName | Confidence | XMin | XMax | YMin | YMax | IsOccluded | IsTruncated | IsGroupOf | IsDepiction | IsInside | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0000dd8e0cb25756 | xclick | /m/0ch_cf | 1 | 0.322266 | 0.895508 | 0.276565 | 0.759825 | 1 | 0 | 0 | 0 | 0 |
1 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.020365 | 0.044242 | 0.729526 | 0.759698 | 1 | 1 | 0 | 0 | 0 |
2 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.026685 | 0.044242 | 0.741379 | 0.752155 | 0 | 0 | 0 | 0 | 0 |
3 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.034410 | 0.058989 | 0.232759 | 0.258621 | 1 | 0 | 0 | 0 | 0 |
4 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.058989 | 0.070225 | 0.217672 | 0.256466 | 1 | 0 | 0 | 0 | 0 |
5 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.085674 | 0.133427 | 0.617457 | 0.667026 | 1 | 0 | 0 | 0 | 0 |
6 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.122893 | 0.203652 | 0.334052 | 0.389009 | 1 | 0 | 0 | 0 | 0 |
7 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.136938 | 0.157303 | 0.859914 | 0.891164 | 0 | 0 | 0 | 0 | 0 |
8 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.136938 | 0.162921 | 0.867457 | 0.881465 | 1 | 0 | 0 | 0 | 0 |
9 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.147472 | 0.175562 | 0.878233 | 0.919181 | 1 | 0 | 0 | 0 | 0 |
10 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.156601 | 0.178371 | 0.398707 | 0.455819 | 1 | 0 | 0 | 0 | 0 |
11 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.186096 | 0.221910 | 0.274784 | 0.310345 | 1 | 0 | 0 | 0 | 0 |
12 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.188202 | 0.228230 | 0.850215 | 0.869612 | 1 | 0 | 0 | 0 | 0 |
13 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.198736 | 0.245084 | 0.554957 | 0.598060 | 1 | 0 | 0 | 0 | 0 |
14 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.219101 | 0.269663 | 0.460129 | 0.489224 | 1 | 0 | 0 | 0 | 0 |
15 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.247893 | 0.280899 | 0.603448 | 0.631465 | 1 | 0 | 0 | 0 | 0 |
16 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.255618 | 0.302669 | 0.664871 | 0.707974 | 0 | 0 | 0 | 0 | 0 |
17 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.261938 | 0.283708 | 0.759698 | 0.802802 | 1 | 0 | 0 | 0 | 0 |
18 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.301264 | 0.313202 | 0.876078 | 0.928879 | 1 | 0 | 0 | 0 | 0 |
19 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.313202 | 0.347612 | 0.229526 | 0.266164 | 1 | 0 | 0 | 0 | 0 |
20 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.319522 | 0.351826 | 0.287716 | 0.317888 | 1 | 0 | 0 | 0 | 0 |
21 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.344101 | 0.364466 | 0.460129 | 0.483836 | 1 | 0 | 0 | 0 | 0 |
22 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.355337 | 0.398174 | 0.773707 | 0.810345 | 1 | 0 | 0 | 0 | 0 |
23 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.363062 | 0.393961 | 0.531250 | 0.560345 | 1 | 0 | 0 | 0 | 0 |
24 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.365871 | 0.398174 | 0.714440 | 0.757543 | 1 | 0 | 0 | 0 | 0 |
25 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.403090 | 0.440309 | 0.931035 | 0.978448 | 1 | 0 | 0 | 0 | 0 |
26 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.427669 | 0.437500 | 0.970905 | 0.998922 | 1 | 0 | 0 | 0 | 0 |
27 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.441713 | 0.454354 | 0.788793 | 0.810345 | 1 | 0 | 0 | 0 | 0 |
28 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.495787 | 0.536517 | 0.899785 | 0.926724 | 1 | 0 | 0 | 0 | 0 |
29 | 0004e0650dd10f47 | xclick | /m/0ch_cf | 1 | 0.497191 | 0.507023 | 0.702586 | 0.724138 | 1 | 0 | 0 | 0 | 0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
25369 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.115625 | 0.226875 | 0.511667 | 0.570000 | 1 | 0 | 0 | 0 | 0 |
25370 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.116875 | 0.229375 | 0.635000 | 0.668333 | 1 | 0 | 0 | 0 | 0 |
25371 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.125000 | 0.184375 | 0.065000 | 0.132500 | 1 | 0 | 0 | 0 | 0 |
25372 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.135000 | 0.191875 | 0.365000 | 0.458333 | 1 | 0 | 0 | 0 | 0 |
25373 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.160000 | 0.259375 | 0.225833 | 0.311667 | 1 | 0 | 0 | 0 | 0 |
25374 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.208750 | 0.295625 | 0.053333 | 0.150000 | 1 | 0 | 0 | 0 | 0 |
25375 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.213750 | 0.286250 | 0.389167 | 0.418333 | 1 | 0 | 0 | 0 | 0 |
25376 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.233125 | 0.276250 | 0.447500 | 0.513333 | 1 | 0 | 0 | 0 | 0 |
25377 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.252500 | 0.338125 | 0.371667 | 0.411667 | 1 | 0 | 0 | 0 | 0 |
25378 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.259375 | 0.346875 | 0.000000 | 0.039167 | 1 | 0 | 0 | 0 | 0 |
25379 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.294375 | 0.370625 | 0.699167 | 0.754167 | 1 | 0 | 0 | 0 | 0 |
25380 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.295625 | 0.365000 | 0.945000 | 0.999167 | 1 | 0 | 0 | 0 | 0 |
25381 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.323750 | 0.403750 | 0.280833 | 0.334167 | 1 | 0 | 0 | 0 | 0 |
25382 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.424375 | 0.525625 | 0.284167 | 0.342500 | 1 | 0 | 0 | 0 | 0 |
25383 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.467500 | 0.558750 | 0.211667 | 0.256667 | 1 | 0 | 0 | 0 | 0 |
25384 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.476250 | 0.573125 | 0.902500 | 0.975000 | 1 | 0 | 0 | 0 | 0 |
25385 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.495625 | 0.592500 | 0.505833 | 0.589167 | 1 | 0 | 0 | 0 | 0 |
25386 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.518750 | 0.598750 | 0.788333 | 0.847500 | 1 | 0 | 0 | 0 | 0 |
25387 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.534375 | 0.648750 | 0.417500 | 0.478333 | 1 | 0 | 0 | 0 | 0 |
25388 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.539375 | 0.650625 | 0.647500 | 0.680000 | 1 | 0 | 0 | 0 | 0 |
25389 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.565625 | 0.626250 | 0.749167 | 0.857500 | 1 | 0 | 0 | 0 | 0 |
25390 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.626250 | 0.702500 | 0.926667 | 0.999167 | 1 | 1 | 0 | 0 | 0 |
25391 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.658125 | 0.795000 | 0.891667 | 0.930000 | 1 | 0 | 0 | 0 | 0 |
25392 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.677500 | 0.759375 | 0.595833 | 0.692500 | 1 | 0 | 0 | 0 | 0 |
25393 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.706250 | 0.823750 | 0.471667 | 0.499167 | 1 | 0 | 0 | 0 | 0 |
25394 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.735625 | 0.884375 | 0.473333 | 0.540833 | 1 | 0 | 0 | 0 | 0 |
25395 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.740000 | 0.880625 | 0.805833 | 0.852500 | 1 | 0 | 0 | 0 | 0 |
25396 | fff1272ee6d98005 | xclick | /m/0ch_cf | 1 | 0.903750 | 0.980000 | 0.844167 | 0.943333 | 1 | 0 | 0 | 0 | 0 |
25397 | fffb95e54c7b6e1e | xclick | /m/0ch_cf | 1 | 0.445625 | 0.999375 | 0.509381 | 0.795497 | 1 | 1 | 0 | 0 | 0 |
25398 | fffe13ab9bed93f6 | activemil | /m/0ch_cf | 1 | 0.200625 | 0.581250 | 0.182786 | 0.673469 | 0 | 0 | 0 | 0 | 0 |
24403 rows × 13 columns
df[['ImageID', 'XMin', 'XMax', 'YMin', 'YMax']].to_csv('data/fish_train.csv', index=False)
df = pd.read_csv('/root/data/OID/annotations/validation/validation-annotations-bbox.csv')
df.tail()
ImageID | Source | LabelName | Confidence | XMin | XMax | YMin | YMax | IsOccluded | IsTruncated | IsGroupOf | IsDepiction | IsInside | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
204616 | ffff21932da3ed01 | freeform | /m/03fp41 | 1 | 0.177790 | 0.710296 | 0.412302 | 0.578570 | 0 | 0 | 1 | 0 | 0 |
204617 | ffff21932da3ed01 | freeform | /m/05s2s | 1 | 0.000000 | 0.031963 | 0.502994 | 0.562275 | 1 | 1 | 0 | 0 | 0 |
204618 | ffff21932da3ed01 | freeform | /m/0c9ph5 | 1 | 0.323775 | 0.409382 | 0.464495 | 0.554111 | 0 | 0 | 1 | 0 | 0 |
204619 | ffff21932da3ed01 | freeform | /m/0c9ph5 | 1 | 0.540223 | 0.624863 | 0.493633 | 0.577892 | 1 | 0 | 1 | 0 | 0 |
204620 | ffff21932da3ed01 | freeform | /m/0cgh4 | 1 | 0.002521 | 1.000000 | 0.000000 | 0.998685 | 0 | 0 | 0 | 0 | 1 |
df = df.loc[df['LabelName'].isin(fish_class_ids)]
df = df.reset_index(drop=True)
df = df[df['IsGroupOf']==0] # Remove big group of fish
df
ImageID | Source | LabelName | Confidence | XMin | XMax | YMin | YMax | IsOccluded | IsTruncated | IsGroupOf | IsDepiction | IsInside | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 00a300e8b0cef4d3 | freeform | /m/0ch_cf | 1 | 0.407438 | 0.649925 | 0.488914 | 0.637296 | 0 | 0 | 0 | 0 | 0 |
2 | 00ba0d69d613dc34 | freeform | /m/0ch_cf | 1 | 0.066162 | 0.930704 | 0.129014 | 0.872584 | 0 | 0 | 0 | 0 | 0 |
3 | 02621d3d56c7e96e | freeform | /m/03fj2 | 1 | 0.392941 | 0.726756 | 0.375494 | 0.812281 | 0 | 0 | 0 | 0 | 0 |
5 | 02b57b31d82f946a | freeform | /m/0ch_cf | 1 | 0.000000 | 0.947121 | 0.000000 | 0.998443 | 0 | 1 | 0 | 0 | 0 |
8 | 037d936048132a4c | freeform | /m/0ch_cf | 1 | 0.003772 | 0.671989 | 0.000000 | 0.720748 | 0 | 1 | 0 | 0 | 0 |
9 | 04052a2470d09108 | freeform | /m/0ch_cf | 1 | 0.404572 | 0.532074 | 0.958442 | 1.000000 | 0 | 1 | 0 | 0 | 0 |
10 | 05529471232e9c93 | freeform | /m/0ch_cf | 1 | 0.231110 | 0.914654 | 0.051796 | 0.812753 | 0 | 0 | 0 | 0 | 0 |
13 | 06cb8d15ea033e68 | freeform | /m/0ch_cf | 1 | 0.302104 | 0.377975 | 0.516017 | 0.612120 | 0 | 0 | 0 | 0 | 0 |
15 | 08615fa70771c83a | freeform | /m/0ch_cf | 1 | 0.319307 | 0.561564 | 0.275304 | 0.898969 | 0 | 0 | 0 | 0 | 0 |
16 | 08ec62b63b2f3225 | freeform | /m/0ch_cf | 1 | 0.000000 | 1.000000 | 0.000000 | 0.999895 | 0 | 1 | 0 | 0 | 0 |
18 | 08fa752062b7e598 | freeform | /m/0ch_cf | 1 | 0.808849 | 0.826172 | 0.090175 | 0.104614 | 0 | 0 | 0 | 0 | 0 |
19 | 09606deeed48e695 | freeform | /m/0ch_cf | 1 | 0.159789 | 0.999610 | 0.000000 | 0.840211 | 0 | 1 | 0 | 0 | 0 |
20 | 0963a386442300cd | freeform | /m/0ch_cf | 1 | 0.301567 | 0.775530 | 0.650656 | 0.938506 | 0 | 0 | 0 | 0 | 0 |
21 | 0ac52440f73b5c80 | freeform | /m/0ch_cf | 1 | 0.000000 | 1.000000 | 0.000000 | 0.376315 | 0 | 0 | 0 | 1 | 0 |
22 | 0ac52440f73b5c80 | freeform | /m/0ch_cf | 1 | 0.000000 | 1.000000 | 0.258019 | 1.000000 | 0 | 0 | 0 | 1 | 0 |
23 | 0bb04a20c23a76e6 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.882205 | 0.000011 | 0.917708 | 0 | 0 | 0 | 0 | 0 |
25 | 0f566536dac11fd0 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.915324 | 0.251594 | 1.000000 | 0 | 1 | 0 | 0 | 0 |
26 | 11434b9cd3d769c4 | freeform | /m/0ch_cf | 1 | 0.020459 | 0.368366 | 0.434534 | 0.581989 | 0 | 0 | 0 | 0 | 0 |
27 | 11434b9cd3d769c4 | freeform | /m/0ch_cf | 1 | 0.477817 | 0.979157 | 0.390262 | 0.820901 | 0 | 0 | 0 | 0 | 0 |
29 | 136dd82ce0b04525 | freeform | /m/0ch_cf | 1 | 0.255566 | 0.516834 | 0.433594 | 0.597222 | 0 | 0 | 0 | 0 | 0 |
31 | 148dd42e9c031846 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.885787 | 0.346393 | 0.845922 | 0 | 0 | 0 | 0 | 0 |
32 | 148dd42e9c031846 | freeform | /m/0ch_cf | 1 | 0.128568 | 0.781992 | 0.074657 | 0.486190 | 0 | 0 | 0 | 0 | 0 |
33 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.082802 | 0.053248 | 0.084898 | 0 | 0 | 0 | 0 | 0 |
34 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.178149 | 0.560778 | 0.650076 | 0 | 1 | 0 | 0 | 0 |
35 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.000000 | 0.215607 | 0.627469 | 0.699812 | 0 | 1 | 0 | 0 | 0 |
36 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.036831 | 0.217310 | 0.003513 | 0.053248 | 0 | 0 | 0 | 0 | 0 |
37 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.055560 | 0.283713 | 0.078116 | 0.141416 | 0 | 0 | 0 | 0 | 0 |
38 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.060668 | 0.128773 | 0.045336 | 0.062291 | 0 | 0 | 0 | 0 | 0 |
39 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.081099 | 0.191770 | 0.419484 | 0.442091 | 0 | 0 | 0 | 0 | 0 |
40 | 14a7fbad2d02e768 | freeform | /m/0ch_cf | 1 | 0.162826 | 0.889850 | 0.046466 | 0.589037 | 0 | 0 | 0 | 0 | 0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
563 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.064060 | 0.177890 | 0.280982 | 0.386822 | 0 | 0 | 0 | 0 | 0 |
564 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.124153 | 1.000000 | 0.482251 | 0.720825 | 0 | 0 | 0 | 0 | 0 |
565 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.240295 | 0.285942 | 0.333034 | 0.393762 | 0 | 0 | 0 | 0 | 0 |
566 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.284209 | 0.373193 | 0.000000 | 0.063229 | 0 | 0 | 0 | 0 | 0 |
567 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.339102 | 0.455243 | 0.156056 | 0.207241 | 0 | 0 | 0 | 0 | 0 |
568 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.359903 | 0.458132 | 0.054554 | 0.132632 | 0 | 0 | 0 | 0 | 0 |
569 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.508980 | 0.559250 | 0.152586 | 0.223724 | 0 | 0 | 0 | 0 | 0 |
570 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.563873 | 0.630322 | 0.309611 | 0.413715 | 0 | 0 | 0 | 0 | 0 |
572 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.586407 | 0.878205 | 0.192493 | 0.362531 | 0 | 0 | 0 | 0 | 0 |
573 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.712950 | 0.904207 | 0.553389 | 0.603707 | 0 | 0 | 0 | 0 | 0 |
574 | f1c38bb279278b85 | freeform | /m/0ch_cf | 1 | 0.895540 | 1.000000 | 0.236737 | 0.355590 | 0 | 0 | 0 | 0 | 0 |
575 | f22941a408c9f580 | freeform | /m/0ch_cf | 1 | 0.222291 | 0.669874 | 0.018039 | 0.978102 | 0 | 0 | 0 | 0 | 0 |
577 | f2e0e82060279d11 | freeform | /m/0ch_cf | 1 | 0.261141 | 0.895427 | 0.304529 | 0.657938 | 0 | 0 | 0 | 0 | 0 |
579 | f337b78b051260cb | freeform | /m/0ch_cf | 1 | 0.084797 | 1.000000 | 0.315440 | 0.629230 | 0 | 0 | 0 | 0 | 0 |
581 | f54a81df46ae0d9a | freeform | /m/0ch_cf | 1 | 0.264617 | 0.901864 | 0.230894 | 0.847500 | 0 | 0 | 0 | 0 | 0 |
582 | f67a9ab184c252ac | freeform | /m/0ch_cf | 1 | 0.000009 | 0.759432 | 0.178268 | 0.860395 | 0 | 0 | 0 | 0 | 0 |
583 | f6c5c3905f779356 | freeform | /m/03fj2 | 1 | 0.000000 | 0.577831 | 0.580308 | 1.000000 | 0 | 1 | 0 | 0 | 0 |
584 | f6c5c3905f779356 | freeform | /m/03fj2 | 1 | 0.000004 | 1.000000 | 0.190764 | 0.966352 | 0 | 0 | 0 | 0 | 0 |
586 | f746cf726ed7cea0 | freeform | /m/0ch_cf | 1 | 0.165366 | 0.783579 | 0.386790 | 0.653166 | 0 | 0 | 0 | 0 | 0 |
587 | f78130616b27cf5a | freeform | /m/0ch_cf | 1 | 0.358714 | 0.768350 | 0.372840 | 0.916915 | 0 | 0 | 0 | 1 | 0 |
588 | f8900ba13b8ebab5 | freeform | /m/0ch_cf | 1 | 0.098542 | 0.460952 | 0.750691 | 0.921059 | 0 | 0 | 0 | 0 | 0 |
589 | f8900ba13b8ebab5 | freeform | /m/0ch_cf | 1 | 0.446844 | 0.858996 | 0.385984 | 0.649718 | 0 | 0 | 0 | 0 | 0 |
590 | f98e2d88547b3d09 | freeform | /m/0ch_cf | 1 | 0.000000 | 1.000000 | 0.000000 | 0.999999 | 0 | 1 | 0 | 0 | 0 |
593 | fa7c84d7249bfcdb | freeform | /m/0ch_cf | 1 | 0.254792 | 0.958199 | 0.047768 | 0.819784 | 0 | 0 | 0 | 0 | 0 |
594 | fb429b100cf87578 | freeform | /m/0ch_cf | 1 | 0.070907 | 0.950056 | 0.057702 | 0.931241 | 0 | 0 | 0 | 0 | 0 |
596 | fcaffd605f3248ec | freeform | /m/0ch_cf | 1 | 0.218711 | 0.821568 | 0.152584 | 0.824926 | 0 | 0 | 0 | 0 | 0 |
597 | fd6a5a8cec9ed55c | freeform | /m/0ch_cf | 1 | 0.135776 | 0.833822 | 0.233267 | 0.829971 | 0 | 0 | 0 | 0 | 0 |
599 | ffd4088550e48c96 | freeform | /m/0ch_cf | 1 | 0.130497 | 0.544846 | 0.303195 | 0.842690 | 0 | 0 | 0 | 0 | 0 |
600 | ffd4088550e48c96 | freeform | /m/0ch_cf | 1 | 0.433238 | 0.969092 | 0.314547 | 0.821080 | 0 | 0 | 0 | 0 | 0 |
601 | ffd4088550e48c96 | freeform | /m/0ch_cf | 1 | 0.781044 | 1.000000 | 0.534008 | 0.807779 | 0 | 1 | 0 | 0 | 0 |
498 rows × 13 columns
df[['ImageID', 'XMin', 'XMax', 'YMin', 'YMax']].to_csv('data/fish_val.csv', index=False)
img_id = df['ImageID'][0]
img = mpimg.imread('/root/data/OID/images/train/'+img_id+'.jpg')
img_h, img_w, _ = img.shape
fig, ax = plt.subplots(figsize=(20, 10))
objs = np.array(df[df['ImageID']==img_id][['LabelName', 'XMin', 'XMax', 'YMin', 'YMax']])
for obj in objs:
ax.text(obj[1]*img_w, obj[3]*img_h+20, class_dict[obj[0]], size=20, color='y')
rect = patches.Rectangle((obj[1]*img_w,obj[3]*img_h),(obj[2]-obj[1])*img_w,(obj[4]-obj[3])*img_h,
linewidth=3,edgecolor='r',facecolor='none')
ax.add_patch(rect)
ax.imshow(img)
<matplotlib.image.AxesImage at 0x7fb3ed7da2e8>
img_id = df['ImageID'][5875]
img = mpimg.imread('/root/data/OID/images/train/'+img_id+'.jpg')
img_h, img_w, _ = img.shape
fig, ax = plt.subplots(figsize=(20, 10))
objs = np.array(df[df['ImageID']==img_id][['LabelName', 'XMin', 'XMax', 'YMin', 'YMax']])
for obj in objs:
ax.text(obj[1]*img_w, obj[3]*img_h+20, class_dict[obj[0]], size=20, color='y')
rect = patches.Rectangle((obj[1]*img_w,obj[3]*img_h),(obj[2]-obj[1])*img_w,(obj[4]-obj[3])*img_h,
linewidth=3,edgecolor='r',facecolor='none')
ax.add_patch(rect)
ax.imshow(img)
<matplotlib.image.AxesImage at 0x7fb3ed6b9978>
img_id = df['ImageID'][2930]
img = mpimg.imread('/root/data/OID/images/train/'+img_id+'.jpg')
img_h, img_w, _ = img.shape
fig, ax = plt.subplots(figsize=(20, 10))
objs = np.array(df[df['ImageID']==img_id][['LabelName', 'XMin', 'XMax', 'YMin', 'YMax']])
for obj in objs:
ax.text(obj[1]*img_w, obj[3]*img_h+20, class_dict[obj[0]], size=20, color='y')
rect = patches.Rectangle((obj[1]*img_w,obj[3]*img_h),(obj[2]-obj[1])*img_w,(obj[4]-obj[3])*img_h,
linewidth=3,edgecolor='r',facecolor='none')
ax.add_patch(rect)
ax.imshow(img)
<matplotlib.image.AxesImage at 0x7fb3ed57b080>