GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - PranavRoy07/CodeAlpha_AI: Three AI internship projects: ARIA, an NLP FAQ chatbot using TF-IDF and cosine similarity with a Claude API fallback; a 20+ language desktop translator; and TITAN, a real-time YOLOv8 object detection.

BranchesTags
Open more actions menu

Latest commit

 

History

13 Commits
13 Commits

Folders and files

NameName
Last commit message
Last commit date
README.md
README.md
 
 
chatbot.py
chatbot.py
 
 
detector.py
detector.py
 
 
faqs.py
faqs.py
 
 
translator.py
translator.py
 
 

Repository files navigation

πŸ€– CodeAlpha β€” Artificial Intelligence Internship

Python YOLOv8 NLTK OpenCV Tkinter Status

Completed by Pranav Β· BBACA Graduate Β· Modern College of Arts, Science & Commerce, Pune

"The best way to learn AI is to build something with it."


πŸ“‹ Table of Contents

  • About This Internship
  • Task Summary
  • Task 1 β€” Language Translation Tool
  • Task 2 β€” FAQ Chatbot Β· ARIA
  • Task 4 β€” Object Detection & Tracking Β· TITAN
  • Setup & Installation
  • How to Run
  • Project Structure
  • What I Learned
  • Acknowledgements
  • Contact

🏒 About This Internship

This repository contains my completed AI projects for the CodeAlpha Artificial Intelligence Internship β€” a program focused on building real-world AI applications using Python.

Each project covers a distinct domain of AI:

Domain Project
Natural Language Processing FAQ Chatbot β€” ARIA
Translation Systems Language Translation Tool
Computer Vision & Deep Learning Object Detection β€” TITAN
Desktop Application Development All three projects use Tkinter

βœ… Task Summary

Task Project Status
Task 1 Language Translation Tool βœ… Completed
Task 2 FAQ Chatbot β€” ARIA βœ… Completed
Task 3 Music Generation with AI ⏭ Skipped
Task 4 Object Detection & Tracking β€” TITAN βœ… Completed

Certificate requirement: Minimum 2 tasks completed. βœ…


🌐 Task 1 β€” Language Translation Tool

What is it?

A desktop translation application built entirely in Python β€” a self-contained mini Google Translate with no paid API key required.

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   User enters text                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  Select source lang    β”‚  ← Auto-detect supported
              β”‚  Select target lang    β”‚  ← 20+ languages
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   deep-translator      β”‚
              β”‚  (Google Translate     β”‚
              β”‚   engine β€” free)       β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  Translated text       β”‚
              β”‚  displayed instantly   β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Features

Feature Description
🌍 20+ Languages Hindi, French, Spanish, Japanese, Arabic, German & more
πŸ” Auto-detect Detects source language automatically
⇄ Swap One-click swap between source and target
πŸ“‹ Copy Copy translated output to clipboard
πŸ—‘ Clear Clear both panels in one click
πŸ“Š Status bar Shows translation result live
πŸŒ™ Dark UI Modern dark-themed Tkinter interface

UI Layout

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  🌐  Language Translation Tool    CodeAlpha Task 1   β”‚
β”‚  ────────────────────────────────────────────────── β”‚
β”‚                                                      β”‚
β”‚   From  [ Auto Detect      β–Ό ]  ⇄  To  [ Hindi β–Ό ] β”‚
β”‚                                                      β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚   β”‚  Enter text...    β”‚   β”‚  Translation...   β”‚      β”‚
β”‚   β”‚                   β”‚   β”‚                   β”‚      β”‚
β”‚   β”‚                   β”‚   β”‚                   β”‚      β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚                                                      β”‚
β”‚      [ Translate ➜ ]   [ πŸ“‹ Copy ]   [ πŸ—‘ Clear ]    β”‚
β”‚   βœ…  Translated: English β†’ Hindi                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technologies

Library Purpose
Python Core language
Tkinter Desktop GUI
deep-translator Google Translate engine (free, no API key)

πŸ€– Task 2 β€” FAQ Chatbot Β· ARIA

ARIA = AI Research & Information Assistant

What is it?

A desktop chatbot that answers technical questions across 10+ domains using NLP-powered semantic matching β€” not keyword matching. ARIA understands the meaning of your question, then routes it through a dual-layer intelligence system.

