├── README.md └── custom_data_prepration.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Faster-R-CNN-on-Custom-Dataset 2 | Implemented Faster R CNN on Custom Dataset 3 | 4 | 5 | Working of this code is explained in this video : https://youtu.be/dA4pVGQ1isk 6 | -------------------------------------------------------------------------------- /custom_data_prepration.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": { 5 | "image.png": { 6 | "image/png": "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" 7 | } 8 | }, 9 | "cell_type": "markdown", 10 | "metadata": {}, 11 | "source": [ 12 | "![image.png](attachment:image.png)\n", 13 | "\n", 14 | "# Custom Object Detector Using Faster R-CNN\n", 15 | "\n", 16 | "#### using OID https://github.com/EscVM/OIDv4_ToolKit\n", 17 | "#### command to execute : \n", 18 | " python main.py downloader --classes classes.txt --type_csv validation --Dataset Dataset\n", 19 | "\n", 20 | " python main.py downloader --classes classes.txt --type_csv train --Dataset Dataset\n", 21 | " \n", 22 | " python main.py downloader --classes classes.txt --type_csv test --Dataset Dataset\n", 23 | "\n", 24 | "\n" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 1, 30 | "metadata": { 31 | "scrolled": true 32 | }, 33 | "outputs": [ 34 | { 35 | "name": "stderr", 36 | "output_type": "stream", 37 | "text": [ 38 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 39 | " _np_qint8 = np.dtype([(\"qint8\", np.int8, 1)])\n", 40 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 41 | " _np_quint8 = np.dtype([(\"quint8\", np.uint8, 1)])\n", 42 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 43 | " _np_qint16 = np.dtype([(\"qint16\", np.int16, 1)])\n", 44 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 45 | " _np_quint16 = np.dtype([(\"quint16\", np.uint16, 1)])\n", 46 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 47 | " _np_qint32 = np.dtype([(\"qint32\", np.int32, 1)])\n", 48 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 49 | " np_resource = np.dtype([(\"resource\", np.ubyte, 1)])\n", 50 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 51 | " _np_qint8 = np.dtype([(\"qint8\", np.int8, 1)])\n", 52 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 53 | " _np_quint8 = np.dtype([(\"quint8\", np.uint8, 1)])\n", 54 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 55 | " _np_qint16 = np.dtype([(\"qint16\", np.int16, 1)])\n", 56 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 57 | " _np_quint16 = np.dtype([(\"quint16\", np.uint16, 1)])\n", 58 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 59 | " _np_qint32 = np.dtype([(\"qint32\", np.int32, 1)])\n", 60 | "c:\\users\\lenovo\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\tensorboard\\compat\\tensorflow_stub\\dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 61 | " np_resource = np.dtype([(\"resource\", np.ubyte, 1)])\n" 62 | ] 63 | }, 64 | { 65 | "data": { 66 | "text/plain": [ 67 | "'dataset_dir = \\'D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/SAR_faster-rcnn/dataset\\'\\nimg_dir = os.path.join(dataset_dir, \"JPEGImages\")\\nlabel_dir = os.path.join(dataset_dir, \"Annotations\")\\nimg_names = os.listdir(img_dir)\\nimg_names.sort()\\nlabel_names = os.listdir(label_dir)\\nlabel_names.sort()'" 68 | ] 69 | }, 70 | "execution_count": 1, 71 | "metadata": {}, 72 | "output_type": "execute_result" 73 | } 74 | ], 75 | "source": [ 76 | "import os, sys, random\n", 77 | "import xml.etree.ElementTree as ET\n", 78 | "import mxnet as mx\n", 79 | "import cv2\n", 80 | "from matplotlib import pyplot as plt\n", 81 | "import numpy as np\n", 82 | "import os\n", 83 | "import pandas as pd\n", 84 | "import random\n", 85 | "from skimage import io\n", 86 | "from shutil import copyfile\n", 87 | "import sys\n", 88 | "import time\n", 89 | "\n", 90 | "import tensorflow as tf\n", 91 | "from tensorflow.keras.preprocessing.image import load_img, img_to_array\n", 92 | "\n" 93 | ] 94 | }, 95 | { 96 | "attachments": { 97 | "image.png": { 98 | "image/png": "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" 99 | } 100 | }, 101 | "cell_type": "markdown", 102 | "metadata": {}, 103 | "source": [ 104 | "![image.png](attachment:image.png)" 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": 2, 110 | "metadata": {}, 111 | "outputs": [ 112 | { 113 | "name": "stdout", 114 | "output_type": "stream", 115 | "text": [ 116 | "records present for training : (1048575, 13)\n" 117 | ] 118 | }, 119 | { 120 | "data": { 121 | "text/html": [ 122 | "
\n", 123 | "\n", 136 | "\n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | "
ImageIDSourceLabelNameConfidenceXMinXMaxYMinYMaxIsOccludedIsTruncatedIsGroupOfIsDepictionIsInside
0000002b66c9c498exclick/m/01g31710.0125000.1953120.1484380.58750001000
1000002b66c9c498exclick/m/01g31710.0250000.2765630.7140630.94843801000
2000002b66c9c498exclick/m/01g31710.1515620.3109370.1984370.59062510000
3000002b66c9c498exclick/m/01g31710.2562500.4296880.6515630.92500010000
4000002b66c9c498exclick/m/01g31710.2578120.3468750.2359380.38593810000
\n", 238 | "
" 239 | ], 240 | "text/plain": [ 241 | " ImageID Source LabelName Confidence XMin XMax \\\n", 242 | "0 000002b66c9c498e xclick /m/01g317 1 0.012500 0.195312 \n", 243 | "1 000002b66c9c498e xclick /m/01g317 1 0.025000 0.276563 \n", 244 | "2 000002b66c9c498e xclick /m/01g317 1 0.151562 0.310937 \n", 245 | "3 000002b66c9c498e xclick /m/01g317 1 0.256250 0.429688 \n", 246 | "4 000002b66c9c498e xclick /m/01g317 1 0.257812 0.346875 \n", 247 | "\n", 248 | " YMin YMax IsOccluded IsTruncated IsGroupOf IsDepiction \\\n", 249 | "0 0.148438 0.587500 0 1 0 0 \n", 250 | "1 0.714063 0.948438 0 1 0 0 \n", 251 | "2 0.198437 0.590625 1 0 0 0 \n", 252 | "3 0.651563 0.925000 1 0 0 0 \n", 253 | "4 0.235938 0.385938 1 0 0 0 \n", 254 | "\n", 255 | " IsInside \n", 256 | "0 0 \n", 257 | "1 0 \n", 258 | "2 0 \n", 259 | "3 0 \n", 260 | "4 0 " 261 | ] 262 | }, 263 | "execution_count": 2, 264 | "metadata": {}, 265 | "output_type": "execute_result" 266 | } 267 | ], 268 | "source": [ 269 | "# training annotation file\n", 270 | "training_annotation_loc = 'D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/SAR_faster-rcnn/OIDv4_ToolKit/OID/csv_folder/train-annotations-bbox.csv'\n", 271 | "training_annotation_file = pd.read_csv(training_annotation_loc)\n", 272 | "print(\"records present for training : \",training_annotation_file.shape)\n", 273 | "training_annotation_file.head()\n", 274 | "\n" 275 | ] 276 | }, 277 | { 278 | "cell_type": "code", 279 | "execution_count": 3, 280 | "metadata": {}, 281 | "outputs": [ 282 | { 283 | "name": "stdout", 284 | "output_type": "stream", 285 | "text": [ 286 | "(601, 2)\n" 287 | ] 288 | }, 289 | { 290 | "data": { 291 | "text/html": [ 292 | "
\n", 293 | "\n", 306 | "\n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | "
01
0/m/011k07Tortoise
1/m/011q46kgContainer
2/m/012074Magpie
3/m/0120dhSea turtle
4/m/01226zFootball
\n", 342 | "
" 343 | ], 344 | "text/plain": [ 345 | " 0 1\n", 346 | "0 /m/011k07 Tortoise\n", 347 | "1 /m/011q46kg Container\n", 348 | "2 /m/012074 Magpie\n", 349 | "3 /m/0120dh Sea turtle\n", 350 | "4 /m/01226z Football" 351 | ] 352 | }, 353 | "execution_count": 3, 354 | "metadata": {}, 355 | "output_type": "execute_result" 356 | } 357 | ], 358 | "source": [ 359 | "# The class-descriptions-boxable.csv contains the name of all 600 classes with their corresponding ‘LabelName’\n", 360 | "class_descriptions_file='D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/SAR_faster-rcnn/OIDv4_ToolKit/OID/csv_folder/class-descriptions-boxable.csv'\n", 361 | "class_descriptions = pd.read_csv(class_descriptions_file, header=None)\n", 362 | "print(class_descriptions.shape)\n", 363 | "class_descriptions.head()\n" 364 | ] 365 | }, 366 | { 367 | "cell_type": "code", 368 | "execution_count": 4, 369 | "metadata": {}, 370 | "outputs": [], 371 | "source": [ 372 | "# Find the label_name for 'Apple', 'Orange' and 'Light Switches' classes\n", 373 | "apple_pd = class_descriptions[class_descriptions[1]=='Apple']\n", 374 | "orange_pd = class_descriptions[class_descriptions[1]=='Orange']\n", 375 | "light_pd = class_descriptions[class_descriptions[1]=='Light switch']\n", 376 | "apple_pd\n", 377 | "\n", 378 | "\n", 379 | "label_name_apple = apple_pd[0].values[0]\n", 380 | "label_name_orange = orange_pd[0].values[0]\n", 381 | "label_name_light = light_pd[0].values[0]" 382 | ] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "execution_count": 5, 387 | "metadata": {}, 388 | "outputs": [ 389 | { 390 | "data": { 391 | "text/html": [ 392 | "
\n", 393 | "\n", 406 | "\n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | "
01
480/m/0cyhj_Orange
\n", 422 | "
" 423 | ], 424 | "text/plain": [ 425 | " 0 1\n", 426 | "480 /m/0cyhj_ Orange" 427 | ] 428 | }, 429 | "execution_count": 5, 430 | "metadata": {}, 431 | "output_type": "execute_result" 432 | } 433 | ], 434 | "source": [ 435 | "orange_pd" 436 | ] 437 | }, 438 | { 439 | "cell_type": "code", 440 | "execution_count": 6, 441 | "metadata": { 442 | "scrolled": true 443 | }, 444 | "outputs": [ 445 | { 446 | "data": { 447 | "text/html": [ 448 | "
\n", 449 | "\n", 462 | "\n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | "
01
239/m/03jbxjLight switch
\n", 478 | "
" 479 | ], 480 | "text/plain": [ 481 | " 0 1\n", 482 | "239 /m/03jbxj Light switch" 483 | ] 484 | }, 485 | "execution_count": 6, 486 | "metadata": {}, 487 | "output_type": "execute_result" 488 | } 489 | ], 490 | "source": [ 491 | "light_pd" 492 | ] 493 | }, 494 | { 495 | "cell_type": "code", 496 | "execution_count": 7, 497 | "metadata": {}, 498 | "outputs": [ 499 | { 500 | "data": { 501 | "text/html": [ 502 | "
\n", 503 | "\n", 516 | "\n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | "
ImageIDSourceLabelNameConfidenceXMinXMaxYMinYMaxIsOccludedIsTruncatedIsGroupOfIsDepictionIsInside
17305000d9c59687b509bxclick/m/014j1m10.0000000.3781250.0000000.37916711100
17306000d9c59687b509bxclick/m/014j1m10.2800000.8725000.3791670.86500010100
17307000d9c59687b509bxclick/m/014j1m10.3468750.3856250.4833330.53583310000
276620018c49a9ed3c640xclick/m/014j1m10.1443750.5200000.0000000.22953911100
276630018c49a9ed3c640xclick/m/014j1m10.1737500.8312500.4007530.92944510100
..........................................
10277370eeeec32799af3daxclick/m/014j1m10.0000000.7056250.2058330.99916701000
10277380eeeec32799af3daxclick/m/014j1m10.6487500.9993750.1325000.98000011000
10287350ef341dfb802eff1activemil/m/014j1m10.3018750.3943750.6941670.787500-1-1-1-1-1
10287360ef341dfb802eff1xclick/m/014j1m10.0000000.9993750.2091670.81000011100
10287370ef341dfb802eff1xclick/m/014j1m10.1906250.2712500.6758330.77833310000
\n", 714 | "

