|
Dynamic Langgraph Agent with Streamlit UIDeveloped a sophisticated AI agent capable of understanding and responding to diverse user queries including text, code, and images. This project leverages Langgraph for stateful orchestration of multiple specialized Ollama LLMs (e.g., Llama 3.2 for text/routing, Gemma 3 for vision, Qwen 2.5 Coder for code). A key innovation is the dynamic routing mechanism, which intelligently directs queries to the most appropriate LLM, either automatically based on content analysis or through explicit user selection. The agent is presented via an intuitive Streamlit web application, allowing users to upload images, provide web links, or type natural language prompts. The UI provides real-time feedback on the active LLM and visualizes the underlying Langgraph workflow for enhanced transparency. This modular and extensible architecture aims to create a highly interactive and user-friendly multimodal AI experience. Related Materials and Demo |
|
|
Multimodal RAG Chatbot for Document Q&ADeveloped a Retrieval-Augmented Generation (RAG) chatbot capable of answering questions from diverse document types. This system leverages Ollama LLMs for intelligent responses and Ollama Embeddings with Chroma for efficient information retrieval. It supports querying specific pizza restaurant reviews stored in CSV files, as well as general knowledge extraction from various PDF documents. The intuitive Streamlit web interface allows users to seamlessly switch between data sources, providing dynamic and context-aware answers based on the selected review or document set. This project highlights a practical application of RAG for extracting insights from both structured and unstructured data. Related Materials |
|
Solving Dynamic Perfect Mazes Using Reinforcement LearningOmkar Chekuri and Yonathan Hendrawan Reinforcement Learning (RL) is an area of machine learning where an agent learns by interacting with the environment by taking a sequence of actions to gain rewards on accomplishing some goal. The aim here is gain maximum cumulative rewards by taking the best possible actions. The environment is a model that represents the real-world problem/scenarios where decisions need to be made to achieve an end goal. Some of the examples of such environments are games, autonomous driving etc. In our problem we designed a game environment from scratch that is used for generating and solving dynamic perfect mazes. We used two reinforcement algorithms Q-learning and Multi agent Sarsa to solve these mazes. We compared the performance of these reinforcement learning algorithms with a maze solving algorithm. The result showed that Q-learning and Sarsa gave better result than Wall Follower algorithm in term of the number of steps taken to reach the goal. They can also solve the maze with a projectile. However, the solving becomes more difficult the bigger the maze is. Related Materials |
|
Development of VR environments for capturing of Multi-person VR interactions such as eye movements, brain activities, and haptic interactionsInvolved in the software development efforts for the project "Smart Learning in Multi-person VR," with a focus on integrating non-text-based smart learning methodologies into fully immersive MVR environments. Key responsibilities included designing and implementing software environnmet for capturing eye movement tracking, brain activity, and haptic interactions. Developing the virtual reality environment (User interface elements) and scenarios (Semantic Network Model) aimed at understanding learner engagement and personalizing educational experiences. Related Materials
Development of a Smart Learning Application in Multi-person Virtual Reality Using Biometric Measures of Neuroimaging, Eye Tracking, and Haptic Interactions
|
|
YouTube Commercial: Exploring human’s perspective of commercialsOmkar Saiswaroop Varma Chekuri, Farah Al Saif and Ivan Calderoni An experiment was designed to explore the audience’s perspective on online commercials and analyze the relationship between the audience’s cognitive behavior and their eye movements. A group of twenty participants were chosen to participate in the experiment. The participants were divided into two groups and were asked to watch a YouTube video. The first group watched a video with a countdown function only and the other group watched the same video with a countdown function and a skip button. All subject’s eye movements were recorded by using an eye tracking that measures eye fixations durations counts. Afterwards, participants were asked to complete a questionnaire regarding a commercial that was shown before the video. Quantitative analysis was performed to determine the effect of skip function used in an online commercial. The visual scanning behavior of the individual participants was also analyzed by comparing their scan path sequences with their questionnaire responses. The quantitative analysis did not provide any substantial evidence by showing that there is no significant difference between the means of the eye fixation durations and eye fixation counts between the two scenarios with skip function and without skip function whereas the qualitative analysis showed some interesting results which showed that there is a difference between the cognitive behavior of the two groups. Related Materials |
|
Game Development (Platformer - Escape to Space)Aaron Morris, Omkar Chekuri, and Yonathan Hendrawan We designed and developed a 2.5D platformer game. This game includes essential elements like animation, collision detection, shaders, a particle system, and basic physics. Throughout the development of our game, we meticulously applied software engineering processes, dividing our tasks into distinct phases: Requirement gathering and analysis, Design, Implementation, Testing, Analysis, and Reporting. However, rather than adhering strictly to these processes, we structured our workflow into six milestones. These milestones encompassed building the game framework, creating an alpha version, completing individual facets, integrating these facets, testing, and concluding with reporting. Moreover, our development journey significantly enriched our software development skills. We honed our abilities in various aspects of computer graphics, such as animation, collision detection, shaders, and particle systems. These skills were pivotal in crafting a visually captivating and immersive gaming experience. Through hands-on experience and experimentation, we deepened our understanding of advanced graphics techniques, enhancing our proficiency in this domain. Related Materials |
|
Distributed Sudoku SolverOmkar Chekuri The project focuses on distributed Sudoku solving, leveraging clients and servers within a Docker environment. This innovative approach utilizes pre-existing public key pairs for secure communication between clients and servers. Additionally, the system manages server-side storage for Sudoku puzzles and maintains active client lists for efficient connectivity. A pivotal feature of the project is the implementation of a Round Robin scheduling algorithm, facilitated by server-side token allocation. This mechanism allows clients to acquire tokens, enabling effective communication with neighboring clients and ensuring system redundancy. Moreover, communication protocols are standardized through method signatures defined in a dedicated proto file. These signatures govern essential functions like key exchange and encrypted message transmission, ensuring seamless and secure communication. In addition to its core functionality, the project includes a Distributed Sudoku solver within Docker. Server manages a 9x9 Sudoku matrix, distributing 3x3 submatrices to clients for collaborative puzzle solving. This integration showcases the system's adaptability and capacity to tackle complex computational tasks effectively. Related Materials |
|
Skin Condition Image Search ApplicationOmkar Chekuri The project addresses a prevalent issue in the medical field where digitally indexed imagery and photography predominantly feature Caucasian individuals, leading to a lack of representation for diverse populations, particularly in conditions like plaque psoriasis, which are often depicted with white skin tones. With the increasing reliance on digital tools for health-related research, it's evident that major consumer-focused health sites fail to reflect the diversity of patients' experiences and appearances. Despite advancements like Google's AI for recognizing common skin diseases, platforms such as WebMD, Mayo Clinic, and KidsHealth have been slow to update their image libraries accordingly. To counteract this bias and provide a more inclusive resource, we developed an application using Streamlit. This tool offers users access to sample images representing various skin tones for a given condition for the races Native American , 'Asian', 'African American', 'Hispanic', 'Caucasian' , thereby mitigating the disparity in available data on the internet. Additionally, the application allows users to specify the number of images they wish to view, scrapes the relavent information about the skin condition from WebMD application enhancing flexibility and usability. By offering a more diverse range of visuals, this application aims to address the representation gap and promote inclusivity in medical information online. Related Materials |
|
|
Artful AbstractionOmkar Chekuri Most of the computer Graphics research has focused on photorealistic rendering and not much on artistic rendering. Artistic rendering can be achieved by controlling the color, shape, size of the brush strokes. In this paper I tried to replicate the ideas about abstract image representations from [Haeberli 1990]. Although I did not get the exact same results as [Haeberli 1990], I followed and implemented some of the techniques described in the paper and achieved reasonable results with artistic elements. Related Materials |