Experience & Education
Projects
-
Image compression techniques - DCT and DWT
- Gained an understanding of issues related to image compression, by comparing and contrasting the frequency space representations using the DCT and DWT
DCT:
- Encoding: Performed DCT calculations on contiguous 8x8 blocks for all channels
- Decoding: based on the input parameter of number of coefficients that can be used, appropriate number of coefficients selected in zigzag ordering from each 8x8 block are zeroed
- Performed inverse DCT
- Compared the result image with the…- Gained an understanding of issues related to image compression, by comparing and contrasting the frequency space representations using the DCT and DWT
DCT:
- Encoding: Performed DCT calculations on contiguous 8x8 blocks for all channels
- Decoding: based on the input parameter of number of coefficients that can be used, appropriate number of coefficients selected in zigzag ordering from each 8x8 block are zeroed
- Performed inverse DCT
- Compared the result image with the original image
DWT:
- Encoding: Converted each row into low pass and high pass coefficients, followed by the same for each column. Applied the same calculations on the remaining low pass coefficients until just one value is left
- Decoding: based on the input parameter of number of coefficients that can be used, the other coefficients in zigzag order in the entire image are zeroed out
- Performed inverse DWT in the reverse sequence of row-column calculations used in encoding
- Compared the result image with the original image
- Created an animation of incremental steps of decoding in order to study the output quality of DCT vs DWT implementation -
Quantization and subsampling of images
- Developed a Java application to gain a practical understanding of Quantization and subsampling of images
- Image was converted to the YUV color space, subsampling parameters for Y, U, V spaces were given as input to the program, the image was subsampled, upsampled to original dimensions, converted back to the RGB color space and quantized with the given quantization factor
- Analyzed the degradation caused by subsampling and made changes to the code to improve the results -
Sequence Labeling
- Used machine learning technique - CRF suite, to get experience with sequence labeling
- Developed advanced feature sets to improve accuracy of CRF suite model using those features -
Spam Detection and Sentiment Analysis
- Performed Spam Detection and sentiment analysis on Emails and IMDB reviews datasets respectively
- Implemented Naive Bayes Classification and used machine learning toolkits – SVM-Light and Mega-M -
eBay Item Search
- Designed a webpage that performs eBay item search using their API and post details to Facebook
- Used a combination of HTML, CSS, DOM, XMLHttpRequest, PHP and JSON for the implementation -
Multi-threading – Token Bucket Emulation in C
- Emulated a traffic transmission shaper controlled by a token bucket filter using multi-threading
- The transmission facility, comprising of two servers, served the packets in first-come-first-served order
- Transmitted packets based on server availability, servers being kept as busy as possible
- Maintained a separate thread to catch the SIGINT signal and terminate simulation gracefully
- Calculated statistics to verify accuracy of the simulation -
Reversi Game
-Developed a Java application to determine the next move for a player in Reversi game.
-Used Greedy, Minimax and Alpha-Beta pruning algorithms with positional weight evaluation functions to implement the same.
-
Tyro Trojan Android Application
Tyro Trojan is an Android Application for new students at USC (Trojans!) to get easy, one-click access to necessary information about USC such as housing , courses , safety , Food and cafeterias in and around USC.
It is a location-based app with features to track the person's location and allow pop-up notifications as the person passes by any of his locations ( cafes/grocery stores) marked 'favorite'.Other creators -
Building Bot - Swarm Robots
Integrated and implemented concepts of various fields in Computer Science and Electronics like Embedded Systems, Wireless Sensor and Computer Networks, Artificial Intelligence and Swarm Robotics.
- Developed an Android Application to give a 2-D input schematic to the server robot via Bluetooth
- Designed optimized shortest path and collision avoidance algorithms that were programmed in the server robot’s microcontroller.
- The server carried out computations and divided the…Integrated and implemented concepts of various fields in Computer Science and Electronics like Embedded Systems, Wireless Sensor and Computer Networks, Artificial Intelligence and Swarm Robotics.
- Developed an Android Application to give a 2-D input schematic to the server robot via Bluetooth
- Designed optimized shortest path and collision avoidance algorithms that were programmed in the server robot’s microcontroller.
- The server carried out computations and divided the work amongst the client robots to collaboratively construct the given schematic in least possible time.The construction included moving blocks on the arena to form the pattern as mentioned in the schematic.
- Implemented wireless communication between the server and client robots
Other creators -
FP Growth Algorithm
- Developed an application in JAVA based on FP Growth algorithm that mines the complete set of frequent itemsets without candidate generation.
- Implemented the algorithm adopting a divide-and-conquer strategy that compressed the database representing frequent items into a frequent-pattern tree, which retained the itemset association information.
- The compressed database was divided into a set of conditional databases, each associated with one frequent item and mined each such database…- Developed an application in JAVA based on FP Growth algorithm that mines the complete set of frequent itemsets without candidate generation.
- Implemented the algorithm adopting a divide-and-conquer strategy that compressed the database representing frequent items into a frequent-pattern tree, which retained the itemset association information.
- The compressed database was divided into a set of conditional databases, each associated with one frequent item and mined each such database separately.
- The database considered was a set of transactions for a day of a rental shop.Other creators -
Analysis of Egocentric videos
-
- Developed a player with playback functionalities like play, pause and stop in Java to display the video(given in terms of a .rgb file of data, frame by frame) and render audio(.wav file) in a synchronized way
- Used OpenCV and python libraries to process all the frames of video and audio, and depending on several metrics for analysis, generated a smaller video that gives highlights of the original video
- Given an image as a query, generated a video and audio segment that correctly…- Developed a player with playback functionalities like play, pause and stop in Java to display the video(given in terms of a .rgb file of data, frame by frame) and render audio(.wav file) in a synchronized way
- Used OpenCV and python libraries to process all the frames of video and audio, and depending on several metrics for analysis, generated a smaller video that gives highlights of the original video
- Given an image as a query, generated a video and audio segment that correctly shows the video in context of that photo
- Designed and implemented a process to stabilize the video and minimize noisy head motion
-
Kernel - Weenix Operating System
-
1) Processes and Threads:
- Provided the basic building blocks for the Weenix operating system: threads, processes, and synchronization primitives
- Successfully able to run several threads and processes concurrently in kernel mode
2) Virtual File System:
- Implemented polymorphism and provided a common interface between the operating system kernel and the various file systems
- Studied what reference counting is and how it is important in keeping track of which objects to…1) Processes and Threads:
- Provided the basic building blocks for the Weenix operating system: threads, processes, and synchronization primitives
- Successfully able to run several threads and processes concurrently in kernel mode
2) Virtual File System:
- Implemented polymorphism and provided a common interface between the operating system kernel and the various file systems
- Studied what reference counting is and how it is important in keeping track of which objects to keep and which objects to free inside the file system
- Got an insight into file naming, file protection, file abstraction API, kernel data structures for open files and support for memory mapping files and sharing
3) Virtual Memory:
- Implemented address space with virtual memory map
- Handled page faults and system calls
Languages
-
English
Native or bilingual proficiency
-
Hindi
Native or bilingual proficiency
-
Marathi
Native or bilingual proficiency
-
German
Elementary proficiency
Other similar profiles
Explore top content on LinkedIn
Find curated posts and insights for relevant topics all in one place.
View top contentOthers named Nikita Deshpande
92 others named Nikita Deshpande are on LinkedIn
See others named Nikita Deshpande