{"id":144,"date":"2009-11-20T13:41:13","date_gmt":"2009-11-20T19:41:13","guid":{"rendered":"http:\/\/www.gergltd.com\/home\/?p=144"},"modified":"2009-11-22T16:37:11","modified_gmt":"2009-11-22T22:37:11","slug":"popular-hyperspectral-target-detection-kernels","status":"publish","type":"post","link":"https:\/\/www.gergltd.com\/home\/popular-hyperspectral-target-detection-kernels\/","title":{"rendered":"Popular Hyperspectral Target Detection Kernels"},"content":{"rendered":"<p>I&#8217;ve been implementing several hyperspectral target detection algorithms for the Matlab Hyperspectral Toolbox.\u00a0 I am going to use this post to summarize my research and implementations.\u00a0 It will take me a few days to\u00a0 get all my thoughts together, so this note will be a &#8220;living post&#8221; over the next week or so.\u00a0 Please email me if you find any errors or something is not explained clearly.\u00a0 I can be contacted at first.last-At-gergltd.com.\u00a0 Thanks, Isaac Gerg<\/p>\n<h2><strong>Notation<\/strong><\/h2>\n<p>[latex]p[\/latex] &#8211; Number of bands.\u00a0 E.g. for AVIRIS p = 224.<\/p>\n<p>[latex]N[\/latex] &#8211; Number of pixels.<\/p>\n<p>[latex]q[\/latex] &#8211; Number of materials in the scene.<\/p>\n<p>[latex]\\mathbf{M}[\/latex] &#8211; Matrix of hyperspectral imagery (HSI) data. Size is (p x N).<\/p>\n<p>[latex]\\mathbf{x}[\/latex] &#8211; Observation vector, a pixel.\u00a0 Size is (p x 1).<\/p>\n<p>[latex]\\mathbf{\\mu}[\/latex] &#8211; Data mean.\u00a0 Size is (p x 1).<\/p>\n<p>[latex]\\mathbf{t}[\/latex] &#8211; Target of interest.\u00a0 Size is (p x 1).<\/p>\n<p>[latex]\\mathbf{\\Gamma}[\/latex] &#8211; Covariance matrix of M.\u00a0 Size is (p x p).\u00a0 [latex]\\mathbf{\\Gamma} = \\frac{(\\mathbf{M}-\\mathbf{\\mu}\\mathbf{1}^T)(\\mathbf{M}-\\mathbf{\\mu}\\mathbf{1}^T)^T}{N}[\/latex]<\/p>\n<p>[latex]\\mathbf{R}[\/latex] &#8211; Correlation matrix of M. Size is (p x p). [latex]\\mathbf{R} = \\frac{\\mathbf{M}\\mathbf{M}^T}{N}[\/latex]<\/p>\n<p>[latex]\\mathbf{U}[\/latex] &#8211; Matrix of background endmembers. Size is (p x q).<\/p>\n<p>[latex]\\mathbf{P}_{U}^{\\perp}[\/latex] &#8211; Orthogonal projection of [latex]\\mathbf{U}[\/latex]. \u00a0[latex]\\mathbf{P}_{U}^{\\perp} = \\mathbf{I} &#8211; \\mathbf{U}\\mathbf{U}^{\\dagger}[\/latex]<\/p>\n<h2><strong>Kernels<\/strong><\/h2>\n<p>Assume the mean has been removed from the data unless otherwise noted.<strong> <\/strong>Assume these kernels work on radiance or reflectance data unless otherwise noted.<strong> <\/strong><\/p>\n<p><strong>RX Detector<\/strong><strong><br \/>\n<\/strong><\/p>\n<p style=\"text-align: center;\">[latex]D_{RX Detector}(\\mathbf{x}) = \\mathbf{x}^T\\mathbf{\\Gamma}^{-1}\\mathbf{x}[\/latex]<\/p>\n<p><strong>Matched Filter (MF)<\/strong><\/p>\n<p style=\"text-align: center;\">[latex]D_{Matched Filter}(\\mathbf{x}) = \\frac{\\mathbf{x}^T\\mathbf{\\Gamma}^{-1}\\mathbf{t}}{\\mathbf{t}^T\\mathbf{\\Gamma}^{-1}\\mathbf{t} }[\/latex]<\/p>\n<p><strong>Adaptive Coherent\/Cosine Estimator (ACE)<\/strong><\/p>\n<p style=\"text-align: center;\">[latex]D_{ACE}(\\mathbf{x}) = \\frac{(\\mathbf{t}^T\\mathbf{\\Gamma}^{-1}\\mathbf{x})^2}{(\\mathbf{t}^T\\mathbf{\\Gamma}^{-1}\\mathbf{t})(\\mathbf{x}^T\\mathbf{\\Gamma}^{-1}\\mathbf{x}) }[\/latex]<\/p>\n<p><strong>Constrained Energy Minimization (CEM)<\/strong><\/p>\n<p>[latex]\\mathbf{x}[\/latex] and [latex]\\mathbf{t}[\/latex] are not centered for this algorithm.\u00a0 I.e. Do not remove the mean of the data when computing this kernel.<\/p>\n<p style=\"text-align: center;\">[latex]D_{CEM}(\\mathbf{x}) = \\frac{\\mathbf{t}^T\\mathbf{R}^{-1}\\mathbf{x}}{\\mathbf{t}^T\\mathbf{R}^{-1}\\mathbf{t} }[\/latex]<\/p>\n<p style=\"text-align: left;\"><strong>Generalized Likelihood Ratio Test (GLRT)<\/strong><\/p>\n<p style=\"text-align: center;\">[latex]D_{GLRT}(\\mathbf{x}) = \\frac{(\\mathbf{t}^T\\mathbf{\\Gamma}^{-1}\\mathbf{x})^2}{(\\mathbf{t}^T\\mathbf{\\Gamma}^{-1}\\mathbf{t}) (1 + \\mathbf{x}^T\\mathbf{\\Gamma}^{-1}\\mathbf{x})}[\/latex]<\/p>\n<p><strong>Orthogonal Subspace Projection (OSP)<\/strong><\/p>\n<p style=\"text-align: center;\">[latex]D_{OSP}(\\mathbf{x}) = \u00a0\\mathbf{t}^T \\mathbf{P}_{U}^{\\perp} \\mathbf{x} [\/latex]<\/p>\n<p style=\"text-align: left;\"><strong>Adaptive Matched Subspace Detector (AMDS)<\/strong><\/p>\n<p style=\"text-align: left;\">B is a matrix of background signatures. \u00a0Size is (p x q). \u00a0Z is a matrix of background and target signatures. \u00a0Size is (p x (q + # targets)).<\/p>\n<p style=\"text-align: center;\">[latex]D_{AMDS}(\\mathbf{x})=\\frac{\\mathbf{x}^{T}(\\mathbf{P}_{B}^{\\perp} &#8211; \\mathbf{P}_{Z}^{\\perp})\\mathbf{x}}{\\mathbf{x}^{T}\\mathbf{P}_{Z}^{\\perp}\\mathbf{x}}[\/latex]<\/p>\n<p style=\"text-align: center;\">\n<p style=\"text-align: left;\">More to come&#8230;..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been implementing several hyperspectral target detection algorithms for the Matlab Hyperspectral Toolbox.\u00a0 I am going to use this post to summarize my research and implementations.\u00a0 It will take me a few days to\u00a0 get all my thoughts together, so this note will be a &#8220;living post&#8221; over the next week or so.\u00a0 Please email [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[25,27,10,24,26],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-ace","tag-amsd","tag-hyperspectral","tag-kernels","tag-osp"],"_links":{"self":[{"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":37,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"predecessor-version":[{"id":572,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/posts\/144\/revisions\/572"}],"wp:attachment":[{"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gergltd.com\/home\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}