627 rows × 13 columns

\n", 715 | "
" 716 | ], 717 | "text/plain": [ 718 | " ImageID Source LabelName Confidence XMin \\\n", 719 | "17305 000d9c59687b509b xclick /m/014j1m 1 0.000000 \n", 720 | "17306 000d9c59687b509b xclick /m/014j1m 1 0.280000 \n", 721 | "17307 000d9c59687b509b xclick /m/014j1m 1 0.346875 \n", 722 | "27662 0018c49a9ed3c640 xclick /m/014j1m 1 0.144375 \n", 723 | "27663 0018c49a9ed3c640 xclick /m/014j1m 1 0.173750 \n", 724 | "... ... ... ... ... ... \n", 725 | "1027737 0eeeec32799af3da xclick /m/014j1m 1 0.000000 \n", 726 | "1027738 0eeeec32799af3da xclick /m/014j1m 1 0.648750 \n", 727 | "1028735 0ef341dfb802eff1 activemil /m/014j1m 1 0.301875 \n", 728 | "1028736 0ef341dfb802eff1 xclick /m/014j1m 1 0.000000 \n", 729 | "1028737 0ef341dfb802eff1 xclick /m/014j1m 1 0.190625 \n", 730 | "\n", 731 | " XMax YMin YMax IsOccluded IsTruncated IsGroupOf \\\n", 732 | "17305 0.378125 0.000000 0.379167 1 1 1 \n", 733 | "17306 0.872500 0.379167 0.865000 1 0 1 \n", 734 | "17307 0.385625 0.483333 0.535833 1 0 0 \n", 735 | "27662 0.520000 0.000000 0.229539 1 1 1 \n", 736 | "27663 0.831250 0.400753 0.929445 1 0 1 \n", 737 | "... ... ... ... ... ... ... \n", 738 | "1027737 0.705625 0.205833 0.999167 0 1 0 \n", 739 | "1027738 0.999375 0.132500 0.980000 1 1 0 \n", 740 | "1028735 0.394375 0.694167 0.787500 -1 -1 -1 \n", 741 | "1028736 0.999375 0.209167 0.810000 1 1 1 \n", 742 | "1028737 0.271250 0.675833 0.778333 1 0 0 \n", 743 | "\n", 744 | " IsDepiction IsInside \n", 745 | "17305 0 0 \n", 746 | "17306 0 0 \n", 747 | "17307 0 0 \n", 748 | "27662 0 0 \n", 749 | "27663 0 0 \n", 750 | "... ... ... \n", 751 | "1027737 0 0 \n", 752 | "1027738 0 0 \n", 753 | "1028735 -1 -1 \n", 754 | "1028736 0 0 \n", 755 | "1028737 0 0 \n", 756 | "\n", 757 | "[627 rows x 13 columns]" 758 | ] 759 | }, 760 | "execution_count": 7, 761 | "metadata": {}, 762 | "output_type": "execute_result" 763 | } 764 | ], 765 | "source": [ 766 | "apple_bbox = training_annotation_file[training_annotation_file['LabelName']==label_name_apple]\n", 767 | "orange_bbox = training_annotation_file[training_annotation_file['LabelName']==label_name_orange]\n", 768 | "light_bbox = training_annotation_file[training_annotation_file['LabelName']==label_name_light]\n", 769 | "apple_bbox" 770 | ] 771 | }, 772 | { 773 | "cell_type": "code", 774 | "execution_count": 8, 775 | "metadata": {}, 776 | "outputs": [ 777 | { 778 | "name": "stdout", 779 | "output_type": "stream", 780 | "text": [ 781 | "There are 627 apples in the dataset\n", 782 | "There are 920 oranges in the dataset\n", 783 | "There are 20 lights in the dataset\n" 784 | ] 785 | } 786 | ], 787 | "source": [ 788 | "print('There are %d apples in the dataset' %(len(apple_bbox)))\n", 789 | "print('There are %d oranges in the dataset' %(len(orange_bbox)))\n", 790 | "print('There are %d lights in the dataset' %(len(light_bbox)))\n" 791 | ] 792 | }, 793 | { 794 | "cell_type": "code", 795 | "execution_count": 9, 796 | "metadata": {}, 797 | "outputs": [ 798 | { 799 | "data": { 800 | "text/plain": [ 801 | "17305 000d9c59687b509b\n", 802 | "17306 000d9c59687b509b\n", 803 | "17307 000d9c59687b509b\n", 804 | "27662 0018c49a9ed3c640\n", 805 | "27663 0018c49a9ed3c640\n", 806 | " ... \n", 807 | "1027737 0eeeec32799af3da\n", 808 | "1027738 0eeeec32799af3da\n", 809 | "1028735 0ef341dfb802eff1\n", 810 | "1028736 0ef341dfb802eff1\n", 811 | "1028737 0ef341dfb802eff1\n", 812 | "Name: ImageID, Length: 627, dtype: object" 813 | ] 814 | }, 815 | "execution_count": 9, 816 | "metadata": {}, 817 | "output_type": "execute_result" 818 | } 819 | ], 820 | "source": [ 821 | "apple_img_id = apple_bbox['ImageID']\n", 822 | "orange_img_id = orange_bbox['ImageID']\n", 823 | "light_img_id = light_bbox['ImageID']\n", 824 | "apple_img_id.count() # 627 different ids are present\n", 825 | "apple_img_id # these are the details of 627 different ids present in apple_img_id\n" 826 | ] 827 | }, 828 | { 829 | "attachments": { 830 | "image.png": { 831 | "image/png": "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" 832 | } 833 | }, 834 | "cell_type": "markdown", 835 | "metadata": {}, 836 | "source": [ 837 | "![image.png](attachment:image.png)" 838 | ] 839 | }, 840 | { 841 | "cell_type": "code", 842 | "execution_count": 10, 843 | "metadata": {}, 844 | "outputs": [ 845 | { 846 | "data": { 847 | "text/html": [ 848 | "
\n", 849 | "\n", 862 | "\n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | "
ImageIDSourceLabelNameConfidenceXMinXMaxYMinYMaxIsOccludedIsTruncatedIsGroupOfIsDepictionIsInside
17305000d9c59687b509bxclick/m/014j1m10.0000000.3781250.0000000.37916711100
17306000d9c59687b509bxclick/m/014j1m10.2800000.8725000.3791670.86500010100
17307000d9c59687b509bxclick/m/014j1m10.3468750.3856250.4833330.53583310000
276620018c49a9ed3c640xclick/m/014j1m10.1443750.5200000.0000000.22953911100
276630018c49a9ed3c640xclick/m/014j1m10.1737500.8312500.4007530.92944510100
..........................................
8130050b6612de14c7f1a7xclick/m/03jbxj10.7180990.9407550.5611980.71158900000
8805340c849a25ca3b6314xclick/m/03jbxj10.1406250.8762500.1741670.75666710000
9303870d54617f41cfd271xclick/m/03jbxj10.1693750.7675000.0216670.93666700000
9895270e4e3d5f2abb7fe4xclick/m/03jbxj10.4775000.6937500.1811110.82444400000
9895280e4e3d5f2abb7fe4xclick/m/03jbxj10.7093750.9468750.1966670.81777800000
\n", 1060 | "

