From 1bd402a31745506e234f67f38f07fcfc7246a19e Mon Sep 17 00:00:00 2001 From: giktech Date: Thu, 27 Dec 2018 10:46:10 -0500 Subject: [PATCH 1/6] Update Readme.md Changed the USB extension download link to the latest version: 6.0.0 (For the latest VBOX version) --- week01/hw/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/week01/hw/Readme.md b/week01/hw/Readme.md index ce665b50..41d6f7c7 100644 --- a/week01/hw/Readme.md +++ b/week01/hw/Readme.md @@ -9,7 +9,7 @@ Refer to https://docs.nvidia.com/jetson/archives/jetpack-archived/jetpack-33/ind To reiterate, you will need a machine running Ubuntu 16.04 or Ubuntu 18.04. If you do not have one, you will need to create a VM running Ubuntu. #### VM Installation (if needed) -Download Virtual Box [here](https://www.virtualbox.org/wiki/Downloads) and the extension to give VMs access to your USB hubs [here](https://download.virtualbox.org/virtualbox/5.2.14/Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack). First download the Ubuntu 16.04 iso image [here](http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso). Open Virtual Box and select "New" in the upper left corner. Make sure the type and version are "Linux" and "Ubuntu 64-bit". When prompted, choose to create a virtual hard disk and VDI as the type. The size of the disk should be 55GB absolutely minimum. +Download Virtual Box [here](https://www.virtualbox.org/wiki/Downloads) and the extension to give VMs access to your USB hubs [here](https://download.virtualbox.org/virtualbox/6.0.0/Oracle_VM_VirtualBox_Extension_Pack-6.0.0.vbox-extpack). First download the Ubuntu 16.04 iso image [here](http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso). Open Virtual Box and select "New" in the upper left corner. Make sure the type and version are "Linux" and "Ubuntu 64-bit". When prompted, choose to create a virtual hard disk and VDI as the type. The size of the disk should be 55GB absolutely minimum. NOTE: if you are on Windows and are not seeing the 64-bit option for VMs, please look [here](https://forums.virtualbox.org/viewtopic.php?f=1&t=62339). Unfortunately, Docker on Windows does not currently support USB. Therefore, you can't use it, which leads you to having to install VirtualBox and disabling HyperV, per the instructions, if it was previously enabled. From 90e778aeba21de83ca45401b298566a612f9cb9f Mon Sep 17 00:00:00 2001 From: gitech Date: Mon, 18 Feb 2019 23:10:18 -0500 Subject: [PATCH 2/6] Copied readme to readme1 for modification --- week01/.DS_Store | Bin 6148 -> 10244 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/week01/.DS_Store b/week01/.DS_Store index 4ed1c6585fb99db3a90eabed4918d7065c122d74..0257bd5cb78be4dfcca6559fb0036d2f430dea89 100644 GIT binary patch literal 10244 zcmeHMTW}Ob6umbIFg@WhL?AnxELjMF02|1QED*rWgGUM!B!PsNVIKobx!Dany9p4W zqUfK1;1{6fi&7DOq>2wk%g2YJ_yHCrLY02_D$5@&EiL^KZ+FkGuxuY0!&&?H%4^~hlf;-%ztwAx`5@FAHLYZI^<~V@2~cG>+2f!>|siA zMa{yt%{@DJ4eZ{t_lR6G+HnKMWZB?o+5l0juSG5{uP42@Pt%KItkAW1+>)i;nwGMR z)kZX!H2aL!VA8Ok!EZ-7!9Xru+bEawwt>Qt1D^j zNb=fxE1pQUh=E-u&EvvhvERT7P5U(x}m6G*-mM zb@rK-8HyTf`prmk+q$3?HewMowsk#ODV8+1m_~w)MIY;k1$&H3+UPN(CKS6|U8#_{ zJ!K|$YUPR|pH=Fb$h0%c#t41oeenpN84(&+scW*LY~cMZ34==6%_>~em=;tzEc#;k zh#AbsG>dgSL_e9FI-AufT7<2M217sKy{DgoERV>6}^x`Be z$0;}+Yq1XJU;{Q{D=x;RxD4;dPVB<#;w8IIgQrlEQT3{>( z(uTy@bMOkhMi~1TF2iSpukQ$3zrycWfTM8&y08RG(SuX55@+B{^bxZBI1lFwbS)9+ zdH~yT4X!1OZN?Br(7-Ji$L(lg5>vRBkoJf`+I~EUPv9XujK{K2wls||De-t3Wqs|5 zSTr8nN^OqFe2792LRr!O1Zl31{`ROlEdJN~=TOYAue1a4Lm$gtJGED=fc-`kFQEqg}V#?;ypFBsxHHT@IcWK1A22#YAAM1Xf4zA+|(c<49gINaNAk5p;-nS!GK=aNAz$24#F`w4yWKW zyg}q}j>zF7xCmFteZS?j06)Voa19kAhe8~QI!+eUP)&}z2m{!J&A1#_;c9Z+4%|ef zz+HAL_TmoQg#)-7AHxH}S&!gRqKBvP6rRDi@NIkt-^KHI0WXrv(UqZz6|$W!@ha8+ z#A%u+*5$&fyLGWjnM#ga;vdK9jZ8rq%Yq@9;+Dzb21*gp-Cd%3hJvwV5QP(kHsX>_ z$SCu=-8NJ3=9CI*<`GlK0I$w))5xHr<;zFURz>Eb4HHeZUTxs1jaDGF^VCM3#Aw6C zlNXk#DklfgU=?naQqxREa;va=o^q1ci7n0(+&+QN;Y-RxenZ3&IF@n{$rclF8f77z zE2=09nJc(r0c9dfC=+QT;B^pN$b2MBY{7wNVuIKrg?$7-nU$mgc!&V_3_dG?m4RD! zR>B#;hFcb6$cawrSirHs-EDz<`T1Uc{=azW|NrmqMLJ*aSirHsUs?bQTH9NjX-N8r zB6~DHYxmNbCY>u!~4bT92|noKutg(zzrl^LHaiqerKM{ui^-@fPs;Lfdxb} OL2LkvZI0)e!wdjJ&=zU{ From ba910413347107044fa6490a538437fe8f36d3ea Mon Sep 17 00:00:00 2001 From: gitech Date: Mon, 18 Feb 2019 23:11:51 -0500 Subject: [PATCH 3/6] Adding readme1.md for modifications to the hw readme during the hw --- week08/hw/README1.md | 110 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 week08/hw/README1.md diff --git a/week08/hw/README1.md b/week08/hw/README1.md new file mode 100644 index 00000000..8f4315d6 --- /dev/null +++ b/week08/hw/README1.md @@ -0,0 +1,110 @@ +# Homework 6: +## Part 1: Image Annotation +For this homework, you will be annotating the Millennium Falcon and TIE Fighters in images from Star Wars: The Force Awakens. + +The Millennium Falcon + +![Image of the Millennium Falcon](./falcon.jpg) + + +Three TIE Fighters + +![Image of the Millennium Falcon](./fighters.jpg) + + +Annotations for an image include the object coordinates and the corresponding label or class. +For example, an image with two TIE Fighters will have an annotation similar to: + +```xml + + images + image1.jpg + + 1000 + 563 + + 0 + + Tie Fighter + + 112 + 281 + 122 + 291 + + + + Tie Fighter + + 87 + 260 + 95 + 268 + + + + +``` +Spending no more than 3 hours, annotate images, identifying the Millennium Falcon and TIE Fighters. You will want to use an image tool such as labelImg (https://github.com/tzutalin/labelImg) or RectLabel (macOS only, available in the App Store) and export the annotations in the PASCAL VOC format. As this requires the user of a user interface, it is recommended that your normal workstation be used. + +Images should be annotated with the following rules: + +* Rule 1: Include all visible part and draw as tightly as possible. +* Rule 2: If multiple instances, label all instances. +* Rule 3: Occluded parts do not matter as long as all visible parts are included. + +Steps (Assuming labelImg): +1. Install the tool, following the steps on https://github.com/tzutalin/labelImg +2. Clone the repository https://github.com/rdejana/MIDS_HW8 into a working directory, e.g. /Users/rdejana/Documents/Homework. In the subdirectory IDS_HW8/images/, you'll find the images that you'll be annotating. +3. Create a directory that'll be used to store the annotations, for example /Users/rdejana/Documents/Homework/MIDS_HW8/annotations. +4. Start lalbeImg +5. Click "Open Dir" and select the images directory, e.g. Users/rdejana/Documents/Homework/MIDS_HW8/images +6. Make sure that PascalVOC is displayed under the "Save" icon. +7. Click "Change Save Dir" and set it to your annonations directory. +8. Start annotating. Select "Create RectBox" and draw the bounds around any instances of Millennium Falcon or TIE Fighers you see in the image, adding the correct label. When done with an image, press "Save". Continue on to the next image repeating the process until complete or your reach the time limit. + + +Questions: +1. In the time allowed, how many images did you annotate? +2. Home many instances of the Millennium Falcon did you annotate? How many TIE Fighters? +3. Based on this experience, how would you handle the annotation of large image data set? +4. Think about image augmentation? How would augmentations such as flip, rotation, scale, cropping, and translation effect the annotations? + +## Part 2: Image Augmentation +For part 2, you will need to install docker in a VM or your local workstation. + +1. Run the command: +```bash + docker run -d -P 8888:8888 ryandejana/hw8augmentation +``` +2. If using a VM, open your browser to ```http://<>:8888/notebooks/augmentation.ipynb``` or if local, ```http://127.0.0.1:8888/notebooks/augmentation.ipynb``` and login with the password ```root```. +3. Run the notebook. + +If you wish to experiment with the augmenation library, see https://github.com/codebox/image_augmentor + +Questions: +1. Describe the following augmentations in your own words +- Flip +- Rotation +- Scale +- Crop +- Translation +- Noise + +## Part 3: Audio Annoation +Take a look at and explore the audio annotation tool CrowdCurio https://github.com/CrowdCurio/audio-annotator) + +Questions: +1. Image annotations require the coordinates of the objects and their classes; in your option, what is needed for an audio annotation? + +## What to turn in +### Part 1 +1. A zip or tar file of your annoations. +2. Your answers to questions 1 through 4. + +### Part 2 +1. Your answer to question 1. + +### Part 3 +1. Your answer to question 1. + From 7596c56458f90de04cc6a4025d5f0ec257d95f8a Mon Sep 17 00:00:00 2001 From: giktech Date: Tue, 19 Feb 2019 16:29:01 -0500 Subject: [PATCH 4/6] Update README1.md URL for pipeenv --- week08/hw/README1.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/week08/hw/README1.md b/week08/hw/README1.md index 8f4315d6..d321a753 100644 --- a/week08/hw/README1.md +++ b/week08/hw/README1.md @@ -47,6 +47,10 @@ For example, an image with two TIE Fighters will have an annotation similar to: ``` Spending no more than 3 hours, annotate images, identifying the Millennium Falcon and TIE Fighters. You will want to use an image tool such as labelImg (https://github.com/tzutalin/labelImg) or RectLabel (macOS only, available in the App Store) and export the annotations in the PASCAL VOC format. As this requires the user of a user interface, it is recommended that your normal workstation be used. +G> Using the labelImg tool +Requires pipenv +https://github.com/pypa/pipenv + Images should be annotated with the following rules: * Rule 1: Include all visible part and draw as tightly as possible. From ef027d45e325d9c60b7655f051d97d47e4cfa5b0 Mon Sep 17 00:00:00 2001 From: giktech Date: Fri, 22 Feb 2019 11:57:57 -0500 Subject: [PATCH 5/6] Update README1.md Instructions for getting the labelmg tool on mac --- week08/hw/README1.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/week08/hw/README1.md b/week08/hw/README1.md index d321a753..6902db24 100644 --- a/week08/hw/README1.md +++ b/week08/hw/README1.md @@ -51,6 +51,29 @@ G> Using the labelImg tool Requires pipenv https://github.com/pypa/pipenv +Installed labelImg using the following after downloading the repo +ls + 452 brew install libxml2 + 453 brew install libxml2 + 454 ls + 455 make qt5py3 + 456 mkdir /tmp/labelImgSetup + 457 cd /tmp/labelImgSetup/ + 458 ls + 459 curl https://codeload.github.com/tzutalin/labelImg/zip/master --output labelImg.zip + +Python 3 + Qt5 (Works on macOS High Sierra) + +brew install qt # will install qt-5.x.x +brew install libxml2 +make qt5py3 +python3 labelImg.py +python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] + +As a side note, if mssing pyrcc5 or lxml, try +pip3 install pyqt5 lxml + + Images should be annotated with the following rules: * Rule 1: Include all visible part and draw as tightly as possible. From d14cc67688eac01557e833aef52fdce7f464c0fc Mon Sep 17 00:00:00 2001 From: giktech Date: Sun, 24 Feb 2019 19:58:45 -0500 Subject: [PATCH 6/6] Update README1.md Added notes on the annotation (part 1) --- week08/hw/README1.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/week08/hw/README1.md b/week08/hw/README1.md index 6902db24..66763180 100644 --- a/week08/hw/README1.md +++ b/week08/hw/README1.md @@ -93,9 +93,14 @@ Steps (Assuming labelImg): Questions: 1. In the time allowed, how many images did you annotate? +>>>>300 Images 2. Home many instances of the Millennium Falcon did you annotate? How many TIE Fighters? +>>>>I did not precisely count 3. Based on this experience, how would you handle the annotation of large image data set? +>>>>using a service such as Mechanical Turk or kids trying to earn some cash. In each case it'll be good to spread the work among a group of people (to avoid fatigue) and also have someone doing quality control in a randomized fashion 4. Think about image augmentation? How would augmentations such as flip, rotation, scale, cropping, and translation effect the annotations? +>>>>The images belongting to the 2 categories are very distinct. Augmentations would not change the annotation. May be translation would a little + ## Part 2: Image Augmentation For part 2, you will need to install docker in a VM or your local workstation.