[미국특허]
Method and system for motion vector-based video monitoring and event categorization
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06K-009/00
H04N-005/14
H04N-021/239
출원번호
US-0509999
(2014-10-08)
등록번호
US-9158974
(2015-10-13)
발명자
/ 주소
Laska, Jason N.
Nelson, Gregory R.
Duffy, Greg
출원인 / 주소
GOOGLE INC.
대리인 / 주소
Morgan, Lewis & Bockius LLP
인용정보
피인용 횟수 :
31인용 특허 :
41
초록▼
A computer system processes a video stream to detect a start of a first motion event candidate in the video stream, and in response to detecting the start of the first motion event candidate in the video stream, initiates event recognition processing on a first video segment associated with the star
A computer system processes a video stream to detect a start of a first motion event candidate in the video stream, and in response to detecting the start of the first motion event candidate in the video stream, initiates event recognition processing on a first video segment associated with the start of the first motion event candidate. Initiating the event recognition processing further includes: determining a motion track of a first object identified in the first video segment; generating a representative motion vector for the first motion event candidate based on the motion track of the first object; and sending the representative motion vector for the first motion event candidate to an event categorizer, where the event categorizer assigns a respective motion event category to the first motion event candidate based on the representative motion vector of the first motion event candidate.
대표청구항▼
1. A method of processing a video stream, comprising: processing the video stream to detect a start of a first motion event candidate in the video stream, wherein processing comprises: obtaining a profile of a total motion pixel count for a current frame sequence in the video stream;in response to d
1. A method of processing a video stream, comprising: processing the video stream to detect a start of a first motion event candidate in the video stream, wherein processing comprises: obtaining a profile of a total motion pixel count for a current frame sequence in the video stream;in response to determining that the obtained profile meets a predetermined trigger criterion, determining that the current frame sequence includes a motion event candidate;identifying a beginning time for a portion of the profile meeting the predetermined trigger criterion; anddesignating the identified beginning time to be the start of the first motion event candidate; andin response to detecting the start of the first motion event candidate in the video stream, initiating event recognition processing on a first video segment associated with the start of the first motion event candidate, wherein initiating the event recognition processing further comprises: determining a motion track of a first object identified in the first video segment;generating a representative motion vector for the first motion event candidate based on the motion track of the first object; andsending the representative motion vector for the first motion event candidate to an event categorizer, wherein the event categorizer assigns a respective motion event category to the first motion event candidate based on the representative motion vector of the first motion event candidate. 2. The method of claim 1, wherein a source of the video stream dynamically determines whether to locally perform the processing of the video stream, the determining of the motion track, and the generating of the representative motion vector, based on one or more predetermined distributed processing criteria. 3. The method of claim 1, further comprising: in response to detecting the start of the first motion event candidate, uploading the first video segment from a source of the video stream to a remote server, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 4. The method of claim 3, wherein uploading the first video segment from the source of the video stream to the remote server further comprises: in response to detecting the start of the first motion event candidate, uploading the first video segment at a higher quality level as compared to a normal quality level at which video data is uploaded for cloud storage. 5. The method of claim 1, further comprising: in response to detecting the start of the first motion event candidate, extracting the first video segment from cloud storage for the video stream, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 6. The method of claim 1, wherein obtaining the profile of motion pixel counts for the current frame sequence in the video stream further comprises: generating a raw profile based on the respective motion pixel count for each frame in the current frame sequence; andgenerating the profile of motion pixel counts by smoothing the raw profile to remove one or more temporary dips in pixel counts in the raw profile. 7. The method of claim 1, further comprising: receiving a respective motion pixel count for each frame of the video stream from a source of the video stream. 8. The method of claim 7, wherein the respective motion pixel count is adjusted for one or more of changes of camera states during generation of the video stream. 9. The method of claim 1, wherein determining the motion track of the object identified in the first video segment further comprises: based on a frame sequence of the first video segment: performing background estimation to obtain a background for the first video segment;performing object segmentation to identify one or more foreground objects in the first video segment by subtracting the obtained background from the frame sequence, the one or more foreground object including the object; andestablishing a respective motion track for each of the one or more foreground objects by associating respective motion masks of the foreground object across multiple frames of the frame sequence. 10. The method of claim 9, further comprising: determining a duration of the respective motion track for each of the one or more foreground objects; anddiscarding zero or more respective motion tracks and corresponding foreground objects if the durations of the respective zero or more motion tracks are shorter than a predetermined duration. 11. A method of processing a video stream, comprising: processing the video stream to detect a start of a first motion event candidate in the video stream; andin response to detecting the start of the first motion event candidate in the video stream, initiating event recognition processing on a first video segment associated with the start of the first motion event candidate, wherein initiating the event recognition processing further comprises: determining a motion track of a first object identified in the first video segment;generating a representative motion vector for the first motion event candidate based on the motion track of the first object; andsending the representative motion vector for the first motion event candidate to an event categorizer, wherein the event categorizer assigns a respective motion event category to the first motion event candidate based on the representative motion vector of the first motion event candidate,wherein determining the motion track of the object identified in the first video segment further comprises, based on a frame sequence of the first video segment: performing background estimation to obtain a background for the first video segment;performing object segmentation to identify one or more foreground objects in the first video segment by subtracting the obtained background from the frame sequence, the one or more foreground object including the object; andestablishing a respective motion track for each of the one or more foreground objects by associating respective motion masks of the foreground object across multiple frames of the frame sequence, andwherein performing the object segmentation to identify one or more foreground objects and establishing the respective motion track for each of the one or more foreground objects further comprises: building a histogram of foreground pixels identified in the frame sequence of the first video segment, wherein the histogram specifies a frame count for each pixel location in a scene of the first video segment;filtering the histogram to remove regions below a predetermined frame count;segmenting the filtered histogram into the one or more motion regions; andselecting one or more dominant motion regions from the one or more motion regions based on a predetermined dominance criterion, where each dominant motion region corresponds to the respective motion track of a corresponding one of the one or more foreground objects. 12. The method of claim 11, further comprising: generating a respective event mask for the foreground object corresponding to a first dominant motion region of the one or more dominant regions based on the first dominant motion region. 13. The method of claim 11, wherein a source of the video stream dynamically determines whether to locally perform the processing of the video stream, the determining of the motion track, and the generating of the representative motion vector, based on one or more predetermined distributed processing criteria. 14. The method of claim 11, further comprising: in response to detecting the start of the first motion event candidate, uploading the first video segment from a source of the video stream to a remote server, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 15. The method of claim 11, further comprising: in response to detecting the start of the first motion event candidate, extracting the first video segment from cloud storage for the video stream, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 16. A computing system for processing a video stream, comprising: one or more processors; andmemory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising: processing the video stream to detect a start of a first motion event candidate in the video stream, wherein processing comprises: obtaining a profile of a total motion pixel count for a current frame sequence in the video stream;in response to determining that the obtained profile meets a predetermined trigger criterion, determining that the current frame sequence includes a motion event candidate;identifying a beginning time for a portion of the profile meeting the predetermined trigger criterion; anddesignating the identified beginning time to be the start of the first motion event candidate; andin response to detecting the start of the first motion event candidate in the video stream, initiating event recognition processing on a first video segment associated with the start of the first motion event candidate, wherein initiating the event recognition processing further comprises: determining a motion track of a first object identified in the first video segment;generating a representative motion vector for the first motion event candidate based on the motion track of the first object; andsending the representative motion vector for the first motion event candidate to an event categorizer, wherein the event categorizer assigns a respective motion event category to the first motion event candidate based on the representative motion vector of the first motion event candidate. 17. The computing system of claim 16, wherein the computing system includes at least a source of the video stream and a remote server, and wherein the source of the video stream dynamically determines whether to locally perform the processing of the video stream, the determining of the motion track, and the generating of the representative motion vector, based on one or more predetermined distributed processing criteria. 18. The computing system of claim 16, wherein the operations further comprise: in response to detecting the start of the first motion event candidate, uploading the first video segment from the source of the video stream to a remote server, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 19. The computing system of claim 18, wherein uploading the first video segment from the source of the video stream to the remote server further comprises: in response to detecting the start of the first motion event candidate, uploading the first video segment at a higher quality level as compared to a normal quality level at which video data is uploaded for cloud storage. 20. The computing system of claim 16, wherein the operations further comprise: in response to detecting the start of the first motion event candidate, extracting the first video segment from cloud storage for the video stream, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 21. The computing system of claim 16, wherein obtaining the profile of motion pixel counts for the current frame sequence in the video stream further comprises: generating a raw profile based on the respective motion pixel count for each frame in the current frame sequence; andgenerating the profile of motion pixel counts by smoothing the raw profile to remove one or more temporary dips in pixel counts in the raw profile. 22. The computing system of claim 16, wherein the operations further comprise: receiving a respective motion pixel count for each frame of the video stream from a source of the video stream. 23. The computing system of claim 22, wherein the respective motion pixel count is adjusted for one or more of changes of camera states during generation of the video stream. 24. The computing system of claim 16, wherein determining the motion track of the object identified in the first video segment further comprises: based on a frame sequence of the first video segment: performing background estimation to obtain a background for the first video segment;performing object segmentation to identify one or more foreground objects in the first video segment by subtracting the obtained background from the frame sequence, the one or more foreground object including the object; andestablishing a respective motion track for each of the one or more foreground objects by associating respective motion masks of the foreground object across multiple frames of the frame sequence. 25. The computing system of claim 24, wherein the operations further comprise: determining a duration of the respective motion track for each of the one or more foreground objects; anddiscarding zero or more respective motion tracks and corresponding foreground objects if the durations of the respective zero or more motion tracks are shorter than a predetermined duration. 26. A computing system for processing a video stream, comprising: one or more processors; andmemory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising: processing the video stream to detect a start of a first motion event candidate in the video stream; andin response to detecting the start of the first motion event candidate in the video stream, initiating event recognition processing on a first video segment associated with the start of the first motion event candidate, wherein initiating the event recognition processing further comprises: determining a motion track of a first object identified in the first video segment;generating a representative motion vector for the first motion event candidate based on the motion track of the first object; andsending the representative motion vector for the first motion event candidate to an event categorizer, wherein the event categorizer assigns a respective motion event category to the first motion event candidate based on the representative motion vector of the first motion event candidate,wherein determining the motion track of the object identified in the first video segment further comprises, based on a frame sequence of the first video segment: performing background estimation to obtain a background for the first video segment;performing object segmentation to identify one or more foreground objects in the first video segment by subtracting the obtained background from the frame sequence, the one or more foreground object including the object; andestablishing a respective motion track for each of the one or more foreground objects by associating respective motion masks of the foreground object across multiple frames of the frame sequence, andwherein performing the object segmentation to identify one or more foreground objects and establishing the respective motion track for each of the one or more foreground objects further comprises: building a histogram of foreground pixels identified in the frame sequence of the first video segment, wherein the histogram specifies a frame count for each pixel location in a scene of the first video segment;filtering the histogram to remove regions below a predetermined frame count;segmenting the filtered histogram into the one or more motion regions; andselecting one or more dominant motion regions from the one or more motion regions based on a predetermined dominance criterion, where each dominant motion region corresponds to the respective motion track of a corresponding one of the one or more foreground objects. 27. The computing system of claim 26, wherein the operations further comprise: generating a respective event mask for the foreground object corresponding to a first dominant motion region of the one or more dominant regions based on the first dominant motion region. 28. The computing system of claim 26, wherein a source of the video stream dynamically determines whether to locally perform the processing of the video stream, the determining of the motion track, and the generating of the representative motion vector, based on one or more predetermined distributed processing criteria. 29. The computing system of claim 26, wherein the operations further comprise: in response to detecting the start of the first motion event candidate, uploading the first video segment from a source of the video stream to a remote server, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration. 30. The computing system of claim 26, wherein the operations further comprise: in response to detecting the start of the first motion event candidate, extracting the first video segment from cloud storage for the video stream, wherein the first video segment begins at a predetermined lead time before the start of the first motion event candidate and lasts a predetermined duration.
Kawashima, Yuji; Kikuchi, Yoshihiro; Fujisawa, Tatsuro; Suzuki, Shingo, Information processing apparatus with video encoding process control based on detected load.
Sharma, Rajeev; Mummareddy, Satish; Hershey, Jeff; Jung, Namsoon, Method and system for segmenting people in a physical space based on automatic behavior analysis.
Schonfeld,Dan; Hariharakrishnan,Karthik; Raffy,Philippe; Yassa,Fathy, Occlusion/disocclusion detection using K-means clustering near object boundary with comparison of average motion of clusters to object and background motions.
Borzycki, Andrew; Deva, Mallikharjuna Reddy; Gajendar, Uday Nandigam; Roychoudhry, Anil, Single sign-on access in an orchestration framework for connected devices.
Lane, Corey A.; Buck, Heidi L.; Li, Joshua S.; Bagnall, Bryan D.; Stastny, John C.; Hallenborg, Eric C., System for tracking maritime domain targets from full motion video.
Wilson Charles Park ; Pedersen ; Jr. Chris Harvey ; Auyeung Alex Kamlun ; MacCormack David Ross, Video data capture and formatting in intelligent video information management system.
Laska, Jason N.; Nelson, Gregory R.; Duffy, Greg; Mitsuji, Hiro; Hill, Cameron; Davidsson, Martin; Montalbo, Michael D.; Wan, Tung Yuen, Method and system for cluster-based video monitoring and event categorization.
Laska, Jason N.; Nelson, Greg R.; Duffy, Greg; Mitsuji, Hiro; Neal, Lawrence W.; Hill, Cameron, Method and system for generating a smart time-lapse video clip.
Laska, Jason N.; Nelson, Gregory R.; Duffy, Greg; Mitsuji, Hiro; Hill, Cameron; Davidsson, Martin; Montalbo, Michael D.; Wan, Tung Yuen, Method and system for non-causal zone search in video monitoring.
Abbate, Mark Peter; Conway, Michael Francis; Lamm, Robert Earl; Nickel, Steven Philip, Method of and system for automatic compilation of crowdsourced digital media productions.
Laska, Jason N.; Hua, Wei; Chaudhry, Rizwan Ahmed; Varadharajan, Srivatsan; Heitz, III, George Alban, Systems and methods for categorizing motion event candidates.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.