<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-16492137852813122</id><updated>2011-04-21T13:27:17.851-07:00</updated><title type='text'>Super Resolution</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-1063908194250383195</id><published>2007-03-07T15:01:00.001-08:00</published><updated>2007-03-07T15:34:48.963-08:00</updated><title type='text'>Motion Estimation from video input</title><content type='html'>As mentioned in my previous post on motion estimation i implemented the lucas-kanade optical flow method as a first attempt at performing motion estimation. This method had a major drawback in that the method is only applicable for displacements on the order of one or two high resolution pixels, this limitation posses a serious problem for static images, as in order reconstruct increasingly high resolution images an increasing number of low resolution images are required.&lt;br /&gt;&lt;br /&gt;Since this point i have been looking into using video clips at the input to the super-resolution algorithm, this method of data input offers the benefit that if the frame rate of the camera is high enough then the relative motions between the frames will be small (on the order of or two pixels) which means that lucas-kanade's optical flow algorithm should be effective at calculating the motions between frames, this data can then be used to calculate the relative motions with respect to a reference frame. As i have implemented it at the moment i am assuming that the reference frame is simply the first frame in the input sequence, however i intend to modify this so that the displacements are given relative to some 'central frame',  this central frame may or may not exist in the set of LR input frames, it is merely the point around which the reconstruction takes place.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I attempted to use the results generated by this image registration approach to perform super-resolution on the video clip that i captured, however the reconstruction did not go well,  so i have now taken a step back and am trying to verify the results of the image registration code in order to track down the error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-1063908194250383195?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/1063908194250383195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=1063908194250383195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/1063908194250383195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/1063908194250383195'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/03/motion-estimation-from-video-input.html' title='Motion Estimation from video input'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-5411262537189496029</id><published>2007-02-21T14:00:00.000-08:00</published><updated>2007-02-21T15:38:19.893-08:00</updated><title type='text'>Maximum Likelihood Estimation</title><content type='html'>For a change from working on the motion estimation side of the project, i decided to take a look at replacing the end of the super-resolution pipeline. The end of the pipeline is the part responsible for reversing the effects of the forward model. Up until know i have implemented this inversion using the pseudo-inverse function, whilst this is an effective approach for small images, and images which do not contain noise it will become infeasable to use this method once i start using larger images, and once i move ontoconsidering real world low resolution examples that contain noise.&lt;br /&gt;&lt;br /&gt;The other motivation for implementing this part of the project now asides from the change from looking at motion estimation is that the maximum likelihood estimation approach is similar to work that i have been doing in my Neural networks class (ECE 173).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzHo_-vm7I/AAAAAAAAAH4/e89wN9UNwek/s1600-h/Argmin.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzHo_-vm7I/AAAAAAAAAH4/e89wN9UNwek/s320/Argmin.bmp" alt="" id="BLOGGER_PHOTO_ID_5034117990676667314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The X that satisfies the above equation is the X vector that is most likely to have been the original high resolution image.  By finding the derivative of the above equation and setting it equal to zero we can then calculate the X vector that corresponds to the minimum of the function. The equation below shows the derivative:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzTZ_-vm9I/AAAAAAAAAIM/YPiERMi3qlc/s1600-h/dargmin.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzTZ_-vm9I/AAAAAAAAAIM/YPiERMi3qlc/s320/dargmin.bmp" alt="" id="BLOGGER_PHOTO_ID_5034130927118162898" border="0" /&gt;&lt;/a&gt;Rearranging this formula and then applying the gradient descent method allows the X vector corresponding to the minimum error to the iteratively obtained.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RdzU7f-vm-I/AAAAAAAAAIU/FTwYZ-Hex8g/s1600-h/update.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RdzU7f-vm-I/AAAAAAAAAIU/FTwYZ-Hex8g/s320/update.bmp" alt="" id="BLOGGER_PHOTO_ID_5034132602155408354" border="0" /&gt;&lt;/a&gt;Where&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzV4_-vm_I/AAAAAAAAAIc/eL8-BbspHrc/s1600-h/R.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzV4_-vm_I/AAAAAAAAAIc/eL8-BbspHrc/s320/R.bmp" alt="" id="BLOGGER_PHOTO_ID_5034133658717363186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/RdzWAv-vnAI/AAAAAAAAAIk/5Q_USAu4dxk/s1600-h/P.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/RdzWAv-vnAI/AAAAAAAAAIk/5Q_USAu4dxk/s320/P.bmp" alt="" id="BLOGGER_PHOTO_ID_5034133791861349378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The graph below shows the error between the reconstruction and the original high resolution images against the number of iterations that were performed in order to acquire the reconstruction.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzSw_-vm8I/AAAAAAAAAIE/BPrJN7gMv2Y/s1600-h/Error.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RdzSw_-vm8I/AAAAAAAAAIE/BPrJN7gMv2Y/s400/Error.jpg" alt="" id="BLOGGER_PHOTO_ID_5034130222743526338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;The reconstructed image can be seen below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/RdzXTP-vnBI/AAAAAAAAAIs/nA_0jfoFziU/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/RdzXTP-vnBI/AAAAAAAAAIs/nA_0jfoFziU/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5034135209200557074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-5411262537189496029?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/5411262537189496029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=5411262537189496029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/5411262537189496029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/5411262537189496029'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/02/maximum-likelihood-estimation.html' title='Maximum Likelihood Estimation'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ZQMbz-xDvUU/RdzHo_-vm7I/AAAAAAAAAH4/e89wN9UNwek/s72-c/Argmin.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-3777409857052533923</id><published>2007-02-14T14:17:00.000-08:00</published><updated>2007-02-14T15:24:23.368-08:00</updated><title type='text'>Motion Estimation</title><content type='html'>Well with CSE121 finally submitted last night i have been able to get back to work on the project. The next portion of the project i want to get done is the motion estimation part.&lt;br /&gt;&lt;br /&gt;My first attempt at implementing motion estimation was to use the Lucas-Kanade optical flow algorithm. This provided promising results for displacements of only 1 or two pixels at high resolution so long as the decimated image wasn't 'too' decimated.  For larger high resoltuon displacements however this  method of estimating the motion between frames quickly broke down, increasing the factor by which the image is decimated resulted in the algorithm being accurate over smaller displacements.  The factor by which an image has been decimated directly influences the amount of information that is c0ntained in the low resolution frames.&lt;br /&gt;&lt;br /&gt;After trying Lucas-Kanade i searched around on the internet for more papers relating to motion estimation and came up with one which sounds like it might be a promising method, hopefully this paper will provide a method that works, otherwise i will just implement ransac, which for the moment seems like overkill as i am assuming that the transformations between images are pure translations.&lt;br /&gt;&lt;br /&gt;The paper is titled: &lt;a href="http://www.ee.surrey.ac.uk/Personal/T.Vlachos/mypapers/icassp04.pdf"&gt;"Using Gradient Correlation for sub-pixel motion estimation of video     sequences"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have started implementing this algorithm but due to lack of time i have been unable to finish it before the lecture,  after the lecture i will hopefully get the implementation finished and i will then improve this entry to include information on how the method works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-3777409857052533923?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/3777409857052533923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=3777409857052533923' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/3777409857052533923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/3777409857052533923'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/02/motion-estimation.html' title='Motion Estimation'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-2466949398883780671</id><published>2007-02-07T13:42:00.000-08:00</published><updated>2007-02-07T15:12:05.664-08:00</updated><title type='text'>No Time</title><content type='html'>&lt;o:p&gt;&lt;/o:p&gt;Well unfortunately this week I have had hardly anytime at all to spend on my project, been busy trying to get my &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CSE&lt;/span&gt;121 project done which just seems to take forever. As such i have been unable to do any more work on the motion estimation side of the project this week.&lt;br /&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;What time I have had &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ive&lt;/span&gt; spent playing around with the forward model that I have been using. As one of the next steps in the project I was aiming to test out the super-resolution approach on images that have been decimated using a different method, e.g. images I haven’t decimated my self using my own forward model. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;In order to acquire the low resolution images I continued to use the same high resolution image that I used for the previous tests. In order to acquire the low resolution input frames I repeatedly shifted the images and then applied the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;matlab&lt;/span&gt; image &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;resize&lt;/span&gt; command with the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;resize&lt;/span&gt; method set to &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;bilinear&lt;/span&gt;. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Once these low resolution frames had been acquired I then attempted to reconstruct the original high resolution image, using my own forward model. I performed the reconstruction several times each time adjusting the forward model i was using slightly, i have included a selection of results that i obtained. I have also improved the function i have written to create the decimation matrix to enable me to perform decimation using nearest neighbour as well as &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;bilinear&lt;/span&gt; interpolation.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Attempt 1&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;sig&lt;/span&gt; = 0.5, Decimation = &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Bilinear&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RcpXFIRI_JI/AAAAAAAAAGw/5mIGZLB-Sfk/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RcpXFIRI_JI/AAAAAAAAAGw/5mIGZLB-Sfk/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028927679542918290" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Error = 0.1658&lt;/p&gt;&lt;p class="MsoNormal"&gt;Conclusions: Looking at the error value and the reconstructed image it can clearly be seen that the forward model is incorrect, as the reconstructed image doesn't resemble the original image at all.&lt;br /&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Attempt 2&lt;/span&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;sig&lt;/span&gt; = 0.25, Decimation = &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Bilinear&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcpX4oRI_KI/AAAAAAAAAG8/b4jpNxDL2Gc/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcpX4oRI_KI/AAAAAAAAAG8/b4jpNxDL2Gc/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028928564306181282" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Error = 0.0289&lt;/p&gt; &lt;span style="font-weight: bold;"&gt;Attempt 3&lt;/span&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;sig&lt;/span&gt; = 0 (no &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;bluring&lt;/span&gt;), Decimation = &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Bilinear&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RcpYsIRI_LI/AAAAAAAAAHE/ACpTVqzYp0Q/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RcpYsIRI_LI/AAAAAAAAAHE/ACpTVqzYp0Q/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028929449069444274" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Error = 0.0052&lt;/p&gt; &lt;p class="MsoNormal"&gt;Conclusions: Low Error and the reconstructed image looks similar to the original high res image&lt;br /&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Attempt 4&lt;/span&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;sig&lt;/span&gt; = 0.5, Decimation = nearest neighbour&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/Rcpa94RI_MI/AAAAAAAAAHU/ScIwaR4iSiM/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/Rcpa94RI_MI/AAAAAAAAAHU/ScIwaR4iSiM/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028931953035377858" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Error = 0.5919&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Attempt 5&lt;/span&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;sig&lt;/span&gt; = 0.25, Decimation = nearest neighbour&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/Rcpb1YRI_NI/AAAAAAAAAHc/DaDATjrpCO0/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/Rcpb1YRI_NI/AAAAAAAAAHc/DaDATjrpCO0/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028932906518117586" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Error = 0.0221&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Attempt 6&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;  &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Forward Model Settings:&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Gaussian Blur &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;sig&lt;/span&gt; = 0 (no &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;bluring&lt;/span&gt;), Decimation = nearest neighbour&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Reconstructed Image:&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/Rcpct4RI_OI/AAAAAAAAAHk/y258kl_58HQ/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/Rcpct4RI_OI/AAAAAAAAAHk/y258kl_58HQ/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5028933877180726498" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Error = 0.0078&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-2466949398883780671?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/2466949398883780671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=2466949398883780671' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/2466949398883780671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/2466949398883780671'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/02/no-time.html' title='No Time'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ZQMbz-xDvUU/RcpXFIRI_JI/AAAAAAAAAGw/5mIGZLB-Sfk/s72-c/Output.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-8679839372710033391</id><published>2007-01-31T12:55:00.000-08:00</published><updated>2007-01-31T13:44:30.021-08:00</updated><title type='text'>Quantitative Results Using Error Metric</title><content type='html'>&lt;b style=""&gt;Error Metric&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;I selected to use the mean squared error as the error metric to evaluate the effectiveness of the system. The benefit of using this metric is that it provides a method for calculating the error that gives a numerical value that can be used to compare errors from different reconstructions regardless of the size of the images in question.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/RcEDcGsU-TI/AAAAAAAAADg/_Yn0oenwExs/s1600-h/Error+Matrix.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/RcEDcGsU-TI/AAAAAAAAADg/_Yn0oenwExs/s320/Error+Matrix.bmp" alt="" id="BLOGGER_PHOTO_ID_5026302440489941298" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;Where &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;X – Original High resolution image&lt;/p&gt;  &lt;p class="MsoNormal"&gt;X’ – Reconstructed High resolution image&lt;/p&gt;  &lt;p class="MsoNormal"&gt;L – Number of pixels along each axis (assumes square image)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Quantitative Results&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The image below shows the original high resolution image that was used in order to assess the performance of the super-resolution algorithm when applied to various low resolution sets.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEFt2sU-VI/AAAAAAAAAD0/mVBst9fGGY0/s1600-h/Input.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEFt2sU-VI/AAAAAAAAAD0/mVBst9fGGY0/s320/Input.jpg" alt="" id="BLOGGER_PHOTO_ID_5026304944455874898" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size:100%;"&gt;20 Pixels Super-Resolved to 30&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Original High Resolution Image&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEFt2sU-VI/AAAAAAAAAD0/mVBst9fGGY0/s1600-h/Input.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEFt2sU-VI/AAAAAAAAAD0/mVBst9fGGY0/s320/Input.jpg" alt="" id="BLOGGER_PHOTO_ID_5026304944455874898" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;Low Resolution Input frames (Each one is 30 x 30)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RcEHpWsU-WI/AAAAAAAAAEE/MW1kjNBarwY/s1600-h/LRFrames.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RcEHpWsU-WI/AAAAAAAAAEE/MW1kjNBarwY/s320/LRFrames.jpg" alt="" id="BLOGGER_PHOTO_ID_5026307066169719138" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Output Image&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/RcEFHmsU-UI/AAAAAAAAADs/5bUSdWnRlq0/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/RcEFHmsU-UI/AAAAAAAAADs/5bUSdWnRlq0/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5026304287325878594" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Rank of Model Matrix = 900 (Full Rank)&lt;/p&gt;&lt;p class="MsoNormal"&gt;Mean Squared Error = 1.6491e-024&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;15 Pixels Super-Resolved to 30&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;I wont include images for this case as they look pretty similar to the images for the 20 pixel low resolution case.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Rank of Model Matrix = 900 (Full Rank)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Mean Squared Error = 9.0744e-023&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;10 Pixels Super-Resolved to 30&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Rank of Model Matrix = 900 (Full Rank)&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Mean Squared Error = 1.2279e-025&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;6 Pixels Super-Resolved to 30&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;6 Pixels was the lowest that could achieved whilst still having the model matrix have full rank.&lt;/p&gt;Low Resolution Input frames (Each one is 6 x 6)&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcENf2sU-dI/AAAAAAAAAFU/8iBTKxQzv4I/s1600-h/LRFrames.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcENf2sU-dI/AAAAAAAAAFU/8iBTKxQzv4I/s320/LRFrames.jpg" alt="" id="BLOGGER_PHOTO_ID_5026313500030728658" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Reconstructed High Resolution Image&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcENT2sU-cI/AAAAAAAAAFM/DnXR7EpCBx4/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcENT2sU-cI/AAAAAAAAAFM/DnXR7EpCBx4/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5026313293872298434" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;Rank of Model Matrix = 900 (Full Rank)&lt;br /&gt;&lt;p class="MsoNormal"&gt;Mean Squared Error = 1.1463e-024&lt;/p&gt;&lt;br /&gt;&lt;b style=""&gt;4 Pixels Super-Resolved to 30&lt;/b&gt;&lt;p class="MsoNormal"&gt;Reconstructed High Resolution Image&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEMa2sU-bI/AAAAAAAAAEs/lbQCRYUVsNM/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RcEMa2sU-bI/AAAAAAAAAEs/lbQCRYUVsNM/s320/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5026312314619754930" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Rank of Model Matrix = 400&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Mean Squared Error = 0.0182&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-8679839372710033391?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/8679839372710033391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=8679839372710033391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/8679839372710033391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/8679839372710033391'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/01/quantitative-results-using-error-metric.html' title='Quantitative Results Using Error Metric'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_ZQMbz-xDvUU/RcEDcGsU-TI/AAAAAAAAADg/_Yn0oenwExs/s72-c/Error+Matrix.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-5950614564217782288</id><published>2007-01-22T15:20:00.000-08:00</published><updated>2007-01-24T15:25:17.728-08:00</updated><title type='text'>Down Sampling &amp; Up Sampling Test Images</title><content type='html'>&lt;o:p&gt;&lt;/o:p&gt;Since Friday I have been working towards applying the forward model mentioned in my previous post to a high resolution image, and then attempting to obtain the original high resolution image using the produced low resolution images and knowledge about the transformations that were applied to it.   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Forward Model &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In order to simplify my first attempt at applying the forward model and then reversing its affects I choose to implement the warping operation applied to the high resolution images to being a shifting affect only. The blurring operation was implemented using a Gaussian kernel with a σ = 0.5. Finally I chose to decimate the image using bilinear interpolation.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Applying the forward Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The only parameter that was varied in order to produce the low resolution images was the amount that the original high resolution image was displaced before the blurring and decimation operations were performed. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The image below is the original high resolution image that I applied the forward model to. &lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RbVG_WsU-HI/AAAAAAAAABQ/dmuHXhqmSwQ/s1600-h/T30.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RbVG_WsU-HI/AAAAAAAAABQ/dmuHXhqmSwQ/s400/T30.jpg" alt="" id="BLOGGER_PHOTO_ID_5022999013638862962" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The images below show some examples of the result of applying the forward model to the high resolution image.&lt;/p&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/RbVHLmsU-II/AAAAAAAAABY/MO3P09hMVok/s1600-h/LRI1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/RbVHLmsU-II/AAAAAAAAABY/MO3P09hMVok/s400/LRI1.jpg" alt="" id="BLOGGER_PHOTO_ID_5022999224092260482" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RbVHW2sU-KI/AAAAAAAAABo/jpuBH_WO0HE/s1600-h/LRI13.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RbVHW2sU-KI/AAAAAAAAABo/jpuBH_WO0HE/s400/LRI13.jpg" alt="" id="BLOGGER_PHOTO_ID_5022999417365788834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/RbVHTGsU-JI/AAAAAAAAABg/XmSzVh6mnzU/s1600-h/LRI25.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/RbVHTGsU-JI/AAAAAAAAABg/XmSzVh6mnzU/s400/LRI25.jpg" alt="" id="BLOGGER_PHOTO_ID_5022999352941279378" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Calculating the High Resolution Image&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;First Attempt at Reconstructing the original high resolution image&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ZQMbz-xDvUU/RbVIR2sU-MI/AAAAAAAAAB4/UFTCEuCMbN8/s1600-h/FA.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ZQMbz-xDvUU/RbVIR2sU-MI/AAAAAAAAAB4/UFTCEuCMbN8/s400/FA.jpg" alt="" id="BLOGGER_PHOTO_ID_5023000430978070722" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;Second Attempt at Reconstructing the high resolution image&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/RbVH6GsU-LI/AAAAAAAAABw/FaZCqg6SPNU/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/RbVH6GsU-LI/AAAAAAAAABw/FaZCqg6SPNU/s400/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5023000022956177586" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;As suggested by Serge i have now inverted the original high resolution image before creating the low resolution frames, and then applying the super-resolution process to them, this has been done purely for cosmetic reasons  so that the black lines that  creep in at the borders as the image is shifted dont look out of place.&lt;/p&gt;The image below shows the new high resolution image.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RbfnX2sU-PI/AAAAAAAAACs/NboBMflngoA/s1600-h/input.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RbfnX2sU-PI/AAAAAAAAACs/NboBMflngoA/s400/input.jpg" alt="" id="BLOGGER_PHOTO_ID_5023738306359523570" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;The image below shows 9 out of the 25 low resolution frames that were generated.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/Rbfm8msU-OI/AAAAAAAAACk/0dba-u6AP-I/s1600-h/LRFrames.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/Rbfm8msU-OI/AAAAAAAAACk/0dba-u6AP-I/s320/LRFrames.jpg" alt="" id="BLOGGER_PHOTO_ID_5023737838208088290" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Since inverting the images i have noticed a slight bug in the matrix that is being used to decimate the high resolution images. This bug didn't show up when performing the super-resolution with an image with a white background. However along the right, and lower side of the reconstructed high resolution image a greyish  strip can be seen.  To solve this problem i believe i need to adjust the weights of the decimation matrix. But not wanting to rush this and break the whole program i will wait until i have more time before adjusting them.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/Rbfo9GsU-SI/AAAAAAAAADU/cgx0N2ILIjc/s1600-h/Output.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/Rbfo9GsU-SI/AAAAAAAAADU/cgx0N2ILIjc/s200/Output.jpg" alt="" id="BLOGGER_PHOTO_ID_5023740045821278498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Next Step(s)&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Fix bug in the decimation matrix&lt;/li&gt;&lt;li&gt;Implement a function to calculate the error between the reconstructed image and the original image - probably in the form of mean square error&lt;/li&gt;&lt;li&gt;Attempt to automatically determine the relative motions between the low resolution images, and then compare the new reconstruction error with the previous reconstruction error. Serge recommended implementing this using the optical flow algorithm.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Look into implementing maximum likelihood estimation in order to reconstruct the high resolution image, rather than using the pseudo-inverse.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Effects of noise on the system. Currently i have been using low resolution images that contain no noise, once maximum likelihood estimation is implemented a comparison as to which is more robust against the effects of noise will be performed.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-5950614564217782288?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/5950614564217782288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=5950614564217782288' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/5950614564217782288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/5950614564217782288'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/01/down-sampling-up-sampling-test-images.html' title='Down Sampling &amp; Up Sampling Test Images'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ZQMbz-xDvUU/RbVG_WsU-HI/AAAAAAAAABQ/dmuHXhqmSwQ/s72-c/T30.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-8945173342619860511</id><published>2007-01-19T14:35:00.000-08:00</published><updated>2007-01-19T15:32:04.182-08:00</updated><title type='text'>Super-Resolution Papers &amp; Models</title><content type='html'>&lt;b style=""&gt;Papers&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;The last week or so has been spent pouring over the various papers on multi-frame super resolution and trying to understand the approaches that have been taken in order to solve the super-resolution problem. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;Having found an abundance of super-resolution papers online I have selected four papers which were written over the period of 1997 – 2004, which adopt the same approach towards solving the super-resolution problem, each of which builds on the ideas that were presented in the previous paper.&lt;span style=""&gt;  &lt;/span&gt;The links to these papers are below, and are in chronological order. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;a href="http://citeseer.ist.psu.edu/cache/papers/cs2/350/http:zSzzSzwww-sccm.stanford.eduzSz%7EeladzSzJournalszSz01_Static_Super_Res_IEEE_IP.pdf/elad97restoration.pdf"&gt;“Restoration of a Single Superresolution Image from Several Blurred, Noisy, and Undersampled Measured Images&lt;/a&gt;”&lt;/i&gt;, Michael Elad and Arie Feuer  &lt;span style="font-size:11;"&gt;&lt;/span&gt;&lt;span style="font-size:10;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;a href="http://citeseer.ist.psu.edu/cache/papers/cs/15698/http:zSzzSzwww.cse.ucsc.eduzSz%7EmilanfarzSzsuperres_TIP.pdf/nguyen00computationally.pdf"&gt;“&lt;i style=""&gt;A computationally efficient superresolution image reconstruction algorithm” &lt;/i&gt;&lt;/a&gt;Nhat Nguyen_, Peyman Milanfar and Gene Golub&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;a href="http://citeseer.ist.psu.edu/cache/papers/cs/26585/http:zSzzSzwww.faculty.idc.ac.ilzSztokyzSzPublicationszSzJournalzSzsuperRes.pdf/elad01fast.pdf"&gt;“A Fast Super-Resolution Reconstruction Algorithm for Pure Translation Motion and Common Space-Invariant Blur”&lt;/a&gt; &lt;/i&gt;Michael Elad, Yacov Hel-Or&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;a href="http://www.cse.ucsc.edu/%7Emilanfar/SR-challengesIJIST.pdf"&gt;“Advances and Challenges in Super-Resolution”&lt;/a&gt;, &lt;/i&gt;Sina Farsiu, Dirk Robinson, Michael Elad, Peyman Milanfar&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;In the papers mentioned above super-resolution is defined as an inverse problem in which the  formation of the low resolution images is modelled as series of successive transformations that are performed on a high resolution image. They then propose that super-resolution can be achieved by obtaining and then applying to the low resolution images the inverse of the forward transformation in order to reconstruct the original high resolution data.  The forward model will be discussed below.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:8;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;b style=""&gt;Forward Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;The forward model is the model that is used to describe the transformation from a high resolution image to a low resolution version of the same image. The low resolution image is treated as a high resolution image that has been subjected to motion (or warp), camera blur (the cameras point spread function), and down sampling (decimation) operations, the low resolution image is also treated as contained a noise component.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The model connecting the k&lt;sup&gt;th&lt;/sup&gt; low resolution image to the high resolution image is shown below in a mathematical form:&lt;/p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:oleobject type="Embed" progid="Equation.3" shapeid="_x0000_i1025" drawaspect="Content" objectid="_1230722555"&gt;  &lt;/o:OLEObject&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;span style=""&gt;&lt;span style="position: relative; top: 6pt;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:167.25pt;" ole=""&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\TOMCAS~1\LOCALS~1\Temp\msohtml1\01\clip_image001.wmz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:oleobject type="Embed" progid="Equation.3" shapeid="_x0000_i1025" drawaspect="Content" objectid="_1230722767"&gt;  &lt;/o:OLEObject&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ZQMbz-xDvUU/RbFJOWsU-BI/AAAAAAAAAAM/d35rhjij0c4/s1600-h/Eq1.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 148px; height: 28px;" src="http://bp0.blogger.com/_ZQMbz-xDvUU/RbFJOWsU-BI/AAAAAAAAAAM/d35rhjij0c4/s200/Eq1.GIF" alt="" id="BLOGGER_PHOTO_ID_5021875570453313554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Where &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Y&lt;sub&gt;k&lt;/sub&gt; is the k&lt;sup&gt;th&lt;/sup&gt; low resolution image&lt;/p&gt;  &lt;p class="MsoNormal"&gt;D&lt;sub&gt;k&lt;/sub&gt; is the down sampling matrix&lt;/p&gt;  &lt;p class="MsoNormal"&gt;C&lt;sub&gt;k&lt;/sub&gt; is the Blurring matrix&lt;/p&gt;  &lt;p class="MsoNormal"&gt;F&lt;sub&gt;k&lt;/sub&gt; is the motion or warp matrix&lt;/p&gt;  &lt;p class="MsoNormal"&gt;X is the high resolution image&lt;/p&gt;  &lt;p class="MsoNormal"&gt;E&lt;sub&gt;k&lt;/sub&gt; is the k&lt;sup&gt;th&lt;/sup&gt; noise vector&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A more general model grouping the equations for all the low resolution frames into one equation is shown below:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ZQMbz-xDvUU/RbFMPGsU-EI/AAAAAAAAAAk/jlcSQ45wMe4/s1600-h/Eq2.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ZQMbz-xDvUU/RbFMPGsU-EI/AAAAAAAAAAk/jlcSQ45wMe4/s320/Eq2.GIF" alt="" id="BLOGGER_PHOTO_ID_5021878881873098818" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="position: relative; top: 25pt;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" style="'width:354pt;height:94.5pt'" ole=""&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\TOMCAS~1\LOCALS~1\Temp\msohtml1\01\clip_image003.wmz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ZQMbz-xDvUU/RbFMDmsU-DI/AAAAAAAAAAc/aPLHOoxg0gs/s1600-h/E3.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 174px; height: 33px;" src="http://bp1.blogger.com/_ZQMbz-xDvUU/RbFMDmsU-DI/AAAAAAAAAAc/aPLHOoxg0gs/s200/E3.GIF" alt="" id="BLOGGER_PHOTO_ID_5021878684304603186" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;...&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="position: relative; top: 6pt;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1028" type="#_x0000_t75" style="'width:111.75pt;height:30.75pt'" ole=""&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\TOMCAS~1\LOCALS~1\Temp\msohtml1\01\clip_image007.wmz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:oleobject type="Embed" progid="Equation.3" shapeid="_x0000_i1028" drawaspect="Content" objectid="_1230722558"&gt;  &lt;/o:OLEObject&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-8945173342619860511?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/8945173342619860511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=8945173342619860511' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/8945173342619860511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/8945173342619860511'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/01/super-resolution-papers-models.html' title='Super-Resolution Papers &amp; Models'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ZQMbz-xDvUU/RbFJOWsU-BI/AAAAAAAAAAM/d35rhjij0c4/s72-c/Eq1.GIF' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-6523618832803250700</id><published>2007-01-10T15:16:00.000-08:00</published><updated>2007-01-10T15:35:40.687-08:00</updated><title type='text'>Multi-frame Vs Single-frame enhancement</title><content type='html'>&lt;p class="MsoNormal"&gt;Having spent some time reading over the two approaches to performing super-resolution i have decided that i am going to focus on multi-frame rather than single-frame enhancement. I selected the multi frame approach because i believe it will produce more robust results over a wider range of input images.  One of the main limitations of the single-frame approach is that the process will only be effective if the database contains a high resolution image which is similar to the image which is trying to be enhanced.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;span style="font-family:arial;"&gt;The multi-frame approach on the other and uses the additional data which is contained in the extra input frames to interpolate the pixel values in the high resolution image, this allows the multi-frame approach to be applied to any input image, even if a similar image was not used during the design of the algorithm. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-6523618832803250700?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/6523618832803250700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=6523618832803250700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/6523618832803250700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/6523618832803250700'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/01/multi-frame-vs-single-frame-enhancement.html' title='Multi-frame Vs Single-frame enhancement'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16492137852813122.post-7037534574292517658</id><published>2007-01-10T14:35:00.000-08:00</published><updated>2007-01-10T15:15:21.691-08:00</updated><title type='text'>Super Resolution Introduction</title><content type='html'>&lt;p class="MsoNormal"&gt;Super-Resolution is the process of constructing a high resolution image from a set of one or more low resolution input images.  The two approaches to performing super-resolution enhancement are single frame and multi-frame enhancement. Since low resolution images inherently contain less information than higher resolution images, the process of constructing high resolution images form an input of one or more low resolution images requires that the missing high resolution data be calculated.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16492137852813122-7037534574292517658?l=super-resolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://super-resolution.blogspot.com/feeds/7037534574292517658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16492137852813122&amp;postID=7037534574292517658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/7037534574292517658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16492137852813122/posts/default/7037534574292517658'/><link rel='alternate' type='text/html' href='http://super-resolution.blogspot.com/2007/01/super-resolution-introduction.html' title='Super Resolution Introduction'/><author><name>Tom Cassey</name><uri>http://www.blogger.com/profile/16867118001682541815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
