Infra-Red/UV Video Image
Segmentation Technique Theory
Mickael Maddison, May 2010
Currently the movie and photography industries utilize techniques often referred to as “chroma-key”, “luma-key” or “thermo-key” to film subjects for the purpose of removing the subject from the background of the image. Once the subject is removed from the background of the image, the subject can then be superimposed on alternative backgrounds. For example, filming an actor in front of a “green screen” and using the chroma-key technique to remove the actor from the green background would allow the video editor to place the actor on an image of the moon; without ever having to go to the moon.
Existing techniques for image segmentation require very careful and often expensive settings, lighting and filming techniques in addition to powerful post-production processing to achieve a quality result. This document proposes the use of the Near-infrared spectrum and optional ambient UV to replace the background; allowing for a much simpler means of extracting the desired image from an infrared background. Using a selection of isolated IR wavelengths and CCD or CMOS digital camera technologies adapted to capture and record these isolated wavelengths while at the same time recording the standard RGB (Red Green Blue) or RGBY (Red Green Blue Yellow) visible light would allow for software and devices to be produced will allow subject(s) to be removed from backgrounds with a higher degree of accuracy while requiring far less effort and processing.
* Adding in the detection of UV spectrum will also allow for additional processing options.
Uses: Cameras equipped with combined RGB/RGBY and IR/UV CMOS or CCD sensors would have a wide variety of uses.
- Standard Video capture and recording.
- Image Segmentation.
- Capturing and recording Near-infrared and UV used for special effects/artistic purposes.
- Capturing a wide range of light spectrum useful for night-vision image capture.
- Reconnaissance and security systems.
- Scientific research requiring combined access to visible and non-visible spectrum images.
- Other techniques and uses not yet considered or developed.
1 – CCD: Existing CCD and CMOS sensors already have the capability to record near-infrared wavelengths. Most cameras use a special filter to block the infrared wavelengths from being captured. Cameras that do not have this filter in place store the infrared information in the RGB image. Currently, CCD and CMOS type sensors capture RGB light by using a special “Bayer Color Filter” as seen here:
Each square represents one “pixel” of information captured by the sensor. Processing techniques may vary, but in effect a square of 4 pixels are combined to create a single pixel of “true” color.
The following is an example of how a new filter could be designed to allow for the capture of the additional non-visible spectrum using the existing sensors:
In this sample image, instead of using a pattern of 4 pixels, the pattern is spread over 9 pixels. The 4 existing RGB pixels are captured in addition to 5 additional pixels as represented by the white and various shades of grey boxes. The optimal configuration is subject to analysis, but for example it could be laid out like this:
Red = Red, Blue = Blue, Green1/2 = Green1/2
White = wide-spectrum UV
lightest grey = 840nm IR, second-lightest grey = 900nm IR
third-lightest grey = 950nm, darkest grey = 1000nm OR wide-spectrum IR.
As a future consideration, there are also technologies coming that could utilize the optical properties of carbon nanotubes to capture information on specific wavelengths. Research has shown that a single carbon nanotube connected to a pair of electrodes can can measure IR radiation effectively. This technology may be a long way from practical use, however, it provides an ongoing opportunity to continue developing and refining the technology.
2 – File Format: In addition to the filter, a new image/video file format would be created to store the captured information in a useful format. Many cameras have built-in processors that convert the RAW pixel data from the CCD into consumer file formats such as mpeg, jpeg, tiff, etc. A new processor may be developed to provide traditional file formats + a masking file, or for more advanced use the camera may save all the data together to allow for more advanced processing and usage of the recorded data.
The new image/video RAW format would have more information available and would need to store unique information for each displayed pixel to be effective for image external processing.
3 - Software: Image and video editing software would require modifications and/or filters to be developed that would make full use of the extended information available through the new file format and/or the processing of the masking file with the video file. This may be modifications and additions to versions of existing industry-standard software. In addition, research may deem entirely new software should be developed to make full and wider ranging use of the data.
Some image processing systems have experimented using non-visible light to increase the accuracy and quality of the visibly produced image. For the purpose of image segmentation, the various wavelengths of non-visible light would be used to create highly detailed “mask(s)” useful for cropping the background from the desired image(s).
4 - Non-Visible Illumination: To make the most of the technology, a wide range of electronic devices would be developed as the technology is adopted by the relevant industries. Some examples of devices that would be developed and produced:
- IR floodlights – wavelength specific floodlights to provide a suitable non-visible background.
- IR spotlights – wavelength specific spotlights that could be used to segment multiple objects within a single image by using multiple wavelengths.
- IR backdrops – currently most greenscreen type applications use light shining evenly onto a controlled, smooth surface. An IR backdrop could be a “screen” that actually emits the light from it’s surface.
- IR/RGB backdrops – Using modifications of technologies that are hitting the market today, large LCD screens using LED backlight technology could be redeveloped to emit a combination of visible and non-visible light, allowing a for a fully visible background while at the same time providing the non-visible background needed for image segmentation.
- IR absorbing and reflecting materials – these could be used to achieve a variety of effects. For example, the current industry uses chroma-suits to allow the segmentation of parts of a subject such as a body-less person.
Benefits of the Technology
- Subjects could be photographed or filmed against a variety of backgrounds and still be easily removed from the scene.
- Subjects could be filmed with against a background that has similar colors and textures to the scene they would be placed into. For example, an actor could be filmed against a projection of a mountain scene similar to the one that will be added during post production. This would allow for complex images such as hair to more easily be segmented with minimal artifacts.
- A single background could be used for full color filming, even if the background color matches the color of subjects being segmented from the scene.
- Shadows appearing on the background may have little or no effect on the IR mask, allowing lighting of the subject to be tailored to the final scene rather than to achieving the best separation of color from the green screen.
- Artistic photography, such as family portraits, would be able to eliminate the need to have a wide variety of backgrounds available to photograph subjects against. Instead, the photographer would use a generic or projected image as the background. After (or during) the photography session, the photographer could select the actual background image from an unlimited selection of background images. This allows the photographer to use a single quality photograph for any number of scenes.
Patent and related technology research:
Live Action Compositing example http://www.scribd.com/doc/654481/Live-Action-Compositing
Using human-IR heat for image segmentation http://nae-lab.org/project/thermo-key/
This is not for IR - it is a device that uses a mapped background
Practical Example of Theory
Sony DCR DVD203 Digital Camcorder used in photograph mode.
IR narrow-beam floodlight (wide beam would be much more effective)
Blue floor mat for background
Doll with hair
A Dark room
Computer system with Adobe Photoshop Elements 8.0
Step 1 - photograph still image of subject in Nightshot plus mode which uses NIR to enhance image visibility.
Step 2 - photograph still image of subject in normal RGB mode (sorry for poor quality photo).
Step 3 - Open these to images into a single layered file in Photoshop (elements)
Step 4 - On the nightshot (Mask) layer, convert to B/W and increase contrast and in this case, with a blue background used, I adjust the blue level to get the best differential I can considering the poor lighting. You can see in this step that the segmentation opportunity is pretty good but not nearly perfect. The beam from the IR spotlight is a little too intense and focused. Developing proper Infra-Red lighting would not be difficult, at least in this scene.
Step 5 - Due to inadequate lighting I will cut excess dark regions (which would normally appear as a fairly even white background with proper IR lighting) and delete to pure white to match the area around the subject. As part of this step I have increased the contrast to show clearly the mask that was created. Proper lighting and some minor filtering would remove the manual portions of this step making it easy to automate.
Step 6 - Using magic wand (which would be an automated part of the process) I select all the white area and invert the selection to have the mask selected.
Step 7 - switch to the layer with the RGB image and copy the subject and paste into a new layer.
Step 8 - Turn off the visibility on all layers except the cutout of the subject. You now have a fairly good cutout of the subject to work with.
Step 9 - Insert background and adjust cutout layer as desired.
Due to nightshot plus mode captures IR data and incorporates this into an RGB image. Due to this, the Mask layer is not nearly as good quality as if an actual IR layer were saved in addition to the RGB layer. This limitation also requires the Mask layer of the subject to be shot in (visible) darkness to generate a strong contrast. The RGB layer is then shot in RGB mode with visible lights enabled. If I had 2 nightshot cameras of the same type, split the image into the 2 cameras, and had a filter on the RGB mode camera to remove all IR data and a filter on the nightshot mode camera to remove all RGB data I believe I would get a much more accurate mask.
For example, in unedited images you can see that the hair sticking up off the head is visible. With even IR lighting and no conflicting RGB data being stored on the mask layer, this should result in an even sharper, more accurate mask layer. The sharper, more accurate mask layer could then be used to cut out these fine details from the RGB subject layer, providing a nice crisp image to work with.
Also of note based on previous experience doing still-frame image compositing the process outlined in this document was very quick and simple to do. With proper camera(s), proper lighting, suitable software, and a good studio environment the results should be far better than this simple test.
Awhile back I wrote about my recent findings that business owners, such as myself, may not be eligible for Employment Insurance. After finding out that I was EI exempt, I proceeded with the less than exciting task of compiling and submitting the appropriate forms that the government refund SilverServers for the EI premiums for the last 3 years. When I sent in the forms, I must admit, I expected the whole thing to be a big hassle.
About a month ago I recieved a call from CRA. The friendly government agent pleasantly informed me that the previous 2 years returns would go through no problem, and that the return for 2005 would be held until the T4 Summary was submitted. After this informative call, I was starting to think things might work out alright.
Then a couple of weeks ago I get some mail from CRA. Exactly as promised, the first 2 years of the company's EI premiums were refunded, and an appropriate amount of interest was provided with the refund. Again, things seemed to be going better than expected.
Shortly after that, another cheque arrives. Not only did the company side of things get processed efficiently, but they also proceeded to make the adjustments to my personal income tax for the previous 2 years, asses the refund due, apply interest, and send a cheque and explanation.
It's no secret that I find the whole tax system to be overcomplicated and frustrating, but I have to take my hat off to the government on this one. The instructions were clear, the forms required only a modest amount of hairloss, and the end result was smoother than a Sunday cruise in an old Cadillac. So today I can say something nice about the Canada Revenue Agency!
Sometimes, during the programming and development of a project, you hit a snag and it seems to stop everything indefinitely. Over the last few days, it seems that using "safe_mode" in PHP has not only brought a bug to the surface, but with that, a possible security concern.
If you're not familiar with PHP, simply put it's a widely used scripting ("programming") language used to build dynamic websites. safe_mode is a feature that can be enabled to help increase the security of PHP by helping to prevent PHP scripts from accessing areas of the server that it's not permitted to see.
For those of you familar with PHP and the php.ini file here's some background details:
safe_mode_gid = On
safe_mode_include_dir = /usr/local/custom/phpincludes/
safe_mode_exec_dir = /usr/local/custom/phpexec/
1) phpexec contains .php scripts that are being access through an apache "alias":
Alias /CustomScripts "/usr/local/custom/phpexec/"
2) for the example, all files in phpexec and phpincludes are owned by root (0)
3) there are multiple apache process running under different UID's, for example, as user1:user1 (502:502), as user2:user2 (505:505) etc.
If a visitor to the website accesses the PHP script via http://www.domainname.com/CustomScripts/script.php - even though the permissions of the script are 755 (IE, world executable), the script is NOT run as the user that calls the script (ie UID 502). The script is run as the linux file "owner" which is root (UID 0). For whatever reason this may be desired, but the problem is, that "script.php" is supposed to access files owned by user1 (UID 502) -- however safe_mode does NOT allow script.php (UID 0) to access files owned by user1 (UID 502).
To me, this seems ridiculous. The reason the executables are even placed in the /usr/local/custom/phpexec directory is to allow all apache processes on the server to run the same scripts, without having to install them individually in every instance. They are owned by a non-webserver user to prevent them from being modified via the web. Now, since they are being forcibly executed as the non-web user, they cannot access the actual webusers content.
It's like borrowing your neighbors lawnmower, but for some reason, it won't cut your lawn. It will let you cut his lawn. It will let him cut his lawn, but for some unknown reason, it won't work when you try to use his lawnmower to cut your own lawn.
The possible security implications? If we lived in a world where lawnmowers were a form of personal identification, my neighbor may have unwittingly allowed me access to a whole lot more than his back yard.
This quote has stuck with me a few days, so I thought to share it with you.
"A long habit of not thinking a thing wrong gives it a superficial appearance of being right" Thomas Paine
The much anticipated 2006 Canadian Idol competition is getting organized and underway. Starting in February, thousands of our country's most and least talented singers will spend hours, possibly days, standing in line waiting for their chance to audition before 4 of our nation's most critical music industry representatives.
For those interested in a career as a singer and are not excluded by age, profession or otherwise, this show can be a huge opportunity. A chance to move your music career into the bright lights of stardom, if only for a short time. Those that get the call to appear on the show will gain tremendous exposure, valuable experience and meet some interesting people along the way.
When I interviewed Suzi Rawn last year, I asked her a lot of questions about her time on the show. She explained what a huge opportunity it was for her to share her talents with the country; to have a lot of fun and learn some great skills from experts in the field. Having been to one of her local shows I can vouch for the huge effect her success had on the city of Kamloops.
I look forward to the talent that will be showcased this year, and will not be at all suprised if someone from the great city of Kamloops finds themselves basking in the hot lights. The more I listen to homegrown on "The River" the more I realize how much diverse talent we harbour here. Oh, and before you jump to any conclusions - you won't see me at the auditions. I fall into the category of being too old to audition for the show.