1567 rows × 13 columns

\n", 1061 | "
" 1062 | ], 1063 | "text/plain": [ 1064 | " ImageID Source LabelName Confidence XMin XMax \\\n", 1065 | "17305 000d9c59687b509b xclick /m/014j1m 1 0.000000 0.378125 \n", 1066 | "17306 000d9c59687b509b xclick /m/014j1m 1 0.280000 0.872500 \n", 1067 | "17307 000d9c59687b509b xclick /m/014j1m 1 0.346875 0.385625 \n", 1068 | "27662 0018c49a9ed3c640 xclick /m/014j1m 1 0.144375 0.520000 \n", 1069 | "27663 0018c49a9ed3c640 xclick /m/014j1m 1 0.173750 0.831250 \n", 1070 | "... ... ... ... ... ... ... \n", 1071 | "813005 0b6612de14c7f1a7 xclick /m/03jbxj 1 0.718099 0.940755 \n", 1072 | "880534 0c849a25ca3b6314 xclick /m/03jbxj 1 0.140625 0.876250 \n", 1073 | "930387 0d54617f41cfd271 xclick /m/03jbxj 1 0.169375 0.767500 \n", 1074 | "989527 0e4e3d5f2abb7fe4 xclick /m/03jbxj 1 0.477500 0.693750 \n", 1075 | "989528 0e4e3d5f2abb7fe4 xclick /m/03jbxj 1 0.709375 0.946875 \n", 1076 | "\n", 1077 | " YMin YMax IsOccluded IsTruncated IsGroupOf IsDepiction \\\n", 1078 | "17305 0.000000 0.379167 1 1 1 0 \n", 1079 | "17306 0.379167 0.865000 1 0 1 0 \n", 1080 | "17307 0.483333 0.535833 1 0 0 0 \n", 1081 | "27662 0.000000 0.229539 1 1 1 0 \n", 1082 | "27663 0.400753 0.929445 1 0 1 0 \n", 1083 | "... ... ... ... ... ... ... \n", 1084 | "813005 0.561198 0.711589 0 0 0 0 \n", 1085 | "880534 0.174167 0.756667 1 0 0 0 \n", 1086 | "930387 0.021667 0.936667 0 0 0 0 \n", 1087 | "989527 0.181111 0.824444 0 0 0 0 \n", 1088 | "989528 0.196667 0.817778 0 0 0 0 \n", 1089 | "\n", 1090 | " IsInside \n", 1091 | "17305 0 \n", 1092 | "17306 0 \n", 1093 | "17307 0 \n", 1094 | "27662 0 \n", 1095 | "27663 0 \n", 1096 | "... ... \n", 1097 | "813005 0 \n", 1098 | "880534 0 \n", 1099 | "930387 0 \n", 1100 | "989527 0 \n", 1101 | "989528 0 \n", 1102 | "\n", 1103 | "[1567 rows x 13 columns]" 1104 | ] 1105 | }, 1106 | "execution_count": 10, 1107 | "metadata": {}, 1108 | "output_type": "execute_result" 1109 | } 1110 | ], 1111 | "source": [ 1112 | "concated_df=pd.concat([apple_bbox, orange_bbox, light_bbox], axis=0)\n", 1113 | "concated_df" 1114 | ] 1115 | }, 1116 | { 1117 | "cell_type": "code", 1118 | "execution_count": 11, 1119 | "metadata": {}, 1120 | "outputs": [ 1121 | { 1122 | "data": { 1123 | "text/plain": [ 1124 | "17305 /m/014j1m\n", 1125 | "17306 /m/014j1m\n", 1126 | "17307 /m/014j1m\n", 1127 | "27662 /m/014j1m\n", 1128 | "27663 /m/014j1m\n", 1129 | " ... \n", 1130 | "813005 /m/03jbxj\n", 1131 | "880534 /m/03jbxj\n", 1132 | "930387 /m/03jbxj\n", 1133 | "989527 /m/03jbxj\n", 1134 | "989528 /m/03jbxj\n", 1135 | "Name: ClassName, Length: 1567, dtype: object" 1136 | ] 1137 | }, 1138 | "execution_count": 11, 1139 | "metadata": {}, 1140 | "output_type": "execute_result" 1141 | } 1142 | ], 1143 | "source": [ 1144 | "concated_df['ClassName']=concated_df['LabelName']\n", 1145 | "concated_df['ClassName']" 1146 | ] 1147 | }, 1148 | { 1149 | "attachments": { 1150 | "image.png": { 1151 | "image/png": "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" 1152 | } 1153 | }, 1154 | "cell_type": "markdown", 1155 | "metadata": {}, 1156 | "source": [ 1157 | "![image.png](attachment:image.png)" 1158 | ] 1159 | }, 1160 | { 1161 | "cell_type": "code", 1162 | "execution_count": 12, 1163 | "metadata": {}, 1164 | "outputs": [ 1165 | { 1166 | "data": { 1167 | "text/html": [ 1168 | "
\n", 1169 | "\n", 1182 | "\n", 1183 | " \n", 1184 | " \n", 1185 | " \n", 1186 | " \n", 1187 | " \n", 1188 | " \n", 1189 | " \n", 1190 | " \n", 1191 | " \n", 1192 | " \n", 1193 | " \n", 1194 | " \n", 1195 | " \n", 1196 | " \n", 1197 | " \n", 1198 | " \n", 1199 | " \n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | " \n", 1287 | " \n", 1288 | " \n", 1289 | " \n", 1290 | " \n", 1291 | " \n", 1292 | " \n", 1293 | " \n", 1294 | " \n", 1295 | " \n", 1296 | " \n", 1297 | " \n", 1298 | " \n", 1299 | " \n", 1300 | " \n", 1301 | " \n", 1302 | " \n", 1303 | " \n", 1304 | " \n", 1305 | " \n", 1306 | " \n", 1307 | " \n", 1308 | " \n", 1309 | " \n", 1310 | " \n", 1311 | " \n", 1312 | " \n", 1313 | " \n", 1314 | " \n", 1315 | " \n", 1316 | " \n", 1317 | " \n", 1318 | " \n", 1319 | " \n", 1320 | " \n", 1321 | " \n", 1322 | " \n", 1323 | " \n", 1324 | " \n", 1325 | " \n", 1326 | " \n", 1327 | " \n", 1328 | " \n", 1329 | " \n", 1330 | " \n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | " \n", 1351 | " \n", 1352 | " \n", 1353 | " \n", 1354 | " \n", 1355 | " \n", 1356 | " \n", 1357 | " \n", 1358 | " \n", 1359 | " \n", 1360 | " \n", 1361 | " \n", 1362 | " \n", 1363 | " \n", 1364 | " \n", 1365 | " \n", 1366 | " \n", 1367 | " \n", 1368 | " \n", 1369 | " \n", 1370 | " \n", 1371 | " \n", 1372 | " \n", 1373 | " \n", 1374 | " \n", 1375 | " \n", 1376 | " \n", 1377 | " \n", 1378 | " \n", 1379 | " \n", 1380 | " \n", 1381 | " \n", 1382 | " \n", 1383 | " \n", 1384 | " \n", 1385 | " \n", 1386 | " \n", 1387 | " \n", 1388 | " \n", 1389 | " \n", 1390 | " \n", 1391 | "
ImageIDSourceLabelNameConfidenceXMinXMaxYMinYMaxIsOccludedIsTruncatedIsGroupOfIsDepictionIsInsideClassName
17305000d9c59687b509bxclick/m/014j1m10.0000000.3781250.0000000.37916711100Apple
17306000d9c59687b509bxclick/m/014j1m10.2800000.8725000.3791670.86500010100Apple
17307000d9c59687b509bxclick/m/014j1m10.3468750.3856250.4833330.53583310000Apple
276620018c49a9ed3c640xclick/m/014j1m10.1443750.5200000.0000000.22953911100Apple
276630018c49a9ed3c640xclick/m/014j1m10.1737500.8312500.4007530.92944510100Apple
.............................................
8130050b6612de14c7f1a7xclick/m/03jbxj10.7180990.9407550.5611980.71158900000Light Switch
8805340c849a25ca3b6314xclick/m/03jbxj10.1406250.8762500.1741670.75666710000Light Switch
9303870d54617f41cfd271xclick/m/03jbxj10.1693750.7675000.0216670.93666700000Light Switch
9895270e4e3d5f2abb7fe4xclick/m/03jbxj10.4775000.6937500.1811110.82444400000Light Switch
9895280e4e3d5f2abb7fe4xclick/m/03jbxj10.7093750.9468750.1966670.81777800000Light Switch
\n", 1392 | "

