Projects

  • 3D chair Mix-N-Match Modeling:

    • Completed as a part of CMPT 764 Geometric Modeling in Computer Graphics course.
    • Given a set of 3D chairs with segmented parts, the goal is to implement an automated mix-n-match part assembly based 3D modeling method, along with designing a plausibility scoring scheme to evaluate the quality of the generated 3D models.
    • The model includes three subparts:
      • Parser: takes a set of pre-segmented and labeled 3D chairs as input and learns a internal representation so that it can be further processed. For this step, we used tree representation, based on GRASS model, for parsing 3D chairs and recomposing parts from different models to produce new 3D model.
      • Mixer: takes different parts from different chairs, transforms them and recomposes into new chair. We modified the tree branches generated by Parser to incorporate part-level transformations adn recomposing.
      • Scorer: takes in a new 3D model and outputs a score that tells the likeliness of it being a a chair. We used MVCNN to calculate view-based score and PyBullet Physics Similation API to calculate physics-based score.
  • Language-based Video Moment Localization:

    • Completed as a part of CMPT 726 Machine Learning course.
    • We address the problem of language-based temporal localization of moments inuntrimmed videos.
    • We extend the MAC model by introducing object semantic segmentation features and video captioning features for visual domain and BERT features for language domain. With these changes we could achieve bettr performance over the MAC.
    • [Code], [Project report]
  • The 2nd YouTube-8M Video Understanding Challenge:

    • Designing a machine learning model with size constrained of 1GB to predict video labels. Experimented with three different architectures.
    • Our team could achieve the Global Average Precision (GAP) score of 0.82853 with final rank of 104 among the participated 394 teams across the different countries.
    • [code], [ Kaggle Challenge Link]
  • Using Generative Adversarial Network (GAN) for Image Completion:

    • Goal is to use GANs for completion of face images, important in many applications such as surveillance.
    • Implemented in TensorFlow. Completed as a course project for Deep Learning for Vision course.
    • Mentor: Dr. Vineeth N Balasubramanian
    • Project Report
    • The goal is, given a set of documents, find the most probable query that might have generated these documents. Used ensemble of 3 algorithms:TF-IDF based, LDA based and TextRank.
    • Implemented using Python NLTK, Java MALLET. Completed as a course project for Information Retrieval course.
    • Mentor: Dr. Maunendra Desarkar
  • Time-table Generation Using Genetic Algorithm:

    • Every semester the university needs to generate the class time-table that satisfies certain hard-constraint and soft-constraints. Generating optimal time-table manually is laborious and challenging task. Hence, we designed an algorithm that makes this process automatic.
    • We considered six factors: department, class, course, weekday, time and room. We constructed a string of integer numbers indicating factors that are allocated. This string indicates the chromosome. Based on whether this allocation satisfies constraints the fitness score for this chromosome is calculated. We then use two-point crossover and mutation to find optimal chromosome (i.e. time-table).
    • This project was part of my B.Tech Thesis and completed during final year of B.Tech at VIT
    • Mentor: Dr. Manasi Patwardhan
  • Exam-scheduling Using Graph Coloring Algorithm:

    • In university, the courses are offered to students from different departments. Hence, while scheduling an exam for such courses, examination authorities need to take care that exam time-slot should not clash with other courses for which students have already registered.
    • To solve this problem, we constructed a graph with courses as nodes and edge indicates that there exist at least one student who has registered for both courses (represented by two end nodes of an edge).
    • This formulation has simplified the problem of exam scheduling to graph coloring, where color of the node represents the time-slot of alloted for the course. As per the graph coloring algorithm, we need to assign colors to nodes such a way that no two adjacent nodes can have same colors.
    • This project was completed during my third year of B.Tech
    • Mentor: Dr. Manasi Patwardhan