CN105761279A - Method for tracking object based on track segmenting and splicing - Google Patents

Method for tracking object based on track segmenting and splicing Download PDF

Info

Publication number
CN105761279A
CN105761279A CN201610089780.0A CN201610089780A CN105761279A CN 105761279 A CN105761279 A CN 105761279A CN 201610089780 A CN201610089780 A CN 201610089780A CN 105761279 A CN105761279 A CN 105761279A
Authority
CN
China
Prior art keywords
tracklet
obj
track
target
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610089780.0A
Other languages
Chinese (zh)
Other versions
CN105761279B (en
Inventor
杨涛
张艳宁
段文成
姚博伟
贺战男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201610089780.0A priority Critical patent/CN105761279B/en
Publication of CN105761279A publication Critical patent/CN105761279A/en
Application granted granted Critical
Publication of CN105761279B publication Critical patent/CN105761279B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

The invention discloses a method for tracking an object based on track segmenting and splicing, aimed at addressing the technical problem of poor accuracy of current object tracking methods. The technical solution comprises the following steps: first initializing a track of each object, then conducting effective segmentation on the tracks in accordance with the degree of coincidence between associated results and track history information, performing accurate splicing on the segmented tracks, finally performing splicing on the tracks among framing windows based on the degree of overlapping so as to obtain a final track of the object. The method of the invention addresses the problems of lost tracking and wrong tracking of current multi-object tracking methods in the absence of appearance information of the object, and realizes more accurate multi-object tracking.

Description

Method for tracking target based on track segmentation with splicing
Technical field
The present invention relates to a kind of method for tracking target, particularly relate to a kind of method for tracking target based on track segmentation with splicing.
Background technology
Target following technology all has in military affairs or civil area and is extremely widely applied.Effective data association is the key solving multiple target tracking problem.Data association is deriving from the process that the metric data of single or multiple sensor and known track carry out being mutually paired.The Hungary Algorithm that Edmonds proposes is to solve for the classic algorithm of two dimension assignment problem optimal solution.
Document " Robustobjecttrackingbyhierarchicalassociationofdetection responses; ComputerVision ECCV2008.SpringerBerlinHeidelberg, 2008:788-801 " proposes a kind of method for tracking target based on individual-layer data association.The document, when using Hungary Algorithm to carry out second layer data association, only accounts for the spatial information of target, such as the direction of the distance between target, path segment.When there is target occlusion problem in image sequence, the information of the target that is blocked can produce loss in various degree.If only with spatial information as the input of data association, it is impossible to exactly the position of target is judged, it is easy to produce leakage with or mistake with phenomenon.
Summary of the invention
In order to overcome the deficiency of the accurate rate variance of existing method for tracking target, the present invention provides a kind of method for tracking target based on track segmentation with splicing.First the method initializes the track of each target, then track is effectively split by the matching degree according to association results Yu track historical information, again the track after segmentation is accurately spliced, finally the track between frame window is carried out splicing according to degree of overlapping and obtain the final track of target.The present invention compensate for when lack target appearance information, the leakage of existing multi-object tracking method with and mistake with phenomenon, it is achieved that more accurate multiple target tracking.
The technical solution adopted for the present invention to solve the technical problems is: a kind of method for tracking target based on track segmentation and splicing, is characterized in comprising the following steps:
Step one, one initialization constants f of setting0, when picture numbers frameNo meets 0 < frameNo < f0Time, to the object detection results Object in two adjacent two field pictures1={ obj11,obj12..., obj1mAnd Object2={ obj21,obj22..., obj2m, calculation cost matrix
Wherein, costijFor obj1iWith obj2jBetween Euclidean distance, be calculated as follows:
cost i j = cos t ( obj 1 i , obj 2 j ) = ( x 1 i - x 2 j ) 2 + ( y 1 i - y 2 j ) 2 - - - ( 2 )
By cost matrixAs the input matrix of data association, with Hungarian Method, obtain coupling matrixIf obj1iWith obj2jThe match is successful, then by obj2jIt is stored in obj1iTrack in the middle of.By all images in this procedure ergodic initialization constants, obtain the initialization path segment tracklet of each targeti.With method of least square, path segment being carried out conic fitting and try to achieve fitting parameter param, the curvilinear equation of matching is: Ax2+ Bx+C=0.
As picture numbers frameNo > f0Time, adjacent two two field picture Hungary Algorithms are carried out data association, and judges whether the path segment after association meets segmentation condition.Segmentation condition is:
&ForAll; obj 2 n , cos i j < s i z e T h r e s h o l d ( n = 1 , 2 , 3 ... n , n &NotEqual; j ) - - - ( 3 )
simi(param(trackleti),param(trackleti+obj2j))>simithreshold(4)
Wherein, sizethreshold is the minimum dimension of target, and simithreshold is the similarity threshold of path segment.If obj1iWith obj2jThe match is successful, if meeting segmentation condition, then splits obj at present frame1iPath segment, namely terminate trackleti, by obj associated with it2jAs emerging target.By said process, the every two field picture in traversal frame window, namely obtains the path segment set split in present frame window successively.
Step 2, to input path segment set construct its cost matrix costn*n.Cost in matrixijFor trackletiWith trackletjBetween distinctiveness ratio, be calculated as follows:
costij=w1*distij+w2*frameGapij+w3*direDiffij+w4*veloDiffij(5)
Wherein, distij, frameGapij, direDiffij, veloDiffijRespectively trackletiWith trackletjBetween space length, frame is poor, and speed difference and direction are poor, are respectively calculated as follows:
dist i j = ( x s t a r t j - x e n d i ) 2 + ( y s t a r t j - y e n d i ) 2 - - - ( 6 )
Wherein, (xstartj,ystartj) for trackletjTrack initial frame in target location, (xendi,yendi) for trackletiTrack end frame in target location.
frameGapij=startFramej-endFramei(7)
Wherein, startFramejFor trackletjTrack initial frame number, endFrameiFor trackletiTrack end frame sequence number.
direDiffij=cos (Line (trackleti))-cos(Line(trackletj))(8)
Wherein, cos (Line (trackleti)) for trackletiThe cosine value of orbit tangent.
veloDiffij=| veloi-veloj|(9)
Wherein, veloiFor trackletiIn target velocity, velojFor in target velocity.
According to frameGapijJudge whether have blank frame between the path segment being successfully associated every a pair.If frameGapij=0, then according to frame sequential by this path segment splicing to being successfully associated.If frameGapij≠ 0, then need the position calculating target at disappearance frame place, splice according still further to frame sequential.Target is at the position (x at blank frame miss placemiss,ymiss) historical information of application target estimates:
xmiss=(xestimatei+xestimatej)/2(10)
xestimatei=endLocationi+veloi*(miss-endFramei)(11)
xestimatej=startLocationj+veloj*(startFramej-miss)(12)
Wherein, xestimateiAnd xestimatejRespectively according to track trackletiAnd trackletjThe target that goes out of data-evaluation in the position of the x coordinate at miss place.veloiAnd velojRespectively according to trackletiAnd trackletjTrace information repeatedly estimate the target the tried to achieve average speed at this section of track.Estimate the target position at each blank frame place by this process, finally three sections of tracks are spliced to form long path segment according to frame sequential.
Overlap between step 3, each two consecutive frame window is overlap frame, carries out the screening of preliminary candidate track accordingly:
i s c a n d i d a t e { = 0 t r a c k l e t O v e r l a p < o v e r l a p T h r e s h o l d = 1 t r a c k l e t O v e r l a p &GreaterEqual; o v e r l a p T h r e s h o l d - - - ( 13 )
After obtaining the candidate tracks of every section of track, retraining with other space time informations of track, that tries to achieve every section of track finally splices track.Spliced track is the arithmetic average of target location in two sections of tracks in the target location at overlapping frame overlap place.
The invention has the beneficial effects as follows: first initialize the track of each target, then track is effectively split by the matching degree according to association results Yu track historical information, again the track after segmentation is accurately spliced, finally the track between frame window is carried out splicing according to degree of overlapping and obtain the final track of target.The present invention compensate for when lack target appearance information, the leakage of existing multi-object tracking method with and mistake with phenomenon, it is achieved that more accurate multiple target tracking.
Below in conjunction with detailed description of the invention, the present invention is elaborated.
Detailed description of the invention
The present invention specifically comprises the following steps that based on the method for tracking target of track segmentation with splicing
1. in frame window, path segment generates and segmentation.
Set an initialization constants f0, when picture numbers frameNo meets 0 < frameNo < f0Time, to the object detection results Object in two adjacent two field pictures1={ obj11,obj12..., obj1mAnd Object2={ obj21,obj22..., obj2m, calculation cost matrix
Wherein, costijFor obj1iWith obj2jBetween Euclidean distance, be calculated as follows:
cost i j = cos t ( obj 1 i , obj 2 j ) = ( x 1 i - x 2 j ) 2 + ( y 1 i - y 2 j ) 2 - - - ( 2 )
By cost matrixAs the input matrix of data association, with Hungarian Method, obtain coupling matrixIf obj1iWith obj2jThe match is successful, then by obj2jIt is stored in obj1iTrack in the middle of.By all images in this procedure ergodic initialization constants, obtain the initialization path segment tracklet of each targeti.With method of least square, path segment is carried out conic fitting and try to achieve fitting parameter param (trackleti), the curvilinear equation of matching is: Ax2+ Bx+C=0.
As picture numbers frameNo > f0Time, adjacent two two field picture Hungary Algorithms are carried out data association, and judges whether the path segment after association meets segmentation condition.Segmentation condition is:
&ForAll; obj 2 n , cos i j < s i z e T h r e s h o l d ( n = 1 , 2 , 3 ... n , n &NotEqual; j ) - - - ( 3 )
simi(param(trackleti),param(trackleti+obj2j))>simithreshold(4)
Wherein, sizethreshold is the minimum dimension of target, and simithreshold is the similarity threshold of path segment.If obj1iWith obj2jThe match is successful, if meeting segmentation condition, then splits obj at present frame1iPath segment, namely terminate trackleti, by obj associated with it2jAs emerging target.By said process, the every two field picture in traversal frame window, namely obtains the path segment set split in present frame window successively.
2. path segment splicing in frame window.
First, the path segment set of input is constructed its cost matrixCost in matrixijFor trackletiWith trackletjBetween distinctiveness ratio, be calculated as follows:
costij=w1*distij+w2*frameGapij+w3*direDiffij+w4*veloDiffij(5)
Wherein distij, frameGapij, direDiffij, veloDiffijRespectively trackletiWith trackletjBetween space length, frame is poor, and speed difference and direction are poor, are respectively calculated as follows:
dist i j = ( x s t a r t j - x e n d i ) 2 + ( y s t a r t j - y e n d i ) 2 - - - ( 6 )
Wherein, (xstartj,ystartj) for trackletjTrack initial frame in target location, (xendi,yendi) for trackletiTrack end frame in target location.
frameGapij=startFramej-endFramei(7)
Wherein, startFramejFor trackletjTrack initial frame number, endFrameiFor trackletiTrack end frame sequence number.
direDiffij=cos (Line (trackleti))-cos(Line(trackletj))(8)
Wherein, cos (Line (trackleti)) for trackletiThe cosine value of orbit tangent.
veloDiffij=| veloi-veloj|(9)
Wherein, veloiFor trackletiIn target velocity, velojFor in target velocity.
According to frameGapijJudge whether have blank frame between the path segment being successfully associated every a pair.If frameGapij=0, then according to frame sequential by this path segment splicing to being successfully associated.If frameGapij≠ 0, then need the position calculating target at disappearance frame place, splice according still further to frame sequential.Target is at the position (x at blank frame miss placemiss,ymiss) historical information of application target estimates:
xmiss=(xestimatei+xestimatej)/2(10)
xestimatei=endLocationi+veloi*(miss-endFramei)(11)
xestimatej=startLocationj+veloj*(startFramej-miss)(12)
Wherein, xestimateiAnd xestimatejRespectively according to track trackletiAnd trackletjThe target that goes out of data-evaluation in the position of the x coordinate at miss place.veloiAnd velojRespectively according to trackletiAnd trackletjTrace information repeatedly estimate the target the tried to achieve average speed at this section of track.Estimate the target position at each blank frame place by this process, finally three sections of tracks are spliced to form long path segment according to frame sequential.
3. the splicing of long path segment and track output between frame window.
Overlap between each two consecutive frame window is overlap frame, therefore in two frame windows, the track of same target has certain overlap.Carry out the screening of preliminary candidate track accordingly:
i s c a n d i d a t e { = 0 t r a c k l e t O v e r l a p < o v e r l a p T h r e s h o l d = 1 t r a c k l e t O v e r l a p &GreaterEqual; o v e r l a p T h r e s h o l d - - - ( 13 )
After obtaining the candidate tracks of every section of track accordingly, retrain with other space time informations of track, such as veloDiffijAnd direDiffij, that tries to achieve every section of track finally splices track.Spliced track is the arithmetic average of target location in two sections of tracks in the target location at overlapping frame overlap place.

Claims (1)

1. the method for tracking target based on track segmentation with splicing, it is characterised in that comprise the following steps:
Step one, one initialization constants f of setting0, when picture numbers frameNo meets 0 < frameNo < f0Time, to the object detection results Object in two adjacent two field pictures1={ obj11,obj12..., obj1mAnd Object2={ obj21,obj22..., obj2m, calculation cost matrix
Wherein, costijFor obj1iWith obj2jBetween Euclidean distance, be calculated as follows:
cost i j = cos t ( obj 1 i , obj 2 j ) = ( x 1 i - x 2 j ) 2 + ( y 1 i - y 2 j ) 2 - - - ( 2 )
By cost matrix costm*nAs the input matrix of data association, with Hungarian Method, obtain coupling matrix associatem*n;If obj1iWith obj2jThe match is successful, then by obj2jIt is stored in obj1iTrack in the middle of;By all images in this procedure ergodic initialization constants, obtain the initialization path segment tracklet of each targeti;With method of least square, path segment being carried out conic fitting and try to achieve fitting parameter param, the curvilinear equation of matching is: Ax2+ Bx+C=0;
As picture numbers frameNo > f0Time, adjacent two two field picture Hungary Algorithms are carried out data association, and judges whether the path segment after association meets segmentation condition;Segmentation condition is:
&ForAll; obj 2 n , cost i j < s i z e T h r e s h o l d , ( n = 1 , 2 , 3 ... n , n &NotEqual; j ) - - - ( 3 )
simi(param(trackleti),param(trackleti+obj2j))>simithreshold(4)
Wherein, sizethreshold is the minimum dimension of target, and simithreshold is the similarity threshold of path segment;If obj1iWith obj2jThe match is successful, if meeting segmentation condition, then splits obj at present frame1iPath segment, namely terminate trackleti, by obj associated with it2jAs emerging target;By said process, the every two field picture in traversal frame window, namely obtains the path segment set split in present frame window successively;
Step 2, to input path segment set construct its cost matrix costn*n;Cost in matrixijFor trackletiWith trackletjBetween distinctiveness ratio, be calculated as follows:
costij=w1*distij+w2*frameGapij+w3*direDiffij+w4*veloDiffij(5)
Wherein, distij, frameGapij, direDiffij, veloDiffijRespectively trackletiWith trackletjBetween space length, frame is poor, and speed difference and direction are poor, are respectively calculated as follows:
dist i j = ( x s t a r t j - x e n d i ) 2 + ( y s t a r t j - y e n d i ) 2 - - - ( 6 )
Wherein, (xstartj,ystartj) for trackletjTrack initial frame in target location, (xendi,yendi) for trackletiTrack end frame in target location;
frameGapij=startFramej-endFramei(7)
Wherein, startFramejFor trackletjTrack initial frame number, endFrameiFor trackletiTrack end frame sequence number;
direDiffij=cos (Line (trackleti))-cos(Line(trackletj))(8)
Wherein, cos (Line (trackleti)) for trackletiThe cosine value of orbit tangent;
veloDiffij=| veloi-veloj|(9)
Wherein, veloiFor trackletiIn target velocity, velojFor in target velocity;
According to frameGapijJudge whether have blank frame between the path segment being successfully associated every a pair;If frameGapij=0, then according to frame sequential by this path segment splicing to being successfully associated;If frameGapij≠ 0, then need the position calculating target at disappearance frame place, splice according still further to frame sequential;Target is at the position (x at blank frame miss placemiss,ymiss) historical information of application target estimates:
xmiss=(xestimatei+xestimatej)/2(10)
xestimatei=endLocationi+veloi*(miss-endFramei)(11)
xestimatej=startLocationj+veloj*(startFramej-miss)(12)
Wherein, xestimateiAnd xestimatejRespectively according to track trackletiAnd trackletjThe target that goes out of data-evaluation in the position of the x coordinate at miss place;veloiAnd velojRespectively according to trackletiAnd trackletjTrace information repeatedly estimate the target the tried to achieve average speed at this section of track;Estimate the target position at each blank frame place by this process, finally three sections of tracks are spliced to form long path segment according to frame sequential;
Overlap between step 3, each two consecutive frame window is overlap frame, carries out the screening of preliminary candidate track accordingly:
i s c a n d i d a t e = 0 t r a c k l e t O v e r l a p < o v e r l a p T h r e s h o l d = 1 t r a c k l e t O v e r l a p &GreaterEqual; o v e r l a p T h r e s h o l d - - - ( 13 )
After obtaining the candidate tracks of every section of track, retraining with other space time informations of track, that tries to achieve every section of track finally splices track;Spliced track is the arithmetic average of target location in two sections of tracks in the target location at overlapping frame overlap place.
CN201610089780.0A 2016-02-18 2016-02-18 Divide the method for tracking target with splicing based on track Active CN105761279B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610089780.0A CN105761279B (en) 2016-02-18 2016-02-18 Divide the method for tracking target with splicing based on track

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610089780.0A CN105761279B (en) 2016-02-18 2016-02-18 Divide the method for tracking target with splicing based on track

Publications (2)

Publication Number Publication Date
CN105761279A true CN105761279A (en) 2016-07-13
CN105761279B CN105761279B (en) 2019-05-24

Family

ID=56330896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610089780.0A Active CN105761279B (en) 2016-02-18 2016-02-18 Divide the method for tracking target with splicing based on track

Country Status (1)

Country Link
CN (1) CN105761279B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846358A (en) * 2017-01-13 2017-06-13 西北工业大学深圳研究院 Segmentation of Multi-target and tracking based on the ballot of dense track
CN106887010A (en) * 2017-01-13 2017-06-23 西北工业大学深圳研究院 Ground moving target detection method based on high-rise scene information
CN112561954A (en) * 2020-09-11 2021-03-26 浙江大华技术股份有限公司 Method and device for determining tracking track of target object and storage medium
CN112802066A (en) * 2021-01-26 2021-05-14 深圳市普汇智联科技有限公司 Multi-target tracking method and system based on multi-track fusion
CN113515982A (en) * 2020-05-22 2021-10-19 阿里巴巴集团控股有限公司 Track restoration method and equipment, equipment management method and management equipment
CN114913200A (en) * 2022-03-11 2022-08-16 中国科学院自动化研究所 Multi-target tracking method and system based on space-time trajectory association

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167519B2 (en) * 2001-12-20 2007-01-23 Siemens Corporate Research, Inc. Real-time video object generation for smart cameras
CN101334845B (en) * 2007-06-27 2010-12-22 中国科学院自动化研究所 Video frequency behaviors recognition method based on track sequence analysis and rule induction
CN101520891B (en) * 2009-03-17 2011-08-17 西北工业大学 Starry sky image object track-detecting method
US8488007B2 (en) * 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion
CN102103748B (en) * 2010-12-14 2014-02-05 西北工业大学 Method for detecting and tracking infrared small target in complex background
CN103679676A (en) * 2013-12-02 2014-03-26 西北工业大学 Quick unordered image stitching method based on multi-level word bag clustering
CN104200492B (en) * 2014-08-25 2017-03-29 西北工业大学 Video object automatic detection tracking of taking photo by plane based on profile constraints

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846358A (en) * 2017-01-13 2017-06-13 西北工业大学深圳研究院 Segmentation of Multi-target and tracking based on the ballot of dense track
CN106887010A (en) * 2017-01-13 2017-06-23 西北工业大学深圳研究院 Ground moving target detection method based on high-rise scene information
CN113515982A (en) * 2020-05-22 2021-10-19 阿里巴巴集团控股有限公司 Track restoration method and equipment, equipment management method and management equipment
CN113515982B (en) * 2020-05-22 2022-06-14 阿里巴巴集团控股有限公司 Track restoration method and equipment, equipment management method and management equipment
CN112561954A (en) * 2020-09-11 2021-03-26 浙江大华技术股份有限公司 Method and device for determining tracking track of target object and storage medium
CN112561954B (en) * 2020-09-11 2023-07-14 浙江大华技术股份有限公司 Method and device for determining tracking track of target object and storage medium
CN112802066A (en) * 2021-01-26 2021-05-14 深圳市普汇智联科技有限公司 Multi-target tracking method and system based on multi-track fusion
CN112802066B (en) * 2021-01-26 2023-12-15 深圳市普汇智联科技有限公司 Multi-target tracking method and system based on multi-track fusion
CN114913200A (en) * 2022-03-11 2022-08-16 中国科学院自动化研究所 Multi-target tracking method and system based on space-time trajectory association

Also Published As

Publication number Publication date
CN105761279B (en) 2019-05-24

Similar Documents

Publication Publication Date Title
CN105761279A (en) Method for tracking object based on track segmenting and splicing
US11763485B1 (en) Deep learning based robot target recognition and motion detection method, storage medium and apparatus
Yoo et al. A robust lane detection method based on vanishing point estimation using the relevance of line segments
Strasdat et al. Double window optimisation for constant time visual SLAM
Su et al. Vanishing point constrained lane detection with a stereo camera
CN103136726B (en) Method and apparatus for recovering the depth information of image
CN111201451A (en) Method and device for detecting object in scene based on laser data and radar data of scene
CN115372958A (en) Target detection and tracking method based on millimeter wave radar and monocular vision fusion
CN113139470B (en) Glass identification method based on Transformer
KR20190085464A (en) A method of processing an image, and apparatuses performing the same
US20220270354A1 (en) Monocular image-based model training method and apparatus, and data processing device
KR101780048B1 (en) Moving Object Detection Method in dynamic scene using monocular camera
Joung et al. Unsupervised stereo matching using confidential correspondence consistency
CN111178161A (en) Vehicle tracking method and system based on FCOS
US20230132646A1 (en) Artificial intelligence and computer vision powered driving-performance assessment
US20210407128A1 (en) Learnable localization using images
Wang et al. Depth map enhancement based on color and depth consistency
El Jaafari et al. Fast edge-based stereo matching approach for road applications
EP4287137A1 (en) Method, device, equipment, storage media and system for detecting drivable space of road
CN115035172B (en) Depth estimation method and system based on confidence grading and inter-stage fusion enhancement
Duran et al. Vehicle-to-vehicle distance estimation using artificial neural network and a toe-in-style stereo camera
CN111046829A (en) Online lane-level positioning method and system based on prior reasoning
Al Noman et al. A computer vision-based lane detection technique using gradient threshold and hue-lightness-saturation value for an autonomous vehicle
CN104809720A (en) Small cross view field-based double-camera target associating method
Srikakulapu et al. Depth estimation from single image using defocus and texture cues

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant