Skip to content

My parts of the term projects assigned in the scope of university courses.

Notifications You must be signed in to change notification settings

volkbay/metu_course_projects

Repository files navigation

My Projects from Courses at Middle East Technical University

My parts of the term projects assigned in the scope of university courses. Please click to unfold the section of each project for details.

EEE Undergraduate Capstone Project

Electrical-Electronics Eng. Undergraduate Capstone Project: 3-ball Playing Robot

capstone.mp4

I was in a team of six people and my responsibility was to detect location and colors of the 3 balls by the images acquired by a top view camera. The objective is to hit the cue ball (red one in the examples here) to touch other two balls. The shooting angle calculation are also shown by two lines: one for cueing towards the second ball and one for hitting the third after reflection. The robot is mobile and freely moving, that communicates with Matlab host via bluetooth.

Relevant content is here. The code is not compiled, should be run in MATLAB 2016a or later.

Note I also made a GUI to select cue ball, to observe image-based calculations and to give hit command. The GUI related files are named as ErasmusPlusOne, but it will not work properly without other components of the project. If you would like try CV output only, run capstone_cv_part.

Figure: Input images from top view camera and resulting images of located balls with calculated hitting angles

EE584 Machine Vision

EE584 Machine Vision Project: Implementing StereoSnakes

comparison

This is an implementation of ICCV 2015 paper completely coded by our group of two. The work consists of stereo-aided segmentation and Matlab GUI. The method takes input of a single stereo image, that is foreground-segmented by an arbitrary algorithm. Then, energy functions (depending on the parameters) strives to fit best segmentation to the second stereo image. The advantage of this method is that it has potential to improve input segmentation and to segment occluded objects in the first image.

Relevant content is here. The code is not compiled, should be run in MATLAB 2016a or later.

Figure: StereoSnakes Matlab GUI (please follow steps in the user manual section our report to familiarize with the parameters and interface)

EE634 Digital Image Processing

EE634 Digital Image Processing Project: Watershed Segmentation

Figure: Watershed ridgelines on original images and segmentation results

This script is a part of a project to test and compare distinct segmetation algorithms on richly colored images. My objective was to implement watershed algorithm on the given images. I tackled with the oversegmentation problem which is typical to this method by filtering and merging similar blobs of segmentations.

Relevant content is here. The code is not compiled, should be run in MATLAB 2016a or later.

EE636 Digital Video Processing

EE636 Digital Video Processing Project: Implementing Tracking in Crowds

ee636.mp4

This is an implementation of ECCV 2008 paper completely coded by me. The method, first, analyzes several frames of the video to understand the general movement flow of the crowd (offline). Then, the object in a user-selected window is tracked by combining offline analysis and online tracking by photometric features. Please see the documents to familiarize with parameters and for the detailed explanation of the algorithm.

Note Offline part is encapsulated in the initialize.m which analyzes video to get SFF and BFF information. Finally, run real_time.m to select an object to track by dragging the marker on the desired location and, then, by double-clicking it. Both scripts have several parameters adjusted to default values.

Relevant content is here. The code is not compiled, should be run in MATLAB 2016a or later.

CENG561 Artificial Intelligence

CENG561 Artificial Intelligence Project: Map Spanning (Cleanbot)

Warning This project has its own repository, please visit here.

CENG786 Robot Motion Planning & Control

CENG786 Robot Motion Planning & Control Project: Implementing a Multi-robot Path Planner

output.mp4

Figure: Efficient paths of each robot between respective starting and target locations

This is an implementation of IJRR 2016 paper completely coded by me. Due to the fact that this is a term project, I partially realized the 2D map experiments of the work (there are also 3D experiments). Basically, this is a composed method exploring implicit paths in a multi-robot scene, each having a start and destination point. The main idea is discretizing the popular RRT algorithm to get most cost efficient motion planning.

The robots are holonomic and circular with 2DOF. Obstacles are convex or concave polyhedral 2D objects in a 10x10 meters map. The map obstacle geometries are embedded in the init_arena script. Main function main_project_ceng786 may be called with two parameters namely case_number and number_of_vertices. First one determines which the type of the arena, start-target locations and the number of robots, while the latter is for PRM calculation of each agent.

Relevant content is here. The code is not compiled, should be run in MATLAB 2016a or later.

EEE Graduate Thesis Project

Electrical-Electronics Eng. MSc Thesis Project: Automated Image Processing for Scratch Detection on Specular Surfaces

Warning This project has its own repository, please visit here.

About

My parts of the term projects assigned in the scope of university courses.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages