SOP requirement:
Please state your purpose in applying for graduate study. Describe your scholarly and research area(s) of interest, experiences that contributed to your preparation in the field, and your plans for your future occupation or profession. Briefly describe experiences that have prepared you for advanced study or research, and provide any additional information that may aid the selection committee in evaluating your preparation and aptitude for graduate study at UCLA. If you are applying for a research masters or doctoral program, you are encouraged to indicate specific research interests and potential faculty mentors.
Along my undergraduate journey, I have studied Computer Science widely and excelled in both theoretical and practical courses. My research and internship experiences convinced me that-among all the possible subdisciplines of CS-my interests lie within the field of computer/machine vision. I am excited at the prospect of devoting my long-term career to delivering robust and efficient vision applications to the industry such as manufacturing. I have therefore decided to pursue a master's degree in Computer Science at UCLA.
The world of computer vision was first exposed to me during my research experience with Professor XXX's project,XXX. Throughout that summer, I mainly worked on infrastructure for image analysis. I participated in developing a web-based image evaluation system that allowed researchers to label and check image results, which helped to evaluate the robustness of the object detection algorithm. Being curious about the techniques behind the object detection algorithms they were using, I then enrolled in Computational Vision the following semester.
From that course, I learned many of the traditional and machine learning techniques that are used to solve computer vision problems. In one project I implemented a panoramic photo stitcher based on Scale-Invariant Feature Transformation. Although some pairs of images contained the same scenes and had enough matching key points, they were often unable to form a mosaic because they were shot from positions/angles different from each other. To solve this problem, I proposed a "skew/twisting factor" computed from the homography matrix to estimate the difference between the camera's orientation and position of each matched image. In that project, I realized the importance of relating images to the real-world scenarios that they were created in.
These class projects made me want to get in-depth knowledge of the computer vision application industry. To gain such experience, I took on a 7-month internship as a part of the vision system team at XXX, a leading provider of XXXX.
During my internship, I faced an obstacle faced by a major customer. Some pads on their chips produced shadows under certain lighting angles, which sometimes made our gradient-based pattern recognition algorithm wrongly detect it as correct key points. Our manufacturing customers normally packaged over 10,000 chips on each machine every day. Thus, even if a false positive result only happened once per hundreds of detections, it would be significantly less efficient. In only half a week, I tried many different approaches, such as support vector machine, and deep residual networks. Finally, I designed and delivered a filter function to apply stepped thresholding and merging blobs from a Hessian-based edge detecting algorithm to generate a pair of masks, which represent regions of pads. By comparing the cumulative difference in the frequency of two pads' histograms, my algorithm was able to filter false positive key points that were actually shadows. Finally, my method only cost one millisecond on each occurrence, successfully solving our customer's issue.
When I reflect on my internship, I realize how much I learned. In the first two days after I took over the aforementioned task, I came up with many approaches based on deep neural networks because I had learned in my Computational Vision classes that deep learning is a "hammer" in computer vision that can effectively solve many problems. Soon I realized why my professor had emphasized the importance of traditional computer vision techniques to us, the numerous learnable parameters in its result classifiers make deep neural networks incompatible with tasks that require millisecond-level latency and low power consumption.
For now, vision applications based on deep learning are definitely "overkill" in fields such as manufacturing. The manufacturers have been making key points relatively large and unique to aid traditional gradient-based edge detection. Thus, traditional computer vision techniques are able to execute efficiently and accurately. However, it is intuitive to believe many tasks in manufacturing that are normally done by human beings will someday be replaced by deep learning applications, such as the problem I solved during my internship, filtering shadows that are incorrectly detected as pads.
My long-term goal is to develop a learning framework for machine vision on low-power computing devices, which could prepare the manufacturing industry for deep learning applications. Such a framework could be decomposed into several subsystems: 1) Stable and efficient data pipeline: the huge number of images and their features detected using traditional CV techniques would be a great resource for deep learning, but the collecting process has to be fast enough to keep other operations from latency. Such an application needs a strong understanding in Distributed System, since hundreds of thousands of machines may send data to the database simultaneously; 2) Compressed models with fewer parameters: for cost reduction purposes, the processing chipsets used by the manufacturer have to be affordable, so the computing power will be limited-the fewer the parameters, the faster it will execute. Therefore, appropriate parameter sharing and pruning techniques would be very helpful; 3) Appropriate pre-processing and data augmentation: the large key points and high contrast board of chips was used to help traditional detection algorithms, and appropriate pre-processing would make deep neural networks easier to find perceptron.
To accomplish my ultimate goal, I have to learn common optimization techniques for deep learning models, traditional computer vision techniques that can generate good input features for neural networks, and system design knowledge to construct large-scale data pipelines on embedded systems. The CS department at UCLA offers courses in many subdisciplines, such as Energy-Aware Computing, Machine Perception, and Distributed Database Systems, that will help me achieve my goal.
Please state your purpose in applying for graduate study. Describe your scholarly and research area(s) of interest, experiences that contributed to your preparation in the field, and your plans for your future occupation or profession. Briefly describe experiences that have prepared you for advanced study or research, and provide any additional information that may aid the selection committee in evaluating your preparation and aptitude for graduate study at UCLA. If you are applying for a research masters or doctoral program, you are encouraged to indicate specific research interests and potential faculty mentors.
SOP for master in Computer Science
Along my undergraduate journey, I have studied Computer Science widely and excelled in both theoretical and practical courses. My research and internship experiences convinced me that-among all the possible subdisciplines of CS-my interests lie within the field of computer/machine vision. I am excited at the prospect of devoting my long-term career to delivering robust and efficient vision applications to the industry such as manufacturing. I have therefore decided to pursue a master's degree in Computer Science at UCLA.
The world of computer vision was first exposed to me during my research experience with Professor XXX's project,XXX. Throughout that summer, I mainly worked on infrastructure for image analysis. I participated in developing a web-based image evaluation system that allowed researchers to label and check image results, which helped to evaluate the robustness of the object detection algorithm. Being curious about the techniques behind the object detection algorithms they were using, I then enrolled in Computational Vision the following semester.
From that course, I learned many of the traditional and machine learning techniques that are used to solve computer vision problems. In one project I implemented a panoramic photo stitcher based on Scale-Invariant Feature Transformation. Although some pairs of images contained the same scenes and had enough matching key points, they were often unable to form a mosaic because they were shot from positions/angles different from each other. To solve this problem, I proposed a "skew/twisting factor" computed from the homography matrix to estimate the difference between the camera's orientation and position of each matched image. In that project, I realized the importance of relating images to the real-world scenarios that they were created in.
These class projects made me want to get in-depth knowledge of the computer vision application industry. To gain such experience, I took on a 7-month internship as a part of the vision system team at XXX, a leading provider of XXXX.
During my internship, I faced an obstacle faced by a major customer. Some pads on their chips produced shadows under certain lighting angles, which sometimes made our gradient-based pattern recognition algorithm wrongly detect it as correct key points. Our manufacturing customers normally packaged over 10,000 chips on each machine every day. Thus, even if a false positive result only happened once per hundreds of detections, it would be significantly less efficient. In only half a week, I tried many different approaches, such as support vector machine, and deep residual networks. Finally, I designed and delivered a filter function to apply stepped thresholding and merging blobs from a Hessian-based edge detecting algorithm to generate a pair of masks, which represent regions of pads. By comparing the cumulative difference in the frequency of two pads' histograms, my algorithm was able to filter false positive key points that were actually shadows. Finally, my method only cost one millisecond on each occurrence, successfully solving our customer's issue.
When I reflect on my internship, I realize how much I learned. In the first two days after I took over the aforementioned task, I came up with many approaches based on deep neural networks because I had learned in my Computational Vision classes that deep learning is a "hammer" in computer vision that can effectively solve many problems. Soon I realized why my professor had emphasized the importance of traditional computer vision techniques to us, the numerous learnable parameters in its result classifiers make deep neural networks incompatible with tasks that require millisecond-level latency and low power consumption.
For now, vision applications based on deep learning are definitely "overkill" in fields such as manufacturing. The manufacturers have been making key points relatively large and unique to aid traditional gradient-based edge detection. Thus, traditional computer vision techniques are able to execute efficiently and accurately. However, it is intuitive to believe many tasks in manufacturing that are normally done by human beings will someday be replaced by deep learning applications, such as the problem I solved during my internship, filtering shadows that are incorrectly detected as pads.
My long-term goal is to develop a learning framework for machine vision on low-power computing devices, which could prepare the manufacturing industry for deep learning applications. Such a framework could be decomposed into several subsystems: 1) Stable and efficient data pipeline: the huge number of images and their features detected using traditional CV techniques would be a great resource for deep learning, but the collecting process has to be fast enough to keep other operations from latency. Such an application needs a strong understanding in Distributed System, since hundreds of thousands of machines may send data to the database simultaneously; 2) Compressed models with fewer parameters: for cost reduction purposes, the processing chipsets used by the manufacturer have to be affordable, so the computing power will be limited-the fewer the parameters, the faster it will execute. Therefore, appropriate parameter sharing and pruning techniques would be very helpful; 3) Appropriate pre-processing and data augmentation: the large key points and high contrast board of chips was used to help traditional detection algorithms, and appropriate pre-processing would make deep neural networks easier to find perceptron.
To accomplish my ultimate goal, I have to learn common optimization techniques for deep learning models, traditional computer vision techniques that can generate good input features for neural networks, and system design knowledge to construct large-scale data pipelines on embedded systems. The CS department at UCLA offers courses in many subdisciplines, such as Energy-Aware Computing, Machine Perception, and Distributed Database Systems, that will help me achieve my goal.