-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
240 lines (231 loc) · 12.8 KB
/
Copy pathindex.html
File metadata and controls
240 lines (231 loc) · 12.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<!DOCTYPE html>
<html>
<head>
<title> TJ Computer Vision Club </title>
<link rel="stylesheet" href="css/styles.css">
<script src="js/script.js"></script>
<script src="https://kit.fontawesome.com/03d79be075.js" crossorigin="anonymous"></script>
</head>
<body>
<div style="background-color: #000; height: 50px; width: 100%; position: fixed; margin: 0px">
<h1 style="padding-right: 20px; margin: 0px" />
<button class="tablink" onclick="openPage('resources', this)"> Resources </button>
<!-- <button class="tablink" onclick="openPage('rankings', this)"> Rankings </button> -->
<button class="tablink" onclick="openPage('lectures', this)"> Lectures </button>
<button id="default" class="tablink" onclick="openPage('home', this)"> Home </button>
</div>
<div id="intro" class="header">
<h1 style="color: #fff; font-size: 54px; padding-top: 100px; padding-bottom: 30px; margin: 0px"> TJ Computer Vision Club </h1>
<div>
<span id="dhome" class="dot" style="background-color: #000; margin-left: 0%"></span>
<span id="dlectures" class="dot" style="background-color: #000; margin-left: 2%"></span>
<span id="drankings" class="dot" style="background-color: #000; margin-left: 2%"></span>
<span id="dresources" class="dot" style="background-color: #000; margin-left: 2%"></span>
</div>
</div>
<div id="home" class="content">
<h2> Welcome! </h2>
<p style="padding-bottom: 30px"> Computer Vision Club meets every Wednesday B block. We focus on the theory and applications of
computer vision, computational photography, computer graphics, machine learning in image processing, and much more, all of which
are unique to only us. Please sign up for our mailing list!
</p>
<a href="https://forms.gle/WdoEuF1GQWUPk7M76" class="link" style="margin-left: 41.5%"> Join Us! </a>
<h2> Content </h2>
<p> The purpose of computer vision is to extract information from real-world content and use it to solve
real-world problems, for instance, image reconstruction, anomaly detection, and autonomous driving. In
the past few years, CV's popularity and potential began to spike as computational platforms became more
powerful and new ideas were developed. Computer graphics is the reverse process of CV: obtain and image
given environmental conditions. Our goal is to create an engaging environment where all members can
acquire the necessary skills and experience to use CV and CG for their projects and research.
</p>
<p> In the fall, we will mainly focus on human and computer vision theory, such as the camera model, feature
extraction, and motion. In the spring, we will explore broader, more complex topics such as object detection
and AI-based image processing.
</p>
<h2> Contests </h2>
<p> We host weekly contests on Kaggle to reinforce the lectures. During previous school years, the winner of each
Kaggle competition would receive a candy bar -- but COVID-19 makes that a bit difficult. As such, we will track
contest standings throughout the year and try to arrange for a prize at the end of the year, when we're hopefully
back in school.
</p>
<h3> Instructions: </h3>
<ol>
<li> Create a <a href="https://www.kaggle.com/"> Kaggle </a> account. </li>
<li> Click on the contest link, which can be found under Lectures. </li>
<li> Review the competition information, input/output (I/O) format, and download any source code and sample data. </li>
<li> Implement your solution and create a submission file. </li>
<li> Submit the file to recieve feedback (feedback meaning specified in competition). </li>
<li> Tweak your solution, resubmit, and repeat to improve feedback and increase your rank on the leaderboard. </li>
</ol>
<h3> Rules and Guidelines: </h3>
<ol>
<li> Use Python. </li>
<li> Do not use libraries unless otherwise specified. </li>
<li> The competition begins the day of the lecture and ends at 11:59:00 PM the following Tuesday. </li>
<li> The leaderboard displayed during the competition and is determined uses only a certain percentage of the test data.
When the competition is over, the hidden test data is used to determine the real leaderboard. This is
to prevent you from writing a solution that is geared towards specific data, which defeats the purpose
of the contest. </li>
</ol>
<div>
<h2> Officers </h2>
<b> Captain: </b> Sagar Gupta <br> <br>
<b> Captain: </b> Ron Nachum <br> <br>
<b> Teaching Coordinator: </b> Arya Grayeli <br> <br>
<b> Teaching Coordinator: </b> Vishal Kotha <br> <br>
<input id="check" type="checkbox" />
<label for="check">Previous Leadership</label> <i class="fas fa-caret-down rotate-180"></i>
<div class="fade-in prev-leaders" style="padding-top: 5px;">
<table style="float: left; border: 0px;">
<tbody>
<tr>
<th>2020-2021</th>
<th>2019-2020</th>
<th>2018-2019</th>
<th>2017-2018</th>
</tr>
<tr>
<td>Luke Thistlethwaite</td>
<td>Saketh Gabbita</td>
<td>George Tang</td>
<td>Neil Thistlethwaite</td>
</tr>
<tr>
<td>Yusuf Bahm</td>
<td>Ray Bai</td>
<td>Neal Bayya</td>
<td>George Tang</td>
</tr>
<tr>
<td>Stephen Huan</td>
<td>Praneeth Reddygari</td>
<td>Alexey Didenkov</td>
<td>Ajith Kemisetti</td>
</tr>
<tr>
<td>Hashir Aqeel</td>
<td>Luke Thistlethwaite</td>
<td>Jacob Consalvi</td>
<td>Sylesh Suresh</td>
</tr>
</tbody>
</table>
</div>
</div>
<p/>
</div>
<div id="lectures" class="content">
<h2> Selected topics 2021-22</h2>
<p> Lectures and contest links are updated throughout the year. Some contests also require additional materials
(shell code, text files, explanations), which are also attached. </p> <br>
<table style="width:100%">
<col style="width:20%">
<col style="width:50%">
<col style="width:35%">
<tr>
<th style="text-align: center"> Date </th>
<th style="text-align: center"> Lecture </th>
<th style="text-align: center"> Materials </th>
</tr>
<div id="basics">
<tr>
<td>September 15th</td>
<td>Orientation + Face Detection Intro</td>
<td>
<a href="lectures/9-15-21/Orientation_Face_Detection_Intro.pdf" target="_blank">Orientation PDF</a><br>
<a href="lectures/9-15-21/Intro_Slides.pdf" target="_blank">Orientation Slides</a>
</td>
</tr>
<tr>
<td>September 29th</td>
<td>Image Transformations</td>
<td>
<a href="https://drive.google.com/file/d/1qPyhbWiDmP9msovNlkkZDE84rjbbDIfK/view?usp=sharing" target="_blank">Lectures Notes</a><br>
<a href="https://github.com/tjcomputervision/tjcomputervision.github.io/blob/master/old_lectures/transform_demo.ipynb" target="_blank">Code Demonstration</a><br>
<a href="https://www.kaggle.com/t/83dbbcc64adc420d8881fd0caf7a5362" target="_blank">Kaggle Contest</a>
</td>
</tr>
</div>
</table>
</div>
<div id="rankings" class="content">
<h2>Rankings 2018-2019</h2>
<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vT_7-Ao9PFRdTctV16VFGKTuzoispQKyTKwCBCfx01dsP8BfnnUEbo8r1nDpOI-x9J01TtPnfPJl7YA/pubhtml?widget=true&headers=false" width="100%" height="500"></iframe>
</div>
<div id="resources" class="content">
<h2>Quickstart: Using CSL Resources</h2>
<p>We are very fortunate to have access to the TJHSST Computer Systems Lab and, more specifically, computer power it possesses. For various computer science courses and personal projects, you might find a need to tap into this computing power.
</p>
<h3>Connecting to School Computers with SSH</h3>
Before running anything on school computers, you need to actually connect to them. This is simple with an SSH client (such as PuTTY on Windows):<p/>
<article class="markdown-body">
<pre><code>lthistle@DESKTOP-1IOTSKU:~$ ssh 2021lthistle@remote.tjhsst.edu
2021lthistle@remote.tjhsst.edu's password: <password>
2021lthistle@ras1:~$
</code></pre>
</article>
<h3>Connecting to the Cluster</h3>
<p>Once you're ssh'd into ras (which stands for remote access server), you can ssh into a workstation or the cluster. We're going to ssh into the cluster, which is called infosphere.</p>
<article class="markdown-body">
<pre><code>2021lthistle@ras1:~$ ssh infosphere
2021lthistle@infocube:~$
</code></pre>
</article>
<h3>Scheduling a Job</h3>
<p>To schedule jobs, the cluster uses a workload manager called Slurm. Let's assume you want to run the following Python program (assuming you have already installed PyTorch):</p>
<article class="markdown-body">
<pre><code>#hello_pytorch.py
import torch.cuda
import socket
machine_name = socket.gethostname()
print(f"Running a PyTorch program from {machine_name}! I have access to {torch.cuda.device_count()} GPUs")
</code></pre>
</article>
<p>In our Slurm command, we're going to request two GPUs from the GPU partition. Computers on the cluster are divided into two partitions, compute and gpu. We need a GPU, so we'll be using the latter.</p>
<article class="markdown-body">
<pre><code>2021lthistle@infocube:~$ srun --partition=gpu --gres=gpu:2 python hello_pytorch.py
Running a PyTorch program from duke! I have access to 2 GPUs
</code></pre>
</article>
<p>As we can see, Slurm scheduled our program to run on duke, one of the computers on the cluster. We also see that it has access to 2 GPUs. For the machine learning we'll be doing, there's little
added benefit in using multiple GPUs. As such, don't request more than you need because it takes away from resources available to other students.
</p>
<article class="markdown-body"></article>
<h2> Languages and Libraries</h2>
<p> We use Python3. If you do not have Python3, you must install it following the instructions at
<a href="https://www.python.org/downloads/"> https://www.python.org/downloads/</a>. Installing
Python3 also installs pip3, which you will be using to install other libraries.
</p>
<p>The list of Python libraries we'll use throughout the year includes Numpy, OpenCV, and PyTorch.</p>
<h3> Computer Vision </h3>
OpenCV is a robust computer vision library. To install it, use: <br />
<article class="markdown-body">
<pre><code>pip3 install opencv-python</code></pre>
</article>
OpenCV provides comprehensive installation tutorials using cmake for C++ for Linux, MacOS, and Windows at
<a href="https://docs.opencv.org/3.4.2/d6/d00/tutorial_py_root.html"> their website</a>.
We recommend Linux and MacOS as they have very similiar terminal enviornments. <br />
<h3>Machine Learning</h3>
<p>For machine learning related tasks, such as object classification, we will mainly be using PyTorch. As of October 7th, PyTorch can be installed with:</p>
<article class="markdown-body">
<pre><code>pip3 install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html</code></pre>
</article>
<p>However, to install a different version of PyTorch or use a different environment, see <a href="https://pytorch.org/">the PyTorch website</a>.</p>
<h2> Mathematical References </h2>
<p> Computer Vision involves vector/matrix algebra and single/multivariable calculus. We will cover the
basics in our lectures. If you want more in-depth, rigorous apporaches, refer to
<a href="https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/index.htm">MIT OpenCourseWare Linear Algebra</a> for vector/matrix algebra
and <a href="https://adminimages.muhandes.net/content/library/5ea1857ab02e4489bafccac32baed1d1.pdf">Calculus Early Transcendentals</a> for
single (chpt. 1-10) /multivariable calculus (chpt. 11-15).
</p>
</div>
<div style="background-color: #AAA; height: 100px; width: 100%; margin: 0px; text-align: center; vertical-align: center; line-height:100px">
<a href="mailto:tjcomputervision@gmail.com" class="fas fa-envelope fa-2x" style="text-decoration: none; color: #1565C0;"></a>
<a href="https://www.facebook.com/groups/tjcomputervisionclub" class="fab fa-facebook fa-2x" style="text-decoration: none; color: #1565C0;"></a>
<a href="https://github.com/tjcomputervision" class="fab fa-github fa-2x" style="text-decoration: none; color: #1565C0;"></a>
</div>
<script>
document.getElementById("default").click();
</script>
</body>
</html>