Rensselaer Polytechnic Institute
Department of Electrical, Computer, and Systems Engineering ECSE 4540: Introduction to Image Processing, Spring 2023
Project Proposal: due Thursday, Feb. 2nd , at the beginning of class. Submit your proposal on Gradescope.
The projects for this course should be done individually and should be related to some real-world image processing problem (preferably one that you find interesting). Each project will involve both a written report as well as a design, implementation, or simulation component in software and/or hardware. Most projects should also include a Box folder containing algorithms and example data, as well as a recorded demo if possible. Please note that I expect an actual software solution to a real image processing problem – not a “book report” on some aspect of image processing. The goal here is for you to get your hands dirty with real image processing tools, putting the concepts that we’ve learned in class to work. Remember that Matlab has a lot of image processing algorithms built-in; don’t reinvent the wheel. If you prefer to investigate a hardware implementation (e.g., using a DSP chip, Arduino/Raspberry Pi, embedded processor, etc.) that’s fine, but remember the emphasis should be on image processing algorithms, not hardware considerations. Another critical point is that the project shouldn’t be fundamentally a deep learning/machine learning project that happens to use images as input. You’re welcome to use Matlab for the final project but this is not required; you can use Python, C++, or whatever you want.
If you want to do a project that has some overlap with a project for another course, you must clearly disclose it. This “double-dipping”is permissible only if (1) the overlap with the other project is fully described and disclosed, and (2) there is at least 50% “new content” that you’re only doing for this class and you wouldn’t have done otherwise. That is, you must demonstrate that the course project you submit for my class is something fundamentally new that you would not have done anyway for some other course. At the proposal/progress stage I’ll let you know whether what you propose seems sufficient/acceptable.
Remember, the project is worth 30% of your grade and takes the place of a final exam; it can’t be something that you bang out a couple days before the deadline. It’s meant to represent a careful, sustained amount of work. You should begin to collect data and make some progress throughout February, give a progress report in mid-March, and submit the final writeup/code/demo at the end of classes in April. Due to tight grading deadlines, no extensions will be granted!
The proposal for your project should be a short document that covers:
• thetopicyouplantostudyandanideaofthedesignyouplantoimplement(ifpossibleatthisstage).
• the type of data that will be required to undertake the project. Note that since digital images are so easy to create and find, you will be expected to demonstrate your results on a large number and wide variety of examples. You may be able to take these images with your own camera/phone, or you may need to find images online, or you may find an online benchmark dataset of images to use. Be reasonable and practical about whether you can get the data you need.
• thesourceofanyspecializeddata/informationyouwilluse(e.g.,CTimages,microscopeimages,surveil- lance video, images you’ve gotten while doing research with a professor, etc.)
• yourtimeline/planforcompletingtheproject
I will review the proposals and let you know if I foresee any problems. The following is a non-comprehensive list of project suggestions to get you thinking. You do not need to choose a project off this list. However, I am declaring a moratorium on bar code, license plate, watermarking, blind image deblurring, and sheet music recognition projects, having seen too many of these over the years.
1. motionsensinginsurveillancevideo
2. measuresofimageperceptualquality
3. effectsandmethodsforsamplingandquantizationinimagesorvideo 4. ditheringandhalftoningmethods
5. mosaicingandregistrationalgorithms
6. featuredetectionandobjectrecognition
7. artificial/augmentedrealitytags
8. MPEGcodingforvideos
9. waveletcompression
10. errorprotectingcodes
11. videode-interlacing
12. medicalimageprocessingforaspecializedproblem(MRI,CT,PET,electronmicroscope) 13. facerecognition
14. fingerprintanalysis,storage,andidentification
15. trackingofobjectsinvideo
16. defect/change/anomalydetection
17. astronomicalimaging
18. SARimaging
19. imageinpainting
20. imageretargeting(e.g.,seamcarving)
21. painterlyrenderingofimages
22. imagesegmentation
23. imagecolorization
24. visualeffects(e.g.,wireremoval,motioncapture,etc.)
25. imagemorphing
26. removingshadowsfromimages
27. automaticimagematting
28. stereoreconstruction
29. 3D/rangeimageprocessing(e.g.,usingtheKinect)
30. infraredimageprocessing
31. jigsawpuzzlesolving
32. boardgameunderstanding
33. assembly-linepartrecognition
34. virtualrealityapplications
35. mid-airgesturing
36. remotesensingapplications
37. sportsvideoanalysis
You might look through the proceedings of recent CVPR, ICIP, or SIGGRAPH conferences to get inspiration. Again, I want to emphasize that while machine/deep learning dominates the recent research published in this area, what you propose here should primarily use the lower-level image processing techniques I’m teaching you this semester, not machine learning algorithms and datasets like what you’d see in a higher-level class. One note for this year: I know tools like DALLE-2 and Stable Diffusion are cool, but there’s not really any image processing involved in them.