{"id":640,"date":"2017-02-24T21:17:23","date_gmt":"2017-02-25T01:17:23","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/?page_id=640"},"modified":"2017-04-07T21:18:17","modified_gmt":"2017-04-08T01:18:17","slug":"color-calibration","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/color-calibration\/","title":{"rendered":"Color Calibration"},"content":{"rendered":"<p><strong>Overview<\/strong><\/p>\n<p>After our team meeting with Oculus, we set up several tasks for this semester. First, we are continuing the sensor noise calibration. An integrating sphere will be added into our system for high accuracy performance. Second, after proving the RGB photometric responses are linear, we are going to conduct color calibration and generate the mapping function of color sensors. Third, we will keep doing the\u00a0geometric calibration. Fourth, in addition to the real-world experiment, a simulation is required. We will use Blender to generate simulated images of virtual targets from virtual cameras.<\/p>\n<p><strong>Color Calibration<\/strong><\/p>\n<p>Color calibration is to measure and adjust the color response of a device (input or output) to a known state. We use an X-Rite ColorChecker Classic Card [Fig. 1] as our ground truths (The manufacture gives us the true color values) and aim at mapping the colors recorded by the cameras these ground truths.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-644\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart.png\" alt=\"\" width=\"452\" height=\"339\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart.png 1200w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-300x225.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-768x576.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-1024x768.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-700x525.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-520x390.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-360x270.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-250x188.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/colorchart-100x75.png 100w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/p>\n<p>Figure 1. An X-Rite ColorChecker Classic Card<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-649\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun.png\" alt=\"\" width=\"423\" height=\"320\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun.png 423w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun-300x227.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun-360x272.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun-250x189.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/peudoMappingFun-100x76.png 100w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><\/p>\n<p>Figure 2. Mapping function (unreal): This graph is only for illustrating the concepts<\/p>\n<p><strong>Color Calibration Pipeline<\/strong><\/p>\n<p>My first plan was to divide and conquer the problem by doing color patch segmentation first and address the color board detection part later. I wanted to combine these two parts to get the algorithm which can detect each color on the colorchecker in the images.<\/p>\n<p>However, I found this pipeline complicated the problem. Since I have the contour of the color checker which is a very strong information, I should use this information for color checker detection as well as segmentation.<\/p>\n<p>Therefore, I did a lot of researches on how to use colorchecker properties to find it in an image. I found several researchers had similar needs of an automatic colorchecker finder and their developed algorithms. I tried them all and found two of them work well. One of them is Macduff, another is CCFind.<\/p>\n<p><strong>Macduff<\/strong><\/p>\n<p>Macduff could find and segment the colorchecker successfully. This algorithm is also quite efficient. Nonetheless, when I tested it with complex background, I found that this algorithm cannot work when the colorchecker does not occupy the majority part of the image.<\/p>\n<p><strong>CCFind<\/strong><\/p>\n<p>In fact, I found this method before Macduff. Yet, when I take the image with the\u00a0complex background I thought that this method could not address images with complex background. It failed to find out the color patches and when I traced the code I found in succeeded cases, it cut off all background edges cleanly while in failure cases the background edges remained. I thought this prevented it from getting the repeated squares.<\/p>\n<p>After Macduff algorithm failed in robust tests, I studied all the algorithms trying to build my own colorchecker detector. When I once again traced CCFind\u2019s code. I found that it did several downsampling in the code itself, which made me guess the reason it failed before is because of the image size. Therefore, I downsample my images first before applying CCFind on them. The results are good. Furthermore, since CCFind only use the contour information of the colorchecker, it would not be affected by bad lighting conditions.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-650\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1.png\" alt=\"\" width=\"382\" height=\"513\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1.png 382w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1-223x300.png 223w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1-360x483.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1-250x336.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult1-100x134.png 100w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-651\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2.png\" alt=\"\" width=\"382\" height=\"502\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2.png 382w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2-228x300.png 228w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2-360x473.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2-250x329.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/CCFindResult2-100x131.png 100w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/p>\n<p>Figure 3. CCFind is robust while<\/p>\n<ol>\n<li>the colorchecker only occupies a small portion of the images<\/li>\n<li>images are taken in special light conditions<\/li>\n<\/ol>\n<p><strong>Mapping Function<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-727 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM.png\" alt=\"\" width=\"578\" height=\"293\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM.png 1248w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-300x152.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-768x390.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-1024x520.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-700x356.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-520x264.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-360x183.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-250x127.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/04\/Screen-Shot-2017-04-07-at-8.46.58-PM-100x51.png 100w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/p>\n<p><strong>Verification<\/strong><\/p>\n<div class=\"page\" title=\"Page 4\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>Three verification methods are used here:<\/p>\n<div class=\"page\" title=\"Page 4\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>Method 1. Error comparison of before and after calibration<\/strong><\/p>\n<p>Errors mean the difference between the recorded color values with the ground truth values.<br \/>\n&lt;IMG_1462.JPG&gt; (The image was taken in yellow light)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-730\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM.png\" alt=\"\" width=\"1288\" height=\"498\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM.png 1288w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-300x116.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-768x297.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-1024x396.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-700x271.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-520x201.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-360x139.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-250x97.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.54.46-PM-100x39.png 100w\" sizes=\"auto, (max-width: 1288px) 100vw, 1288px\" \/><\/p>\n<div class=\"page\" title=\"Page 4\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p style=\"text-align: center\">Figure 4. The left image is the input image and the right image is the calibrated image.<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-731 alignleft\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM.png\" alt=\"\" width=\"279\" height=\"228\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM.png 1222w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-300x245.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-768x628.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-1024x838.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-700x573.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-520x426.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-360x295.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-250x205.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.57.33-PM-100x82.png 100w\" sizes=\"auto, (max-width: 279px) 100vw, 279px\" \/><\/p>\n<div class=\"page\" title=\"Page 6\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-732 alignleft\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM.png\" alt=\"\" width=\"292\" height=\"235\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM.png 1224w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-300x242.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-768x619.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-1024x825.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-700x564.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-520x419.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-360x290.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-250x201.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-8.58.19-PM-100x81.png 100w\" sizes=\"auto, (max-width: 292px) 100vw, 292px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-734 alignleft\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM.png\" alt=\"\" width=\"293\" height=\"233\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM.png 618w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM-300x239.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM-520x414.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM-360x287.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM-250x199.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.08.22-PM-100x80.png 100w\" sizes=\"auto, (max-width: 293px) 100vw, 293px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 6\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p style=\"text-align: center\">Figure 5. Errors in IMG_1462.JPG and its calibrated result<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>We can see that in each channel of the input image, the errors reduce generally. However, there are some color patches that become worse after calibration.<\/p>\n<p><strong>Method 2. Error differences between two calibrated images<\/strong><\/p>\n<p>According to the Xrite standard, when using sRGB ground truth for calibration, the calibrated image should perform like the colorchecker in illuminant D65, which means no matter in what lighting condition the images were taken, they should look similar after the calibration. It can be seen in images below that after the calibration, the color differences become much smaller. The difference means the absolute value of the difference between the according to color patches in IMG_1461 and IMG_1462. In addition, we can see that in Figure 4 and Figure 6 the original images look quite different because of the different lighting condition but after calibration, they look much more alike.<\/p>\n<p>&lt;IMG_1461.JPG&gt; (The image was taken in normal office lighting condition)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-733 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM.png\" alt=\"\" width=\"476\" height=\"313\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM.png 1242w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-300x198.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-768x506.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-1024x674.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-700x461.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-520x342.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-360x237.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-250x165.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.00.25-PM-100x66.png 100w\" sizes=\"auto, (max-width: 476px) 100vw, 476px\" \/><\/p>\n<p style=\"text-align: center\">Figure 6. The left image is the input; the right image is the output<\/p>\n<div class=\"page\" title=\"Page 8\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-735 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM.png\" alt=\"\" width=\"346\" height=\"248\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM.png 632w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM-300x216.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM-520x374.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM-360x259.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM-250x180.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Screen-Shot-2017-04-07-at-9.12.52-PM-100x72.png 100w\" sizes=\"auto, (max-width: 346px) 100vw, 346px\" \/><\/p>\n<p style=\"text-align: center\">Figure 7. Differences between IMG1461 and IMG1462 after calibration<\/p>\n<div class=\"page\" title=\"Page 10\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>Method 3. Manipulate the colors and see how it performs after calibration<\/strong><\/p>\n<div class=\"page\" title=\"Page 12\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>IMG_1462.JPG Green Channel*1.05 (5%)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-736\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc.jpg\" alt=\"\" width=\"379\" height=\"285\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc.jpg 4032w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-300x225.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-768x576.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-1024x768.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-700x525.jpg 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-520x390.jpg 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-360x270.jpg 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-250x188.jpg 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5perc-100x75.jpg 100w\" sizes=\"auto, (max-width: 379px) 100vw, 379px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-737\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated.png\" alt=\"\" width=\"380\" height=\"285\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated.png 975w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-300x225.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-768x576.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-700x525.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-520x390.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-360x270.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-250x187.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/IMG_1462_G5percCalibrated-100x75.png 100w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/p>\n<p>Figure 8. The left image is manipulated image and the right image is the calibrated image<\/p>\n<p>Current Challenge:<\/p>\n<div class=\"page\" title=\"Page 17\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>After comparison, it is shown that the calibrated results indeed are generally better than before calibration. However, some<\/p>\n<p>color patches have worse performance. This is still worth analyzing. I am guessing it might be the problem of my fitting method.<\/p>\n<div class=\"page\" title=\"Page 17\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>The matrix is not a square matrix and does not have an inverse matrix. Hence, I am using pseudo-inverse matrix to solve the problem. This can lead to some errors. I will try to use other polynomial fitting method to redo the algorithm<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 18\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>and compare the results.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p style=\"text-align: center\">\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Overview After our team meeting with Oculus, we set up several tasks for this semester. First, we are continuing the sensor noise calibration. An integrating sphere will be added into our system for high accuracy performance. Second, after proving the [&hellip;]<\/p>\n","protected":false},"author":77,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-640","page","type-page","status-publish","hentry","clearfix"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/comments?post=640"}],"version-history":[{"count":3,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/640\/revisions"}],"predecessor-version":[{"id":738,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/640\/revisions\/738"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/media?parent=640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}