Page 50 - MSDN Magazine, November 2018
P. 50

Figure 8 Calling calcOpticalFlowPyrLK
constraints. Lucas-Kanade only works on corners, it doesn’t work well with lighting changes, and it struggles to register large movements.
• Explore implementing body position and pose estimation from captured video.
• Synchronize video with other useful features in the app, so we can trigger actions in the app based on the analyzed video. n
Kevin Ashley is a senior architect at Microsoft, and an expert on IoT, machine learning and sports.
Phil CheethAm is currently the senior sport technologist and biomechanist for the U.S. Olympic Committee (USOC) at the Olympic Training Center in Chula Vista, Calif.
DAn lAAK was named high performance director for USA Diving in 2018 after serving as head diving coach at the University of Georgia the past 31 years.
OlgA vigDOrOviCh is a data scientist and an avid skier. She works with IoT sen- sor data analysis and builds data models for scalable cloud platforms based on Microsoft Azure.
DAriA FrADKin is a junior at the University of Pennsylvania in the school of Engineering, studying Digital Media Design, a major that combines Computer Science with higher-level courses in Computer Graphics.
Kevin KAng is a fourth-year undergraduate student studying Computer Science with a Data Science option at the University of Washington, Seattle.
Code samplecv2.calcOpticalFlowPyrLK(old_gray, gray_frame, old_points, None, **lk_params)
For visualization, we track the diver on the video:
for i,(new,old) in enumerate(zip(new_points,old_points)):
a,b = new.ravel() if start is None:
start = a
c,d = old.ravel()
mask = cv2.line(mask, (a,b),(c,d), color[i].tolist(), 2) frame = cv2.circle(frame,(a,b),5,color[i].tolist(),-1) if b > lowest_point and abs(a - start) <= THRESH:
low = np.zeros_like(frame)
low = cv2.circle(low, (a,b), 5, color[i+1].tolist(), -1) lowest_point = b
img = cv2.add(frame,mask) # essey img = cv2.add(img, low) cv2.imshow('Frame',img)
old_points = new_points.reshape(-1,2)
higher scores in competition. To that end, we hope to improve vision analytics, which entails the next steps:
• By using visual distance 1m and 2m markings on the spring- board (see Figure 5), we can also estimate the size of the board relative to the trajectory to calculate height of the diver in air.
• Using machine vision and ML to determine exactly when the diver lands on the board and takes off from the board will allow accurate calculation of hurdle time, board-contact time and takeoff instant.
• Consider algorithms beyond Lucas-Kanade, which has some
SUPER-FAST AND ADVANCED CHARTS
LightningChart®
Ÿ WPF and WinForms
Ÿ Real-time scrolling up to 2 billion points in 2D Ÿ Hundreds of examples
Ÿ On-line and off-line maps
Ÿ Advanced Polar and Smith charts Ÿ Outstanding customer support
2D charts - 3D charts - Maps - Volume rendering - Gauges
TRYFFORR
44 msdn magazine
Artificial Intelligence
www.LightningChart.com/ms
FREEE


































































































   48   49   50   51   52