Dual-Layer Architecture

                        User Question
                             β”‚
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚         LAYER 1 β€” FAQ Bank      β”‚
             β”‚   200 Q&A pairs across 10 domainsβ”‚
             β”‚   TF-IDF Vectorization (bigrams) β”‚
             β”‚   + Cosine Similarity matching   β”‚
             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚   Score β‰₯ 0.20 ?    β”‚
                  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
           β”‚ YES                       β”‚ NO (low confidence)
           β–Ό                           β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   FAQ Bank   β”‚          β”‚   LAYER 2 β€” Claude   β”‚
   β”‚   Answer     β”‚          β”‚   AI API (dynamic)   β”‚
   β”‚   [FAQ βœ“]    β”‚          β”‚   [Claude AI ✨]     β”‚
   β”‚   (instant)  β”‚          β”‚   (any tech question)β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

NLP Pipeline β€” Step by Step

User Input: "how does ML work?"
     β”‚
     β–Ό
Step 1 β€” Preprocessing (NLTK)
     lowercase β†’ remove punctuation β†’ remove stopwords β†’ stem
     "how does ML work?" ──► "ml work"
     β”‚
     β–Ό
Step 2 β€” TF-IDF Vectorization (Scikit-learn, bigrams)
     Converts text into a weighted numerical vector
     TF  = how often a word appears in this question
     IDF = how rare the word is across all 200 FAQs
     β”‚
     β–Ό
Step 3 β€” Cosine Similarity
     Compare user vector against all 200 FAQ vectors
     Score 1.0 = identical meaning
     Score 0.0 = completely unrelated
     β”‚
     β–Ό
Step 4 β€” Routing Decision
     Score β‰₯ 0.20 β†’ FAQ answer    [FAQ βœ“]  green badge
     Score < 0.20 β†’ Claude API    [AI ✨]   teal  badge

Knowledge Base β€” 200 FAQs Β· 10 Domains

Domain Example Questions
πŸ€– AI & ML What is deep learning? What is overfitting?
🐍 Python What is list comprehension? What is a decorator?
πŸ—„οΈ SQL & Databases What is a JOIN? What is ACID? What is normalization?
β˜• Java What is the JVM? What is multithreading in Java?
🌐 Web Dev What is REST API? What is the DOM? What is React?
πŸ’‘ LLMs & Gen AI What is ChatGPT? What is RAG? How do LLMs work?
☁️ Cloud & DevOps What is Docker? What is Kubernetes? What is CI/CD?
πŸ”— Networking TCP vs UDP? What is DNS? What is HTTP?
πŸ”’ Cybersecurity What is SQL injection? What is encryption?
πŸ’» DSA What is Big O notation? What is a hash table?

UI Layout

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ€–  ARIA β€” FAQ Chatbot    CodeAlpha Task 2  β”‚
β”‚  ──────────────────────────────────────────  β”‚
β”‚                                              β”‚
β”‚  ARIA                                        β”‚
β”‚  πŸ‘‹ Hi! I'm ARIA β€” AI Research &             β”‚
β”‚  Information Assistant.                      β”‚
β”‚  Ask me anything about AI, ML, Python,       β”‚
β”‚  SQL, Java, Web Dev, Cloud & more!           β”‚
β”‚                                              β”‚
β”‚  You                                         β”‚
β”‚  what is machine learning                    β”‚
β”‚                                              β”‚
β”‚  ARIA  [FAQ βœ“]  πŸ€– AI / ML                  β”‚
β”‚  Machine Learning is a subset of AI          β”‚
β”‚  where systems learn from data without       β”‚
β”‚  being explicitly programmed...              β”‚
β”‚                                              β”‚
β”‚  You                                         β”‚
β”‚  explain binary search trees                 β”‚
β”‚                                              β”‚
β”‚  ARIA  [Claude AI ✨]  πŸ’¬ General Tech       β”‚
β”‚  A Binary Search Tree stores nodes where     β”‚
β”‚  left child < parent < right child...        β”‚
β”‚                                              β”‚
β”‚  ──────────────────────────────────────────  β”‚
β”‚  [ Type your question here... ] [Send ➜][πŸ—‘] β”‚
β”‚  FAQ Bank: 200 Q&As  |  Claude AI fallback   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technologies

Library Purpose
Python Core language
NLTK Tokenization, stopword removal, stemming
Scikit-learn TF-IDF vectorizer + cosine similarity
Anthropic API Claude AI fallback for unknown questions
Tkinter Dark-themed chat interface

🎯 Task 4 β€” Object Detection & Tracking Β· TITAN

TITAN = Tracking & Identification Technology for Autonomous Networks

What is it?

