diff --git a/doc/RecordingSearch.xml b/doc/RecordingSearch.xml index e6840df9a..0a778324b 100644 --- a/doc/RecordingSearch.xml +++ b/doc/RecordingSearch.xml @@ -1320,6 +1320,195 @@ http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace +
+ SearchImageByNL + SearchImageByNL starts a search session, looking for video records based on a natural language description of the content, such as "a person wearing a red hat" or "a blue car". Results from the search are acquired using the GetNLSearchResults request, specifying the search token returned from this request. + The device shall continue searching until one of the following occurs: + + + The entire time range from StartPoint to EndPoint has been searched through. + + + The total number of matches has been found, defined by the MaxMatches parameter. + + + The session has been ended by a client EndSearch request. + + + The session has been ended because KeepAliveTime since the last request related to this session has expired. + + + + + request + + StartPoint [xs:dateTime] + The point of time where the search will start. + EndPoint [xs:dateTime] + The point of time where the search will stop. + RecordingToken - optional [tt:RecordingReference] + Token for the recording to search. + Text [xs:string] + Natural language description for the search. + Similarity - optional [xs:float] + It represents the similarity between two vectors, which is used to measure the similarity of the directions of the vectors. The closer the value is to 1, the higher the similarity; the closer the value is to 0, the lower the similarity. + MaxMatches - optional [xs:int] + The search ends after MaxMatches. + KeepAliveTime [xs:duration] + The session timeout after each request concerning this session. + + + + response + + SearchToken [tt:JobToken] + Identifies the search session created by this request. + + + + faults + + env:Receiver - ter:Action - ter:ResourceProblem + Device is unable to create a new search session. + + + + access class + + READ_MEDIA + + + +
+ +
+ GetNLSearchResults + GetNLSearchResults acquires the results from a natural language search session previously initiated by a SearchImageByNL operation. The response shall not include results already returned in previous requests for the same session. + + + request + + SearchToken [tt:JobToken] + Specifies the search session. + MinResults - optional [xs:int] + Specifies the minimum number of results that should be returned. + MaxResults – optional [xs:int] + Specifies the maximum number of results to return. + WaitTime – optional [xs:duration] + Defines the maximum time to block, waiting for results. + + + + response + + ResultList [tt:FindNLSearchResultList] + A structure containing the search results. + + + + faults + + env:Sender - ter:InvalidArgVal - ter:InvalidToken + The search token is invalid. + + + + access class + + READ_MEDIA + + + +
+ +
+ SearchImageByImage + SearchImageByImage starts a search session, looking for video records based on a provided image. Results from the search are acquired using the GetImageSearchResults request, specifying the search token returned from this request. + + + request + + StartPoint [xs:dateTime] + The point of time where the search will start. + EndPoint [xs:dateTime] + The point of time where the search will stop. + RecordingToken - optional [tt:RecordingReference] + Token for the recording to search. + TargetImageURI - optional [xs:anyURI] + The URI of the detected target object image. This can be either: - a local image stored in the Target Image repository (LocalStorage format), or - an external image provided by the client for image search or feature matching. + TargetImageData - optional [xs:base64Binary] + Base64-encoded target object image used for visual search. + MaxMatches - optional [xs:int] + The search ends after MaxMatches. + KeepAliveTime [xs:duration] + The session timeout after each request concerning this session. + + + + response + + SearchToken [tt:JobToken] + Identifies the search session created by this request. + + + + faults + + env:Receiver - ter:Action - ter:ResourceProblem + Device is unable to create a new search session. + + + + access class + + READ_MEDIA + + + +
+
+ GetImageSearchResults + GetImageSearchResults acquires the results from an image-based search session previously initiated by a SearchImageByImage operation. The response shall not include results already returned in previous requests for the same session. + + + request + + SearchToken [tt:JobToken] + Specifies the search session. + MinResults - optional [xs:int] + Specifies the minimum number of results that should be returned. + MaxResults – optional [xs:int] + Specifies the maximum number of results to return. + WaitTime – optional [xs:duration] + Defines the maximum time to block, waiting for results. + + + + response + + ResultList [tt:FindObjectImageResultList] + A structure containing the search results. + + + + faults + + env:Sender - ter:InvalidArgVal - ter:InvalidToken + The search token is invalid. + + + + access class + + READ_MEDIA + + + +
+ + + +
EndSearch EndSearch stops an ongoing search session, causing any blocking result request to return and the SearchToken to become invalid. If the search was interrupted before completion, the point in time that the search had reached shall be returned. If the search had not yet begun, the StartPoint shall be returned. Note that an error message will occur if the search session has been already completed before this request. If the search was completed the original EndPoint supplied by the Find operation shall be returned. When issuing EndSearch on a FindRecordings request the EndPoint is undefined and shall not be used since the FindRecordings request doesn't have StartPoint/EndPoint. This operation is mandatory to support for a device implementing the recording search service. @@ -1387,6 +1576,14 @@ http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace GeneralStartEvents Indicates support for general virtual property events in the FindEvents method + + NLSearch + Indicates if the device supports natural language based search for recorded video + + + ImageSearch + Indicates if the device supports image based search for recorded video +
diff --git a/wsdl/ver10/schema/onvif.xsd b/wsdl/ver10/schema/onvif.xsd index d639c40d8..1f73cd4db 100755 --- a/wsdl/ver10/schema/onvif.xsd +++ b/wsdl/ver10/schema/onvif.xsd @@ -3565,6 +3565,12 @@ decoding .A decoder shall decode every data it receives (according to its capabi + + Indicates support for natural language based search. + + + Indicates support for image based search. + @@ -7621,6 +7627,76 @@ and sample rate. + + + + + + The state of the search when the result is returned. Indicates if there can be more results, or if the search is completed. + + + + A FindObjectImageResult structure for each found set of image matching the search. + + + + + + + + + Object unique identifier. + + + The URI of the detected target object image. This can be either: - a local image stored in the Target Image repository (LocalStorage format), or - an external image provided by the client for image search or feature matching. + + + The time when the target was found. Users can use this as a reference point to search records that occurred before and after this specific time point. + + + It represents the similarity between two vectors, which is used to measure the similarity of the directions of the vectors. The closer the value is to 1, the higher the similarity; the closer the value is to 0, the lower the similarity. + + + The recording where this result was found. + + + + + + + + + + The state of the search when the result is returned. Indicates if there can be more results, or if the search is completed. + + + + A FindNLSearchResult structure for each found set of image matching the search. + + + + + + + + + Object unique identifier. + + + The URI of the detected target object image. This can be either: - a local image stored in the Target Image repository (LocalStorage format), or - an external image provided by the client for image search or feature matching. + + + The time when the target was found. Users can use this as a reference point to search records that occurred before and after this specific time point. + + + It represents the similarity between two vectors, which is used to measure the similarity of the directions of the vectors. The closer the value is to 1, the higher the similarity; the closer the value is to 0, the lower the similarity. + + + The recording where this result was found. + + + + @@ -9192,7 +9268,12 @@ and sample rate. - + + + + + + diff --git a/wsdl/ver10/search.wsdl b/wsdl/ver10/search.wsdl index c995be557..d8173b949 100644 --- a/wsdl/ver10/search.wsdl +++ b/wsdl/ver10/search.wsdl @@ -37,6 +37,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Indicates support for general virtual property events in the FindEvents method. + Indicates support for natural language based search. + Indicates support for image based search. @@ -444,7 +446,146 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + + + + + Starts a search session and specifies the search parameters. + + + + + Start time for the search. + + + End time for the search. + + + Token for the recording to search. + + + Natural language description for the search (e.g., "person with red hat"). + + + It represents the similarity between two vectors, which is used to measure the similarity of the directions of the vectors. The closer the value is to 1, the higher the similarity; the closer the value is to 0, the lower the similarity. + + + Maximum number of matches to return in the response. + + + The time the search session will be kept alive after responding to this and subsequent requests. + + + + + + + + + A unique reference to the search session created by this request. + + + + + + + + + Gets results from a particular search session. + + + + + The search session to get results from. + + + The minimum number of results to return in one response. + + + The maximum number of results to return in one response. + + + The maximum time before responding to the request, even if the MinResults parameter is not fulfilled. + + + + + + + + + + + + + + + + Starts a search session and specifies the search parameters. + + + + + Start time for the search. + + + End time for the search. + + + Token for the recording to search. + + + The URI of the detected target object image. This can be either: - a local image stored in the Target Image repository (LocalStorage format), or - an external image provided by the client for image search or feature matching. + + + Base64-encoded target object image for visual search. + + + Maximum number of matches to return in the response. + + + The time the search session will be kept alive after responding to this and subsequent requests. + + + + + + + + + A unique reference to the search session created by this request. + + + + + + + + + + + The search session to get results from. + + + The minimum number of results to return in one response. + + + The maximum number of results to return in one response. + + + The maximum time before responding to the request, even if the MinResults parameter is not fulfilled. + + + + + + + + + + + + @@ -532,6 +673,30 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + @@ -732,6 +897,31 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + Starts a natural language search session and specifies the search parameters. + + + + + + Gets results from a natural language search session. + + + + + + Starts an image-based search session and specifies the search parameters. + + + + + + + Gets results from an image-based search session. + + + @@ -878,5 +1068,47 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +