├── 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": "iVBORw0KGgoAAAANSUhEUgAAAM4AAABkCAYAAADOmA9MAAAgAElEQVR4Ae1dB1gcx9k+x06c34kd20nc4hJ3x7HjGttxje24N9nqQr0jhEQ5ukRR77333nuHO3pH9I4oEhKIIoqEaEJI7/+837FwHHcUgWScMM8De7e3OzszO+98/RsVukrXCPwXj8DhpGLs9PLCpYKMDu2lqkNr66qsawQ60QgkFlTj89VJ6D66L6KOzMD169c7rHVdwOmwoeyqqDONQFn1VQzYlYXb1X74auDXmGv5d8SePNFhTewCTocNZVdFnWYErgNTfbLwf27hUKn98ePIn+DY8/dYOKkHsjNjO6SZXcDpkGHsqqQzjcD22Hw8Pj0IKnUgfuUYhG4je2Jiv/tg2ecR7FjjgMtlRe1ubhdw2j2EXRV0phFIK6rEByuioLL2hMohECrHEHw7si8mmv0R4/s+CvWQF+B/fE27m9wFnHYPYVcFnWUErtReh8XBNNzh6A2V2gsqR3+onMLx2aihmGD2J9gN+Cssej2CWU5fIj05tF3N7gJOu4av6+bONAK74wvxl6lBUNl4QeXgDZWDD1TO0Xh/jBVc+j8IhwGPwmrA0xjX91FsW2XXLpatXcC5eu06LlVdRUllDcqqanGp+sb/Ll+pRfXVa21/D9evo/xKLUorrxp9/sXqWhRX1OBydW2r6z5/6Qp8M0uxNSYfi4JzMCcgG/ODzmJVeC52xRfgeFoRws9eQmphBS5UXEFtx2k5W93Gznwh3yXHnGNvOCc4T0rkXV3FtQ4ct/zLV/Dp6mjcZqOByl5bBxwNVM4JeMNyChwGPAan/g/BauBzsOz7KFxGv4pQv503PIztAk5yQQVsjpzCdxvi0GdbInpvS7jhP7MdiRi2JwV2R9OxLCQHYdmXWtUpgm1+4Fl8tS7W6LN7bk3A9xvjMNXnNMpbAM/FqqtYGHxWXsALs0Pxl2lB+KNHAO5198f9HgF4cHIgHp8ejGdmheCleWF4Y1441EfTce5idava+r9wkbyPoLMy5hx7wznBefL1+jg4nchAzqWOG7cFQWfxe1c/qAgcoTakOF5QuSTib1ZLYD3wWbj0fwBWA5+FzcCnMabng1g1ZyiKL+Tc0GtpF3C8M0rw4twwqMZ76lBup4XqRv/qVonfOPvgz5MC8Y/54TDbkYTjqc1rQEhtem1JgGrsCePPVmuhsvLCZ2ticKGixuQgnS6pxKBdyfijuz9U1l66P74EW4M/nlN+tziOb9fHgfd2Fd0IlFXXgoCRMeLYG84HvudxJ/DO0pNIKijvkGHj+L+15KTuXdWDhsDRQOUSg4dtt2HY0Lcwsf/9sB74jACH7JrTyJcR4LXhhtrQLuD4ZJTg5fnhOg0GB6S9f8ogc7JacfJq8PysEGGVSP6NlYqaWqF2KssTxp/POq298PW6WJPAqbxyDaP2p0Jl761bsXhs9AJMfLfygvWR9Daxgcb68N90jqwZqYrIGRx7Y3Ni/Am8tywS5Fg6oswNyMbvJvoZAY4WKqdQ/J+DN3qN/A4eZvcIaEhx+GfR6yGsnD0EJUW5bW5Gu4Djl1mKVxdE6AljJiZYayahsWs4ga29cJ+rH6b6nhZ5yrCHBE6/7YlQjaP60cjzWYetBt9tiEWREYpDPluTXoy7Xf2h4gpprA5j5+pAtizsxki9YT/+W76T4phtT4JKTVnDyPvgWFp54oPlUUjpAOAUltfgX0sjjYCm7tmO/rjNOQZfmo+Aq9m9UA/4K2zqqA5lHedRryLEe2ubh79zA0eZsDYa/NHVD3sSCmEoT7YXOFwhxx1Ka1gZlWcaO3L1JLg4KWw1+LWTDw4mXWjzoP8333CrgbM5Ok9k0MayjT5gqVlLwJuWHrAb8Bgc+z8i8o6O6jwFi14PYuOSsaiuahvb+MsAjqxSXvhyXSxOl1Q1mnci45CntjhRN6mVyV13tNXJOJ9TxilvKuOcv1SND2kw4+poaoXk8+20uM3RGw9NCcRj04Px+wl+eG5OKIJOX2zUnv/1L7cSONVXr6Pf9iTcTruNnT5Y9D9TsxaDx9TbMHrI63A1uw/jBz5fz7KRXZvh8BnSk0La9OpuHXC4UlOJoPxZedYJkPpaEP0OG3y298ZvXXyxK66gUQdJcYbsTsadDt64zz2gyd+9bv64y9kXP26KR4kRVi2loBx/nxemozjGqAzP2Wtxj6ufyDP7EgtxOPkC1p48j22x+ci7fKVRe/7Xv9xK4KRdqMDLC8JNs2nyPjVQOYXhTsdAdB/RDR797qnXrJHqjDd7HA7DXoTn/oVtenW3ADgUEL3xxIxg9NySIBO426Z4UWG/vzxKVnDRXDW32isT2kYDx+MZ0FcU0Jbkl1mCFeE52ByV1+RvY9R5sb94nirGldqmdqLgMxfxxPRg08CpE257bElAXlkXSFqaXbcSOFtj8/GnSQEtAIcLMNm1OLw71hET+v8ZDv0fqweP9YCnYNnnL1i/yBxVbWDXbj5wRLPijd7bEmXi0eZxtrQaWSWViMopEyPjF2tjcFvdyt6scC5CfhwyijpO/RuQVaoDL9upAFT/WAecpSE5aCJgtTSL/gd/v5XAGX/oFGi+EJW3/jtr8pn2nDg8brsZYwa/Ajez+8UQqq9dmzPhG2RnxrX6jd0y4Azfk2KyUVG5ZXh9UQRua4Wc8eqCcAGcfmW116+DlOfa9aZ/tOrzt1o9M7VyPRUN3ukleGByoOnBrwMOWbOr164JdmoM6tNvi7HPxZVXkVJYgYDTpTiWWiSsHo+klPF5l2VBYZvaWtjfmmvXpG/8zDrq/65dx9Va3Xjo15tZXAnNqWLsTyyU52eXNpYZ9a/V/8x6z5RUIfB0KY6kXJA++GeVgvXV6FHyi1XUct58rVrFlVqdbCqaUBOLXj2AqJYOwW+cQtBtVB9MMvt9vYxD8NCm4z7uXzgZtE+/y81+vkXA0WLwruRmGzLT74zIMM2uHnZaPDUrBMHZDQJ5Te11bI/Lh92RdEz0ymryN8EzE3ZHT2GdTPzrwubJ9Ucz4KE9jUE7k3U2AAKkfqD15Ks64PywMQ5umix4aLPEW2BleC4KmpFv6OJDdf28wLMYtjsZX6yNFZsX3d0fnhokCgYajz9eFY3+2xPh4pmJwykXmig/mhs0TmDHExlwOp4hbdPvv9OJTKmTE52FXhEEf7f1ceL58OdJAWK87rEpHlN8ziDi3CVUGXF5YtRkwOmLmOCVhZ82x4thmv5gj0wNEtnwh43xcD6egRNpxeJCQ/j335GkY59Msd8doI4m1yEsdiNPAb33ZuxduiTh9XHT4dT/YfmjN4FOznmiTs5Z1NxwN/qt0wCHA/8HN//m+VU7rQxW4JkG4FCrRsFfNfqYznjJgdT/o5V/7HGZoBVXrsnqLtfTYEpDqykWzXDgeR01dKzb0hNvLIoQatFoNAGQcFBusjp8Cn+nVwXroY2J7eDzRJ3doNIWQyEVJtZeeHRqMHpsTsCOuALx9TKs2/D7mANpujp5v36f+ZkGZLUGS0LOiS/fVN8z+AONhGwL1elsB9vD7zZe6LE1oYmdq+ByDWb5ndEZuaVOz8Z9UAzVNhoBI336KAdKu1j/TQSONr1EXKBMq6ENQeQFlVMU7rM/hkHDPhGqo2jXrPo/ifH9HsfudS6GQ2zye6cBzpGUItzTCuA8OTNEJqbSIwKnLy3VnAAKq6d/pJrSVoNv1sfKBOKLlesJBP5m6uUaAofflXrVWrF8J+Q11v2Tv+eq/tKcUDHyycQ0RcmM1c/JZuUlqm7Lg2lIu9C8LGdzJB2/Vnh8pW3KUa0V3y06pZItvJ+g4eQ3fK6dFr929Mbg3cmorGnwziA1tSAwOU70Nm5pnGw0+JWjN8YcSMW3G+LwK0cf0wqXdlIcUrV1kbmiQZUxNuyT0e/kKHyhco7H+2Od4Gp2P+wGPC4uONYDnoZFzwexbsFoXLvWMAbKHDN27DTAcT6RiTtdfJunAHZavDQvXNgKpTNtMYASZPSiFcs2J0RLk8HoC2CshxbvL49EYn4DcOjxO8MvG38k+KlqN3Vva86TItho0G1TnMhGSl8Nj7ZH9YBjWK9ai4emBgo7Sp8/UkmjbbL2Eo0n/Q6VQpbN4ViGbnw4ToZ1m/pu5407nHzwfy6+uF2AY7jq131vJ3Aoz832z8bdE+ntYWQxMNU+B0+onGPxsN0+jBryFtz1VNNjejyAZdPMUFHewM0o42HseMuAM2JvqrHno7r2mqyIT88KaVjRTXVcrcVnq2PEnV+prDMAhx7BcwLO4l5Tq7qp/jR3nhNWrRG5wpQXcbPAsdcK6/vMrFDx7DbKktp74zahxnEor9Gp6qlEoa3qdxP8dOxcc2009ptC8Yz9ppxrJ3DYxkna0zrZlFRaqbfFoxYqxwBxwfnYwgoe/e6G3YAnhOrQW3rRpB4oaaW39M0HjgjX3vhpU4J4wyYWlMtKHXP+MoLOXMRM/2w8OztER2laogA2GlgePCXxHJ0JOAeTL+CpmSE6uaK5l6ewPSKP1Mk8LV1v7y2Cf2XdxFb6zWOzwHHwxm20X8hENjG5bDUSNrEirMHJ8UxpFT5aGVX3Pkzcp99m9ol/Lb07/Xs6ADiumizcxYWqTcAhxaMnQRz+ot6FkYPfhFu/e8WTgKzaAvefUJiXpT/EJj/ffODUDdifPALE9fvNxRGien5hTijuI1ujDLz+wBr7bO+N2x28sSYiF9f1DCptpTjny67gp80JOplovFfrHVQVQZhC9zidcoBeBxerr+LL9bE64b+5yaPWiM2BmrR3l0Xi1YXhuI8hDKy3ufvstCIEU7NlqLFuCThNVmJOMiUkgsfxnuLeTzUzC1kgykQtssx8P7IIaETG+o2zr05+Yl+MvTvDcx0AHGo4bxg4QnVi8YGFHdz73Q31gCcxpufDApwLBWdMgkX/h1sGHJkcCkiUYx01atVg22jwz8Unm2iy2gIcqojpIW17JB0vzgnFy/PChVLc7uTT4gt/dFqQaJcYwPa3WaHovz0JuWXVogwQuaa5SaPWiIWbzqQh2RfFHhKXdxlzA85CWNTmVk2Olb0W5vtTm3iHtwk4VBZM9JNF68MV0Xh+dqhQGwYiKqW4skanEWuOShEE9t4CrjcXn4TloTRYHz4lCTLov2eUJexo4Fy/jmm+Z6Q/bac4pDo0iMbiQbuDGD7kbQGPec+HsXhKL1wsyVeGo9njrQOO4eC15btai187eGNR0DmRifR71BbgcGLQLpF76YrISecuVmFXfCHu58pvSvsl4NZKTNDZi1XIKq5Ccn65RH3SNkL3IRUpl6n+qDW4x9UfM/2Nr2SHU4rEJtLshLPT4pEpQY2UERyDVgNHrRENFG1FuZeqhXIRuEtDcxB0RmfnYX305iAYZCxMUUF7b/zKwUeC/jgWSqFyZKImC/QNbFHT1U6KQ1v2irAc3bPapBxQlBWUdfxEUfC2pYc4fo7rfi9WzBqEK1WtixHq/MBRa8WjoNfWBJD/NixtAY6xeBy/rFKdPYAru7HJXwecDVHnDR8N38y6CFiyPcbupZxho0HfbUmmg+hqaiWsW6eFMtGGurYxB4KeA0TrgGPnLYsOqawxA6d+p2Jyy3CfR0DzVMNeK1TrVFHTCUZj9Ig9KbiDY2ZqPDlO7QQO23wgsRA04rYIUhPvRaiOcxTut/dC/2GfY0L327BhqZX+cDT7uXMCh6sdB95Wg984+YhdwFSYbXuBo2mly83qiFxc05+1gBgX7/doZoVVayVWZHkLwW5M/PFoS46mDt6iIr5U1WBnaBXFsfYC3ZRaE/5wJPmCbgEwNenttWKrIZtkCoSeacV4nnas+kwzyiqvd+wA4MTkXsZfpgYbt02ZBIteGxy4SPlA5RKPF8fNh4PZgziyyalZsOj/eOuAo4CBL8XYH/l8xaJtp8Udjsw9ECA8tzFKo3TiVgJH39+NRjj7Y+litzC5utp4iVuKVs9GorRb/0h/sfeWMSbIhHZKZA5vUU3rhzG0CjjjPMUFRt+jXP/ZymcqBrg4iCzKdhibfHZaMaoeSjYdvEcD85dr45rXMHYAcC5U1OKVRVFttOPoA4ef6U0Qjt+qfdHTegxijkxXhqPF4y0DDgXw307wFaGSWhv9P8bZUENCWYAOl3T4HL43BXQiNBYKoN+rnws4TH7HrDz1Sg9jE83KCx8sj0R8/mX9Jjf5nF92BQxb0E1aw5ereCxo8d7yKOg7ZbYIHHstblNrhRVs8lCDE7RFUVnRLHDstSKP8b2YKgSoGFy5CJqSkzoAOKT+fTZF4zZ6A9i3rNwxuhDIO+NCHo5/TNUgLMLbVLeanL/5wKkbvFcWRsBNkwnHYxnCctAyzT/7YxlwOZGJWf7Z2BCZB5L67NJqk6yAYQ9+LuBcrr6q8wIm9TS1Qo/3lOw6WcXNu84wMpXBeCYnrVAcLf655GQjJ9AWgaNmAJ6/UBLDcTP8TjvRdN8zdVTPBMWx1+KvM0IQdtZ06i7WIwtKc+PSAcApyknBwBnLcYedP1SOgVAJ62Vk0TG2oDU6p+OA7nQOgvPx7EZe9IZjpP/95gNHBtBbtDCkHlzZjP1RsCS70NbycwGH7jsNrjsmJlobgEPv8ZaAwxRI+qHjLQLHVoPHZwSLJ0BL40qZhU6aOnbRRH/staCvYPPAqcVQLgI3ETi1NVU4vF6N/ubdcJcd2a3QdgCHYKM/nhbPz43EibQG16PmxuwWAUeLobtNx+M018CWfvu5gMOYnBF7W2bV6NMWd755Vi2vrBo/bIqrA46RVbNOxmEIgn7ywxaBY6MRQZ2ZR1sqjFmiitckeLlK22slJKI5Vo2OruJE25xht50UJyXOF9MtX4dlv7/iEds9UDmd1An6jSiJkXFs7nc7uh9pxTjOBC4tlVsGnJbicVpqqKnffy7gsD3OJzLwa1rNuboaeyk2Xvjb3FBhP021n+ep/HibCfVMKgd0SoMBO5PAdEhKaQ1wmPdO34FTudfYcX9SYfNaNTstfufqiwPNZPYhsP+zOuamKQcqK8qwcvZgqPs/Cpd+9+OVcTNxm1O4+KDdOLtWBzJbDe53D8DikHPGhqfRuS7gtEEdra9V4yguD81pPuad6mg3/xZfBIPNHp4SpAOOMQDWsbtM48uYIqW0DBwvvLIgXALqlHuaO0bmXNKlWjK1EFAd7UDfuUwY851j3QwPeXYW1dHNuN/cIMWhy3+gZhMcR7wMK7PHJDTgx1E9cJdjkER4ih+asfFryzlrL7y56GQjR2JjY9YFnHYAhwFrkmWF/msmXg4NoIycZDiDscIt9xjFSWu8SSWDHe0nPjiaeqGRv1prgPPqwgjRThp7tuE5KjGo0TRJ+dhHO62wfwl6IRVKPdQ0Dt6VhDvsGCDYDKt0g8DJyzmFOS5fw8rsr2CSDacBD8Nq0PN4QL0bKqcIk+/A1Lsxel6tkZAIuhI1V7qA0w7gUMkh6V7pOWBK9WqrwV0T/ODmlWVUtb4nvgAPTmku54EuZ9hriyLEx03/ZbYOOOGgd0RrSovaPQKnTt5izuxQvcT4ZNFo1/qDm7FUtAYgugHg1NRU4+C2abAb8jyszJ6QbJy2A5+Ge78/4O2xrriDco5jgM772cQiZhQoxq610YgShBleTZUu4LQDOBxUZpJ8hBO/OUu5Wos/uPpj4M4k2SIkvahSQiq4M8Nj04Kbd41nIkQHbzAng6FNq6OBQ1Z0/cm85o26deAhhXxuVmg9Gzru0CncRRnNFJunP0FvADgZKeFws3xLQpxtBj5Vl2zjGUw0ux/9h3+GP7B+oTom5E3957f0mSypWotv18c2SkWmD6Iu4LQTONQi0Y9O3PVN2XP4otS60GLml6OHNbcK+b8Jvs2HFdTZb8g+MYTBsHQ0cFh/Un65LsdAS2HlBAhTE3sE4J2lkbqgsubkGv3J2kbgVFVcxLaValgPeBJW/Zn7WZc0nUf7AY/Buf/DeM56JVTOkVA5+rZTNV1HHW3oGOuPtRFNfRQ5Tl3AaSdwOIj+maX4+7xwXZZS/Qli+Llusul2YmAyjRZWR7VWPCyYeM9Y+qibARyynzPEEFrnL2jYB8PvVDszWQj7wlS0/J39bG4RaQNw6M2eHOeHCeavY7ywaA2gUQDE7Jw/jOpXpySgTce0zNlqdo3RsWqtpKDiRmOGRYBTVXMNCXkVqNCLMmyNLbJVuxXUDeJ/ozpaGUwabum5/AS30WtGUdDql8bJR9A4+cLVKwtUuRsrNwM4fA5ZSQYctggAQxAx5MDRR+KmaCg1yba1AThVleVYv2iMUBpmo1HAohy5341D/0egHvgknrDdLJlsdOPcwqJk2HZj39Ua2cViQeDZJsMvwKGQN1mTh/yyGly5mI1LxTmorb3a5GLDE13AaRgRrtSUd56TEOq6jbaMvYzWnLPRCBvHKEdu0Wiq3Czg0Al8b0KhLsMpKYkpxYdhX6y88O+V0bKIMMm9yaQlrQXO9etIjfeH08h/NGHRFODwaD3waUzq9zv8Z4w5fuMYJjtNd4hqmv2z1YimUd/wzPehIgsw3Tcb3TZm4mxJNVL9liItzgs1V5uSJ8MXKBtLkUXh1thivKsj0fqfxeNZIx66hvd3xHe6vvTZmoiWNpbiVofGdmTzTCvS2S7EKdFI+0W1qsHK8JwW/ZgoXDNH9Y8b43RZXkh9hOIaaJUMJxwnJq+jds5GI8ZQpplqyYLNFLBMySRe5fpjrny29sTL88Pgk9k6rZr++6AL1OrwXJ19ibIL22fYbuU7fxvnidfmh4vqO6WwXLIA6VJ2GRnTuo2lTIWKKO2oLNfJNpRrKN/og0X/M6mOc/8HMH7Q83iUqmnn6I6Rc+qA838T/LAwqDHVUXGAem5Jwqer05BTWoUDi/sgOmgnaq83GNqUjhgeqeZ8bWGEsBV3OPvA2B9fLMn3kBYyeRrW3drv4jPG9EfWXkafL2HRaq0keTcWyMZ0sNzbk+001v7bndh+Xa4DY3KGsXYyLSw32v1hQ5wIz8L/U+tWBwwxDioJO3iOKmsXX3y4PFI8maNzy4xV2+Sc+ki6UCZTbedzqVggZ3Ajhalt9yddkP086cEu7dfvQ13bGZLdb2uCpPjlc+LzynSeEDYao2PK/nNrleTCpsFw+u3MTI2A69i3mqU2+gDyMPsdPrWwxJ1OpDrBHaOapqxjr5N19L02VHRpf3XBSXyxLg3peYVY5fopooP36Lff5Gca9TiwTAe7Puq80T+unNRM6GffNFnhDfxA4Cu7FRhrw7pI3W4F1MkzFZVhYRj1tph8yR1g6n62n1tKtNUFNaO4UnI0U9geuTcF32+Iw0croyWZ4UcrokXdyX1H3TVZ2B6bj9jzl9vk6Mq0tRsiz5ts+6qIXHGPoS9ce0p6UQU2ReeBSRKZbPC95ZFCUbgpMTcP3hFb0MiHjpSdmX84LzZE5TWaF/y+IjwXDBlnnmlT5Up1JU7smy+GTkNNmj5YlM+yOa7ZnzFu0Iv4i3pPHdWh90IzlFKhmC0dbTUSG8Y+KYliVIw+fGhKCP6zJhU+ESGYY/UmooNaBxxTne4633QEaFyk0E1wcJeG2NzLAkYGftHB8pdQmGPh1AXdLhPROWXSn5YC5G60X6XF57HQ4ydYi0JAsds01agpwJHjgGcwud/v8JGFLX5Nmw5dcZgOqiVgtPS7nQZ3OHqLU6/Cdag2RuXhD24h+PvcOCxaOxduQ59EVODuG+1v131dI9AhI5CWGASH4S+2mk0jcEh1aBA1H/wKHlHvk2QcHUJxCCy1Bs/NDpUtathBlcPxDNzlGoK7XEIx3Ko3HPo+gAjfrbjeChmnQ0aoq5KuETAYgZqaKngdXCKgsZbNblugNHoGUfXAp+DR7/f4UKjOSaicOojq2Gpwt5s/9ibodgRU9duRiDsnBkNlF4Ivh/wIu973I+Do0lZp1Qz62/W1awQ6ZAQulRZi3UJz0aTRmbMRO6YHEmPnSXW4z6f54FfxsFCdmI4xiKq1EvrPFFu0car+vSoKv3YJgMoxAu+a28C+9/04scMVlVXNB191yAh1VdI1AkZG4EL+acyZ+N0NAudp2A54EpP63Y0PxjridqeoutDqdso6dRl+6F5FbaOKgVa3O/mKxfVvVotg2/vP2LZwIC5eNJ3JxEhfu051jUCHjcC5rHhMUX+sUwy0keKQClkNfA5uZvdi1JB/4mG7/XWyTvuBQ1vlBysiUVReA9Vj04LwK6aAdQzD/Xb7MdLsOSx0eB+F+ac7bCA6sqLysmJkpp5EWkIgMlLCGv2lJgTidHo0KspNJ5O40baUl5UgMzUcZbd4QamuKkdW2kmcSgxGenIoUuMDkHcurVWeHTfaV953qbQAsRHHkHs2BdeuNVXjt6fulu49lRQCN8u326ZR02Ph6EmgHvBXuPf7Pd4d64xfOcW0P0K0zuGWOeqoWVRxWz0aKFUOfrjNMRQ9Bn8Oj6GPIzsttKX+3fLf6fDnc2QlJlt/CNex/8QU248wze4T+eNnV4t/YrL1Bwjz29XhbQvy3oLp9v9BgNcGXK1p2auiIxrAiMeTQfsxw+EzuI19W/rmPu4drJo9RCZ0RzzDWB1UDHE/TMa+cDdmgvdWlpT4AEwc80YdcFqvGNCXeSjruJvdiwGD3sU9Vruhcoxsn6xT593BpPlJ+RVQPTE9BLcrXq3OcfjAfDzset+HaN8NnU6zdu36NezbPAn2Q/8G+2Evwm7o3yQakIFN9sP+JupLBjdpDi7p8Pe8ZbkNLPs8iq0rbHD50q1hY+kv6H14hXgGcxKz3+PNHod68POIDT/a4X1UKrx27SriTh7HbOevsGO1A6orby1whOKMVSjOjQPHwewRTBr5HD5xX4Hfuse23ufOmF2nDjgvzQ+Tzb5UjEnnLlriyOcUiUdtt8C81+M4vlmNqsrOpyDIy0mXVd/32BrsXOsEp1GvwGX0a9i3yQ2+x1YhWLsFF/KNJzhXJsaNHLevshf16J4Nrqi50jqly8sAACAASURBVDSH9Y3UaeoeUlallBbnIVC7CT7HVuHQ9unSV/uhLyL+5AnlkkZH/Xsb/WDkCymLqetrrlTjTEZMs6ypqXuNPArX28DunT2dgKm2/75hVo2Uh/5r43v/CVsXDMGOoCi8towxU/QiuEFPgjrgMKlKzqUrUH21LgZ3MlMLf3AMxG8cI9Bz4MdY7fE5is6nGxuDTnMuKcZbttmeYvORyD2mGkZWg/JQmP9OhPpsB1kBU7JK7dUanM2KR5j/bkQFH8DlMl347M61jrAZ8BS2rlSLnBEVclDqOpUUjMoK4zJVdXWFtCvcfxdCfLYhOc5XZAdj7bxWexVnM+MRGbQfwd5bkRClQVFhdqNLC85nCXtqO+jZJsApLcpFYpQWwd5bEBG4F2cyok0C/PKlIqTE+SNIu1kWGspNPKdf+D0xWgvG+evb9Mg+5manICp4P4K0W5AQ6YXm9pQpOJ8p1DFIswnRoYdwPietxX02iwqyMc/1ewFOW9XRCrumAMf/8FLZcXvg7lNQWbVDQcCsqI7e4vPIMBzVqH2puIuRiOL96gOVUwxeGzMBE4c+g4zow/pj2ek+x0UcEyFyktX7oGLAWOEEOLZnHlwt3pT97C16PSxu6rvWOTfZfYv+UXzBU2w/xtjeD8O6/18RF3Fcqt21zgW2g54RoLpbvgMrs8cxtvcjQgFICS4W5zV6PJ+rObgU7uPehWWfv0h9DsP/DlIuTib9cuVKJUJ8tmO6+hNY9XsCY3s/BPXg57B63nCcPhVZf+nZrASRc2wHNwYOV+gNi8aITMJ7+bzJth/C33N9kz0tSY1Jqcn2je31MCx6PQjnUa9i7yZ3FNdt40dKQhnHcfjL2LDYop7zuFpTjXD/3Zjp+IWEMI/t9RBsBj2N5TMHiuJCPxSltrYGXNgWeHTHuH6Py7PG9X0UcyZ+i+iww7hSbdrBs+xSETYtHXdD6mgFOFZmT8J9zOtIjvKU8ZsbmIM7ZXvGGwSPnRa/cfGB9eF08SdUMV/w3a7cEo4VaiUr4j12nhjU5yUE7PEArbidtbQEHE7I4/sWyKRlnPoUmw8xVf0x7Ie+IJNr7fyRqLis8xzmih/qu0MmlGXfR0XRwAlCbRbLrvUuUA9+Vu6jvEFlBOuyHfwMCMb9Wyahqo7yXLlSheN7F4g8whWTyoxpdp+KHGbR+2HwuWWlOjmJky0y+IDIa9wy3H38vzDd/lOZzJZ9HsEs5y+Rd477p17HuazEJsDhZF8+YwBGd/8TCEwqMLiQjO/3BOyGvgDfY6vBCc9CMO9Y4wjud0mqNU39SV0fnpXJvXWFrVApUl3toeVieOS+mOWXddktY8KOSrvYBzfLd+RZzqNfkfGd7fw1sjNi5Dn8x4Vsut2n0i5Gb85w+BwTxryBET/8ATOdvkB2Vlz9tYYfqHzxP7Fel83GSPCaAo7mjpRH18wZgqI67XDg6Yt4ZWG46RghY3KN/jlbreBkU5RugVQxK+NDzOklwKmLG3FOwL+GW2LpxM9RnJNg2K9O870l4FB9O8nmA/Gw5YrM7+TbSSE4+bnShvrtlP6QPZjt8pWsckum9kFs+DGcP0e2QqeK5SpNisPVfuc6Z9Dl/XR6FLatUssknDDmdRGoWRkTS8xy+gJj+/wFaxeMAv2uyP4d2TkTDsNehPOof8jE4LXFhWdl01Z6AC+c1APxkZ7IOZMEvxNrdSrZAU/h8I6ZIBjPn02tB05ClJe0W3t4udTpOOIlHN09BzlnkpES54eVswaDOynPd/sB2Zmxci3Vy1SqkJoxhj87I1bGY/eGiRKW7Gr5tqj5CRwCjgvF0ml9RatWWVkGjgsVMfPdf0RM2GGcz06G/4l1soiYd/8zDu+YAS5WXAxY/+if7pcFI1i7GXm56Qj22SYs2LqFo3FeFgNpltF/NCu4jHq1Tb5q+kAix6A5tBRcEFmYG4Jb0kuYtz4gWvvZViO756Vf0FFKFUMDGraYqBOcnMNxj90JDDZ7DfE+q4Drpt2/jfb6Fp1sCThUFIzs9gfMm/g9zp9tSMFLVmDjEksBFGUWruapiUFCbSZYvIGM5KaqeK7UpB5LpvRGUWFDUFPxhXNYMq0vRv14H7z2L5Keh/ntFP58tsvXOJMeXT8alJd2rLaHefc/YeMiCzmfdSoSpIYTx7yJ5Fif+mtrr9UKENRDXsBCj+4ou1iE/Jz0euAkxfiI7LFx6TiY9/gz9m50B7NcKoVgJUXhAnEyaK+cJrAGf30nlkzti5KiHOVSFBWcxQKPn4Tqndg7X9TtfsfWyCKxbLoZyMLmZCcLFbYb8oLIPvU3Azi2Z66AjFsBXijIRnHhOWHRzLv/EQGe6/UvRUlRLjhmLRXa6zYvG1/nr9ZGt5sBT0rSwqTohvHk85YE58g+rM0G5RkDklorgYljDqTVe7KrGC/PXQN+4+yjlzyCG+4k4uXhDlg3pz/KC4xvtd5S52/27y0Bx3PfQgz5+k6smDmwnk9nm7giHt83X1bPdfNHyncK43ZDnsN0x89Alw/DogPOk9i5xhE0hiqFk4r8+PAf7sGh7dPktP/xdcIOrZ4zFJdKdE6B/IHP9TqwGMO/v0dWcp5LjvUFdzym/elCfmNlQHToYZkAZHO4NyVlo8k2H8qEJlWprqrAqtmDMfqnP8H3+GqlSXIkBV0xa6CwUZTbWKh5HPrN/2HjkrGNrr18qVgoJ1fs3etchLUjxSN1JXD4nKy0SLiYvwZSpezMxmwW5SGyYbOcvkRBbjpyspMwy/kLoWxUHtxIoZxFlTjZz9bE4+hTm/H9HsOiSb2EQus/2zu9RPYrUlm3Uc6x1cgmVtzAWCmScyAg6yIemhyoS1UkiKOsE4jb7UPRa8T3SPBbA1w3HfuuVHarj60BDifKipkDUKW3GhMY5Oc5wKvnDsPVqzWixeLqTP7b2JbdApz+T4pgzdVQKbRxEDjk3ckCsvgdX6MDztxhjbRoV69egef+RRghwOkH2qVIOSgjTbYhcBrU6Jw4MWFHBDiUtUpL8kwChyyZ79HVjbRfxoHjjqHf3oWNS8YpzZcj7VLbVtmJTEOlCWUi48B5XWQbhfXjzaRynvsWiA2NhlqyYIpWjAsCtZg3WsouXcDGxRaywDUXOq0PGlJvyoZ71k+A/ntiG86VVuP7jdyz1bP1MTpqpv31wfA9KY22nqnLclOXG4ygqY8t95L94P84Zh1mzjLH5dwGluNGB6Kj72sROPsXyQpLisMXTLU0V0Cu0uTfmW5o41JLPYrzPGY4ft5E68V2KxSHBkEK2UqpB043PeCcWCvaqlVzh+JiacMuxhR6T+xbiBE/kOL0A91sheIQONYfoDCvgdIRONFhh5oFDqkdvQjIqnkfXSVAVNpFELLf5PWpdmbZt0kBjqVymRypmifL2jLF0QGH8hrBRcqzY42DyIpje/9F2D2qr6myXr9wDIZ9dzeWz+gPGjTp8Xy5rKjNXhdU908Y/VpdIsKWjaFkp6m90x5ahtqrjRf7yqu1MN+f1nzySENWzUaDp2eGgAGf+kWAwxNep4rBLckbb0bqA5VzAl4Y6Y6jB5YCNTcWu67/wI783BrgDPn6t9iwyAJkRw5snSKTg9orapwWT+mNlHh/aRLVzqQ4XcBpjlV7HR7j3xVWjII+2Taqvm0HPiMaNtqQrlTrvAyiQg7Bw+o9UANH95k5E74VIHsfXo5iPfmqpfnAxeHY3nnC9ln1Z+rb5sFDykQFyMlAnVxnWP8U79M6T5l6AtFMIhXuGO7mj9n+jVlo1lkPHLpKM43pr+kpXV+pjmVT2UbgR+cpSIk5Rk7dsC0/2/fWAedObF9lh6L8s5jn1k3YM7IUFH5LLuTUsTfXxUjXBZyWZJzXhTLSnrRpiaXIHpRt9m+ZjNzs5HoNFicEtVkBJ9aJ3Yvhz9RIkhrwj4qZ4oKmk9HURLpYUiAUmnnVWmLZKA+5jX1LNIvG6lsaek5yeTfMcRPAqcMAwwhKqxpTLtZbDxx+YXKJt5dEQmXLHMBKhRqx7dwx3h/jFqxEwTmqpxtcQow17ladaw1wKOOsmTdSPAAoxHL1ys/NaGS9JltE368u4LQEnNcECOdOJ+JUcrDIdFTxK3Yiw/dOtTZV3p4HFmHvJjesnjtCWE9SfKrm9T0SDO81/E7PdDr00levIXd0U+pD4FCBknXqpGEV8p2pApjaVjIPGbJlynfOfVsN3ll6Egl5xv30GgGHNXP3rie4dXijPMBUU4fgt+N94bbtBMpKG1SZRlt3i062FjgrZgxAZfklkWWY9Z6F9gbaRWi01AHnWBdwWtSqUcZ5G2cy4mTScwyVUpCbgdKi80Z90ggsegrwHRAwVN1TxZ537pRye4tHgozKkokWb4mx1hR4CBz6uembAfQrZzahByYHmAYOXc+svUSuofhiqjQBDtXTa07m4sFJATrwsCJxjCMVCsbv7b1hszsS50oabAamKr/Z51sEzr6F9cqBaj2H1Wu1tQj12yGr55Fds+Rlx588IcChVk1fu6X0oaOVA8um9RPA0i1F0aoVFTTWqpEKchOlVmnVjq9p5LBJ28yKWYMbq6M3uum0aksNtWpF2L7KoVVaNbobZWfGK8MiR1KduRO/x/qF5qJRa/SjwZekaG9xeaLnBVXqbSlU54f47BBlxLi+jxmlPC0Bh6nA/sS5bSxvN+e6jRcenxaELTH5aC75UBPgsCNM57oo+Cz+7GEIHpIwX/xW7Y9uGxIQndNY09CWQeiIa1sCDn3FaMdZNqN/I58tasIObJkMi14PiTqaWiA6NFLTNk39MQrPZzVpXkcDhxZ5FionxvR8CJOs3mukzWP+Ljql0o5B4NAeVJCbKe47tK9w0nHFXzV3GEb9dD+8j65o1Ob83HQsndpHhPcgjU6rRlmE40EvCv1CtS9V6pRD9mx0baKOJrU4kx4ldpwJ5m/UeyIodQR6bRA3Jrr75JxJlNNk09hm/QWLP1CL6Dz6VWGnqIpva6Fmkp7ijiNfhg48jdk1YdWsPxDPDmN1r488L7vkGQWOjQYPTwmUvVCZr6+5YhQ4vIFb1W2OzheSJWxbPeUheLzxK3sfSa+6OPiseJ8295Cb9VtLwKGnsTg8Wn8IxUWFbaHKdLbzN7qJsmGCyGy04DuNelU0MuF+O5uwHB0NnCVT+siw0FjI3Mh0mQnwXFc/VJcvF2PtvOEiTFOtTKMrWRuqrQkcUiqymHQatejNBWB4I29q+t2RWtFPLCb8iNTre3wNRna7F7Ocv5KoUuVhdCSlBsxx+EvwO7EOtDf5HVtdZwDtJ2wWF5NJ1h+KcE43G9q+WBhisXmZlYwzVeOKp3RsxHEBPBeoigqd4ZBgOr5nHkb/9Efx5qBz6o0ULhj+nuvgMuo10K9Qn22jAmHCmDfF7GCs7oVB5yTpRhPlgLUXHpsaBCaw5A7cLRWTwOGNTJR3NLUI/1oaqdO01Wvb6uw9ag3uc/XDT5viwTzSt7rQn4w8t8f498TV3/D59Pla4P4jaGOgE+Kx3XPEAEnbAgecEaOKm8uli4Xi36WsWLvXT5BQAGXFpKsMf+NR347DmCVqiWibUQygjBUa0/MB0HPgYkmD1zR5fdpxhv9wNxZP7iXgZF008tGD2GPcu9i/dTK0B5cJ20OfMk6KAM8NoqXKOZ2ESdbvC+DJWrKEB+zBRIs3xcVnzbzhoO/awa1Txd1m5I/3ip1HcRHKSj0p1n2qdalhPLJ7Dg7tmC5jROo72eYj8c+jZ7PP0VUCHPqnUQ4kQOgpTa2Wu+W/sGejG6haJqUi8Ln6ex9didpaXXQs76edjH2g6wyv3b7aXjwM6GS6e71O7W34zlr7ne3hfqBcGPTBQ62d7aCn62xXjakGxRBmqbmNREAIQZ0CzFrHnjHLqOHmXaba0yxwlJuY/tXq8CkwR7DkD1YeymPdttxPTgsWJzptRonJjVWV+jrqSJcUqkPpqWuMX+bKGRm0TwBCOYKu9GR96E7PF3p873woygIKn/SEpmDJSWQ1gCvXG4gJPSSOnjtW22Fcv8dEtd0IOFXlEl485JvfyqRn33yOrBL2iY6WzEipFLaHXtO03lM45ncGeNFhlH5tNFaSmpD68Fn0bGDEqRI7lJ0RB/fx78qEVCJACdy9G93Euj6u36NCZRghSm9peiOQ0pIysZDNYVActYesn+NBNyOCnPXGRNDcAGmX9sgKoXbMpql4kFPgZlQox4dsHSkawcHvW1bYoKQ4V+7nP8qJpII0znLBcRrxsoCOzqD0lSOlbW+h535k8H5xMmV/dKrqpzC2zyOg7Mp4KP1SWlmDAcwzblXnOcD5a+OF1xdE4FDyhVaDhnW2Cji8sKTyKg4kFuK79XG4jRu9UuvGrPiKtwETcNt749nZoeixJQFrInJNbhir35n2fM7PSQOFbPqbmbIL0ICWGKMVvp4Ao1aGbvjhAbsbyT1sBz2h05NCxPuZsf1T1Z+IpzMnHtk3hgbQ05dCqlJ4j/eRFQK4UF+dewl5d/qXHdgypZGlnPXEhB8TdovUSVHHUsaipzVXYa76lCMWuP0kYdP6wKMRl6r1RVN6I+e0TpZgO2iVD/DaKN7VjIYlO7d1hRrpySECgvq2Xr8m3sykYvTSplxFw+SeDRPhfWSlhGDQK5ntSk0IwHT7z8TjWT+05PSpKAmhoCzoPPo1oVye+xcbddykU+rRXXMwy/lrOI36hxiXD22fgdyzHef7yLFLjfPT2ejMHgepKakfvUMMXaciz5XpuCfurkHuyU6Lz1dHy7aSyhi19thq4CgVni6pwrqT5/H9+jjZLUzQq2boNQ2nGqhsdI2iVu5fyyJhcSANu+MLkFpYjpo2hM8qz2vueP1arTgVFuWfqZ+Epq5noBldRfhH1kWZtMaupxfzudMJEulIqsDCKE+ukhXlTb0nSIGo2lZWZrr2MCSB6lnDQgpBYyGzyBgW+laRvaQrCx06FWqofx397AryshoBgr9TfuBEoR8ZBXSFSunfy3ZSJhrT60FRipDSMdYnMy1SzlPG27fJQ26hHMG2kIU1tNtVlF+UPpzJiBWbWHOh5BwLZuVhOAf92G5WOD6z8VDpQVaNci1DEriTm35ZGZaDu8g1WXnhDkcfDNudIvmv9a9p7ec2A0epOKu4EvsSC2F5IA0vzAyAyppsG3f+5V+waN/YwF85avDE9EC8szQCA3YkwtUrE3sSCsWwxC06Orrohet3dNW/+PoUGYusE4PwGA5Ob2hSYIYLkI0l5fmlFnqCHN09W/oxotu9Eu6gRJoKm7YzCarRR8WhmZsRM+H9jZYbBo7ywKKKqwg7U4JFx8Pw5aQ1uM98NVRWWqicY6ByiYfKMQYqdQRUtoFQ2fvhtxP88dcZwXhzUTi+XBuNkfuS4OaVgSUhZ7E7Pl+27OD+MNx0iNtLZF+slA4WlF8B/3IvVSOzuALJBZeRkHdZd92FSmSVVP1s2j1lLH4JR8YKEST0IDbv8YDIIDxamf0VGxaZ1+dY+CX0xVgbqyrLJDiRbPYM9Uc4kxYhl+2Ov4AHJgfinQVh2J1Q2G45vN3AqW/8lYtISonE2p1rMMJxDN4Z2BfPjJiAR8etwf32h3CHk78kPVQ5UENHMMVBZRsHlWMCfuWajLunpOCh6cl4clYiXpwXj38siMebixLw/opkfLYmFV+tT8XX61Lw+WruM5OKIbsyYX/0LFaEXkBAlm7LiUvVDbJHfbu6PtSPAL2v1y0YLTIANYrUiHF/Teaoo2Zq9dyhYt2vv+EX+oGyJM0LK6b1htee2cjMK8DQvRnotikR0ec7xnDfccBRBrkiH7mJx+G50x1zPXrBctg/0avH3/BN///gPyPM8LG5Od63sMc/x3ng1fEz8HfLWXhu7Bz8zWYJPphxED3XR2LY7nSMP3IOE7V5mOKbj7lBRVgaXoq10WVYG3UJW+PKcCStAoFnqpFcWIviqs7keqoMROc70rbDBCNUCgR7bxONH6Mx6UVBlbKrxVuIDjnY+Rp+gy3KPZOAmKDdOBYZj/XRRThV1HH5MzoeOEona6twISscCd4rcHTFUCy2fR2OPX8H2253wurHu2DV4z5Y9X1EVJXjBzwF9fAXMcPpM2xYNAKHtroi8NgSJAZtQlbYRhTG70N5pha1+RFAaTJQcRqoOg9UFwCVBai6mIML508hOzMaeedSUN2VMF55C/VHyjcHt03F4K9+jbULdFGvyo9UajCgjwk89m12V07/Vxw5F7ILi1F5tbFNp72du3nA0WtZRVUZMlPDEOK5FgfWO2DV1G6YY/sWXIc8Cpuffofx3/8G1gRUtzth0/1uOPb9EyYOehzuI57FlFHPYubYlzDb6nXMtXsXC5w+weKJX2GJ23dYMqkbVs3qhx2rxuPAVnd4HVqI1AQ/VNZZqvWa8D//saqqXNTOQ766E5uWjm80HuWXSyUgjbEu29fYN/qt64vxEbglwNF/dPWVCpzPOYXUpEAEaDdh/7ap2LbaHqvnj8TCyT0x0+lLMcY5jXwZ6iHPw2bQ87Ae/DzUQ1+Es/nr4vZBuwATZKxdMBq71jvD33Mt4iNP4ExmNC6XXWgUMqD/7P/lz7p8B4yIvQsL3Ls3snFQlT7D8TOx7ZzYv/B/eZha3fdbDhzDljFPcXV1GUqKzuH8uSScPhWBlDhfxJ88JqHD0aEHERN+GAlRJ5Ca6I8zGVHIz03DpYv5uqR2XTvHGQ6pye90KGU2HVIW2jwYJck/atPoBuM+7l+NfNhMVtT1Q+s9B7rG6pc/AjRcMlkIA8no7MnEjKTqw77/vbj6HNk5C7V1Bt9ffm9vbg9+dopzc7vXVbvhCFwqzQfTZs2d8J3kAqA/3ny3btAeWtokK4zhvV3fG0agCzgNY9GpPjHY7tyZ00iMjUFCTDRiT0Yg92w2ams7xtuC7jInA/dJjmi6IXWWUl1VjfzcXFSUl+N8zjkkREUhIzUV506fRkp8POKjopB/Plf8Cg3bXFRQgIulJfVOrfy95soV5OXk4FJpU1cpw/uNfWc78nJzmox7F3CMjVYnOHf2dBacLcxh2d8MNsOGYKxZX+zfthVVlQ3hyp2gmU2akJ6UjIigIJSW3FiYSWpCAqY5OiAxJga7N23E+IH9YTN0MNTDh8JmyGBYDjDDkT27BRCGD18yfTp2bViPyvKGPAHBvr6YYGmBED9fuTw6LAwxETpvAsP7Db/TkBrk443pTg6orGjsad0FHMPR6gTf+cJ8jh/DD+/9C0umT8PWVSuxeeVy8KUb5goz1dziCxeQEBODkuKGHHCmru3I88f378PSmTOQndV4R4bWPsPr0CF88/Y/pa+hfn7YsHSJgOXfL76A5bNnYuPSpYgJD28yDqRC373zNsb264uCPJ1z7ZXqariMtcArD/4Zx/bp0kWtW7QQaxfrUhW3pk3rly7Gjx+8h6oqXa4K5Z4u4Cgj0YmOfOHbVq+C3YhhTVgShjEo4CEoFApElqKkqKieTQnQeGFM394CuNLipkknyL7kntXlwCZQWY9iIiQ7SFaRhc8ru6SL4KyqqsLpjAyUXWoImScrxFJZXiF15J3PxemMdJSXleF6XdA+79enAryedZB9ulxWhrKLuvoZm7R3yxYM+eF7YdekYgCbV6zA6N49UVOjizpVzusfj+7ZLQtN7/98gtREXWRpqK8f+vznE3zyMp1XdVGwp9PTpX2MYGW/2T+Om9IPpU5SmLTEREx3coL9qBHiTc9xzDlzBnw/XcBRRqoTHQmCOW6uMO/TCynxccjOykJRYaG8vHNnzgjLdnTvHiyePhV7N2/GqaQkbF+zGpPt1IgMCZGekK377t23MW7gACybNRNhAbrEiwRFRFAgPGytMXviRJwMDsaZzAxsW7Na5IPKinL4eXoiO5NhDTUI0GrheeggLpaUYMe6tZg5wQWbVizDhUJdWMSJA/txcMd2LJ42VaiEz/HjiAoLQ/758/A5dhSHd+3EstkzhXKwDyx85gwXZ6lr4dQpOLJ7t4QusN+r5s8TtqyqUscaEVTTnRzhbj2+CbukvDJO/mlOjvBQ22DgN18j2NdHJvdMF2dYDRyAsf37wevQQVlwtEePIDkuFhkpKdi3dQsO7NiO6c5O2L99G67WATMlIQHLZ8/CJFsbDPruG1l8cs9lY9HUKXC3scK6xYu6gKMMfmc6ll++LCzG12++Dmfz0XA0Hy0vubq6Cr4njuPLN16D5YD+mO7siIHffg2rQQMx38MD3d5/DzNdXFBaVIw5rq4Y/N232LtlE1zGjsG4Af1x/tw5pCTEy2cPWxvMnOAM9fBhOLRzBwZ99638lnkqDQO//QaaI4dRmJ8nk27nhvXYsW4dhv34A1bNmyv1bl65QlbpUb164PPXXoF5n96ICA4SmWzR1KkCYLOvvsDQH76Hu401+JlsWHpyMqwGD5RFod8Xn8m9ezbpksIX5uXJxJw4viELz4WCAtiPHIFlM2cIGIy9p/ycHAzv/qMAfqqDPQiOUH8/uFmNw+5NG+BhYwUCnP2xGjwIO9evE7B//NKLcBwzGqN79xKAkBqdyciA7fChct2CyZNg3rs3vI8ewZ5NG9H388+wZMY0kTm7KI6xN/Ezn+Pqbj1kMCz69cFcd1fMdXOD7/HjMlE3LFuKnh9/hPCAANE8DfzuG0y2s8PVq1exZuECWZ0JDvtRIwV87EpmaqpMvk3Ll2PtooUyUWqu1CAxOhqOo0eJQL1gymT4eXni0K6d+Py1f2DH+nXw13jJJE+Ki0OvTz+G3cgR2LZmDYb92A1uVlY4f+4sRvbojsn2diDYuTUJQbxz3Tqc2L9fQO158IC0k9fs27IZG5YsxogeP8kIkyJR+C8p0m2yRRbPvG8vcPIrJTc7GwO+/grb162VPirn9Y+sp//XX4rWjdRgxZzZcBg9CuxveGCA9EFz+BCSYmMwYZyljCUpCqkJ2dWosFBRQPh7qHRIRAAABVlJREFUeWLj0iWiiKmurBRtnkW/vgj28cb2tWsxqldPZKWfkqjeLuDov4FO8jknOxtj+vWB97GmO0tPtldj4rixoOqVqyNXQe9julwBZL9crcejpKhY2CBSFBZSmsm2tpjn4Y4Zzk5ws9L5qiXFxsLZYoywMXs3bxKWZbqjg7BxpBL8bdemDTiVnAzKDm7W4+X+OW4TEervj6TYOIwfNEC0aHwO2UjroYOlPavmz5XnUC7IOnVKgEvFAQFF9vFkUJAoPpzGmNeritOSEjH0xx9ECaC8iqxTafj6zTfAe5lsw1gh+zjZzhYlFy7gxIED+PHD99H9ow9AlistKUkWCo4lFS5uNtbCUk62tYGHjbVUR8WBhVlfYUmp0du1cYOcjwkPE8UAAZeXm4sxfXoJRSVl6gKOsTfxM5+LO3kS/b/6QlbLK1euoLqqClVVlUJxyHYtnzNL+H3KLUO7fS9sCZtMte1s1wm4WFoK22FDRbbh+QPbt8t38vkznB2Fd+d5ThiyehkpyXLNJy+9CLInFK6poRrVozuonUtNiJf2xNapcSkcU5lwZM8emZTJcbr9cqgFG9OnN6LDwzBroosAj5QtUKPB4O++wYmDB0S4thsxXCYkWTCyVEqhtows44Ht25RTiI08iW/ffgsRgQH15/Q/kNKR2lDrSFmHIP/pw/cxw8VJxi0uMgoje3aXRYjs5YRxY4UyTbAcK21kXZQPyVIGaDRwsbDAlpW6HHUngwLR57P/gCpyjgPtaGQz+dcFHP230Ek+03bw9T/fEGGUq9+21atFeOfEtRk6RPhzaoQoG/AlcuJS6Ke9hy+d2rYxffuIsoDgMu/dS5QN1BStnj9P5AtfzxNwGDUSHtbWkmnH6+BBfPvO24gIDhZlBOUoCuosl0pLhG2ksE3FwtbVq8QwuXLeHIzu1UOUE7xu75bNGNH9J7HBcOWe5uQg9x8UGeobRIaGwM/zBMaa9ROlAQ2c+oWyhNmXXwg143n2kaye2ZefIyO1YUc9/XuCfXyE5QqrAxblpElqW2GveF1kSChG9uwBn2PHsGTGdEwYa4G4yJMiS7EfLGRfxw3sD967fNZMkeUIaLK+pKDJsbGYP2mS1EFFC/vYBRz9t9BJPhMIrlbjYDdyOBxGjRLZgpPc88B+rF24AElxuj09NUeOiKBLbdXlS5ewfsliYUPIt1MV/cnfX8Twn7ph+ezZyM/RpW46dzpL2Jru//5AZAla5Fk4mVbMmSNyBIXo+ZPc69W6/J1GQwrN3f/9oSgrcs5m49i+faDMRQGexff4MWnfmYx00fZRGcAS6ucrk5PtpPGyx8cfYfbECfA6fEhYTrkIQERgoCwWVJWzUG4L0GpEw0UqaqwQWAQ4Jz0LNXPpqSn1Ku6stFOyWND7ggqCA9u2iexCQ2l8lG5H72P792HrGt2Odvm5OZjjOlHASmqzbe0a0ShSbhJFzOCBoqHsAo6xt/Ezn6OdhqwQJ0F53R/tHbQ1UGglS8JCNq6mulo2qOI52lm4SnOycQWl/aO4sLCJUH2xuBjpKclN7DFURbOQelWUX65/jpwEUFRYINSNNhpmvqG6mpNbKfzOP9qAyF4q6l22m+2joL9oymTRBpLd7PPZp5jr7qbcLtez3/qFfZRzJuQb/mZog9G//1rtNV1brl6V+tkm9o/sJu1GHC9+5p9S2PaMtFSkJibKO+D56upqsWGRSvKeLuAoo/VfdCR7R6GbvHlnKhTOqZGjepvaKecx5nA0H9WZmtjqtnQBp9VD9cu5kCpZaowUlqeztJyC/Mr5c9Hrk4/R+9NPMH7gACgKh87Sxta24/8Bex1u18bU00wAAAAASUVORK5CYII="
7 | }
8 | },
9 | "cell_type": "markdown",
10 | "metadata": {},
11 | "source": [
12 | "\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 | ""
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 | " ImageID | \n",
141 | " Source | \n",
142 | " LabelName | \n",
143 | " Confidence | \n",
144 | " XMin | \n",
145 | " XMax | \n",
146 | " YMin | \n",
147 | " YMax | \n",
148 | " IsOccluded | \n",
149 | " IsTruncated | \n",
150 | " IsGroupOf | \n",
151 | " IsDepiction | \n",
152 | " IsInside | \n",
153 | "
\n",
154 | " \n",
155 | " \n",
156 | " \n",
157 | " | 0 | \n",
158 | " 000002b66c9c498e | \n",
159 | " xclick | \n",
160 | " /m/01g317 | \n",
161 | " 1 | \n",
162 | " 0.012500 | \n",
163 | " 0.195312 | \n",
164 | " 0.148438 | \n",
165 | " 0.587500 | \n",
166 | " 0 | \n",
167 | " 1 | \n",
168 | " 0 | \n",
169 | " 0 | \n",
170 | " 0 | \n",
171 | "
\n",
172 | " \n",
173 | " | 1 | \n",
174 | " 000002b66c9c498e | \n",
175 | " xclick | \n",
176 | " /m/01g317 | \n",
177 | " 1 | \n",
178 | " 0.025000 | \n",
179 | " 0.276563 | \n",
180 | " 0.714063 | \n",
181 | " 0.948438 | \n",
182 | " 0 | \n",
183 | " 1 | \n",
184 | " 0 | \n",
185 | " 0 | \n",
186 | " 0 | \n",
187 | "
\n",
188 | " \n",
189 | " | 2 | \n",
190 | " 000002b66c9c498e | \n",
191 | " xclick | \n",
192 | " /m/01g317 | \n",
193 | " 1 | \n",
194 | " 0.151562 | \n",
195 | " 0.310937 | \n",
196 | " 0.198437 | \n",
197 | " 0.590625 | \n",
198 | " 1 | \n",
199 | " 0 | \n",
200 | " 0 | \n",
201 | " 0 | \n",
202 | " 0 | \n",
203 | "
\n",
204 | " \n",
205 | " | 3 | \n",
206 | " 000002b66c9c498e | \n",
207 | " xclick | \n",
208 | " /m/01g317 | \n",
209 | " 1 | \n",
210 | " 0.256250 | \n",
211 | " 0.429688 | \n",
212 | " 0.651563 | \n",
213 | " 0.925000 | \n",
214 | " 1 | \n",
215 | " 0 | \n",
216 | " 0 | \n",
217 | " 0 | \n",
218 | " 0 | \n",
219 | "
\n",
220 | " \n",
221 | " | 4 | \n",
222 | " 000002b66c9c498e | \n",
223 | " xclick | \n",
224 | " /m/01g317 | \n",
225 | " 1 | \n",
226 | " 0.257812 | \n",
227 | " 0.346875 | \n",
228 | " 0.235938 | \n",
229 | " 0.385938 | \n",
230 | " 1 | \n",
231 | " 0 | \n",
232 | " 0 | \n",
233 | " 0 | \n",
234 | " 0 | \n",
235 | "
\n",
236 | " \n",
237 | "
\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 | " 0 | \n",
311 | " 1 | \n",
312 | "
\n",
313 | " \n",
314 | " \n",
315 | " \n",
316 | " | 0 | \n",
317 | " /m/011k07 | \n",
318 | " Tortoise | \n",
319 | "
\n",
320 | " \n",
321 | " | 1 | \n",
322 | " /m/011q46kg | \n",
323 | " Container | \n",
324 | "
\n",
325 | " \n",
326 | " | 2 | \n",
327 | " /m/012074 | \n",
328 | " Magpie | \n",
329 | "
\n",
330 | " \n",
331 | " | 3 | \n",
332 | " /m/0120dh | \n",
333 | " Sea turtle | \n",
334 | "
\n",
335 | " \n",
336 | " | 4 | \n",
337 | " /m/01226z | \n",
338 | " Football | \n",
339 | "
\n",
340 | " \n",
341 | "
\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 | " 0 | \n",
411 | " 1 | \n",
412 | "
\n",
413 | " \n",
414 | " \n",
415 | " \n",
416 | " | 480 | \n",
417 | " /m/0cyhj_ | \n",
418 | " Orange | \n",
419 | "
\n",
420 | " \n",
421 | "
\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 | " 0 | \n",
467 | " 1 | \n",
468 | "
\n",
469 | " \n",
470 | " \n",
471 | " \n",
472 | " | 239 | \n",
473 | " /m/03jbxj | \n",
474 | " Light switch | \n",
475 | "
\n",
476 | " \n",
477 | "
\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 | " ImageID | \n",
521 | " Source | \n",
522 | " LabelName | \n",
523 | " Confidence | \n",
524 | " XMin | \n",
525 | " XMax | \n",
526 | " YMin | \n",
527 | " YMax | \n",
528 | " IsOccluded | \n",
529 | " IsTruncated | \n",
530 | " IsGroupOf | \n",
531 | " IsDepiction | \n",
532 | " IsInside | \n",
533 | "
\n",
534 | " \n",
535 | " \n",
536 | " \n",
537 | " | 17305 | \n",
538 | " 000d9c59687b509b | \n",
539 | " xclick | \n",
540 | " /m/014j1m | \n",
541 | " 1 | \n",
542 | " 0.000000 | \n",
543 | " 0.378125 | \n",
544 | " 0.000000 | \n",
545 | " 0.379167 | \n",
546 | " 1 | \n",
547 | " 1 | \n",
548 | " 1 | \n",
549 | " 0 | \n",
550 | " 0 | \n",
551 | "
\n",
552 | " \n",
553 | " | 17306 | \n",
554 | " 000d9c59687b509b | \n",
555 | " xclick | \n",
556 | " /m/014j1m | \n",
557 | " 1 | \n",
558 | " 0.280000 | \n",
559 | " 0.872500 | \n",
560 | " 0.379167 | \n",
561 | " 0.865000 | \n",
562 | " 1 | \n",
563 | " 0 | \n",
564 | " 1 | \n",
565 | " 0 | \n",
566 | " 0 | \n",
567 | "
\n",
568 | " \n",
569 | " | 17307 | \n",
570 | " 000d9c59687b509b | \n",
571 | " xclick | \n",
572 | " /m/014j1m | \n",
573 | " 1 | \n",
574 | " 0.346875 | \n",
575 | " 0.385625 | \n",
576 | " 0.483333 | \n",
577 | " 0.535833 | \n",
578 | " 1 | \n",
579 | " 0 | \n",
580 | " 0 | \n",
581 | " 0 | \n",
582 | " 0 | \n",
583 | "
\n",
584 | " \n",
585 | " | 27662 | \n",
586 | " 0018c49a9ed3c640 | \n",
587 | " xclick | \n",
588 | " /m/014j1m | \n",
589 | " 1 | \n",
590 | " 0.144375 | \n",
591 | " 0.520000 | \n",
592 | " 0.000000 | \n",
593 | " 0.229539 | \n",
594 | " 1 | \n",
595 | " 1 | \n",
596 | " 1 | \n",
597 | " 0 | \n",
598 | " 0 | \n",
599 | "
\n",
600 | " \n",
601 | " | 27663 | \n",
602 | " 0018c49a9ed3c640 | \n",
603 | " xclick | \n",
604 | " /m/014j1m | \n",
605 | " 1 | \n",
606 | " 0.173750 | \n",
607 | " 0.831250 | \n",
608 | " 0.400753 | \n",
609 | " 0.929445 | \n",
610 | " 1 | \n",
611 | " 0 | \n",
612 | " 1 | \n",
613 | " 0 | \n",
614 | " 0 | \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 | " | 1027737 | \n",
634 | " 0eeeec32799af3da | \n",
635 | " xclick | \n",
636 | " /m/014j1m | \n",
637 | " 1 | \n",
638 | " 0.000000 | \n",
639 | " 0.705625 | \n",
640 | " 0.205833 | \n",
641 | " 0.999167 | \n",
642 | " 0 | \n",
643 | " 1 | \n",
644 | " 0 | \n",
645 | " 0 | \n",
646 | " 0 | \n",
647 | "
\n",
648 | " \n",
649 | " | 1027738 | \n",
650 | " 0eeeec32799af3da | \n",
651 | " xclick | \n",
652 | " /m/014j1m | \n",
653 | " 1 | \n",
654 | " 0.648750 | \n",
655 | " 0.999375 | \n",
656 | " 0.132500 | \n",
657 | " 0.980000 | \n",
658 | " 1 | \n",
659 | " 1 | \n",
660 | " 0 | \n",
661 | " 0 | \n",
662 | " 0 | \n",
663 | "
\n",
664 | " \n",
665 | " | 1028735 | \n",
666 | " 0ef341dfb802eff1 | \n",
667 | " activemil | \n",
668 | " /m/014j1m | \n",
669 | " 1 | \n",
670 | " 0.301875 | \n",
671 | " 0.394375 | \n",
672 | " 0.694167 | \n",
673 | " 0.787500 | \n",
674 | " -1 | \n",
675 | " -1 | \n",
676 | " -1 | \n",
677 | " -1 | \n",
678 | " -1 | \n",
679 | "
\n",
680 | " \n",
681 | " | 1028736 | \n",
682 | " 0ef341dfb802eff1 | \n",
683 | " xclick | \n",
684 | " /m/014j1m | \n",
685 | " 1 | \n",
686 | " 0.000000 | \n",
687 | " 0.999375 | \n",
688 | " 0.209167 | \n",
689 | " 0.810000 | \n",
690 | " 1 | \n",
691 | " 1 | \n",
692 | " 1 | \n",
693 | " 0 | \n",
694 | " 0 | \n",
695 | "
\n",
696 | " \n",
697 | " | 1028737 | \n",
698 | " 0ef341dfb802eff1 | \n",
699 | " xclick | \n",
700 | " /m/014j1m | \n",
701 | " 1 | \n",
702 | " 0.190625 | \n",
703 | " 0.271250 | \n",
704 | " 0.675833 | \n",
705 | " 0.778333 | \n",
706 | " 1 | \n",
707 | " 0 | \n",
708 | " 0 | \n",
709 | " 0 | \n",
710 | " 0 | \n",
711 | "
\n",
712 | " \n",
713 | "
\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 | ""
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 | " ImageID | \n",
867 | " Source | \n",
868 | " LabelName | \n",
869 | " Confidence | \n",
870 | " XMin | \n",
871 | " XMax | \n",
872 | " YMin | \n",
873 | " YMax | \n",
874 | " IsOccluded | \n",
875 | " IsTruncated | \n",
876 | " IsGroupOf | \n",
877 | " IsDepiction | \n",
878 | " IsInside | \n",
879 | "
\n",
880 | " \n",
881 | " \n",
882 | " \n",
883 | " | 17305 | \n",
884 | " 000d9c59687b509b | \n",
885 | " xclick | \n",
886 | " /m/014j1m | \n",
887 | " 1 | \n",
888 | " 0.000000 | \n",
889 | " 0.378125 | \n",
890 | " 0.000000 | \n",
891 | " 0.379167 | \n",
892 | " 1 | \n",
893 | " 1 | \n",
894 | " 1 | \n",
895 | " 0 | \n",
896 | " 0 | \n",
897 | "
\n",
898 | " \n",
899 | " | 17306 | \n",
900 | " 000d9c59687b509b | \n",
901 | " xclick | \n",
902 | " /m/014j1m | \n",
903 | " 1 | \n",
904 | " 0.280000 | \n",
905 | " 0.872500 | \n",
906 | " 0.379167 | \n",
907 | " 0.865000 | \n",
908 | " 1 | \n",
909 | " 0 | \n",
910 | " 1 | \n",
911 | " 0 | \n",
912 | " 0 | \n",
913 | "
\n",
914 | " \n",
915 | " | 17307 | \n",
916 | " 000d9c59687b509b | \n",
917 | " xclick | \n",
918 | " /m/014j1m | \n",
919 | " 1 | \n",
920 | " 0.346875 | \n",
921 | " 0.385625 | \n",
922 | " 0.483333 | \n",
923 | " 0.535833 | \n",
924 | " 1 | \n",
925 | " 0 | \n",
926 | " 0 | \n",
927 | " 0 | \n",
928 | " 0 | \n",
929 | "
\n",
930 | " \n",
931 | " | 27662 | \n",
932 | " 0018c49a9ed3c640 | \n",
933 | " xclick | \n",
934 | " /m/014j1m | \n",
935 | " 1 | \n",
936 | " 0.144375 | \n",
937 | " 0.520000 | \n",
938 | " 0.000000 | \n",
939 | " 0.229539 | \n",
940 | " 1 | \n",
941 | " 1 | \n",
942 | " 1 | \n",
943 | " 0 | \n",
944 | " 0 | \n",
945 | "
\n",
946 | " \n",
947 | " | 27663 | \n",
948 | " 0018c49a9ed3c640 | \n",
949 | " xclick | \n",
950 | " /m/014j1m | \n",
951 | " 1 | \n",
952 | " 0.173750 | \n",
953 | " 0.831250 | \n",
954 | " 0.400753 | \n",
955 | " 0.929445 | \n",
956 | " 1 | \n",
957 | " 0 | \n",
958 | " 1 | \n",
959 | " 0 | \n",
960 | " 0 | \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 | " | 813005 | \n",
980 | " 0b6612de14c7f1a7 | \n",
981 | " xclick | \n",
982 | " /m/03jbxj | \n",
983 | " 1 | \n",
984 | " 0.718099 | \n",
985 | " 0.940755 | \n",
986 | " 0.561198 | \n",
987 | " 0.711589 | \n",
988 | " 0 | \n",
989 | " 0 | \n",
990 | " 0 | \n",
991 | " 0 | \n",
992 | " 0 | \n",
993 | "
\n",
994 | " \n",
995 | " | 880534 | \n",
996 | " 0c849a25ca3b6314 | \n",
997 | " xclick | \n",
998 | " /m/03jbxj | \n",
999 | " 1 | \n",
1000 | " 0.140625 | \n",
1001 | " 0.876250 | \n",
1002 | " 0.174167 | \n",
1003 | " 0.756667 | \n",
1004 | " 1 | \n",
1005 | " 0 | \n",
1006 | " 0 | \n",
1007 | " 0 | \n",
1008 | " 0 | \n",
1009 | "
\n",
1010 | " \n",
1011 | " | 930387 | \n",
1012 | " 0d54617f41cfd271 | \n",
1013 | " xclick | \n",
1014 | " /m/03jbxj | \n",
1015 | " 1 | \n",
1016 | " 0.169375 | \n",
1017 | " 0.767500 | \n",
1018 | " 0.021667 | \n",
1019 | " 0.936667 | \n",
1020 | " 0 | \n",
1021 | " 0 | \n",
1022 | " 0 | \n",
1023 | " 0 | \n",
1024 | " 0 | \n",
1025 | "
\n",
1026 | " \n",
1027 | " | 989527 | \n",
1028 | " 0e4e3d5f2abb7fe4 | \n",
1029 | " xclick | \n",
1030 | " /m/03jbxj | \n",
1031 | " 1 | \n",
1032 | " 0.477500 | \n",
1033 | " 0.693750 | \n",
1034 | " 0.181111 | \n",
1035 | " 0.824444 | \n",
1036 | " 0 | \n",
1037 | " 0 | \n",
1038 | " 0 | \n",
1039 | " 0 | \n",
1040 | " 0 | \n",
1041 | "
\n",
1042 | " \n",
1043 | " | 989528 | \n",
1044 | " 0e4e3d5f2abb7fe4 | \n",
1045 | " xclick | \n",
1046 | " /m/03jbxj | \n",
1047 | " 1 | \n",
1048 | " 0.709375 | \n",
1049 | " 0.946875 | \n",
1050 | " 0.196667 | \n",
1051 | " 0.817778 | \n",
1052 | " 0 | \n",
1053 | " 0 | \n",
1054 | " 0 | \n",
1055 | " 0 | \n",
1056 | " 0 | \n",
1057 | "
\n",
1058 | " \n",
1059 | "
\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 | ""
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 | " ImageID | \n",
1187 | " Source | \n",
1188 | " LabelName | \n",
1189 | " Confidence | \n",
1190 | " XMin | \n",
1191 | " XMax | \n",
1192 | " YMin | \n",
1193 | " YMax | \n",
1194 | " IsOccluded | \n",
1195 | " IsTruncated | \n",
1196 | " IsGroupOf | \n",
1197 | " IsDepiction | \n",
1198 | " IsInside | \n",
1199 | " ClassName | \n",
1200 | "
\n",
1201 | " \n",
1202 | " \n",
1203 | " \n",
1204 | " | 17305 | \n",
1205 | " 000d9c59687b509b | \n",
1206 | " xclick | \n",
1207 | " /m/014j1m | \n",
1208 | " 1 | \n",
1209 | " 0.000000 | \n",
1210 | " 0.378125 | \n",
1211 | " 0.000000 | \n",
1212 | " 0.379167 | \n",
1213 | " 1 | \n",
1214 | " 1 | \n",
1215 | " 1 | \n",
1216 | " 0 | \n",
1217 | " 0 | \n",
1218 | " Apple | \n",
1219 | "
\n",
1220 | " \n",
1221 | " | 17306 | \n",
1222 | " 000d9c59687b509b | \n",
1223 | " xclick | \n",
1224 | " /m/014j1m | \n",
1225 | " 1 | \n",
1226 | " 0.280000 | \n",
1227 | " 0.872500 | \n",
1228 | " 0.379167 | \n",
1229 | " 0.865000 | \n",
1230 | " 1 | \n",
1231 | " 0 | \n",
1232 | " 1 | \n",
1233 | " 0 | \n",
1234 | " 0 | \n",
1235 | " Apple | \n",
1236 | "
\n",
1237 | " \n",
1238 | " | 17307 | \n",
1239 | " 000d9c59687b509b | \n",
1240 | " xclick | \n",
1241 | " /m/014j1m | \n",
1242 | " 1 | \n",
1243 | " 0.346875 | \n",
1244 | " 0.385625 | \n",
1245 | " 0.483333 | \n",
1246 | " 0.535833 | \n",
1247 | " 1 | \n",
1248 | " 0 | \n",
1249 | " 0 | \n",
1250 | " 0 | \n",
1251 | " 0 | \n",
1252 | " Apple | \n",
1253 | "
\n",
1254 | " \n",
1255 | " | 27662 | \n",
1256 | " 0018c49a9ed3c640 | \n",
1257 | " xclick | \n",
1258 | " /m/014j1m | \n",
1259 | " 1 | \n",
1260 | " 0.144375 | \n",
1261 | " 0.520000 | \n",
1262 | " 0.000000 | \n",
1263 | " 0.229539 | \n",
1264 | " 1 | \n",
1265 | " 1 | \n",
1266 | " 1 | \n",
1267 | " 0 | \n",
1268 | " 0 | \n",
1269 | " Apple | \n",
1270 | "
\n",
1271 | " \n",
1272 | " | 27663 | \n",
1273 | " 0018c49a9ed3c640 | \n",
1274 | " xclick | \n",
1275 | " /m/014j1m | \n",
1276 | " 1 | \n",
1277 | " 0.173750 | \n",
1278 | " 0.831250 | \n",
1279 | " 0.400753 | \n",
1280 | " 0.929445 | \n",
1281 | " 1 | \n",
1282 | " 0 | \n",
1283 | " 1 | \n",
1284 | " 0 | \n",
1285 | " 0 | \n",
1286 | " Apple | \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 | " | 813005 | \n",
1307 | " 0b6612de14c7f1a7 | \n",
1308 | " xclick | \n",
1309 | " /m/03jbxj | \n",
1310 | " 1 | \n",
1311 | " 0.718099 | \n",
1312 | " 0.940755 | \n",
1313 | " 0.561198 | \n",
1314 | " 0.711589 | \n",
1315 | " 0 | \n",
1316 | " 0 | \n",
1317 | " 0 | \n",
1318 | " 0 | \n",
1319 | " 0 | \n",
1320 | " Light Switch | \n",
1321 | "
\n",
1322 | " \n",
1323 | " | 880534 | \n",
1324 | " 0c849a25ca3b6314 | \n",
1325 | " xclick | \n",
1326 | " /m/03jbxj | \n",
1327 | " 1 | \n",
1328 | " 0.140625 | \n",
1329 | " 0.876250 | \n",
1330 | " 0.174167 | \n",
1331 | " 0.756667 | \n",
1332 | " 1 | \n",
1333 | " 0 | \n",
1334 | " 0 | \n",
1335 | " 0 | \n",
1336 | " 0 | \n",
1337 | " Light Switch | \n",
1338 | "
\n",
1339 | " \n",
1340 | " | 930387 | \n",
1341 | " 0d54617f41cfd271 | \n",
1342 | " xclick | \n",
1343 | " /m/03jbxj | \n",
1344 | " 1 | \n",
1345 | " 0.169375 | \n",
1346 | " 0.767500 | \n",
1347 | " 0.021667 | \n",
1348 | " 0.936667 | \n",
1349 | " 0 | \n",
1350 | " 0 | \n",
1351 | " 0 | \n",
1352 | " 0 | \n",
1353 | " 0 | \n",
1354 | " Light Switch | \n",
1355 | "
\n",
1356 | " \n",
1357 | " | 989527 | \n",
1358 | " 0e4e3d5f2abb7fe4 | \n",
1359 | " xclick | \n",
1360 | " /m/03jbxj | \n",
1361 | " 1 | \n",
1362 | " 0.477500 | \n",
1363 | " 0.693750 | \n",
1364 | " 0.181111 | \n",
1365 | " 0.824444 | \n",
1366 | " 0 | \n",
1367 | " 0 | \n",
1368 | " 0 | \n",
1369 | " 0 | \n",
1370 | " 0 | \n",
1371 | " Light Switch | \n",
1372 | "
\n",
1373 | " \n",
1374 | " | 989528 | \n",
1375 | " 0e4e3d5f2abb7fe4 | \n",
1376 | " xclick | \n",
1377 | " /m/03jbxj | \n",
1378 | " 1 | \n",
1379 | " 0.709375 | \n",
1380 | " 0.946875 | \n",
1381 | " 0.196667 | \n",
1382 | " 0.817778 | \n",
1383 | " 0 | \n",
1384 | " 0 | \n",
1385 | " 0 | \n",
1386 | " 0 | \n",
1387 | " 0 | \n",
1388 | " Light Switch | \n",
1389 | "
\n",
1390 | " \n",
1391 | "
\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 | " ImageID | \n",
1487 | " XMin | \n",
1488 | " XMax | \n",
1489 | " YMin | \n",
1490 | " YMax | \n",
1491 | " ClassName | \n",
1492 | "
\n",
1493 | " \n",
1494 | " \n",
1495 | " \n",
1496 | " | 17305 | \n",
1497 | " 000d9c59687b509b | \n",
1498 | " 0.000000 | \n",
1499 | " 0.378125 | \n",
1500 | " 0.000000 | \n",
1501 | " 0.379167 | \n",
1502 | " Apple | \n",
1503 | "
\n",
1504 | " \n",
1505 | " | 17306 | \n",
1506 | " 000d9c59687b509b | \n",
1507 | " 0.280000 | \n",
1508 | " 0.872500 | \n",
1509 | " 0.379167 | \n",
1510 | " 0.865000 | \n",
1511 | " Apple | \n",
1512 | "
\n",
1513 | " \n",
1514 | " | 17307 | \n",
1515 | " 000d9c59687b509b | \n",
1516 | " 0.346875 | \n",
1517 | " 0.385625 | \n",
1518 | " 0.483333 | \n",
1519 | " 0.535833 | \n",
1520 | " Apple | \n",
1521 | "
\n",
1522 | " \n",
1523 | " | 27662 | \n",
1524 | " 0018c49a9ed3c640 | \n",
1525 | " 0.144375 | \n",
1526 | " 0.520000 | \n",
1527 | " 0.000000 | \n",
1528 | " 0.229539 | \n",
1529 | " Apple | \n",
1530 | "
\n",
1531 | " \n",
1532 | " | 27663 | \n",
1533 | " 0018c49a9ed3c640 | \n",
1534 | " 0.173750 | \n",
1535 | " 0.831250 | \n",
1536 | " 0.400753 | \n",
1537 | " 0.929445 | \n",
1538 | " Apple | \n",
1539 | "
\n",
1540 | " \n",
1541 | " | ... | \n",
1542 | " ... | \n",
1543 | " ... | \n",
1544 | " ... | \n",
1545 | " ... | \n",
1546 | " ... | \n",
1547 | " ... | \n",
1548 | "
\n",
1549 | " \n",
1550 | " | 813005 | \n",
1551 | " 0b6612de14c7f1a7 | \n",
1552 | " 0.718099 | \n",
1553 | " 0.940755 | \n",
1554 | " 0.561198 | \n",
1555 | " 0.711589 | \n",
1556 | " Light Switch | \n",
1557 | "
\n",
1558 | " \n",
1559 | " | 880534 | \n",
1560 | " 0c849a25ca3b6314 | \n",
1561 | " 0.140625 | \n",
1562 | " 0.876250 | \n",
1563 | " 0.174167 | \n",
1564 | " 0.756667 | \n",
1565 | " Light Switch | \n",
1566 | "
\n",
1567 | " \n",
1568 | " | 930387 | \n",
1569 | " 0d54617f41cfd271 | \n",
1570 | " 0.169375 | \n",
1571 | " 0.767500 | \n",
1572 | " 0.021667 | \n",
1573 | " 0.936667 | \n",
1574 | " Light Switch | \n",
1575 | "
\n",
1576 | " \n",
1577 | " | 989527 | \n",
1578 | " 0e4e3d5f2abb7fe4 | \n",
1579 | " 0.477500 | \n",
1580 | " 0.693750 | \n",
1581 | " 0.181111 | \n",
1582 | " 0.824444 | \n",
1583 | " Light Switch | \n",
1584 | "
\n",
1585 | " \n",
1586 | " | 989528 | \n",
1587 | " 0e4e3d5f2abb7fe4 | \n",
1588 | " 0.709375 | \n",
1589 | " 0.946875 | \n",
1590 | " 0.196667 | \n",
1591 | " 0.817778 | \n",
1592 | " Light Switch | \n",
1593 | "
\n",
1594 | " \n",
1595 | "
\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 | ""
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 | " ImageID | \n",
1666 | " XMin | \n",
1667 | " XMax | \n",
1668 | " YMin | \n",
1669 | " YMax | \n",
1670 | " ClassName | \n",
1671 | "
\n",
1672 | " \n",
1673 | " \n",
1674 | " \n",
1675 | " | 17305 | \n",
1676 | " 000d9c59687b509b.jpg | \n",
1677 | " 0.000000 | \n",
1678 | " 0.378125 | \n",
1679 | " 0.000000 | \n",
1680 | " 0.379167 | \n",
1681 | " Apple | \n",
1682 | "
\n",
1683 | " \n",
1684 | " | 17306 | \n",
1685 | " 000d9c59687b509b.jpg | \n",
1686 | " 0.280000 | \n",
1687 | " 0.872500 | \n",
1688 | " 0.379167 | \n",
1689 | " 0.865000 | \n",
1690 | " Apple | \n",
1691 | "
\n",
1692 | " \n",
1693 | " | 17307 | \n",
1694 | " 000d9c59687b509b.jpg | \n",
1695 | " 0.346875 | \n",
1696 | " 0.385625 | \n",
1697 | " 0.483333 | \n",
1698 | " 0.535833 | \n",
1699 | " Apple | \n",
1700 | "
\n",
1701 | " \n",
1702 | " | 27662 | \n",
1703 | " 0018c49a9ed3c640.jpg | \n",
1704 | " 0.144375 | \n",
1705 | " 0.520000 | \n",
1706 | " 0.000000 | \n",
1707 | " 0.229539 | \n",
1708 | " Apple | \n",
1709 | "
\n",
1710 | " \n",
1711 | " | 27663 | \n",
1712 | " 0018c49a9ed3c640.jpg | \n",
1713 | " 0.173750 | \n",
1714 | " 0.831250 | \n",
1715 | " 0.400753 | \n",
1716 | " 0.929445 | \n",
1717 | " Apple | \n",
1718 | "
\n",
1719 | " \n",
1720 | " | ... | \n",
1721 | " ... | \n",
1722 | " ... | \n",
1723 | " ... | \n",
1724 | " ... | \n",
1725 | " ... | \n",
1726 | " ... | \n",
1727 | "
\n",
1728 | " \n",
1729 | " | 813005 | \n",
1730 | " 0b6612de14c7f1a7.jpg | \n",
1731 | " 0.718099 | \n",
1732 | " 0.940755 | \n",
1733 | " 0.561198 | \n",
1734 | " 0.711589 | \n",
1735 | " Light Switch | \n",
1736 | "
\n",
1737 | " \n",
1738 | " | 880534 | \n",
1739 | " 0c849a25ca3b6314.jpg | \n",
1740 | " 0.140625 | \n",
1741 | " 0.876250 | \n",
1742 | " 0.174167 | \n",
1743 | " 0.756667 | \n",
1744 | " Light Switch | \n",
1745 | "
\n",
1746 | " \n",
1747 | " | 930387 | \n",
1748 | " 0d54617f41cfd271.jpg | \n",
1749 | " 0.169375 | \n",
1750 | " 0.767500 | \n",
1751 | " 0.021667 | \n",
1752 | " 0.936667 | \n",
1753 | " Light Switch | \n",
1754 | "
\n",
1755 | " \n",
1756 | " | 989527 | \n",
1757 | " 0e4e3d5f2abb7fe4.jpg | \n",
1758 | " 0.477500 | \n",
1759 | " 0.693750 | \n",
1760 | " 0.181111 | \n",
1761 | " 0.824444 | \n",
1762 | " Light Switch | \n",
1763 | "
\n",
1764 | " \n",
1765 | " | 989528 | \n",
1766 | " 0e4e3d5f2abb7fe4.jpg | \n",
1767 | " 0.709375 | \n",
1768 | " 0.946875 | \n",
1769 | " 0.196667 | \n",
1770 | " 0.817778 | \n",
1771 | " Light Switch | \n",
1772 | "
\n",
1773 | " \n",
1774 | "
\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 |
--------------------------------------------------------------------------------