1567 rows × 14 columns

\n", 1393 | "
" 1394 | ], 1395 | "text/plain": [ 1396 | " ImageID Source LabelName Confidence XMin XMax \\\n", 1397 | "17305 000d9c59687b509b xclick /m/014j1m 1 0.000000 0.378125 \n", 1398 | "17306 000d9c59687b509b xclick /m/014j1m 1 0.280000 0.872500 \n", 1399 | "17307 000d9c59687b509b xclick /m/014j1m 1 0.346875 0.385625 \n", 1400 | "27662 0018c49a9ed3c640 xclick /m/014j1m 1 0.144375 0.520000 \n", 1401 | "27663 0018c49a9ed3c640 xclick /m/014j1m 1 0.173750 0.831250 \n", 1402 | "... ... ... ... ... ... ... \n", 1403 | "813005 0b6612de14c7f1a7 xclick /m/03jbxj 1 0.718099 0.940755 \n", 1404 | "880534 0c849a25ca3b6314 xclick /m/03jbxj 1 0.140625 0.876250 \n", 1405 | "930387 0d54617f41cfd271 xclick /m/03jbxj 1 0.169375 0.767500 \n", 1406 | "989527 0e4e3d5f2abb7fe4 xclick /m/03jbxj 1 0.477500 0.693750 \n", 1407 | "989528 0e4e3d5f2abb7fe4 xclick /m/03jbxj 1 0.709375 0.946875 \n", 1408 | "\n", 1409 | " YMin YMax IsOccluded IsTruncated IsGroupOf IsDepiction \\\n", 1410 | "17305 0.000000 0.379167 1 1 1 0 \n", 1411 | "17306 0.379167 0.865000 1 0 1 0 \n", 1412 | "17307 0.483333 0.535833 1 0 0 0 \n", 1413 | "27662 0.000000 0.229539 1 1 1 0 \n", 1414 | "27663 0.400753 0.929445 1 0 1 0 \n", 1415 | "... ... ... ... ... ... ... \n", 1416 | "813005 0.561198 0.711589 0 0 0 0 \n", 1417 | "880534 0.174167 0.756667 1 0 0 0 \n", 1418 | "930387 0.021667 0.936667 0 0 0 0 \n", 1419 | "989527 0.181111 0.824444 0 0 0 0 \n", 1420 | "989528 0.196667 0.817778 0 0 0 0 \n", 1421 | "\n", 1422 | " IsInside ClassName \n", 1423 | "17305 0 Apple \n", 1424 | "17306 0 Apple \n", 1425 | "17307 0 Apple \n", 1426 | "27662 0 Apple \n", 1427 | "27663 0 Apple \n", 1428 | "... ... ... \n", 1429 | "813005 0 Light Switch \n", 1430 | "880534 0 Light Switch \n", 1431 | "930387 0 Light Switch \n", 1432 | "989527 0 Light Switch \n", 1433 | "989528 0 Light Switch \n", 1434 | "\n", 1435 | "[1567 rows x 14 columns]" 1436 | ] 1437 | }, 1438 | "execution_count": 12, 1439 | "metadata": {}, 1440 | "output_type": "execute_result" 1441 | } 1442 | ], 1443 | "source": [ 1444 | "#classes = ['apple', 'orange', 'Light switch']\n", 1445 | "#labels = ['/m/014j1m', '/m/0cyhj_', '/m/03jbxj']\n", 1446 | "\n", 1447 | "\n", 1448 | "mapping = {\n", 1449 | " '/m/014j1m': 'Apple',\n", 1450 | " '/m/0cyhj_': 'Orange',\n", 1451 | " '/m/03jbxj': 'Light Switch',\n", 1452 | "}\n", 1453 | "\n", 1454 | "concated_df['ClassName'] = [mapping[word] for word in concated_df['ClassName']]\n", 1455 | "concated_df['ClassName']\n", 1456 | "\n", 1457 | "concated_df" 1458 | ] 1459 | }, 1460 | { 1461 | "cell_type": "code", 1462 | "execution_count": 13, 1463 | "metadata": {}, 1464 | "outputs": [ 1465 | { 1466 | "data": { 1467 | "text/html": [ 1468 | "
\n", 1469 | "\n", 1482 | "\n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | " \n", 1523 | " \n", 1524 | " \n", 1525 | " \n", 1526 | " \n", 1527 | " \n", 1528 | " \n", 1529 | " \n", 1530 | " \n", 1531 | " \n", 1532 | " \n", 1533 | " \n", 1534 | " \n", 1535 | " \n", 1536 | " \n", 1537 | " \n", 1538 | " \n", 1539 | " \n", 1540 | " \n", 1541 | " \n", 1542 | " \n", 1543 | " \n", 1544 | " \n", 1545 | " \n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | " \n", 1581 | " \n", 1582 | " \n", 1583 | " \n", 1584 | " \n", 1585 | " \n", 1586 | " \n", 1587 | " \n", 1588 | " \n", 1589 | " \n", 1590 | " \n", 1591 | " \n", 1592 | " \n", 1593 | " \n", 1594 | " \n", 1595 | "
ImageIDXMinXMaxYMinYMaxClassName
17305000d9c59687b509b0.0000000.3781250.0000000.379167Apple
17306000d9c59687b509b0.2800000.8725000.3791670.865000Apple
17307000d9c59687b509b0.3468750.3856250.4833330.535833Apple
276620018c49a9ed3c6400.1443750.5200000.0000000.229539Apple
276630018c49a9ed3c6400.1737500.8312500.4007530.929445Apple
.....................
8130050b6612de14c7f1a70.7180990.9407550.5611980.711589Light Switch
8805340c849a25ca3b63140.1406250.8762500.1741670.756667Light Switch
9303870d54617f41cfd2710.1693750.7675000.0216670.936667Light Switch
9895270e4e3d5f2abb7fe40.4775000.6937500.1811110.824444Light Switch
9895280e4e3d5f2abb7fe40.7093750.9468750.1966670.817778Light Switch
\n", 1596 | "

