THIS IS A COPY OF A UNIVERSITY PROJECT REPO. THE ORIGINAL MAY NOT BE PRESENT ANYMORE.
Repository | Project Overview | WebApp | Team |
---|---|---|---|
- Google Drive - Timeline - Tools |
- Project Brief - Client's Vision - Project Purpose - Project Scope - Stakeholder - Risks and Constraints - Ethics and Privacy |
- Risk Register - Issues Register - Requirements - User Story Map - Web Crawler |
- Contributors - Feedback - Meetings |
Audit | Feedback | Poster | WebApp | Team |
---|---|---|---|---|
- Audit 1 - Audit 2 - Audit 3 |
- Audit 1 - Audit 2 - Audit 3 - Decisions |
- Posters | - WebApp - Research |
- Audit 1 Timeline - Audit 2 Timeline - Audit 3 Timeline |
Biometix' vision involves an intuitively designed program for Government employees to utilize the faces of already known persons of interest and extract their information through social network sites. If the person of interest is found on social network sites through facial recognition, the collected data will be provided to the operator to catch criminals or help potential victims of exploitation.
Today, law enforcement employs a great number of resources to locate criminals and persons of interest. This is due to the natural difficulty in finding one person in large groups of people. Our application aims to resolve this issue by allowing law enforcement to find persons of interest with photos of their faces. Provided faces will be learnt by a neural network which then will traverse through various social network sites in order to find a potential biometric match(es).
The team agreed to the provided project brief and decided to create a functional demo application that meets the MVP by the end of week 10 of semester 1 for the clients. The second semester will be the development of the stretch goals.
A functional application is defined by:
- Intuitively designed web application that accepts photo(s) of a face and location.
- Database containing information of faces, its metadata and their social network sites.
- Online crawler that detects human faces and extracts relevant information.
- Face recognizer that detects and matches provided face(s) with a face(s) in the gallery database.
- Automatically generates a general report that shows the process.
In-depth analysis of stakeholders is documented in our wiki.
Two major risks the team will face will be issues surrounding time management, and any issues regarding the security of the application.
-
Time management and post-production
This field of development introduces the team to new challenges including a still ambiguous time frame. Furthermore, heavy dependency on external APIs, privacy policy and data format may call for an overhaul of the application if the dependencies changed. Dependency risks carry along to post-production of the application. -
Security and privacy
The database containing the collected data must be secure due to the sensitivity of the data. Risks concerning the privacy of said data will be closely monitored throughout the application development. -
Regulations
-
More detail of risk register can be found here
-
More detail of issue register can be found here
In-depth analysis of ethics and privacy is documented in our wiki.
In-depth research into the privacy policy of various social network sites proved that the collection and the usage of public users' data is not possible without the help of the law enforcement. Therefore, the web crawler will not be created during the first semester of Tech Launcher. The reasoning behind the decision can be found here
Every stakeholders' feedback from each audit is carefully analysed and considered for the future of the project. The full analysis and responses from the feedback can be found on Google Drive.
Meetings: Schedule
Weekly team meeting typically on Thursday 2:00 pm - 4:00 pm. This meeting is essential for the review of last week's work and the current progress as well as the discussion of future weeks' work. In-person meetings help members voice their ideas, opinions and even struggles with the project.
Weekly tutorial on Wednesday 10:00 am - 12:00 pm. Tutorials help the team prepare the audits while getting feedback from the tutor and the shadow team about the progress.
Fortnightly client meetings on Monday 4:00pm - 5:00pm. Client meetings allow the team members and the clients to easily and quickly communicate about the project's progress and specifications.
Updated to v2.1
![User Story Map](Landing/User Story Map_new_png.PNG)
Updated to v2.2
Name | Uni ID | Role | Contact |
---|---|---|---|
Kun Du (Derek) | u6261200 | - Web Crawling - Facial Recognizer - Quality Control |
|
Woojin Ra | u6058768 | - Spokesperson - Repo Maintenance - Web Development - Web Crawling |
|
Yiqin Xu | u6358321 | - Facial Recognizer - Meeting Scribe - Databases - Issue Register |
|
Xiaocheng Xu (Rex) | u6279867 | - Vice Spokesperson - Facial Recognizer - Databases - Scheduling |
|
Wing Chee Yeung (Nick) | u5121850 | - Not Available | |
Ying Zhao | u6413153 | - Facial Recognizer - Web Development - Quality Control - Risk Register |
GitLab offers a wide variety of features that are useful for software management. The team will utilize branches, issues and commit functions to minimize conflicts regarding parallel workflow.
Python is an interpreted high-level programming language for general-purpose programming. It will be used for facial recognition as well as the web crawler.
OpenCV offers powerful tools for image pre-processing as well as provide a quick implementation of basic facial detection and recognition.
TensorFlow allows easy implementation of a neural network that will be used for biometric detection and matching in this project. This Python framework was chosen to match the Biometix's conventions for a smooth handover.
MERN combines MongoDB, Express, React and nodeJS into one framework for both the backend and the front end of the project. This framework was also chosen to match the convention of Biometix for smooth handover in the future. Using what is familiar with Biometix further allows the team to learn from our clients through mini-workshops.
Google Drive will be used to manage documents containing meeting minutes, planning, decisions and more. This allows the team to view and edit important files at once.
Slack was chosen as the main mode of communication between the team members and the clients. We found that it was best to have different channels for different agendas. This made it easier for all of us to keep track of conversations.