Sean Meighan
Software => Xlights Test => Topic started by: sean on April 25, 2016, 11:54:04 AM
-
We can use your help!
Keith Westley has almost finished a new feature for xLights. You will be able to run a special test sequence that will flash all the lights of a model. If you make a video recording of these lights he will make a custom model for you. You have a Snowflake that has 150 rgb lights, just create a video of it displaying the special sequence and feed it to the conversion process , you get a custom model. You wrap lights around your trees and bushes. Each bush you want to be a model. Enter start channel and total number of lights for first bush , run special pattern and record video. A few seconds of processing and you get a custom model.
I made a short video describing the steps below
https://vimeo.com/164128202 (https://vimeo.com/164128202)
How can you help?
Keith needs some sample videos to test his current code.
Here is what you do
If you have a custom model now, and you have built a custom model for it then PROCEED to next steps
1) Download the special xlights (version 21 with a new option in TOOLS)
http://nutcracker123.com/nutcracker/releases/xLights_Nutcracker_2016_21_special.exe (http://nutcracker123.com/nutcracker/releases/xLights_Nutcracker_2016_21_special.exe)
2) Go to "Tools, Generate Custom Model"
3) Enter start channel and number of nodes.
4) Setup phone to take video or a video camera. IMPORTANT! Do not hand hold the camera. It needs to be perfectly steady during recording. Prop it against something or use a tripod.
5) Click "Run Capture Program", Press Record on your camera. Press "OK" for pattern to start.
6) It will say "Running Light pattern"
7) When the pattern is finished, stop Video camera, press "OK"
Send
a) Your xlights_rgbeffects.xml (This has your current custom model)
b) Tell us the model name you made a recording for. Example: "SNOWFLAKE3"
c) Send the video files that unloaded from your camera. Please make a separate video for each model. If you have a snowflake and a star, call them the {modelname}.mp4 or {modelname}.mov or {modelname}.avi or whatever video format you have.
Send these files to xlights@nutcracker123.com with a subject line of "Generate Custom Model"
I will gather all together and pass to Keith so he can continue his development.
-
I can do the steps but not sure what the end result intent is. Can you elaborate?
-
you create a video of your prop flashing lights. Keith processes all the frames of the video and determines when the first light is turned on and what its x,y location is within the frame. He then processes all the remaining lights from node # 1 to the end of your model. He then creates a custom model using the x,y locations scaled down to be the size our custom models uses.
When this works, you will no longer need to use excel to build custom models nor go into the custom model editor.
-
You guys will leave the current editor in place though, correct? I like this feature, but there are times when the old fashioned way is better, even quicker.
By the way Sean, can you please start making links?
James
-
I'll try to shoot a Boscoyo snowflake shortly.
The need for super stable video (tripod) is understandable.
During the Recording process, if every 10th pixel stayed ON, the identification software might be able to stabilize the video if it was just "a little" shaky.
Every 10 is just a guess. For a 200 pixel model, that's a lot of lights.
First, Last and Middle might be enough (providing that first and last aren't next to each other)
-
You guys will leave the current editor in place though, correct? I like this feature, but there are times when the old fashioned way is better, even quicker.
By the way Sean, can you please start making links?
James
We are not removing the editor. If the automatic one did a great job except a for a few pixels, you just open it and edit away. This is just a way to jump start the custom models. So
1) Use excel to paint picture, paste in custom model editor
2) Use video of prop to create the custom model, edit it with the current editor we have
What links James. On the releases page, inside of posts?
not sure what you are referring to.
-
I'm referring to clickable links in your posts.
Sent from my SM-G900V using Tapatalk
-
I'm referring to clickable links in your posts.
Sent from my SM-G900V using Tapatalk
Ah, good point.
I normally create the first post in facebook. Paste that post into second xlights facebook and then paste it into
xLights. DIYC, DIYC.org, ACL
Ill try to remember to add the url tags before posting to forums. The links from facebook dont work.
I added links to my original post here
-
Sent files. My videos were large so I moved to Google Drive and sent the share link. Thanks for continually adding these cool new features!!
James
-
Perfect James!
Your file was 180mbyte. I loaded it into power director and saved it at 6mbs instead of 24mbs.
The 180mb dropped down to 37mb.
Here is that video https://vimeo.com/164149075 (https://vimeo.com/164149075)
Now we will see what keith can do with this (and the others).
As I should have mentioned before, be sure the top of your model is pointing straight up.
-
Got some stuff set up still, will make a video tonight to send in that should be a challenge for it.
-
Mine was pointing up. I'm going to use my cell phone and send those as well. Then you guys can compare. Thanks for shrinking my files. I should have done that myself.
James
-
actually, james, i think keith wants all different kinds to try.
For example, if you had manual exposure you could have reduced the flare on each light.
BUT, we want people would normally use, not some special lighting and exposure.
thanks for being so quick.
-
two videos of same boscoyo snowflake uploaded to Vimeo, with download enabled.
Send XML file to you.
https://vimeo.com/164195745 (https://vimeo.com/164195745)
https://vimeo.com/164195993 (https://vimeo.com/164195993)
only difference between the two is the light intensity.
-
two videos of same boscoyo snowflake uploaded to Vimeo, with download enabled.
Send XML file to you.
https://vimeo.com/164195745 (https://vimeo.com/164195745)
https://vimeo.com/164195993 (https://vimeo.com/164195993)
only difference between the two is the light intensity.
We you having an earthquake? :P
-
no tripod for phone. Certainly not rock-steady but probably representative of the videos that people will try to use.
-
Just sit the phone on a box or something.
-
Keith wanted me to remind everyone that this capability is currently a work in process. I said we could see this in the next release, to be safe it will be done as time allows for the work. Keith has his work and family to balance and I do not want to put undue stress by setting an arbitrary dead line. We are still in April. Keith and I are having discussions on the algorithms , Keith is doing all the work. He really could not proceed without the numerous videos so thanks for giving input to the process, ill keep you posted on the progress. The challenge is how large the data frames are from video.
Even a low resolution frame of 800x600 is 480,000 pixels. The video is 30 frames/sec .
So 14.4 million bits of info per second. For each frame of 480,000 pixels we need to look at their value and determine that there is a light there.
The lights create halos so instead of a pixel of 255 at say 300,400 we could get 300 pixels all in a circle, all 255. We need to process all those pixels to determine the center x,y location. Do this 30 times per second times 150 nodes.
You get the idea. It is not a trivial task.
xLights has always been very open on the future tasks/effects we are working on. We could have said it was a secret until july/aug or something. I like to let you know what we are working on early. Not everyone agrees with this philosophy.
So watch for periodic updates on the automatic custom models from Video project over the coming weeks/months.
sean
-
While you can't please everyone, I like that you guys are open and honest. There are other groups that keep things secret but also make hints and it just draws things out. I vote you keep doing what you have been doing. For me, I'm enjoying the ride. ;D
James
Sent from my SM-G900V using Tapatalk
-
When I first heard the idea it reminded me of when I used to do astronomy and asteroid discovery at my old house where I had an observatory in my backyard. I had software that could do plate solving by detecting all the stars in the images and figuring out their alignment assuming you knew your approximate RA/DEC. I also had software I worked on where we would detect camera blooming in images and automatically remove it. This project sounds interesting although I usually am never able to actually power up my display elements before I sequence.
-
Perhaps reaching out to the student or amateur astronomy programmers could bring in some code to assist with this, or perhaps even use their star mapping software and then do the math on the results, certainly interesting capability of Kieth can pull it off.
I may be able to get a couple more James items videos made as well in the next few days.
Alan
-
Gil; i was thinking of you last night as i searched numerous open sourced software for locating stars. Astronomy has it easier, normally looking at a few plates of info. Asteroids is more like this, look at thousands of stars on multiple frames and detect movement. Our problem is a little different since our "stars" look so large on frame it is like finding supernovas every second. Certainly an interesting problem
Sent from my iPhone using Tapatalk
-
I used to stack multiple frames to get a better signal to noise ratio. If you look at this webpage the left images are 3 single frames and the images on the right are a stack of 6 images for each frame. You can see how it reduces the apparent noise and you can now see the asteroid moving in the 3 frames.
http://www.threebuttes.com/TrackAndStack.htm (http://www.threebuttes.com/TrackAndStack.htm)
-
I wonder if Keith could incorporate the UI to allow the user to configure areas to ignore, just as many home surveillance camera software products do.
The next level would be to then make the green boxes smaller as shown in the photo. The user would then choose the boxes that have pixels in them and this would push the accuracy into the upper 90% range.
-Peace,
-Steve
-
Steve, if you are going to do an overlay like that, then perhaps you could just do a "follow the dots and click on them as the light" with your mouse. Might need to slow it down a bit, though, especially if someone is using a trackpad. A touchscreen on an iPad or large tablet would be pretty cool, like using the touch sensitive whiteboards in so many classrooms now.
-
I don't think this is necessary. Security systems are different beasts. The only differences I expect to see in frames is lights turning on and off. My biggest problems are flare and reflections. Both make identifying bulbs hard. But I am getting there.
-
A bit of an update.
It isnt perfect yet ... but the results look pretty cool. Attached are 2 xmodel examples generated.
The first is a static light model of a policeman from an image I found on one of the lighting forums. A really challenging model to map due to diffuse incandescent lights ... and even worse blue ... the worst colour for contrast. Because it is static I can work off just a photo ... no video required (or supported).
The second is the model generated from the first video I was sent. Its not perfect. I am missing 2 nodes because of the settings I was playing with to try and reduce false bulb identification from reflections but still not too bad. These reflections are also the cause of the model being so large.
It will only get better from here.
-
Not sure if it would be useful but here's an algorithm I've seen used when I used to run software that did auto-focusing. It calculates the half flux diameter of a star but it would work on a light. The smaller the HFD the more in focus the light is. You could use if you ever get into automatically adjusting brightness and/or focus.
http://www.lost-infinity.com/night-sky-image-processing-part-6-measuring-the-half-flux-diameter-hfd-of-a-star-a-simple-c-implementation/ (http://www.lost-infinity.com/night-sky-image-processing-part-6-measuring-the-half-flux-diameter-hfd-of-a-star-a-simple-c-implementation/)