Introduction

Hey, I'm Garrett.

I'm working on a PhD in Computer Science at Washington State University. A number of areas interest me including artificial intelligence, machine learning, robotics, computer vision, and embedded systems. My present research focuses on using generative adversarial networks (GANs) and domain adaptation techniques for time-series adaptation.


Education

Washington State University

Expected: May 2021
GPA: 4.0

PhD in Computer Science
Focus in Artificial Intelligence & Machine Learning

Walla Walla University

June 2016
GPA: 3.99

B.S. in Engineering: Concentration in Computer Engineering
Minor in Mathematics


Skills

  • General - Research, programming, debugging, teaching, self motivation
  • Languages - Python, C++, C, Bash, JavaScript, SQL, PHP, HTML, CSS, Swift, Matlab, LaTex, [ARM Neon and assembly, Prolog, Lisp, APL, Snobol, VHDL, APDL, ...]
  • Tools - TensorFlow, Numpy, ROS, Nevergrad, Yocto, GStreamer, Scikit-learn, Tornado, PyMC, Boost, OpenCL, OpenCV, CppCMS, Eigen, Qt, PoDoFo, Docker, Slurm, git, Jupyter, ...
  • Embedded systems - Nvidia Jetson, Intel Joule, Raspberry Pi, Arduino, Wandboard, Mbed, Gumstix, Pixhawk, ...

Experience

Research Assistant

August 2017 - Present
Washington State University
  • Robotic activity support to help older adults retain functional independence longer
    • Created object detection datasets, trained YOLO and TensorFlow networks, ran on Nvidia Jetson
    • Found/saved object locations using an RGBD camera mounted on an Arduino pan-tilt
    • Developed tablet interface with roslibjs
    • Integrated components with ROS on a Turtlebot 2 and 3
  • Multi-purposed a domain adaptation discriminator for pseudo labeling confidence
  • Compared random forest with deep methods for activity recognition
  • Implemented various deep networks in TensorFlow including DANN, VRADA, VRNN, VAE, CNNs, and GANs
  • Trained/tuned networks on high performance computing cluster

Intern

Summers of 2013, 2014, 2015
Solution Engineering, Inc.
  • Developed and tested a UAV vision landing system prototype with Piccolo and Pixhawk autopilots
  • Accelerated algorithms with Arm Neon and OpenCL allowing a PID controller to run in real time
  • Corrected Raspberry Pi camera driver stride length calculation and Qt Gstreamer YUV to RGB color conversion
  • Developed Gstreamer workaround for unreleased buffers in camera driver
  • Integrated Qt GStreamer into a Qt QML app
  • Created Yocto Project layer for embedded Linux setup with Gumstix camera
  • Developed in-house Windows Phone app for balancing UAV motors
  • Rewrote Matlab code for Kalman filter in C++ with unit tests

STEM Instructor

Summers of 2016, 2017
Sunset Lake Camp
  • Taught game programming with Unity, Boolean and fuzzy logic with Lego Mindstorms, and radio with a "fox" hunt
  • Led students building a hydraulic claw, surface-mount SDR kit, and through-hole soldering Microbug kit
  • Built an inexpensive 2-axis hanging CNC drawing machine using an Arduino

High School Math & Computer Teacher

August 2016 - June 2017
Yap SDA School, Micronesia
  • Taught 8th grade math, Algebra 1, Geometry, Algebra 2, Precalculus, and 1 semester of 12th grade computers
  • Configured / managed a lab with 18 Windows computers using WDS and batch script unattended software installs
  • iTALC for monitoring, mandatory user profiles on server and software restriction policies for student accounts

Publications

  • Wilson, G., Cook, D. (2019). A Survey of Unsupervised Deep Domain Adaptation. Manuscript submitted for publication. Preprint: https://arxiv.org/abs/1812.02849
  • Wilson, G., Pereyda, C., Raghunath, N., de la Cruz, G., Goel, S., Nesaei, S., Minor, B., Schmitter-Edgecombe, M., Taylor, M.E., Cook, D.J., Robot-Enabled Support of Daily Activities in Smart Home Environments, Cognitive Systems Research (2018), doi: https://doi.org/10.1016/j.cogsys.2018.10.032

Projects

  • Vision Landing UAV - dataset creation, TF object detection, streaming for off-board processing
    2018 - 2019
  • Computer Voice Control - Google Assistant, Dialogflow, Tornado/nginx web hooks and sockets, OAuth2
    2018
  • Thermal Soaring UAV - Bayesian methods vs. GP regression, 2 autopilot C++/Python network interfaces
    2014 - 2016
  • Bubble Form Grading - load PDF, image processing, C++ threading, AJAX web UI, CppCMS backend
    2012 - 2014
  • DHCP Spoofing Prevention - ebtables attack prevention in Mininet, Linux per-process filesystem mounts
    2015
  • Collaborative Quiz Website - peak of 1800 monthly visitors, 4 rewrites, used PHP, AJAX, and SQL
    2007 - 2013
  • School Bell System - C++ on Raspberry Pi monitors XML file enabling by serial or GPIO, web frontend
    2011 - 2012

Classes

  • Directed Study in Computer Science: Deep Learning
  • Artificial Intelligence
  • Structured Prediction
  • Computational Genomics
  • Machine Learning
  • Numerical Analysis
  • Advanced Algorithms
  • Gerontechnology I & II
  • Mobile Application Development
  • Intro to Artificial Intelligence
  • Intro to Database Systems
  • Intro to Networking & Computer I/O
  • Digital Control Systems
  • Digital Design
  • Software Engineering
  • Engineering Finite Element Methods

Certifications


Scholarships

  • Moahmoud M. Dillsi Family Graduate Fellowship
    2018-2019
  • EECS Harold P. Curtis Scholarship
    2017-2019
  • Walla Walla University Achievement Scholarship
    2012-2016
  • Jensen Math Scholarship
    2013
  • Walla Walla University Leadership Award
    2012

Reviewer

  • ACM Transactions on Intelligent Systems and Technology