A real-time AI object detection and tracking system. Point your webcam at anything β€” TITAN detects and tracks every object it sees using YOLOv8 and assigns persistent IDs that follow objects across frames.

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Webcam  /  Video File                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚  frame-by-frame
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    YOLOv8 Model                      β”‚
β”‚                                                      β”‚
β”‚  Divides frame into a grid                           β”‚
β”‚  Each cell predicts: object class + bounding box     β”‚
β”‚                     + confidence score               β”‚
β”‚                                                      β”‚
β”‚  Detects 80 COCO object classes:                     β”‚
β”‚  person, phone, laptop, car, bottle, chair...        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚  detected boxes + scores
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   ByteTrack                          β”‚
β”‚                                                      β”‚
β”‚  Matches detections across frames using IoU          β”‚
β”‚  Assigns a persistent tracking ID to each object     β”‚
β”‚  Same object keeps same ID even if briefly hidden    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚  labeled + tracked frame
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               OpenCV Display Window                  β”‚
β”‚                                                      β”‚
β”‚  Bounding box with corner accents per object         β”‚
β”‚  Badge: #ID  ClassName  Confidence%                  β”‚
β”‚  HUD overlay: FPS Β· Object count Β· Model Β· Controls  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What Gets Detected β€” 80 COCO Classes

People      β†’  person
Vehicles    β†’  car, motorcycle, bus, truck, bicycle
Electronics β†’  laptop, phone, TV, keyboard, mouse
Furniture   β†’  chair, sofa, bed, dining table
Kitchen     β†’  bottle, cup, fork, knife, bowl
Animals     β†’  cat, dog, bird, horse
Outdoors    β†’  traffic light, stop sign, umbrella
Sports      β†’  ball, skateboard, tennis racket
             +  many more...

Model Options

Model File Speed Accuracy
YOLOv8 Nano yolov8n.pt ⚑ Fastest Good
YOLOv8 Small yolov8s.pt ⚑⚑ Fast Better
YOLOv8 Medium yolov8m.pt ⚑⚑⚑ Moderate Best

All model weights (~6–50 MB) auto-download from Ultralytics on first run.

Detection Window β€” On-Screen Elements

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                          β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                   β”‚
β”‚    β”‚ #1  person 94%                  β”‚ ← label badge     β”‚
β”‚    β”œ  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β· ─ ← corner accents  β”‚
β”‚    β”‚                                 β”‚                   β”‚
β”‚    β”‚        [person detected]        β”‚ ← bounding box    β”‚
β”‚    β”‚                                 β”‚                   β”‚
β”‚    β”œ  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β·  Β· ─                   β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                   β”‚
β”‚                                                          β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   ← HUD (top-right)       β”‚
β”‚   β”‚ FPS    :  29.8           β”‚                           β”‚
β”‚   β”‚ Objects:    3            β”‚                           β”‚
β”‚   β”‚ Model  : YOLOV8N        β”‚                           β”‚
β”‚   β”‚ [ P ] Pause  [ Q ] Quit β”‚                           β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β”‚                                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Keyboard Controls

Key Action
P Pause / Resume detection
Q Quit detection window

Control Panel Layout

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  🎯  TITAN          CodeAlpha AI Task 4      β”‚
β”‚  ──────────────────────────────────────────  β”‚
β”‚                                              β”‚
β”‚  πŸ“Ή  Video Source                            β”‚
β”‚    β—‰  Webcam  (index 0)                      β”‚
β”‚    β—‹  Video File                [Browse…]    β”‚
β”‚                                              β”‚
β”‚  🧠  YOLO Model                              β”‚
β”‚    [ YOLOv8 Nano (fastest)              β–Ό ] β”‚
β”‚                                              β”‚
β”‚  🎚️  Confidence Threshold                   β”‚
β”‚    [━━━━━━━━━━━━━━━━━━━━━━━━━━━━━]  0.45    β”‚
β”‚                                              β”‚
β”‚  πŸ“Š  Live Stats                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚  β”‚   FPS    β”‚ Objects  β”‚  Status   β”‚         β”‚
β”‚  β”‚   29.4   β”‚    4     β”‚  Running  β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                              β”‚
β”‚   [β–Ά  Start Detection]   [β–   Stop]           β”‚
β”‚  ──────────────────────────────────────────  β”‚
β”‚   [ P ] Pause / Resume   [ Q ] Quit          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technologies