1567 rows × 6 columns

\n", 1597 | "
" 1598 | ], 1599 | "text/plain": [ 1600 | " ImageID XMin XMax YMin YMax ClassName\n", 1601 | "17305 000d9c59687b509b 0.000000 0.378125 0.000000 0.379167 Apple\n", 1602 | "17306 000d9c59687b509b 0.280000 0.872500 0.379167 0.865000 Apple\n", 1603 | "17307 000d9c59687b509b 0.346875 0.385625 0.483333 0.535833 Apple\n", 1604 | "27662 0018c49a9ed3c640 0.144375 0.520000 0.000000 0.229539 Apple\n", 1605 | "27663 0018c49a9ed3c640 0.173750 0.831250 0.400753 0.929445 Apple\n", 1606 | "... ... ... ... ... ... ...\n", 1607 | "813005 0b6612de14c7f1a7 0.718099 0.940755 0.561198 0.711589 Light Switch\n", 1608 | "880534 0c849a25ca3b6314 0.140625 0.876250 0.174167 0.756667 Light Switch\n", 1609 | "930387 0d54617f41cfd271 0.169375 0.767500 0.021667 0.936667 Light Switch\n", 1610 | "989527 0e4e3d5f2abb7fe4 0.477500 0.693750 0.181111 0.824444 Light Switch\n", 1611 | "989528 0e4e3d5f2abb7fe4 0.709375 0.946875 0.196667 0.817778 Light Switch\n", 1612 | "\n", 1613 | "[1567 rows x 6 columns]" 1614 | ] 1615 | }, 1616 | "execution_count": 13, 1617 | "metadata": {}, 1618 | "output_type": "execute_result" 1619 | } 1620 | ], 1621 | "source": [ 1622 | "# Data format for faster R-Cnn : ['FileName', 'XMin', 'XMax', 'YMin', 'YMax', 'ClassName'])\n", 1623 | "train_df= concated_df.loc[:,['ImageID','XMin','XMax','YMin','YMax','ClassName']]\n", 1624 | "train_df" 1625 | ] 1626 | }, 1627 | { 1628 | "attachments": { 1629 | "image.png": { 1630 | "image/png": "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" 1631 | } 1632 | }, 1633 | "cell_type": "markdown", 1634 | "metadata": {}, 1635 | "source": [ 1636 | "![image.png](attachment:image.png)" 1637 | ] 1638 | }, 1639 | { 1640 | "cell_type": "code", 1641 | "execution_count": 14, 1642 | "metadata": {}, 1643 | "outputs": [ 1644 | { 1645 | "data": { 1646 | "text/html": [ 1647 | "
\n", 1648 | "\n", 1661 | "\n", 1662 | " \n", 1663 | " \n", 1664 | " \n", 1665 | " \n", 1666 | " \n", 1667 | " \n", 1668 | " \n", 1669 | " \n", 1670 | " \n", 1671 | " \n", 1672 | " \n", 1673 | " \n", 1674 | " \n", 1675 | " \n", 1676 | " \n", 1677 | " \n", 1678 | " \n", 1679 | " \n", 1680 | " \n", 1681 | " \n", 1682 | " \n", 1683 | " \n", 1684 | " \n", 1685 | " \n", 1686 | " \n", 1687 | " \n", 1688 | " \n", 1689 | " \n", 1690 | " \n", 1691 | " \n", 1692 | " \n", 1693 | " \n", 1694 | " \n", 1695 | " \n", 1696 | " \n", 1697 | " \n", 1698 | " \n", 1699 | " \n", 1700 | " \n", 1701 | " \n", 1702 | " \n", 1703 | " \n", 1704 | " \n", 1705 | " \n", 1706 | " \n", 1707 | " \n", 1708 | " \n", 1709 | " \n", 1710 | " \n", 1711 | " \n", 1712 | " \n", 1713 | " \n", 1714 | " \n", 1715 | " \n", 1716 | " \n", 1717 | " \n", 1718 | " \n", 1719 | " \n", 1720 | " \n", 1721 | " \n", 1722 | " \n", 1723 | " \n", 1724 | " \n", 1725 | " \n", 1726 | " \n", 1727 | " \n", 1728 | " \n", 1729 | " \n", 1730 | " \n", 1731 | " \n", 1732 | " \n", 1733 | " \n", 1734 | " \n", 1735 | " \n", 1736 | " \n", 1737 | " \n", 1738 | " \n", 1739 | " \n", 1740 | " \n", 1741 | " \n", 1742 | " \n", 1743 | " \n", 1744 | " \n", 1745 | " \n", 1746 | " \n", 1747 | " \n", 1748 | " \n", 1749 | " \n", 1750 | " \n", 1751 | " \n", 1752 | " \n", 1753 | " \n", 1754 | " \n", 1755 | " \n", 1756 | " \n", 1757 | " \n", 1758 | " \n", 1759 | " \n", 1760 | " \n", 1761 | " \n", 1762 | " \n", 1763 | " \n", 1764 | " \n", 1765 | " \n", 1766 | " \n", 1767 | " \n", 1768 | " \n", 1769 | " \n", 1770 | " \n", 1771 | " \n", 1772 | " \n", 1773 | " \n", 1774 | "
ImageIDXMinXMaxYMinYMaxClassName
17305000d9c59687b509b.jpg0.0000000.3781250.0000000.379167Apple
17306000d9c59687b509b.jpg0.2800000.8725000.3791670.865000Apple
17307000d9c59687b509b.jpg0.3468750.3856250.4833330.535833Apple
276620018c49a9ed3c640.jpg0.1443750.5200000.0000000.229539Apple
276630018c49a9ed3c640.jpg0.1737500.8312500.4007530.929445Apple
.....................
8130050b6612de14c7f1a7.jpg0.7180990.9407550.5611980.711589Light Switch
8805340c849a25ca3b6314.jpg0.1406250.8762500.1741670.756667Light Switch
9303870d54617f41cfd271.jpg0.1693750.7675000.0216670.936667Light Switch
9895270e4e3d5f2abb7fe4.jpg0.4775000.6937500.1811110.824444Light Switch
9895280e4e3d5f2abb7fe4.jpg0.7093750.9468750.1966670.817778Light Switch
\n", 1775 | "

