{"id":23918286,"url":"https://github.com/sahilk-027/sightv1-analyzer","last_synced_at":"2026-05-05T04:40:18.376Z","repository":{"id":207760201,"uuid":"720019889","full_name":"SahilK-027/SIGHTv1-Analyzer","owner":"SahilK-027","description":"A video analysis application utilizing OpenCV and machine learning to generate timestamps for car accidents captured in recorded video footage.","archived":false,"fork":false,"pushed_at":"2024-03-12T09:54:03.000Z","size":79274,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T14:19:27.010Z","etag":null,"topics":["anomaly-detection","flask","opencv","react"],"latest_commit_sha":null,"homepage":"https://sight-analyzer.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SahilK-027.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-17T12:04:18.000Z","updated_at":"2024-08-25T12:26:33.000Z","dependencies_parsed_at":"2023-11-17T14:12:06.733Z","dependency_job_id":"10127d7a-4681-4397-9869-f6fd74969f58","html_url":"https://github.com/SahilK-027/SIGHTv1-Analyzer","commit_stats":null,"previous_names":["sahilk-027/sight-analyzer","vigilanceiq/sightv1-analyzer","sahilk-027/sightv1-analyzer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilK-027%2FSIGHTv1-Analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilK-027%2FSIGHTv1-Analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilK-027%2FSIGHTv1-Analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilK-027%2FSIGHTv1-Analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SahilK-027","download_url":"https://codeload.github.com/SahilK-027/SIGHTv1-Analyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240372480,"owners_count":19791008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","flask","opencv","react"],"created_at":"2025-01-05T13:13:19.559Z","updated_at":"2026-05-05T04:40:13.353Z","avatar_url":"https://github.com/SahilK-027.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to SIGHT 👀\n## Overview\nThis project is a video analysis application designed to leverage OpenCV and machine learning to provide timestamps for car accidents in recorded video footage. The application aims to enhance the process of analyzing traffic incidents by automatically detecting and timestamping car accidents.\n\n## Features\n- **OpenCV Integration:** Uses OpenCV for video processing and analysis.\n- **Machine Learning:** Implements machine learning algorithms for car accident detection.\n- **Timestamp Generation:** Automatically generates timestamps for identified car accidents.\n- **User-Friendly Interface:** Provides an intuitive interface for users to interact with the application.\n\n## Demo\nhttps://github.com/SahilK-027/SIGHT-Analyzer/assets/104154041/ec59f05b-188c-4713-84f6-4eb4fb40975c\n\n## How do we calculate the reduction in false alarm percentage?\nGiven the precision values:\n- `Precision_before`: 91.3%\n- `Precision_after`: 93.8%\n\nCalculate the false positive rate (FPR) before and after the improvement:\n- FPR_before = 1 - `Precision_before`\n- FPR_after = 1 - `Precision_after`\n- FPR_before = 1 - 0.913 = 0.087\n- FPR_after = 1 - 0.938 = 0.062\n\nNow, calculate the reduction in false alarms percentage:\n- Reduction = ((`FPR_before` - `FPR_after`) / `FPR_before`) * 100\n- Reduction = ((0.087 - 0.062) / 0.087) * 100\n- Reduction ≈ 28.74%\n\nSo, the improvement in precision from 91.3% to 93.8% resulted in approximately a `28.74%` reduction in false alarms.\n\n## Improvements\n\u003cimg width=\"619\" alt=\"Screenshot 2024-03-05 at 4 41 06 PM\" src=\"https://github.com/SahilK-027/SIGHT-Analyzer/assets/104154041/0d5d3dae-ab42-4e08-a906-f1de24df4546\"\u003e\n\n## Mathematical Model\n### Input:\n\n- **Input Image:** Denoted by X\n\n#### Processing Stages:\n\n##### 1. Feature Extraction Backbone:\n\n- **Convolutional Layer Operation:**\n\n  - **Input:** Feature map X\n  - **Output:** Feature map Y\n  - **Equation:**\n    - Y(i, j) = Σ(u, v) X(i+u, j+v) \\* W(u, v)\n\n- **Max Pooling Operation:**\n  - **Input:** Feature map X\n  - **Output:** Downsampled feature map Y\n  - **Equation:**\n    - Y(i, j) = max(u, v) X(i+u, j+v)\n\n##### 2. Object Detection Head:\n\n- **Detection Layer Operation:**\n  - **Input:** Feature map X\n  - **Output:**\n    - Bounding box coordinates bbox(i,j)\n    - Objectness score conf(i,j)\n    - Class probabilities class(i,j,c)\n  - **Equation:**\n    - bbox(i,j) = (tx(i,j) _ σ(tw(i,j)) + b(i,j), ty(i,j) _ σ(th(i,j)) + b(i,j))\n    - conf(i,j) = σ(tc(i,j))\n    - class(i,j,c) = pc(i,j,c) \\* σ(t_c(i,j,c))\n\n##### 3. Anchor Boxes:\n\n- **Anchor Box Calculation:**\n  - **Input:** None (Derived from the network)\n  - **Output:** Anchor box dimensions w_a, h_a\n  - **Equation:**\n    - w_a = p_wa \\* e^(t_w)\n    - h_a = p_ha \\* e^(t_h)\n\n##### 4. Non-Maximum Suppression (NMS):\n\n- **Input:** Set of bounding boxes B, Score threshold Σ, Intersection over Union threshold T\n- **Output:** Selected bounding boxes β_i in B after NMS\n- **Equation:**\n  - NMS(B, Σ, T) = { β_i in B | ∀ β_i, β_j in B, i ≠ j: IoU(β_i, β_j) \u003c T }\n\n### Output:\n\n- **Final Output:** Selected bounding boxes after NMS\n\n## Frontend Setup\nDownload [Node.js](https://nodejs.org/en/download/).\n\nRun the following commands:\n\n``` bash\n# Install dependencies (only the first time)\nnpm install\n\n# Run the local server\nnpm run dev\n\n# Build for production in the dist/ directory\nnpm run build\n```\n\n## Backend Setup\nDownload [Python](https://www.python.org/downloads/).\n\nRun the following commands:\n\n``` bash\n# Install dependencies (only the first time)\npip install\n\n# Run the local server\npython3 api/server.py \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilk-027%2Fsightv1-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsahilk-027%2Fsightv1-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilk-027%2Fsightv1-analyzer/lists"}