Ask Your Question
0

Cloud Identification and Tracking

asked 2016-05-31 09:47:00 -0600

rca gravatar image

updated 2016-05-31 09:48:35 -0600

Hi, I'm working on sky images and I can detect cloud areas per frame. Then now I want to calculate movement vector for once identified clouds but as you guess, shapes of clouds changes frame by frame even cloud counts(because of cloud joining/seperation). Do you have any idea for matching clouds in sequential frames? (except area/percentage matching)

image description

edit retag flag offensive close merge delete

Comments

sturkmen gravatar imagesturkmen ( 2016-05-31 10:06:58 -0600 )edit

I guess @sturkmen that he is already passed the stage of seperating them, for which he would use background subtraction. As to the question, I guess you will need to make a sort of lookup table of what centerpoints are doing. If the position changes drastically, you know a merge or split has happended, then you will need to keep track of two closest points and merge them. It is like building some sort of history lookup table over time.

StevenPuttemans gravatar imageStevenPuttemans ( 2016-06-01 05:54:14 -0600 )edit
1

@StevenPuttemans thank you. I'm going like this already but looking for more suitable opinions. BTW I'm new in opencv even the image processing.

rca gravatar imagerca ( 2016-06-03 02:12:36 -0600 )edit

Hello @rca , I'm new in computer vision, I want to ask you what algorithm you've used for cloud identification. I'm interested on it

Agung Wahyudiono gravatar imageAgung Wahyudiono ( 2017-04-26 23:01:12 -0600 )edit

Hello, I know this post is a little old, but for one of my project I have to do cloud detection just like you did. Could you give us the steps your followed for your algorithm ?

aruno14 gravatar imagearuno14 ( 2017-07-20 02:39:53 -0600 )edit

@aruno14, look into background subtraction algorithms or HSV based segmentation techniques. I am guessing that is about what he has done.

StevenPuttemans gravatar imageStevenPuttemans ( 2017-07-20 03:07:38 -0600 )edit

2 answers

Sort by ยป oldest newest most voted
2

answered 2016-06-02 18:00:06 -0600

Tetragramm gravatar image

I would use Optical Flow to follow the motion of everything (Dense Optical Flow) or many points in the cloud (Sparse Optical Flow). You have to write higher level logic to handle which parts belong to which cloud and keep track of merges and splits, but this gives you a good way of tracking areas.

I would probably detect a bunch of points with ORB and then use PyrLK optical flow to follow them. You can use the median flow vector to get a good approximation of motion, or even cluster the flow vectors to segment clouds that are visually touching, but moving in different directions or rates.

edit flag offensive delete link more

Comments

thank you.

rca gravatar imagerca ( 2016-06-03 02:10:31 -0600 )edit
0

answered 2020-07-20 13:15:54 -0600

N2oo1 gravatar image

Can you please share the code with us?

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2016-05-31 09:47:00 -0600

Seen: 1,945 times

Last updated: Jun 02 '16