My Resume
Name:Xiao Hu
Email:xhu0026@gmail.com
GitHub:haliphinx
Educational History
- Huazhong University of Science and Technology(HUST) —Sep., 2013- Jul., 2017
- Bachelor of Engineer (Major in Computer Science) —GPA: 80.61/100 ( 3.6/4 Top 28%)
- University of Ottawa(uOttawa) -Sep.,2017- Jul.,2020
- Master of Computer Science
- University of Ottawa(uOttawa) -Sep.,2020- Present
- Ph.D candidate in VIVO lab, supervised by Prof. Jochen Lang.
- Current Research: AR, Computer Vision, SLAM, Mechine Learning and Deep Learning.
Publications
- Xiao Hu, Basavaraj Hampiholi, Heiko Neumann, and Jochen Lang. Temporal Context Enhanced Referring Video Object Segmentation. IEEE/CVF Winter Conference on Applications of Computer Vision (WACV), 2024.
- Xiao Hu, Jochen Lang. DOE-SLAM: Dynamic Object Enhanced Visual SLAM. Sensors 2021, 21, 3091. https://doi.org/10.3390/s21093091.
- Xinmin Diwu, Xiao Hu, Yongchao Geng. Application and Demonstration of General Aviation CNS System Based on RDSS of BeiDou Navigation Satellite System. Civil Aviation Science & Technology.
- Xuefeng Wang, Xiao Hu, Ming Yang, Weixun Wang. Current Situation Analysis and Air Traffic Control System for UAV. Modern Navigation.
Technical Proficiency
- Programming Languages: C, C++, Python, Tensorflow, Pytorch, Matlab, R, JAVA, Assembly language, Verilog, HTML, Javascript.
- Operating systems: Windows, UNIX/LINUX, MacOS, ROS.
Projects
- TCE-RVOS
- Oct., 2023
- Multi-modality Referring video object segmentation.
- Improved the temporal context understanding ability.
- DOE-SLAM
- Aug., 2020
- Embedded feature based multi-object tracking into the traditional SLAM system.
- The canmera pose is recovered from the object motion prediction when the obstruction occurs.
- Dynamic Object SLAM
- Apr., 2019
- Developed by C++ in LINUX, OpenCV and multithreads are employed in the system, and open source on Github.
- Based on ORB-SLAM and Mask R-CNN system to improve the accuracy in dynamic environments.
- Utilized Unity3D with C# to generate test videos, and Python to visualize and evaluate results.
- Sequence Based SLAM
- Feb., 2019
- C++, LINUX, OpenCV, multithreads, and open source on Github.
- Selected the sequence based method with sequence descriptor to reduce the time usage for loop detection.
- WSC-EHSN
- Jul., 2018
- Python based e-survey software for water survey by Environment and Climate Change Canada
- Applied socket for online dataset operation. Used matplotlib and numpy for data visualization.
Previous Projects (before 2018)- People Number Statistics System in Video Surveillance
- Feb., 2017
- Programming Background: A software system based on C and Opencv. Through several types of image operate technology to handle the image, besides the continuity is important as well.
- Details: Adaboost algorithm has been selected as the main algorithm to complete a classifier. Haar-like feature is the main thought to distinguish face and non-face.
- Depth Detection and Early Warning System for Submarine
- Sep., 2016
- Programming Background: A hardware program programed by Verilog and C++, then burn into a FPGA demo board, besides some different types of chips will be use in this system.
- Details: Using control word to operate some chips, like 82c55a,82c51a,82c53a and A/ D chip. Implement the whole process including produce the analog signals , transport the signals, analyse the signals and transport the signals back.
- Human Resources Management System
- Sep., 2016
- Programming Background: A computer software program programed by Java with the user interface programed by a Java package named swing. Select Sqlserver for the tool to operate the date base.
- Details: Through a java API named jdbc to connect Java program and the date base so that the user can operate the date base like insert, delete, search and update through the program.
- Students Information Management System
- May., 2016
- Programming Background: A computer software program programed by Java with the user interface programed by a Java package named swing.
- Details: Through the program programed by Java to operate the excel file , like insert, delete and search. Then program an user interface to operate the system easily.
- MIPS CPU design
- Feb., 2016
- Programming Background: Design and test a simple CPU by using logsim which is suitable for MIPS.
- Details:
- Connect each circuit elements.
- Design the memory and arithmetic unit.
- Design a simple CPU by only one cycle
- Update the one cycle CPU into a naive five stage RISC pipeline CPU
- Improve the naive five stage RISC pipeline CPU into a classical five stage RISC pipeline CPU by avoiding hazards(Structural hazards and Data hazards).
- Course Experiment of Operating System
- Feb., 2016
- Programming Background: Some separate operations under Linux os.
- Details: The operations include add a systemcall to the kernel, add device drivers, make bzImage and implement a simple file system by linkedlist.
- Washing Machine Flow Control System
- Sep., 2015
- Programming Background: A hardware program programed by Verilog and burn into a FPGA demo board.
- Details: Simulate the whole process about the washing machine and implement some main functions, like rinse, dehydration and spin-dry. Finally burn the program into a FPGA demo board for test.
- String Matching Algorithm Comparison System
- Jan., 2015
- Programming Background: A computer software program programed by C language with the user interface programed by GTK.
- Details: First of all,I implement some classical string matching algorithms by C language, like Brute force, kmp, Boyer Moore, Robin-Karp, Bitap. Then gather all these algorithms together in a system to compare the runtime for each of them.
- Pharmacy Management System
- Feb., 2014
- Programming Background: Programming Background: A computer software program programed by C language.
- Details: Some simple date structure have been used to save the date, like orthogonal List. I also implement a document interface for it.
Work Experience
- Teaching Assistant(uOttawa)
- Sep.,2019-Now
- Introduction To Computing(Python,Java), Advanced Programming Concepts with C++,and learning based Computer Vision.
- National Research Council Canada(NRC)
- Sep.,2021-Apr.,2022
- Computer Vision Researcher
- Duties:
- Water surface and railway detection/segmentation from UAV images.
- Smart cross road. Detecting diabled person in the cross road by surveillances.
- Wind River Systems(WindRiver)
- Sep., 2018-Dec., 2018
- Titanium Cloud Tester
- Duties:
- Cloud computing system contribution(Based on Openstack).
- Automation test, unit test and server system test(Based on Pytest).
- Environment and Climate Change Canada(ECCC)
- May., 2018-Aug., 2018
- Intern Software Developer
- Duties:
- Python based software with GUI(wxPython and Kivy).
- Connected with the Canada water resource database.
- Data processing and analysis.
- Government work with Security Clearance.
- CETC Xiandai Navigation (Xi’an) Technology Co., Ltd.(CETC)
- Jul., 2016-Aug., 2016
- Intern
- Duties: Program develop and test.
- Social Practice and Investigation of Food Culture in Hunan Province
- Jul., 2014
- Recorder
- Duties: Keep records for the whole process and findings and post-processing.
Honors and Awards
- 10/2021 Hasan Ural Memorial Scholarship, University of Ottawa
- 05/2021 International Experience Scholarship, University of Ottawa
- 08/2020 International Admission Scholarship, University of Ottawa
- 06/2017 Excellent Graduate, Huazhong University of Science and Technology
- 10/2016 Excellent Student Cadre, Huazhong University of Science and Technology
- 03/2016 Individual Scholarship(Social Welfare), Huazhong University of Science and Technology
- 09/2014 Individual Scholarship(Social Welfare), Huazhong University of Science and Technology
- 04/2014 Excellent Youth League Member, Huazhong University of Science and Technology
- 03/2014 Freshmen Scholarship(Social Welfare), Huazhong University of Science and Technology