辅导CSCI935编程设计、 写作Python程序语言

” 辅导CSCI935编程设计、 写作Python程序语言SCIT, University of Wollongong1 of 3CSCI435/CSCI935Computer Vision: Algorithms and SystemsSpring 2020Assignment Three (25%)Due Date: 5:00pm Sunday 8 November 2020Objectives Design a C/C++ or Python program that extracts and counts moving objects, e.g. people, cars andothers using background modelling and segmentation of optical flow.IntroductionExtraction of moving objects from a sequence of images or video is often used in many video analysis tasks.For instance, it is a key component in intelligent video surveillance systems. In this assignment, you arerequired to Develop a program in C/C++ or Python using OpenCV 4.4.0 to detect, separate and countmoving objects from a given sequence of images or video captured by a stationary camera. There are threetasks.Task One (18%) Background modellingIn this task, you are required to extract moving objects using background modelling. There are three keysteps involved in the extracting and counting moving objects:1. Detecting Moving pixels using background modelling and subtraction,2. Removing noisy detection using morphological operators or majority voting and3. Count separate moving objects using connected component analysis.4. Classify each object (or connected component) into person, car and other by simply using the ratio ofwidth and height of the connected components.OpenCV 4.4.0 provides various algorithms for each of the steps 1 2. However, you MAY have toimplement your own connected component analysis algorithm and classification algorithm. For simplicity,you can assume that each connected component corresponds to one object.Original Video Frame EstimatedBackground FrameDetected MovingPixels beforeFiltering (in BinaryMask)Detected Objects(in Original color)SCIT, University of Wollongong2 of 3When running, the program should display the original video frames, estimated background frames, detectedmoving pixels after the background modeling and subtraction (before any noise removal) and the detectedmoving objects in a single window as illustrated above. The detected moving pixels before filtering shouldbe displayed in Black and white (binary mask). The detected object has to be displayed in its original RGBcolor (all background pixels should be displayed in black). At the same time, the number of objects orconnected components should be output to the command window as illustrated below:Frame 0001: 0 objectsFrame 0002: 0 objectsFrame 0031: 5 objects (2 persons, 1 car and 2 others)Frame 0032: 6 objects (3 persons, 1 cars and 2 others)Frame 1000: 10 objects (Task Three (7%) Segmentation of moving objectsIn this task, you are required to extract moving objects using segmentation of motion fields (e.g. opticalflows). You need to design your own solution by using the algorithms you have learned from the subject. Thesolution must be Described in the head of your source C/C++ or Python code.Original VideoFrame OneOriginal VideoFrame TwoEstimatedMotion FieldSegmentedObjects(In Original color)The program should display the original video frames, estimated motion field, detected moving pixels andthe detected moving objects in a single window as illustrated above. The two original video frames are thosefrom which the motion field is estimated. The estimated motion field should be displayed using arrowwhose direction Encodes motion direction and length encodes magnitude of the motion. Note that you maychoose to display motion flow of every other 2, 3 or 4 pixels so as not to clutter the display. The segmentedobject has to be displayed in its original RGB color (all background pixels should be displayed in black). Atthe same time, the number of objects or connected components should be output to the command window inthe same format as that of Task One.Requirements on coding1. The program should be named as movingObj and shall take an option, either b or -s and avideo filename as the input, e.g. movingObj b videofile or movingObj sSCIT, University of Wollongong3 of 3videofile. When b is given, the program should perform Task One and when s is given, theprogram performs Task Two.2. No other third-party libraries should be used in the program except OpenCV 4.4.0 or OpenCV4.4.0-Python (assuming that numpy and matplotlib packages exist). The code has to be either inC/C++ or Python.3. Place your implementation in a single .cpp or .py file called movingObj.cpp orcountMovingObj.py4. Description of the solution to Task Two should be given as comments at the beginning of themovingObj.cpp or movingObj.py5. No other third-party libraries should be used in the program except OpenCV 4.4.0. The code has tobe in either C/C++ or python-OpenCV 4.4.0.Marking SchemeZero marks may be graded if your code cannot run or the code does not meet the requirementsTask One1. Program structure, comments and usability (2%)2. Read and display of the video frames (2%)3. Background modeling or estimation (3%)4. Subtraction and display of the detected moving pixels (3%)5. Remove of noisy or false detection (2%)6. Connected Component analysis and display of the moving objects (2%)7. Classification of moving objects (2%)8. Output number of objects or connected components (2%)Task Two9. Description of the solution (1%)10. Display of the two frames (1%)11. Estimation and display of motion fields (3%)12. Segmentation and display of the moving objects (2%)SubmissionZip the following Source and executable files to your_login_name.zip. The zip file must be submitted viaMoodle.For C/C++ implementation: movingObj.cpp, movingObj.exe (Win10, openCV 4.4.0 MS VisualC/C++ 2017 Release version, 64bits)For Python implementation: movingObj.py (Win10, openCV 4.4.0 + Python 3.8.5)IMPORTANT:a) DO NOT include and submit any object files and videos in the zip file. Your submission may not beaccepted if you do so.b) Submission through email WILL NOT be accepted如有需要,请加QQ:99515681 或邮箱:99515681@qq.com

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导