Empowering Insights, Enhancing Animal Welfare
- 📍 Overview
- 👾 Features
- 📁 Project Structure
- 🚀 Getting Started
- 📌 Project Roadmap
- 🔰 Contributing
- 🎗 License
- 🙌 Acknowledgments
AnimalCare is an innovative open-source project designed to enhance animal welfare through advanced video analysis and AI-driven insights. By processing video inputs to monitor and assess animal behavior, the project aids veterinarians, researchers, and animal behaviorists in making informed health and welfare decisions. Key features include object segmentation, behavior analysis, and health assessment tools, making AnimalCare essential for professionals dedicated to improving animal care practices.
Feature | Summary | |
---|---|---|
⚙️ | Architecture |
|
🔩 | Code Quality |
|
📄 | Documentation |
|
🔌 | Integrations |
|
🧩 | Modularity |
|
🧪 | Testing |
|
⚡️ | Performance |
|
🛡️ | Security |
|
└── AnimalCare/
├── BehaviorAnalysis
│ ├── demo1.mp4
│ ├── final_segmented_video
│ ├── gptCall.py
│ └── requirements.txt
├── README.md
├── main1.py
├── requirements.txt
└── sam2_final.ipynb
ANIMALCARE/
__root__
sam2_final.ipynb - The file `sam2_final.ipynb` serves as a Jupyter notebook within the project, likely functioning as a final or consolidated version of analysis or computation designated by the "final" in its name
- This notebook is integral to the project's data processing or analysis phase, providing a platform for executing Python code in an interactive environment which is beneficial for iterative testing, data visualization, or presenting statistical findings.Given its placement and naming convention,
sam2_final.ipynb
is possibly a culmination of previous work or experiments documented in other notebooks or scripts within the project
- It might contain finalized scripts, key insights, or results that are critical for the project's objectives
- This could include data manipulation, visualization, model training, or result interpretation tasks that are essential for the project's subsequent stages or for delivering the project's end goals.The notebook's role in the broader architecture is likely central to the analytical or processing component of the project, interfacing with data inputs and generating outputs that could be used by other parts of the project for further development or reporting.
requirements.txt - The requirements.txt
file serves a crucial role in the architecture of the entire codebase by specifying the exact versions of external libraries and packages that the project depends on
- This file ensures that the development, testing, and production environments are consistent, preventing discrepancies that could arise from version mismatches
- It lists various Python libraries such asaiohttp
,aiosignal
, andanyio
, among others, which are essential for the project's asynchronous operations and other functionalities
- By locking down specific versions, the file aids in maintaining the stability and compatibility of the application across different setups and deployments
- This approach minimizes potential conflicts and aids in the smooth operation and maintenance of the software system as a whole.main1.py - Processes video input to extract frames, applies a deep learning model for object segmentation, and refines segmentation based on user-defined points
- Outputs include visualized segmentation masks and a final video compilation, showcasing the segmented objects across frames for both analysis and presentation purposes.
BehaviorAnalysis
gptCall.py - BehaviorAnalysis/gptCall.py processes video input to extract frames, encode them in base64, and utilizes an OpenAI client to generate comprehensive animal behavior analyses based on selected video frames
- The script aims to assist animal behaviorists by providing detailed observations and health assessments from visual data.requirements.txt - Serves as the dependency manifest for the BehaviorAnalysis module, specifying essential libraries such as opencv-python for image processing and openai for leveraging AI capabilities
- These dependencies are crucial for the module's functionality, which likely involves image analysis and AI-driven data interpretation within the broader project architecture.
Before getting started with AnimalCare, ensure your runtime environment meets the following requirements:
- Programming Language: Error detecting primary_language: {'ipynb': 1, 'txt': 2, 'py': 2}
- Package Manager: Pip
Install AnimalCare using one of the following methods:
Build from source:
- Clone the AnimalCare repository:
❯ git clone https://github.com/sandeepsalwan1/AnimalCare
- Navigate to the project directory:
❯ cd AnimalCare
- Install the project dependencies:
❯ echo 'INSERT-INSTALL-COMMAND-HERE'
Run AnimalCare using the following command:
Using pip
❯ echo 'INSERT-RUN-COMMAND-HERE'
Run the test suite using the following command:
Using pip
❯ echo 'INSERT-TEST-COMMAND-HERE'
-
Task 1
:Complete front+backend. -
Task 2
: Enhance chatbot. -
Task 3
: Expand frontend.
- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the
AnimalCare
project. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/sandeepsalwan1/AnimalCare
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
AnimalCare is released under the MIT License. For more details, please refer to the LICENSE file.