Library Purpose
Python Core language
YOLOv8 (Ultralytics) Real-time object detection
ByteTrack Persistent object ID tracking across frames
OpenCV Video capture, frame processing, display
NumPy Array math for drawing operations
Tkinter Desktop control panel UI

βš™οΈ Setup & Installation

Prerequisites

  • Python 3.9 or higher
  • pip
  • Internet connection (model weights + NLTK data auto-download on first run)

Install All Dependencies

pip install deep-translator nltk scikit-learn ultralytics opencv-python numpy anthropic

API Key (Task 2 only β€” for Claude AI fallback)

# Windows
set ANTHROPIC_API_KEY=sk-ant-...

# Mac / Linux
export ANTHROPIC_API_KEY=sk-ant-...

Get a free key at: console.anthropic.com
Without a key, ARIA still works β€” it uses the FAQ bank for all answers.


▢️ How to Run

Task 1 β€” Language Translation Tool

cd CodeAlpha_LanguageTranslation
python translator.py

Task 2 β€” FAQ Chatbot (ARIA)

cd CodeAlpha_FAQChatbot
python chatbot.py

NLTK data downloads automatically on first launch (~2 sec).

Task 4 β€” Object Detection & Tracking (TITAN)

cd CodeAlpha_ObjectDetection
python detector.py

YOLOv8 weights auto-download on first launch. Select model in UI, click Start Detection.


πŸ“ Project Structure

CodeAlpha-AI-Internship/
β”‚
β”œβ”€β”€ CodeAlpha_LanguageTranslation/
β”‚   β”œβ”€β”€ translator.py          ← run this
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ CodeAlpha_FAQChatbot/
β”‚   β”œβ”€β”€ chatbot.py             ← run this
β”‚   β”œβ”€β”€ faqs.py                ← 200 Q&A knowledge base
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ CodeAlpha_ObjectDetection/
β”‚   β”œβ”€β”€ detector.py            ← run this
β”‚   └── requirements.txt
β”‚
└── README.md

πŸ“š What I Learned

🧠 NLP β€” Task 2

Raw text  ──►  Preprocessing  ──►  TF-IDF vector  ──►  Cosine score  ──►  Answer
"how ML?"      lowercase            200-dim               β‰₯ 0.20?          FAQ
               stopwords            bigrams               < 0.20?          Claude AI
               stemming
  • Text preprocessing pipeline: tokenization β†’ stopwords β†’ stemming
  • Why TF-IDF captures importance, not just frequency
  • How cosine similarity measures semantic closeness regardless of text length
  • When to use retrieval (FAQ) vs generation (Claude AI) β€” and how to combine both

πŸ‘οΈ Computer Vision β€” Task 4

Frame  ──►  YOLO grid  ──►  Box predictions  ──►  ByteTrack  ──►  Display
image       NxN cells       class + conf          IoU match       annotated
            each predicts   bounding box          persistent ID   frame
  • How YOLO divides a frame into a grid and predicts multiple boxes per cell
  • What confidence threshold does and how tuning it affects detection sensitivity
  • How ByteTrack uses Intersection over Union (IoU) to match detections across frames
  • Trade-offs between Nano (speed) vs Medium (accuracy) model sizes
  • Threading β€” keeping the Tkinter UI responsive while OpenCV runs on a background thread

🐍 Python & Software Engineering

  • OOP β€” separating DetectionSession from ControlPanel with clean callbacks
  • Threading with daemon=True and root.after() for safe UI updates
  • try/except ImportError pattern for graceful dependency handling
  • Structuring a multi-file project for clean GitHub submission

πŸ™ Acknowledgements

  • CodeAlpha β€” for the internship opportunity and well-structured task list
  • Ultralytics β€” for YOLOv8, the cleanest object detection API available
  • Anthropic β€” for Claude AI powering ARIA's dynamic fallback
  • NLTK Team β€” for the NLP toolkit behind ARIA's preprocessing
  • Scikit-learn β€” for TF-IDF and cosine similarity

πŸ“¬ Contact

Pranav BBACA Graduate Modern College of Arts, Science and Commerce, Pune-16

LinkedIn GitHub


Built with 🧠 + β˜• during the CodeAlpha AI Internship

Made with Python Open to Opportunities

About

Three AI internship projects: ARIA, an NLP FAQ chatbot using TF-IDF and cosine similarity with a Claude API fallback; a 20+ language desktop translator; and TITAN, a real-time YOLOv8 object detection.

Topics

artificial-intelligencechatbotcomputer-visionnlpnltkopencvpythontkinteryolov8

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.