1567 rows × 6 columns

\n", 1776 | "
" 1777 | ], 1778 | "text/plain": [ 1779 | " ImageID XMin XMax YMin YMax \\\n", 1780 | "17305 000d9c59687b509b.jpg 0.000000 0.378125 0.000000 0.379167 \n", 1781 | "17306 000d9c59687b509b.jpg 0.280000 0.872500 0.379167 0.865000 \n", 1782 | "17307 000d9c59687b509b.jpg 0.346875 0.385625 0.483333 0.535833 \n", 1783 | "27662 0018c49a9ed3c640.jpg 0.144375 0.520000 0.000000 0.229539 \n", 1784 | "27663 0018c49a9ed3c640.jpg 0.173750 0.831250 0.400753 0.929445 \n", 1785 | "... ... ... ... ... ... \n", 1786 | "813005 0b6612de14c7f1a7.jpg 0.718099 0.940755 0.561198 0.711589 \n", 1787 | "880534 0c849a25ca3b6314.jpg 0.140625 0.876250 0.174167 0.756667 \n", 1788 | "930387 0d54617f41cfd271.jpg 0.169375 0.767500 0.021667 0.936667 \n", 1789 | "989527 0e4e3d5f2abb7fe4.jpg 0.477500 0.693750 0.181111 0.824444 \n", 1790 | "989528 0e4e3d5f2abb7fe4.jpg 0.709375 0.946875 0.196667 0.817778 \n", 1791 | "\n", 1792 | " ClassName \n", 1793 | "17305 Apple \n", 1794 | "17306 Apple \n", 1795 | "17307 Apple \n", 1796 | "27662 Apple \n", 1797 | "27663 Apple \n", 1798 | "... ... \n", 1799 | "813005 Light Switch \n", 1800 | "880534 Light Switch \n", 1801 | "930387 Light Switch \n", 1802 | "989527 Light Switch \n", 1803 | "989528 Light Switch \n", 1804 | "\n", 1805 | "[1567 rows x 6 columns]" 1806 | ] 1807 | }, 1808 | "execution_count": 14, 1809 | "metadata": {}, 1810 | "output_type": "execute_result" 1811 | } 1812 | ], 1813 | "source": [ 1814 | "train_df['ImageID']=train_df['ImageID']+'.jpg'\n", 1815 | "train_df" 1816 | ] 1817 | }, 1818 | { 1819 | "cell_type": "code", 1820 | "execution_count": 15, 1821 | "metadata": { 1822 | "scrolled": true 1823 | }, 1824 | "outputs": [], 1825 | "source": [ 1826 | "train_df.shape\n", 1827 | "train_df.to_csv('train.csv')" 1828 | ] 1829 | }, 1830 | { 1831 | "cell_type": "code", 1832 | "execution_count": 16, 1833 | "metadata": {}, 1834 | "outputs": [ 1835 | { 1836 | "data": { 1837 | "text/plain": [ 1838 | "Orange 920\n", 1839 | "Apple 627\n", 1840 | "Light Switch 20\n", 1841 | "Name: ClassName, dtype: int64" 1842 | ] 1843 | }, 1844 | "execution_count": 16, 1845 | "metadata": {}, 1846 | "output_type": "execute_result" 1847 | } 1848 | ], 1849 | "source": [ 1850 | "train_df['ClassName'].value_counts()" 1851 | ] 1852 | }, 1853 | { 1854 | "cell_type": "code", 1855 | "execution_count": 17, 1856 | "metadata": {}, 1857 | "outputs": [], 1858 | "source": [ 1859 | "# Writing train.csv to annotation.txt\n", 1860 | "\n", 1861 | "train_df = pd.read_csv('train.csv')\n", 1862 | "\n", 1863 | "# for training\n", 1864 | "with open(\"annotation.txt\", \"w+\") as f:\n", 1865 | " for idx, row in train_df.iterrows():\n", 1866 | " img = cv2.imread('train/' + row['ImageID'])\n", 1867 | " #print(img) #none \n", 1868 | " height, width = img.shape[:2]\n", 1869 | " x1 = int(row['XMin'] * width)\n", 1870 | " x2 = int(row['XMax'] * width)\n", 1871 | " y1 = int(row['YMin'] * height)\n", 1872 | " y2 = int(row['YMax'] * height)\n", 1873 | " \n", 1874 | " train_file_path = 'D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/SAR_faster-rcnn/train'\n", 1875 | " fileName = os.path.join(train_file_path, row['ImageID'])\n", 1876 | " className = row['ClassName']\n", 1877 | " f.write(fileName + ',' + str(x1) + ',' + str(y1) + ',' + str(x2) + ',' + str(y2) + ',' + className + '\\n')" 1878 | ] 1879 | }, 1880 | { 1881 | "cell_type": "code", 1882 | "execution_count": 18, 1883 | "metadata": {}, 1884 | "outputs": [ 1885 | { 1886 | "data": { 1887 | "text/plain": [ 1888 | "'\\ntest_df = pd.read_csv(\\'test.csv\\')\\n\\n# for test\\nwith open(\"test_annotation.txt\", \"w+\") as f:\\n for idx, row in test_df.iterrows():\\n sys.stdout.write(str(idx) + \\'\\r\\')\\n sys.stdout.flush()\\n img = cv2.imread(\\'test/\\' + row[\\'ImgID\\']+\\'.jpg\\')\\n height, width = img.shape[:2]\\n x1 = int(row[\\'XMin\\'] * width)\\n x2 = int(row[\\'XMax\\'] * width)\\n y1 = int(row[\\'YMin\\'] * height)\\n y2 = int(row[\\'YMax\\'] * height)\\n \\n test_file_path = \\'D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/Faster_r-cnn_demo_youtube/test\\'\\n fileName = os.path.join(test_file_path, row[\\'FileName\\'])\\n className = row[\\'ClassName\\']\\n f.write(fileName + \\',\\' + str(x1) + \\',\\' + str(y1) + \\',\\' + str(x2) + \\',\\' + str(y2) + \\',\\' + className + \\'\\n\\')\\n '" 1889 | ] 1890 | }, 1891 | "execution_count": 18, 1892 | "metadata": {}, 1893 | "output_type": "execute_result" 1894 | } 1895 | ], 1896 | "source": [ 1897 | "# In the same way write annotation for test.csv\n", 1898 | "\"\"\"\n", 1899 | "test_df = pd.read_csv('test.csv')\n", 1900 | "\n", 1901 | "# for test\n", 1902 | "with open(\"test_annotation.txt\", \"w+\") as f:\n", 1903 | " for idx, row in test_df.iterrows():\n", 1904 | " sys.stdout.write(str(idx) + '\\r')\n", 1905 | " sys.stdout.flush()\n", 1906 | " img = cv2.imread('test/' + row['ImgID'])\n", 1907 | " height, width = img.shape[:2]\n", 1908 | " x1 = int(row['XMin'] * width)\n", 1909 | " x2 = int(row['XMax'] * width)\n", 1910 | " y1 = int(row['YMin'] * height)\n", 1911 | " y2 = int(row['YMax'] * height)\n", 1912 | " \n", 1913 | " test_file_path = 'D:/5-deep_learning_with_tensorflow/module 7 cnn/7-faster_r-cnn/Faster_r-cnn_demo_youtube/test'\n", 1914 | " fileName = os.path.join(test_file_path, row['FileName'])\n", 1915 | " className = row['ClassName']\n", 1916 | " f.write(fileName + ',' + str(x1) + ',' + str(y1) + ',' + str(x2) + ',' + str(y2) + ',' + className + '\\n')\n", 1917 | " \"\"\"" 1918 | ] 1919 | }, 1920 | { 1921 | "cell_type": "markdown", 1922 | "metadata": {}, 1923 | "source": [ 1924 | "# Data is prepared now" 1925 | ] 1926 | } 1927 | ], 1928 | "metadata": { 1929 | "kernelspec": { 1930 | "display_name": "Python 3", 1931 | "language": "python", 1932 | "name": "python3" 1933 | }, 1934 | "language_info": { 1935 | "codemirror_mode": { 1936 | "name": "ipython", 1937 | "version": 3 1938 | }, 1939 | "file_extension": ".py", 1940 | "mimetype": "text/x-python", 1941 | "name": "python", 1942 | "nbconvert_exporter": "python", 1943 | "pygments_lexer": "ipython3", 1944 | "version": "3.6.8" 1945 | } 1946 | }, 1947 | "nbformat": 4, 1948 | "nbformat_minor": 4 1949 | } 1950 | --------------------------------------------------------------------------------