COMP255 Human activity recognition | Good Grade Guarantee!
Assignment: SDLC for human activityrecognition project
COMP255 Human activity recognition @MQAug 2019)
S2, 2019 (updated on 11th
This project aims to develop a human activity recognition IoT application toevaluate students’ knowledge in SDLC. This is an individual assignment. Theproject tasks shall be carried out individually.Commences: Week 3.Assignment due: 5pm, Friday of week 7 (13th Sep).Value: 15%OverviewThe recognition of human activities has become a task of high interest formedical, military, and security applications. For instance, patients withdiabetes, obesity, or heart disease are often required to followa well-defined exercise routine as part of their treatments . Therefore,recognizing activities such as walking, running, or cycling becomes quiteuseful to provide feedback to the caregiver about the patient’s behavior.Likewise, patients with dementia and other mental pathologies could bemonitored to detect abnormal activities and thereby prevent undesirableconsequences .In such IoT applications, proper software engineering and data engineeringare especially important to manage the software development life cycle andhelp make data useful for machine learning models. Many software engineersare primarily interested in aggregating raw data and making it into useful,ordered and structured data formats. A typical flowchart of sensor-basedhuman activity recognition as shown in Figure 1.Figure 1. A typical flowchart of sensor-based human activity recognitionThis assignment involves the following subtasks:1. Use Agile to manage this IoT application development (e.g., developbacklog, create sprint, and monitor the sprint progress). The backlogand each sprint along with each week’s sprint progress burndown chartshall be recorded in the final submission document.2. Based on the given workshop materials, create python code to loaddata and extract corresponding features from the given dataset.3. Test and evaluate the two given machine learning models (KNN andSVM) and application in general and record the test results andevaluation summary in the final submission document.4. Refactor the source code according to the design pattern lecture andmake the code easier to understand and extensible. The code shallbe managed by GitHub and will be reviewed for this along with GitHubversion control history.The sourcing data is from a public dataset (Dalia dataset , which contains 6sensors’ data for 19 activities), refining that data and cleaning them up, andextracting significant features through statistical analysis for use in artificialintelligence and machine learning systems.An example code is provided for reference. You may need to learn the use ofPython libraries Numpy  and Pandas . Machine learning modules usingScikit-learn  are given though having some understanding of them isrecommended (we will only cover the basics of it to avoid course overlapping).Recommended SprintsThe human activity recognition IoT system are recommended to be developedin four sprints.1. Data loading and preprocessing: In this stage, based on the workshopmaterials provided, you need to firstly visualize the sensor data to getsome idea of the underlying human activity pattern. Based on the givencodes, apply the signal filtering and visualize the cleaned data.2. Feature engineering for sensor data: In this stage, you need to extractfeatures from the cleaned sensor data. In the example code, min, max,and mean values of three accelerometers in the wrist sensor are extractedas features of each human activity. In this assignment, you need to focuson feature engineering (try to extract more features from more sensorsbased on the Week 3 lecture note, and research how different featuresinfluence the performance of human activity recognition based IoTapplication). Then, you could use the GIVEN code to construct trainingdatasets. In this stage, you could train different GIVEN machine learningmodels based on training feature set. The code of recognition models isGIVEN, where KNN and SVM classifier are used to learn human activityrecognition.3. Testing: After training a model, you should evaluate and test theapplication. Classification accuracy is a simple metric to measure theperformance of a trained model. In addition, confusion matrix could clearlyshow the performance of our model on the recognition of each activity(Testing of Machine learning models and confusion matrix will be coveredin week 4 lecture notes) . The two evaluation metrics are also GIVEN inthe example code.4. Code refactoring and Version Control: The given example code reflectsthe state of the art engineering for IoT. Please refactor the code to makethe code easily to read/understand (e.g., comments) and extensible(those techniques for design pattern and software refactoring taught in theunit). The changes shall be reflected in the GitHub version control. https://www.mad.tf.fau.de/research/activitynet/daliac-daily-life-activities/ https://www.numpy.org/devdocs/user/quickstart.html https://pandas.pydata.org/pandas-docs/stable/ https://scikit-learn.org/stable/documentation.html Y. Jia, “Dietetic and exercise therapy against diabetes mellitus,” in SecondInternational Conference on Intelligent Networks and Intelligent Systems, pp. 693–696, 2009. J. Yin, Q. Yang, and J. Pan, “Sensor-based abnormal human-activity detection,”IEEE Trans. Knowl. Data Eng., vol. 20, no. 8, pp. 1082– 1090, 2008.The use of example code:1. download the DaLiAc dataset from the link of reference 1. Unzip all filesinto a folder called ‘dataset’ and then put the example code ‘har.py’ andthe ‘dataset’ folder at the same directory.2. Install Python3.x and libraries Numpy, Pandas, Scikit-learn and Matplotlibfollowing the guidance in the weekly labs.3. Run har.pyAt the end of this assignment, you should submit your code (a new fileor example code where you add your functions) and a report.The structure of the report is:Suggested headings (max. 10 pages; 10pt-12pt font size in single linespacing)– Student details: name and SID– Project title (you are free to give a cool name as the project can be usedfor many purposes)– Introduction: description of the project.– SCRUM Sprint and Design: give description of each key component andsystem architecture (can follow the given diagram but can’t be exactly same).Give description of the backlog, each sprint created and weekly sprintprogress chart (burndown chart).– Implementation: description of technologies and techniques used withrespect to each of system components/functionalities described in the Design.– Evaluation: description of experiments and discussion of results– Discussion: Challenges, limitations and open issues.– Version Control: give screen shop of the GitHub version control log– Summary/conclusion: summary and/or concluding remarks– References including Bitbucket project repository/wikiMarking rubric:3 marks: Agile Management and System Design– The design is compliant with the project requirement and detailed – 1 mark– Reasonable backlog design – 1 mark– Reasonable Sprint design and progress – 1 mark3 marks: Data engineering & Feature engineering– Correct python code to load data – 1.5 marks– Correct python code to extract features from data – 1.5 marks3 marks: Testing and Evaluation report– Correct python code to construct training and testing set and test givenmachine learning models – 1.5 marks– Reasonable evaluation report – 1.5 marks3 marks: Code Refactoring and Version Control– Elegance of code – 1 mark– Maintainability (e.g., comments) – 1 mark– Reasonable Version control history (e.g., Screen shot from GitHub) – 1mark3 marks: Summary and overall clarity of the report– Insightful summary for the project from software engineering perspective –1 mark– English (e.g., grammar, typos, readability, etc.) – 1 mark– Structure including references/Length – 1 mark
QUALITY: 100% ORIGINAL – NO PLAGIARISM.
- **REMEMBER TO PRECISE PAGE NUMBER**
- Hit The Order Button To Order A **Custom Paper**