https://airwiki.elet.polimi.it/api.php?action=feedcontributions&user=AlessandroGiusti&feedformat=atomAIRWiki - User contributions [en]2024-03-28T15:49:32ZUser contributionsMediaWiki 1.25.6https://airwiki.elet.polimi.it/index.php?title=Image_Analysis_and_Synthesis&diff=7661Image Analysis and Synthesis2009-09-04T08:59:34Z<p>AlessandroGiusti: </p>
<hr />
<div>== General Rules and Information for Course Projects ==<br />
Most projects can be done by groups of more than one student: evaluation will obviously consider whether the result comes from a single student or a group of students. In the latter case, a bigger work is expected; the group will provide a single submission.<br />
<br />
Moreover, most projects can be assigned to multiple groups. Obviously, each group must provide a different submission.<br />
<br />
As projects differ in nature, evaluation of projects will not be directly related to the obtained results. Some projects are more practical, others more theoretical; some projects propose simple problems, others more difficult problems. In general, we will evaluate your understanding of the topic and your effort to solve the given problem, possibly by following more than one approach. If you do not obtain good results but you understand and clearly explain why, that's OK.<br />
<br />
=== Submission and registration ===<br />
Unless where noted otherwise, submission consists in the following:<br />
* The code you produced, well commented and with the necessary documentation for using, extending and understanding it. The code should be easily runnable.<br />
* A short writeup describing in detail the problem, your solution, the results you obtained (with images and examples) and in general everything you did.<br />
* An extract in HTML form, containing just a simple description of the project, approach and results.<br />
<br />
Any approach you tried and turned out not to work, and any problems you encountered and their solutions is not wasted time and it must be included in the writeup.<br />
<br />
The writeup and the related code must be sent to the project advisor by email at least one week before the exam date; this is not strict if you interact with the advisor during the development; the advisor may ask for improvements and/or require further details. In order to register the final grade, you must be registered to the exam via poliself.<br />
<br />
You may update the advisor by regularly posting partial results and your current directions in the thread. This way, the advisor may provide useful suggestions and guide your work.<br />
<br />
=== Larger projects ===<br />
In many cases, your project work may be extended in order to include the project work for the Advanced Topics course in the second semester. You should ask for this by sending an email to the professor.<br />
<br />
Moreover, some students may want to do a bigger project to be joined to "Laboratorio di Intelligenza Artificiale e Robotica". In these cases, you must contact the professor by email prior to starting the work, as there may be some additional projects of interest which are not listed here.<br />
<br />
=== Project assignment ===<br />
A person from each group should send an email to the project advisor. Most projects may be assigned to two or even three groups at the same time: in such cases, we will probably suggest different parts and extensions of the problem for each group to focus on.<br />
<br />
=== Custom projects ===<br />
If you have a specific interest on a topic, we may discuss a custom project. In this case, email the professor. If you have any previous experience or works on the topic, you must notify us so that we decide an appropriately-sized extension! Read: we will not accept recycled projects.<br />
<br />
== Proposals for Course Projects ==<br />
<br />
=== Stereo-based gaze analysis ===<br />
An essential component of a human-computer interface based on the direction along which a person looks is a visual gaze analysis module: this module uses two stereo images of a face and determines (i) the position and orientation of the segment joining the two eyes (ii) the gaze (the direction where the eyes are pointing). The development of the project is articulated along several activities:<br />
* stereo camera calibration<br />
* eye-oriented feature extraction and correspondence determination<br />
* triangulation of the two eyes from their images<br />
* analysis of the apparent contours of the eyes in order to estimate the gaze direction.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Visual odometry with general cameras ===<br />
Visual odometry for mobile robots may benefit from the use of catadioptric, panoramic cameras, owing to the broader viewing field. The development of a visual odometry system is the purpose of this project. This system is constituted by several components:<br />
* a motion estimation component<br />
* a ground-plane reconstruction component<br />
* a motion+reconstruction refinement module, using data from several observed displacements.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Visual analysis of moving glass ===<br />
In several industrial applications, the extraction of information about the transportation of glass parts by a transportation belt is required. A visual system able to analyze the shape and motion of glass parts translating on a transportation belts is the purpose of this project. Viewing glass is difficult: the idea to overcome such difficulties consists in the use of a grid pattern, and to visually analyze the reflection of the grid pattern on the glass surface. Using a calibrated camera, the grid geometry and position, and the speed of the transportation belt, the glass surface and trajectory can be reconstructed.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Projects about denoising and deblurring ===<br />
Several projects are available on image processing topics:<br />
* Motion Estimation from a Single Blurred Image<br />
* Blurred Image Analysis, Restoration and Segmentation<br />
* Low-light Image Restoration<br />
<br />
See [http://www.leet.it/home/giusti/teaching/ias/Boracchi.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:giacomo.boracchi@polimi.it dott. Boracchi]<br />
<br />
=== Projects about sport event analysis ===<br />
Several projects are available about ball detection and tracking in sport events.<br />
<br />
See [http://www.leet.it/home/giusti/teaching/ias/Sport.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:giacomo.boracchi@polimi.it dott. Boracchi], [mailto:alessandro.giusti@polimi.it ing. Giusti] or [mailto:pierluigi.taddei@polimi.it ing. Taddei]<br />
<br />
=== Low cost tablet input device using the WII remote ===<br />
See [http://www.leet.it/home/giusti/teaching/ias/Input.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:pierluigi.taddei@polimi.it ing. Taddei]<br />
<br />
=== Low level video analysis for detecting walking people ===<br />
Many different techniques are available in order to detect a walking person; in this project you are required to investigate a simple technique which uses low level information, directly recovered from the pixels of the video. Several tasks are available, and the project may focus on few of them.<br />
* Create an high-quality dataset of videos of walking people. The provided dataset should be composed of at least 15-20 short videos (10-20 seconds each), depicting people from different viewing angles and distances. Some (or all) of the videos may be recovered from datasets already available on the internet. Some uncompressed videos should also be present. Some additional videos should also represent different moving objects, such as cars or something else.<br />
* Extract the foreground of each frame, i.e. recover a binary image which is 1 at the foreground, 0 elsewhere. You may experiment with simple or more advanced background subtraction methods found in literature.<br />
* Evaluate how well the previous step works with the videos in the dataset, also describing the effects of compression, contrast between person and background, shadows...<br />
* Study how the sequence of foreground masks may help you in detecting a walking person (for example, discriminating it from a different object). Try the following steps:<br />
** For every pixel, compute the largest number of consecutive frames where such pixel is foreground.<br />
** Look for peculiarities in the image previously obtained: you may see local maxima at the positions where the feet are on the ground.<br />
** Try to detect such local maxima; recover the timestamp for each. Can you create a chain of "steps"?<br />
** If you detected a possible chain of steps, try to validate it: how regular are they (in space and time)?<br />
** Devise other methods in order to validate this.<br />
<br />
See [http://www.leet.it/home/giusti/teaching/ias/Gait.pdf figure (PDF)]<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== Using the GPU for Image Processing Tasks ===<br />
[http://en.wikipedia.org/wiki/CUDA CUDA] and similar architectures are being increasingly used in image processing and computer vision in order to dramatically improve algorithm performance.<br />
Several possible different projects on this topic may be:<br />
* a detailed survey of the state of the art in using CUDA for computer vision, encompassing techniques and applications. This may optionally be integrated with short experiments with already available software.<br />
* describe if and how a specific image processing technique may be implemented in a CUDA system, e.g. morphological processing, image filtering, robust fitting... This should also be implemented and tested in practice, and optionally a library may be created for performing that simple operation from matlab or opencv. A "toy" application using such library may also be provided.<br />
* design a very simple computer vision application or consider an existing one, and investigate how it could be made faster by using CUDA.<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== Speedline generation from video ===<br />
Speedlines are a pictorial representation of motion in a single image (just like in comics). The project requires to work with a very simple algorithm already implemented in matlab, which creates an image with speedlines when fed with a video, and returns very interesting results. <br />
<br />
Several project options are:<br />
* improve the current algorithm, by implementing some additional processing of the speedlines before they are drawn;<br />
* experiment with techniques for drawing the speedlines in a visually pleasing manner, possibly in a vectorial format for later manual editing;<br />
* re-implement the algorithm in C, C++ or any other meaningful language of your choice, with the goal of realtime operation;<br />
* implement an high-level system which employs the current algorithm, i.e. for a video surveillance application;<br />
<br />
A paper with many figures describing the current algorithm and its applications is available upon request.<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== A Manipulable Input Device ===<br />
We have developed a [http://www.springerlink.com/content/e76108281v3u116r/fulltext.pdf manipulable input device for space curves]; several projects are available as improvements to that system.<br />
<br />
[http://www.leet.it/home/giusti/teaching/ias/Canal.pdf More details (PDF)]<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Image_Analysis_and_Synthesis&diff=4983Image Analysis and Synthesis2009-01-16T14:28:38Z<p>AlessandroGiusti: </p>
<hr />
<div>== General Rules and Information for Course Projects ==<br />
Most projects can be done by groups of more than one student: evaluation will obviously consider whether the result comes from a single student or a group of students. In the latter case, a bigger work is expected; the group will provide a single submission.<br />
<br />
Moreover, most projects can be assigned to multiple groups. Obviously, each group must provide a different submission.<br />
<br />
As projects differ in nature, evaluation of projects will not be directly related to the obtained results. Some projects are more practical, others more theoretical; some projects propose simple problems, others more difficult problems. In general, we will evaluate your understanding of the topic and your effort to solve the given problem, possibly by following more than one approach. If you do not obtain good results but you understand and clearly explain why, that's OK.<br />
<br />
=== Submission and registration ===<br />
Unless where noted otherwise, submission consists in the following:<br />
* The code you produced, well commented and with the necessary documentation for using, extending and understanding it. The code should be easily runnable.<br />
* A short writeup describing in detail the problem, your solution, the results you obtained (with images and examples) and in general everything you did.<br />
* An extract in HTML form, containing just a simple description of the project, approach and results.<br />
<br />
Any approach you tried and turned out not to work, and any problems you encountered and their solutions is not wasted time and it must be included in the writeup.<br />
<br />
The writeup and the related code must be sent to the project advisor by email at least one week before the exam date; this is not strict if you interact with the advisor during the development; the advisor may ask for improvements and/or require further details. In order to register the final grade, you must be registered to the exam via poliself.<br />
<br />
You may update the advisor by regularly posting partial results and your current directions in the thread. This way, the advisor may provide useful suggestions and guide your work.<br />
<br />
=== Larger projects ===<br />
In many cases, your project work may be extended in order to include the project work for the Advanced Topics course in the second semester. You should ask for this by sending an email to the professor.<br />
<br />
Moreover, some students may want to do a bigger project to be joined to "Laboratorio di Intelligenza Artificiale e Robotica". In these cases, you must contact the professor by email prior to starting the work, as there may be some additional projects of interest which are not listed here.<br />
<br />
=== Project assignment ===<br />
A person from each group should send an email to the project advisor. Most projects may be assigned to two or even three groups at the same time: in such cases, we will probably suggest different parts and extensions of the problem for each group to focus on.<br />
<br />
=== Custom projects ===<br />
If you have a specific interest on a topic, we may discuss a custom project. In this case, email the professor. If you have any previous experience or works on the topic, you must notify us so that we decide an appropriately-sized extension! Read: we will not accept recycled projects.<br />
<br />
== Proposals for Course Projects ==<br />
<br />
=== Stereo-based gaze analysis ===<br />
An essential component of a human-computer interface based on the direction along which a person looks is a visual gaze analysis module: this module uses two stereo images of a face and determines (i) the position and orientation of the segment joining the two eyes (ii) the gaze (the direction where the eyes are pointing). The development of the project is articulated along several activities:<br />
* stereo camera calibration<br />
* eye-oriented feature extraction and correspondence determination<br />
* triangulation of the two eyes from their images<br />
* analysis of the apparent contours of the eyes in order to estimate the gaze direction.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Visual odometry with general cameras ===<br />
Visual odometry for mobile robots may benefit from the use of catadioptric, panoramic cameras, owing to the broader viewing field. The development of a visual odometry system is the purpose of this project. This system is constituted by several components:<br />
* a motion estimation component<br />
* a ground-plane reconstruction component<br />
* a motion+reconstruction refinement module, using data from several observed displacements.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Visual analysis of moving glass ===<br />
In several industrial applications, the extraction of information about the transportation of glass parts by a transportation belt is required. A visual system able to analyze the shape and motion of glass parts translating on a transportation belts is the purpose of this project. Viewing glass is difficult: the idea to overcome such difficulties consists in the use of a grid pattern, and to visually analyze the reflection of the grid pattern on the glass surface. Using a calibrated camera, the grid geometry and position, and the speed of the transportation belt, the glass surface and trajectory can be reconstructed.<br />
<br />
Contact: [mailto:vincenzo.caglioti@polimi.it prof. Caglioti]<br />
<br />
=== Projects about denoising and deblurring ===<br />
Several projects are available on image processing topics:<br />
* Motion Estimation from a Single Blurred Image<br />
* Blurred Image Analysis, Restoration and Segmentation<br />
* Low-light Image Restoration<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Boracchi.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:giacomo.boracchi@polimi.it dott. Boracchi]<br />
<br />
=== Projects about sport event analysis ===<br />
Several projects are available about ball detection and tracking in sport events.<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Sport.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:giacomo.boracchi@polimi.it dott. Boracchi], [mailto:alessandro.giusti@polimi.it ing. Giusti] or [mailto:pierluigi.taddei@polimi.it ing. Taddei]<br />
<br />
=== Low cost tablet input device using the WII remote ===<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Input.pdf description with figures (PDF)]<br />
<br />
Contact: [mailto:pierluigi.taddei@polimi.it ing. Taddei]<br />
<br />
=== Low level video analysis for detecting walking people ===<br />
Many different techniques are available in order to detect a walking person; in this project you are required to investigate a simple technique which uses low level information, directly recovered from the pixels of the video. Several tasks are available, and the project may focus on few of them.<br />
* Create an high-quality dataset of videos of walking people. The provided dataset should be composed of at least 15-20 short videos (10-20 seconds each), depicting people from different viewing angles and distances. Some (or all) of the videos may be recovered from datasets already available on the internet. Some uncompressed videos should also be present. Some additional videos should also represent different moving objects, such as cars or something else.<br />
* Extract the foreground of each frame, i.e. recover a binary image which is 1 at the foreground, 0 elsewhere. You may experiment with simple or more advanced background subtraction methods found in literature.<br />
* Evaluate how well the previous step works with the videos in the dataset, also describing the effects of compression, contrast between person and background, shadows...<br />
* Study how the sequence of foreground masks may help you in detecting a walking person (for example, discriminating it from a different object). Try the following steps:<br />
** For every pixel, compute the largest number of consecutive frames where such pixel is foreground.<br />
** Look for peculiarities in the image previously obtained: you may see local maxima at the positions where the feet are on the ground.<br />
** Try to detect such local maxima; recover the timestamp for each. Can you create a chain of "steps"?<br />
** If you detected a possible chain of steps, try to validate it: how regular are they (in space and time)?<br />
** Devise other methods in order to validate this.<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Gait.pdf figure (PDF)]<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== Using the GPU for Image Processing Tasks ===<br />
[http://en.wikipedia.org/wiki/CUDA CUDA] and similar architectures are being increasingly used in image processing and computer vision in order to dramatically improve algorithm performance.<br />
Several possible different projects on this topic may be:<br />
* a detailed survey of the state of the art in using CUDA for computer vision, encompassing techniques and applications. This may optionally be integrated with short experiments with already available software.<br />
* describe if and how a specific image processing technique may be implemented in a CUDA system, e.g. morphological processing, image filtering, robust fitting... This should also be implemented and tested in practice, and optionally a library may be created for performing that simple operation from matlab or opencv. A "toy" application using such library may also be provided.<br />
* design a very simple computer vision application or consider an existing one, and investigate how it could be made faster by using CUDA.<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== Speedline generation from video ===<br />
Speedlines are a pictorial representation of motion in a single image (just like in comics). The project requires to work with a very simple algorithm already implemented in matlab, which creates an image with speedlines when fed with a video, and returns very interesting results. <br />
<br />
Several project options are:<br />
* improve the current algorithm, by implementing some additional processing of the speedlines before they are drawn;<br />
* experiment with techniques for drawing the speedlines in a visually pleasing manner, possibly in a vectorial format for later manual editing;<br />
* re-implement the algorithm in C, C++ or any other meaningful language of your choice, with the goal of realtime operation;<br />
* implement an high-level system which employs the current algorithm, i.e. for a video surveillance application;<br />
<br />
A paper with many figures describing the current algorithm and its applications is available upon request.<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]<br />
<br />
=== A Manipulable Input Device ===<br />
We have developed a [http://www.springerlink.com/content/e76108281v3u116r/fulltext.pdf manipulable input device for space curves]; several projects are available as improvements to that system.<br />
<br />
[http://home.dei.polimi.it/giusti/teaching/ias/Canal.pdf More details (PDF)]<br />
<br />
Contact: [mailto:alessandro.giusti@polimi.it ing. Giusti]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Image_Analysis_and_Synthesis&diff=4982Image Analysis and Synthesis2009-01-16T14:14:49Z<p>AlessandroGiusti: /* Proposals for Projects */</p>
<hr />
<div>== General Rules and Information for Course Projects ==<br />
Most projects can be done by groups of more than one student: evaluation will obviously consider whether the result comes from a single student or a group of students. In the latter case, a bigger work is expected; the group will provide a single submission.<br />
<br />
Moreover, most projects can be assigned to multiple groups. Obviously, each group must provide a different submission.<br />
<br />
As projects differ in nature, evaluation of projects will not be directly related to the obtained results. Some projects are more practical, others more theoretical; some projects propose simple problems, others more difficult problems. In general, we will evaluate your understanding of the topic and your effort to solve the given problem, possibly by following more than one approach. If you do not obtain good results but you understand and clearly explain why, that's OK.<br />
<br />
=== Submission and registration ===<br />
Unless where noted otherwise, submission consists in the following:<br />
* The code you produced, well commented and with the necessary documentation for using, extending and understanding it. The code should be easily runnable.<br />
* A short writeup describing in detail the problem, your solution, the results you obtained (with images and examples) and in general everything you did.<br />
* An extract in HTML form, containing just a simple description of the project, approach and results.<br />
<br />
Any approach you tried and turned out not to work, and any problems you encountered and their solutions is not wasted time and it must be included in the writeup.<br />
<br />
The writeup and the related code must be sent to the project advisor by email at least one week before the exam date; this is not strict if you interact with the advisor during the development; the advisor may ask for improvements and/or require further details. In order to register the final grade, you must be registered to the exam via poliself.<br />
<br />
You may update the advisor by regularly posting partial results and your current directions in the thread. This way, the advisor may provide useful suggestions and guide your work.<br />
<br />
=== Larger projects ===<br />
In many cases, your project work may be extended in order to include the project work for the Advanced Topics course in the second semester. You should ask for this by sending an email to the professor.<br />
<br />
Moreover, some students may want to do a bigger project to be joined to "Laboratorio di Intelligenza Artificiale e Robotica". In these cases, you must contact the professor by email prior to starting the work, as there may be some additional projects of interest which are not listed here.<br />
<br />
=== Project assignment ===<br />
A person from each group should send an email to the project advisor. Most projects may be assigned to two or even three groups at the same time: in such cases, we will probably suggest different parts and extensions of the problem for each group to focus on.<br />
<br />
=== Custom projects ===<br />
If you have a specific interest on a topic, we may discuss a custom project. In this case, email the professor. If you have any previous experience or works on the topic, you must notify us so that we decide an appropriately-sized extension! Read: we will not accept recycled projects.<br />
<br />
== Proposals for Course Projects ==<br />
<br />
=== Stereo-based gaze analysis ===<br />
An essential component of a human-computer interface based on the direction along which a person looks is a visual gaze analysis module: this module uses two stereo images of a face and determines (i) the position and orientation of the segment joining the two eyes (ii) the gaze (the direction where the eyes are pointing). The development of the project is articulated along several activities:<br />
* stereo camera calibration<br />
* eye-oriented feature extraction and correspondence determination<br />
* triangulation of the two eyes from their images<br />
* analysis of the apparent contours of the eyes in order to estimate the gaze direction.<br />
<br />
Contact: prof. Caglioti<br />
<br />
=== Visual odometry with general cameras ===<br />
Visual odometry for mobile robots may benefit from the use of catadioptric, panoramic cameras, owing to the broader viewing field. The development of a visual odometry system is the purpose of this project. This system is constituted by several components:<br />
* a motion estimation component<br />
* a ground-plane reconstruction component<br />
* a motion+reconstruction refinement module, using data from several observed displacements.<br />
<br />
Contact: prof. Caglioti<br />
<br />
=== Visual analysis of moving glass ===<br />
In several industrial applications, the extraction of information about the transportation of glass parts by a transportation belt is required. A visual system able to analyze the shape and motion of glass parts translating on a transportation belts is the purpose of this project. Viewing glass is difficult: the idea to overcome such difficulties consists in the use of a grid pattern, and to visually analyze the reflection of the grid pattern on the glass surface. Using a calibrated camera, the grid geometry and position, and the speed of the transportation belt, the glass surface and trajectory can be reconstructed.<br />
<br />
Contact: prof. Caglioti<br />
<br />
=== Projects about denoising and deblurring ===<br />
Several projects are available on image processing topics:<br />
* Motion Estimation from a Single Blurred Image<br />
* Blurred Image Analysis, Restoration and Segmentation<br />
* Low-light Image Restoration<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Boracchi.pdf description with figures (PDF)]<br />
<br />
Contact: dott. Boracchi<br />
<br />
=== Projects about sport event analysis ===<br />
Several projects are available about ball detection and tracking in sport events.<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Sport.pdf description with figures (PDF)]<br />
<br />
Contact: dott. Boracchi, ing. Giusti or ing. Taddei<br />
<br />
=== Low cost tablet input device using the WII remote ===<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Input.pdf description with figures (PDF)]<br />
<br />
Contact: ing. Taddei<br />
<br />
=== Low level video analysis for detecting walking people ===<br />
Many different techniques are available in order to detect a walking person; in this project you are required to investigate a simple technique which uses low level information, directly recovered from the pixels of the video. Several tasks are available, and the project may focus on few of them.<br />
* Create an high-quality dataset of videos of walking people. The provided dataset should be composed of at least 15-20 short videos (10-20 seconds each), depicting people from different viewing angles and distances. Some (or all) of the videos may be recovered from datasets already available on the internet. Some uncompressed videos should also be present. Some additional videos should also represent different moving objects, such as cars or something else.<br />
* Extract the foreground of each frame, i.e. recover a binary image which is 1 at the foreground, 0 elsewhere. You may experiment with simple or more advanced background subtraction methods found in literature.<br />
* Evaluate how well the previous step works with the videos in the dataset, also describing the effects of compression, contrast between person and background, shadows...<br />
* Study how the sequence of foreground masks may help you in detecting a walking person (for example, discriminating it from a different object). Try the following steps:<br />
** For every pixel, compute the largest number of consecutive frames where such pixel is foreground.<br />
** Look for peculiarities in the image previously obtained: you may see local maxima at the positions where the feet are on the ground.<br />
** Try to detect such local maxima; recover the timestamp for each. Can you create a chain of "steps"?<br />
** If you detected a possible chain of steps, try to validate it: how regular are they (in space and time)?<br />
** Devise other methods in order to validate this.<br />
<br />
See [http://home.dei.polimi.it/giusti/teaching/ias/Gait.pdf figure (PDF)]<br />
<br />
Contact: ing. Giusti<br />
<br />
=== Using the GPU for Image Processing Tasks ===<br />
[http://en.wikipedia.org/wiki/CUDA CUDA] and similar architectures are being increasingly used in image processing and computer vision in order to dramatically improve algorithm performance.<br />
Several possible different projects on this topic may be:<br />
* a detailed survey of the state of the art in using CUDA for computer vision, encompassing techniques and applications. This may optionally be integrated with short experiments with already available software.<br />
* describe if and how a specific image processing technique may be implemented in a CUDA system, e.g. morphological processing, image filtering, robust fitting... This should also be implemented and tested in practice, and optionally a library may be created for performing that simple operation from matlab or opencv. A "toy" application using such library may also be provided.<br />
* design a very simple computer vision application or consider an existing one, and investigate how it could be made faster by using CUDA.<br />
<br />
Contact: ing. Giusti<br />
<br />
=== Speedline generation from video ===<br />
Speedlines are a pictorial representation of motion in a single image (just like in comics). The project requires to work with a very simple algorithm already implemented in matlab, which creates an image with speedlines when fed with a video, and returns very interesting results. <br />
<br />
Several project options are:<br />
* improve the current algorithm, by implementing some additional processing of the speedlines before they are drawn;<br />
* experiment with techniques for drawing the speedlines in a visually pleasing manner, possibly in a vectorial format for later manual editing;<br />
* re-implement the algorithm in C, C++ or any other meaningful language of your choice, with the goal of realtime operation;<br />
* implement an high-level system which employs the current algorithm, i.e. for a video surveillance application;<br />
<br />
A paper with many figures describing the current algorithm and its applications is available upon request.<br />
<br />
Contact: ing. Giusti</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Image_Analysis_and_Synthesis&diff=4981Image Analysis and Synthesis2009-01-16T13:18:12Z<p>AlessandroGiusti: New page: == Proposals for Projects == To be published in few hours</p>
<hr />
<div>== Proposals for Projects ==<br />
To be published in few hours</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Courses&diff=4980Courses2009-01-16T13:17:18Z<p>AlessandroGiusti: /* Laurea Specialistica courses */</p>
<hr />
<div>==Laurea Triennale courses==<br />
<br />
* [http://home.dei.polimi.it//colombet/IC/index.html Ingegneria della Conoscenza], prof. M. Colombetti<br />
* [http://home.dei.polimi.it/gini/robot/lezioni.htm Robotica], prof. G. Gini<br />
* [http://home.dei.polimi.it/restelli/MyWebSite/teaching_robotica.shtml Robotica], M. Restelli (Como)<br />
* [http://home.dei.polimi.it/restelli/MyWebSite/teaching_pii.shtml Progetto di Ingegneria Informatica - AIRLab] M. Restelli<br />
<br />
<br />
==Laurea Specialistica courses==<br />
<br />
* [http://home.dei.polimi.it/gini/robot/lezionir2.htm Robotica 2], prof. G. Gini<br />
* [http://home.dei.polimi.it/bonarini/Didattica/SoftComputing/index.html Soft Computing], prof. A. Bonarini<br />
* [http://home.dei.polimi.it/schiaffo/TFI Corso di temi filosofici dell'informatica ], V. Schiaffonati<br />
* [http://home.dei.polimi.it/schiaffo/TFIS Corso di temi filosofici dell'ingegneria e della scienza ], V. Schiaffonati (Ing. Matematica)<br />
* [http://home.dei.polimi.it/amigoni/IntelligenzaArtificiale.html Intelligenza Artificiale], F. Amigoni<br />
* [http://home.dei.polimi.it/amigoni/AgentiAutonomiESistemiMultiagente.html Agenti Autonomi e Sistemi Multiagente], F. Amigoni<br />
* [http://webspace.elet.polimi.it/lanzi/?page_id=15 Laboratory of Artificial Intelligence & Robotics], P. L. Lanzi<br />
* [http://webspace.elet.polimi.it/lanzi/?page_id=106 Data Mining and Text Mining], P. L. Lanzi<br />
* [[Image Analysis and Synthesis]], V. Caglioti<br />
<br />
==PhD courses==<br />
<br />
* [http://home.dei.polimi.it/gini/CompChem/ Problems and approaches in Computational Chemistry], prof. G. Gini, 2007/08<br />
* [http://home.dei.polimi.it/ngatti/teach-alggt.htm Algorithmic Game Theory], G. Nicola, M. Restelli, 2007/08<br />
* [http://intranet.dei.polimi.it/dottorato/dettagli_corso_b.php?id_corso=293 Numerical Geometry of Nonrigid Shapes], Alex & Michael Bronstein, 2007/08</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Seminars&diff=4851Seminars2008-11-17T09:32:28Z<p>AlessandroGiusti: /* Next seminars */</p>
<hr />
<div>== Upcoming seminars ==<br />
<br />
=== Microscopy Image Analysis ===<br />
Alessandro Giusti, Thursday 27/11 12:30 Sala Seminari<br />
<br />
== Old seminars ==</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=A_vision-based_3D_input_device_for_space_curve&diff=3683A vision-based 3D input device for space curve2008-06-27T09:20:09Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
<br />
A vision-based 3D input device for space curves<br />
<br />
=== Project short description ===<br />
<br />
This project is aimed at designing a tangible input device for the reconstruction of a space curve in a 3D modeling software. The idea behind this project is to create a system in where users can physically manipulate a flexible wire for obtain a desired shape in a 3D modeling software. In particular the developed software is able to shot a photo of the tube using a camera connected remotely, and, starting from that single image, it can find the 3D shape of the curve. After the reconstruction, the curve is automatically imported in a 3D modeling software and it's mathematically processed for being easily usable. <br />
<br />
=== Dates ===<br />
Start date: 2007/09/20<br />
<br />
End date: ongoing<br />
<br />
=== People involved ===<br />
<br />
===== Project head =====<br />
<br />
Alessandro Giusti [[User:AlessandroGiusti]]<br />
Vincenzo Caglioti<br />
<br />
===== Students currently working on the project =====<br />
<br />
Lorenzo Mureddu [[User:LorenzoMureddu]] as a project for course Laboratorio Software, prof.ssa Bolchini<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Lorenzo Mureddu [[User:LorenzoMureddu]] as a 1st level thesis<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
==== Introduction ====<br />
<br />
Human-computer Interaction is a serious problem regarding the 3D modeling. <br />
<br />
There are a lot of instruments for work in 3D space, but no-one of them has become the stardard due to difficulties in the interaction with a 6DOF (Degree of Freedom) world.<br />
<br />
During this project we want to produce a system for an user friendly input device of a 3D curve. <br />
The goal is to digitize a space curve whose shape is physically defined by the user. <br />
<br />
The manipulable support adopted allows the user to define the 3D shape with his own hands, having a real object as an instrument, unlike what happens with devices requiring the user to draw a trajectory (with some visible marker) in the space.<br />
<br />
The system is composed by a piece of flexible, circular-section wire, which the user bends to the desired shape, and a digital camera. <br />
<br />
The photo of the bent wire is used to reconstruct its shape, which is the output of our system. <br />
Although counter-intuitive, single-image 3D reconstruction of the wire shape is possible by using its tube-like geometry (called canal surface) and its perspective effects.<br />
<br />
==== The system at work ====<br />
<br />
Our system can be described in a few passages.<br />
First-of-all the software automatically shots a photo to the manipulated wire using the camera connected remotely.<br />
<br />
On a second phase, our software reconstruct the shape of the curve in form of spline using an <br />
ad-hoc alghoritm written in Matlab (at present). In this phase the spline is modified according to some values chosen by the user: 3 coordinates to define the initial point of the curve and 3 angles to define the direction.<br />
<br />
In third place the spline is imported and visualized in Blender (a famous 3d modelng software) as a Bézier curve. The curve that we obtain can be view as a line or as a tube, according with users needs. <br />
<br />
<gallery><br />
image:sistema.jpg|instrument and setting<br />
image:sistema2.jpg|source photo<br />
image:sistema3.jpg|reconstruction<br />
</gallery><br />
<br />
At this point our software offer another feature: it can easily build complex structures formed by many curves. Users have to choose first which point of a curve should be used for the beginning of another one, and secondly 3 angles to define how the curves should be directed by each other.<br />
<br />
[[image:multitubi.jpg|100px|a multi-tube structure|thumb|center]]<br />
<br />
==== Use of our System====<br />
<br />
Now we have a curve in a 3D modeling software, but what can we do with this?<br />
There are really a lot of possible uses of a 3D curve:<br />
<br />
* For example users can use it simply for delineate a tube in a 3D scene. <br />
<br />
* Otherwise a curve can be used to make a path that an object can follow, included the virtual camera.<br />
<br />
* Finally users can use a curve to deform an object, so to create a complex object with the shape of the curve obtained thanks to our software.<br />
<br />
==== Addendum ====<br />
<br />
* Lorenzo Mureddu's graduation thesis in italian "Progetto e sviluppo di un sistema di input manipolabile per curve 3d" [[media:tesi.pdf]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Plate_detection_algorithm&diff=3660Plate detection algorithm2008-06-23T09:33:27Z<p>AlessandroGiusti: /* Documentation and useful files */</p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
<br />
Plate detection algorithm<br />
<br />
=== Project short description ===<br />
<br />
The aim of the project is to merge two plate detection algorithms previously developed trying to make the best of them.<br />
Different approaches were studied underlying pro and con.<br />
<br />
<br />
[[Image:plate detection intro.jpg|center|Plate detected]]<br />
<br />
=== Dates ===<br />
Start date: 2008/02/01<br />
<br />
End date: 2008/05/19<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
[[User:AlessandroGiusti|Alessandro Giusti]]<br />
<br />
[[User:PierluigiTaddei|Pierluigi Taddei]]<br />
<br />
===== Students currently working on the project =====<br />
<br />
<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
[[User:AndreaMachina|Andrea Machina]] - as a project for courses Image Analysis and Synthesis, prof. Caglioti, and<br />
Laboratorio di Intelligenza Artificiale e Robotica, prof. [[User:PierLucaLanzi|Lanzi]]<br />
<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
<br />
=== The Problem ===<br />
<br />
Dealing with plate detection problems two algorithms were developed based on different characteristics.<br />
<br />
The first one is based on the application of different masks to the original image. Each mask puts in evidence a characteristic of a plate: black stripes on white background, the rectangular shape etc. In the end a procedure merges all the images previously calculated achieving the result image where the plate is put in evidence.<br />
<br />
The second algorithm is based on the research of vertical and horizontal lines looking for the ones that, intersecting with the others, can describe the shape of a plate maintaining its proportions.<br />
<br />
The first algorithm is quite heavy but accurate, the second one is faster but not robust.<br />
The aim of this project is to merge these algorithms trying to make the best of them.<br />
<br />
=== Preliminary studies ===<br />
<br />
<br />
<br />
<br />
<br />
=== Adopted solution ===<br />
<br />
This project describes four possible solutions.<br />
<br />
1) The second algorithm (the faster one) is applied to the original image performing a first selection of region of interest based on geometrical characteristics. Each candidate found with this algorithm has been used to build a new binary mask (a selection mask), with the dimensions of the original image, where, if a pixel (x, y) is part of a candidate the corresponding element of the mask (x, y) is put to 1, 0 otherwise. The first algorithm is then applied to the original image but, during the merging mask is considered also the new selection mask. In this way we can reduce the amount of false positives.<br />
<br />
[[Image:plate_detection_approach_1_a.jpg|center|frame|On the left: candidates found by the second algorithm. On the right: the selection mask calculated.]]<br />
<br />
[[Image:plate_detection_approach_1_b.jpg|center|frame|On the left: candidates found by the second algorithm. On the right: the selection mask calculated.]]<br />
<br />
<br />
2) As in the first solution the second algorithm is applied. The first algorithm is then applied not on the whole original image but on each candidate found by the second algorithm. This solution aims to reduce the first algorithm complexity applying it only on the selected candidates.<br />
<br />
3) This approach uses the second algorithm to find all the candidates. The first algorithm is then applied and the medium value is calculated on each candidate found. Then they are ordered using the value found. The first element of the list in this approach is an element with the photometric characteristics of a plate and with the best medium value calculated with the first algorithm.<br />
<br />
4) This approach is a consideration for future applications, it hasn’t been implemented in this project. It is based on the recognition of characters in the candidates. In this approach the second algorithm is applied because it’s the faster, the best solution returned is then analyzed by the OCR algorithm. If the OCR can find in that area a determined number of characters this candidate can be considered the plate we were looking for. Otherwise the first algorithm is applied looking for a best solution. The OCR is then applied on the candidate returned by the first algorithm.<br />
<br />
=== Results and problems ===<br />
<br />
The first three algorithms were implemented in this project and tested on a set of images giving satisfactory results on the whole set only using the first approach. The second algorithm gave good results only on some images.<br />
<br />
1) The first approach is the one that gave the best results, as we can see in the images the candidates in the end of the algorithm are reduced by the second algorithm and, in some images where the second algorithm returned the wrong candidate, applying the first algorithm gave the right result.<br />
<br />
<br />
[[Image:plate_detection_approach_1_a_post.jpg|center|frame|On the left: image returned by the original first algorithm. On the right: the image returned by the first approach.]]<br />
<br />
<br />
[[Image:plate_detection_approach_1_b_post.jpg|center|frame|On the left: image returned by the original first algorithm. On the right: the image returned by the first approach.]]<br />
<br />
<br />
2) This approach gave good results only in few cases. The idea was to reduce the area analyzed by the first algorithm but the second algorithm applied on some images returned a lot of candidates, the sum of the pixels of the whole candidates found was bigger than the number of pixels in the original image.<br />
<br />
<br />
[[Image:Plate_detection_approach_2_a.jpg|center|frame|This image shows the amount of candidates found applying the second approach. In this case it found 209 candidates, too much.]]<br />
<br />
<br />
3) This solution didn’t give good results because it is heavy influenced by noises. Small white areas in candidates can in fact influence the medium value calculated, changing the order of the elements in the list.<br />
<br />
=== Documentation and useful files ===<br />
<br />
* [[Media:Plate detection Andrea Machina.pdf | Project Documentation (in italian)]]<br />
<br />
Additional materials (source codes, datasets) available in AIRWiki private layer.<br />
<br />
=== Useful link ===</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Talk:Plate_detection_algorithm&diff=3659Talk:Plate detection algorithm2008-06-23T09:32:53Z<p>AlessandroGiusti: </p>
<hr />
<div>Additional material not yet public<br />
<br />
* [[Media:Plate_detection_src.zip | C Source code]]<br />
<br />
* [[Media:Plate_detection_Data_set.zip | Data set]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=Plate_detection_algorithm&diff=3658Plate detection algorithm2008-06-23T09:32:30Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
<br />
Plate detection algorithm<br />
<br />
=== Project short description ===<br />
<br />
The aim of the project is to merge two plate detection algorithms previously developed trying to make the best of them.<br />
Different approaches were studied underlying pro and con.<br />
<br />
<br />
[[Image:plate detection intro.jpg|center|Plate detected]]<br />
<br />
=== Dates ===<br />
Start date: 2008/02/01<br />
<br />
End date: 2008/05/19<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
[[User:AlessandroGiusti|Alessandro Giusti]]<br />
<br />
[[User:PierluigiTaddei|Pierluigi Taddei]]<br />
<br />
===== Students currently working on the project =====<br />
<br />
<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
[[User:AndreaMachina|Andrea Machina]] - as a project for courses Image Analysis and Synthesis, prof. Caglioti, and<br />
Laboratorio di Intelligenza Artificiale e Robotica, prof. [[User:PierLucaLanzi|Lanzi]]<br />
<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
<br />
=== The Problem ===<br />
<br />
Dealing with plate detection problems two algorithms were developed based on different characteristics.<br />
<br />
The first one is based on the application of different masks to the original image. Each mask puts in evidence a characteristic of a plate: black stripes on white background, the rectangular shape etc. In the end a procedure merges all the images previously calculated achieving the result image where the plate is put in evidence.<br />
<br />
The second algorithm is based on the research of vertical and horizontal lines looking for the ones that, intersecting with the others, can describe the shape of a plate maintaining its proportions.<br />
<br />
The first algorithm is quite heavy but accurate, the second one is faster but not robust.<br />
The aim of this project is to merge these algorithms trying to make the best of them.<br />
<br />
=== Preliminary studies ===<br />
<br />
<br />
<br />
<br />
<br />
=== Adopted solution ===<br />
<br />
This project describes four possible solutions.<br />
<br />
1) The second algorithm (the faster one) is applied to the original image performing a first selection of region of interest based on geometrical characteristics. Each candidate found with this algorithm has been used to build a new binary mask (a selection mask), with the dimensions of the original image, where, if a pixel (x, y) is part of a candidate the corresponding element of the mask (x, y) is put to 1, 0 otherwise. The first algorithm is then applied to the original image but, during the merging mask is considered also the new selection mask. In this way we can reduce the amount of false positives.<br />
<br />
[[Image:plate_detection_approach_1_a.jpg|center|frame|On the left: candidates found by the second algorithm. On the right: the selection mask calculated.]]<br />
<br />
[[Image:plate_detection_approach_1_b.jpg|center|frame|On the left: candidates found by the second algorithm. On the right: the selection mask calculated.]]<br />
<br />
<br />
2) As in the first solution the second algorithm is applied. The first algorithm is then applied not on the whole original image but on each candidate found by the second algorithm. This solution aims to reduce the first algorithm complexity applying it only on the selected candidates.<br />
<br />
3) This approach uses the second algorithm to find all the candidates. The first algorithm is then applied and the medium value is calculated on each candidate found. Then they are ordered using the value found. The first element of the list in this approach is an element with the photometric characteristics of a plate and with the best medium value calculated with the first algorithm.<br />
<br />
4) This approach is a consideration for future applications, it hasn’t been implemented in this project. It is based on the recognition of characters in the candidates. In this approach the second algorithm is applied because it’s the faster, the best solution returned is then analyzed by the OCR algorithm. If the OCR can find in that area a determined number of characters this candidate can be considered the plate we were looking for. Otherwise the first algorithm is applied looking for a best solution. The OCR is then applied on the candidate returned by the first algorithm.<br />
<br />
=== Results and problems ===<br />
<br />
The first three algorithms were implemented in this project and tested on a set of images giving satisfactory results on the whole set only using the first approach. The second algorithm gave good results only on some images.<br />
<br />
1) The first approach is the one that gave the best results, as we can see in the images the candidates in the end of the algorithm are reduced by the second algorithm and, in some images where the second algorithm returned the wrong candidate, applying the first algorithm gave the right result.<br />
<br />
<br />
[[Image:plate_detection_approach_1_a_post.jpg|center|frame|On the left: image returned by the original first algorithm. On the right: the image returned by the first approach.]]<br />
<br />
<br />
[[Image:plate_detection_approach_1_b_post.jpg|center|frame|On the left: image returned by the original first algorithm. On the right: the image returned by the first approach.]]<br />
<br />
<br />
2) This approach gave good results only in few cases. The idea was to reduce the area analyzed by the first algorithm but the second algorithm applied on some images returned a lot of candidates, the sum of the pixels of the whole candidates found was bigger than the number of pixels in the original image.<br />
<br />
<br />
[[Image:Plate_detection_approach_2_a.jpg|center|frame|This image shows the amount of candidates found applying the second approach. In this case it found 209 candidates, too much.]]<br />
<br />
<br />
3) This solution didn’t give good results because it is heavy influenced by noises. Small white areas in candidates can in fact influence the medium value calculated, changing the order of the elements in the list.<br />
<br />
=== Documentation and useful files ===<br />
<br />
* [[Media:Plate detection Andrea Machina.pdf | Project Documentation (in italian)]]<br />
<br />
=== Useful link ===</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=NonPhotorealistic_rendering_of_speed_lines&diff=3582NonPhotorealistic rendering of speed lines2008-06-18T09:15:08Z<p>AlessandroGiusti: /* '''Part 2: project description''' */</p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
''Nonphotorealistic Rendering of Speed Lines''<br />
<br />
=== Project short description ===<br />
The aim of this project is to experiment some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
=== Dates ===<br />
Start date: 2008/02/04<br />
<br />
End date: 2008/03/04<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
A. Giusti - [[User:AlessandroGiusti]]<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Marco Branca - [[User:MarcoBranca]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
Lorenzo Camerini - [[User:LorenzoCamerini]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
The aim of this project is to experiment using some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
The documentation related to this project can be downloaded [[Media:ProgettoIAS.pdf | here]].<br />
<br />
The tutorial related to the Matlab graphical interface can be downloaded [[Media:GraphicInterfaceTutorial.pdf | here]].<br />
<br />
The source code of the Matlab graphical application can be downloaded [[Media:NonPhotorealisicRenderingOfSpeedLines Matlab.zip | here]]<br />
<br />
Approach<br />
<br />
In order to solve the problem we followed these tasks: <br />
<br />
1. We synthesized different videos with a clear separation between a moving foreground and background using blender. <br />
<br />
2. We studied how to analyzing video in matlab. In particular we learned how to access and analyze single video's frames. <br />
<br />
3. We implemented three different techniques in order to obtain speed-lines. <br />
<br />
The Implemented techniques are: Envelope Speed-Lines, Replication Of Contours, Harris Corners Speed-lines. We developed a simple matlab GUI in order to experiment with different parameters within a video.<br />
<br />
[[Image: BallTransparency.png]]<br />
<br />
[[Image: GusTransparency.png]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=NonPhotorealistic_rendering_of_speed_lines&diff=3581NonPhotorealistic rendering of speed lines2008-06-18T09:14:50Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
''Nonphotorealistic Rendering of Speed Lines''<br />
<br />
=== Project short description ===<br />
The aim of this project is to experiment some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
=== Dates ===<br />
Start date: 2008/02/04<br />
<br />
End date: 2008/03/04<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
A. Giusti - [[User:AlessandroGiusti]]<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Marco Branca - [[User:MarcoBranca]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
Lorenzo Camerini - [[User:LorenzoCamerini]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
The aim of this project is to experiment using some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
The documentation related to this project can be downloaded [[Media:ProgettoIAS.pdf | here]].<br />
<br />
The tutorial related to the Matlab graphical interface can be downloaded [[Media:GraphicInterfaceTutorial.pdf] | here]].<br />
<br />
The source code of the Matlab graphical application can be downloaded [[Media:NonPhotorealisicRenderingOfSpeedLines Matlab.zip | here]]<br />
<br />
Approach<br />
<br />
In order to solve the problem we followed these tasks: <br />
<br />
1. We synthesized different videos with a clear separation between a moving foreground and background using blender. <br />
<br />
2. We studied how to analyzing video in matlab. In particular we learned how to access and analyze single video's frames. <br />
<br />
3. We implemented three different techniques in order to obtain speed-lines. <br />
<br />
The Implemented techniques are: Envelope Speed-Lines, Replication Of Contours, Harris Corners Speed-lines. We developed a simple matlab GUI in order to experiment with different parameters within a video.<br />
<br />
[[Image: BallTransparency.png]]<br />
<br />
[[Image: GusTransparency.png]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=NonPhotorealistic_rendering_of_speed_lines&diff=3580NonPhotorealistic rendering of speed lines2008-06-18T09:01:41Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
''Nonphotorealistic Rendering of Speed Lines''<br />
<br />
=== Project short description ===<br />
The aim of this project is to experiment some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
=== Dates ===<br />
Start date: 2008/02/04<br />
<br />
End date: 2008/03/04<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
A. Giusti - [[User:AlessandroGiusti]]<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Marco Branca - [[User:MarcoBranca]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
Lorenzo Camerini - [[User:LorenzoCamerini]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
The aim of this project is to experiment using some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
The documentation related to this project can be downloaded here [http://airwiki.elet.polimi.it/mediawiki/images/d/d9/ProgettoIAS.pdf].<br />
<br />
The tutorial related to the Matlab graphical interface can be downloaded here<br />
[http://airwiki.elet.polimi.it/mediawiki/images/d/d1/GraphicInterfaceTutorial.pdf].<br />
<br />
The source code of the Matlab graphical application can be downloaded<br />
[[Media:NonPhotorealisicRenderingOfSpeedLines Matlab.zip | here]]<br />
<br />
Approach<br />
<br />
In order to solve the problem we followed these tasks: <br />
<br />
1. We synthesized different videos with a clear separation between a moving foreground and background using blender. <br />
<br />
2. We studied how to analyzing video in matlab. In particular we learned how to access and analyze single video's frames. <br />
<br />
3. We implemented three different techniques in order to obtain speed-lines. <br />
<br />
The Implemented techniques are: Envelope Speed-Lines, Replication Of Contours, Harris Corners Speed-lines. We developed a simple matlab GUI in order to experiment with different parameters within a video.<br />
<br />
[[Image: BallTransparency.png]]<br />
<br />
[[Image: GusTransparency.png]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=NonPhotorealistic_rendering_of_speed_lines&diff=3573NonPhotorealistic rendering of speed lines2008-06-18T08:13:16Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
''Nonphotorealistic Rendering of Speed Lines''<br />
<br />
=== Project short description ===<br />
The aim of this project is to experiment some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
=== Dates ===<br />
Start date: 2008/02/04<br />
<br />
End date: 2008/03/04<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
A. Giusti - [[User:AlessandroGiusti]]<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Marco Branca - [[User:MarcoBranca]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
Lorenzo Camerini - [[User:LorenzoCamerini]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
The aim of this project is to experiment using some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
The documentation related to this project can be downloaded here [http://airwiki.elet.polimi.it/mediawiki/images/d/d9/ProgettoIAS.pdf].<br />
<br />
The tutorial related to the Matlab graphical interface can be downloaded here<br />
[http://airwiki.elet.polimi.it/mediawiki/images/d/d1/GraphicInterfaceTutorial.pdf].<br />
<br />
Approach<br />
<br />
In order to solve the problem we followed these tasks: <br />
<br />
1. We synthesized different videos with a clear separation between a moving foreground and background using blender. <br />
<br />
2. We studied how to analyzing video in matlab. In particular we learned how to access and analyze single video's frames. <br />
<br />
3. We implemented three different techniques in order to obtain speed-lines. <br />
<br />
The Implemented techniques are: Envelope Speed-Lines, Replication Of Contours, Harris Corners Speed-lines. We developed a simple matlab GUI in order to experiment with different parameters within a video.<br />
<br />
[[Image: BallTransparency.png]]<br />
<br />
[[Image: GusTransparency.png]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=NonPhotorealistic_rendering_of_speed_lines&diff=3572NonPhotorealistic rendering of speed lines2008-06-18T08:03:55Z<p>AlessandroGiusti: </p>
<hr />
<div>== '''Part 1: project profile''' ==<br />
<br />
=== Project name ===<br />
''Nonphotorealistic Rendering of Speed Lines''<br />
<br />
=== Project short description ===<br />
The aim of this project is to experiment some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
=== Dates ===<br />
Start date: 2008/02/04<br />
<br />
End date: 2008/03/04<br />
<br />
=== People involved ===<br />
<br />
===== Project Advisor =====<br />
<br />
A. Giusti - [[User:AlessandroGiusti]]<br />
<br />
===== Students who worked on the project in the past =====<br />
<br />
Marco Branca - [[User:MarcoBranca]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
Lorenzo Camerini - [[User:LorenzoCamerini]] as a project for the course Image Analysis and Synthesis, prof. Caglioti<br />
<br />
== '''Part 2: project description''' ==<br />
<br />
The aim of this project is to experiment using some new techniques for syntesizing speed lines from video. <br />
<br />
Given a video with a moving object (a person, or something else), we will be able to draw some lines on the last video frame which should convey the object motion in the previous k frames. Beside we will be also able to draw some lines during the video reproduction. <br />
<br />
The documentation related to this project can be donloaded here [http://airwiki.elet.polimi.it/mediawiki/images/d/d9/ProgettoIAS.pdf].<br />
<br />
The tutorial related to the Matlab graphical interface can be downloaded here<br />
[http://airwiki.elet.polimi.it/mediawiki/images/d/d1/GraphicInterfaceTutorial.pdf].<br />
<br />
Approach<br />
<br />
In order to solve the problem we followed these tasks: <br />
<br />
1. We synthesized different videos with a clear separation between a moving foreground and background using blender. <br />
<br />
2. We studied how to analyzing video in matlab. In particular we learned how to access and analyze single video's frames. <br />
<br />
3. We implemented three different techniques in order to obtain speed-lines. <br />
<br />
The Implemented techniques are: Envelope Speed-Lines, Replication Of Contours, Harris Corners Speed-lines, We developed a simple matlab GUI in order to experiment with different parameters within a video.<br />
<br />
[[Image: BallTransparency.png]]<br />
<br />
[[Image: GusTransparency.png]]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=User:AlessandroGiusti&diff=3437User:AlessandroGiusti2008-06-16T10:22:58Z<p>AlessandroGiusti: </p>
<hr />
<div>{{User<br />
|firstname=Alessandro<br />
|lastname=Giusti<br />
|email=alessandro(dot)giusti(at)polimi(dot)it<br />
|advisor=VincenzoCaglioti<br />
|projectpage=Computer Vision and Image Analysis<br />
|photo=Nophoto.png<br />
}}<br />
<br />
[http://home.dei.polimi.it/giusti Homepage]</div>AlessandroGiustihttps://airwiki.elet.polimi.it/index.php?title=User:AlessandroGiusti&diff=3436User:AlessandroGiusti2008-06-16T10:20:27Z<p>AlessandroGiusti: </p>
<hr />
<div>{{User<br />
|firstname=Alessandro<br />
|lastname=Giusti<br />
|email=alessandro(dot)giusti(at)polimi(dot)it<br />
|advisor=VincenzoCaglioti<br />
|projectpage=Computer Vision and Image Analysis<br />
|photo=DavideEynard.jpg<br />
}}<br />
<br />
[http://home.dei.polimi.it/giusti Homepage]</div>AlessandroGiusti