The OpenVX Classifier Extension. The Khronos OpenVX Working Group, Editors: Tomer Schwartz, Radhakrishna Giduthuri

Similar documents
The OpenVX Export and Import Extension

The OpenVX User Data Object Extension

The OpenVX Buffer Aliasing Extension

EGLStream DataLocator Extension Specification

OpenCL ICD Installation Guidelines. Khronos OpenCL Working Group. Version 2.2-7, Sat, 12 May :21:

The OpenVX XML Schema User Guide. The Khronos OpenVX Working Group, Editors: Jesse Villarreal

Kari Pulli Intel. Radhakrishna Giduthuri, AMD. Frank Brill NVIDIA. OpenVX Webinar. June 16, 2016

Tutorial Practice Session

The OpenVX Neural Network Extension

The OpenVX Graph Pipelining, Streaming, and Batch Processing Extension to OpenVX 1.1 and 1.2

The OpenVX Specification

Ecma International Policy on Submission, Inclusion and Licensing of Software

Terms of Use. Changes. General Use.

FOR TCG ACPI Specification

The OpenVX Computer Vision and Neural Network Inference

SDLC INTELLECTUAL PROPERTY POLICY

Ecma International Policy on Submission, Inclusion and Licensing of Software

The OpenVX [Provisional] Specification

IETF TRUST. Legal Provisions Relating to IETF Documents. Approved November 6, Effective Date: November 10, 2008

IETF TRUST. Legal Provisions Relating to IETF Documents. February 12, Effective Date: February 15, 2009

Request for Quotations

ERRATA FOR. TCG TPM I2C Interface Specification. Errata Version 1.0 April 6, Family 2.0 Level 00 Revision 1.

INCLUDING MEDICAL ADVICE DISCLAIMER

Tutorial Practice Session

MERIDIANSOUNDINGBOARD.COM TERMS AND CONDITIONS

ERRATA FOR. Protection Profile PC Client Specific TPM. Errata Version 1.0 June 16, 2018 DRAFT. Specification Version 1.

TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2

OCTOSHAPE SDK AND CLIENT LICENSE AGREEMENT (SCLA)

Enhanced Serial Peripheral Interface (espi) ECN

TERMS & CONDITIONS. Complied with GDPR rules and regulation CONDITIONS OF USE PROPRIETARY RIGHTS AND ACCEPTABLE USE OF CONTENT

Bar Code Discovery. Administrator's Guide

CA File Master Plus. Release Notes. Version

VTT INFORMATION TECHNOLOGY. Nipper

OpenVX 1.2 Quick Reference Guide Page 1

Intel RealSense Depth Module D400 Series Software Calibration Tool

ICD New Features

Standards for Vision Processing and Neural Networks

4. Save as expressly set out herein no license is granted in respect of any intellectual property rights vested in F1000 or other third parties.

SUPPORT MATRIX. Comtrade OMi Management Pack for Citrix

TERMS OF USE Effective Date: January 1, 2015 To review material modifications and their effective dates scroll to the bottom of the page. 1.Parties.

Microsoft Dynamics GP. Extender User s Guide Release 9.0

Intel RealSense D400 Series Calibration Tools and API Release Notes

Workshop 4 Installation INSTALL GUIDE. Document Date: February 4 th, Document Revision: 1.1

AccelDSP Synthesis Tool

Lens Selection Software. User Manual

The Travel Tree Terms and Conditions

OpenCL* and Microsoft DirectX* Video Acceleration Surface Sharing

Quick Start Guide. BlackBerry Workspaces app for Android. Version 5.0

One Identity Active Roles 7.2

Mile Terms of Use. Effective Date: February, Version 1.1 Feb 2018 [ Mile ] Mileico.com

ERRATA FOR. TCG Platform Attribute Credential Profile. Errata Version Published. Specification Version 1.0 Revision January 2018

INTRODUCTION TO OPENCL TM A Beginner s Tutorial. Udeepta Bordoloi AMD

TI-RSLK. Texas Instruments Robotics System Learning Kit

Mixel s MIPI PHY IP Solution

Oracle Responsys Release 18C. New Feature Summary

How to Show Grouping in Scatterplots using Statistica

Bitonic Sorting. Intel SDK for OpenCL* Applications Sample Documentation. Copyright Intel Corporation. All Rights Reserved

One Identity Starling Two-Factor Authentication. Administrator Guide

MyCreditChain Terms of Use

US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

SafeNet Authentication Client

Terms and Conditions of Website Use

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite

NOOTRY TERMS OF SERVICE

Using MMX Instructions to implement 2X 8-bit Image Scaling

AT11512: SAM L Brown Out Detector (BOD) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

SafeNet Authentication Service

IBM Endpoint Manager Version 9.1. Patch Management for Ubuntu User's Guide

MIPI Camera and Display demonstration platform

PGSuper Tutorials. Modeling Inverted Tee Bent Caps

AT10942: SAM Configurable Custom Logic (CCL) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Panel Discussion: The Future of I/O From a CPU Architecture Perspective

Intel Stress Bitstreams and Encoder (Intel SBE) 2017 AVS2 Release Notes (Version 2.3)

Avast Customer & Technical Support Policy

PRODUCT SPECIFIC LICENSE TERMS Sybase Enterprise Portal Version 5 Enterprise Edition ( Program )

THIS IS A CONTRACT BETWEEN YOU AND VEC (Village Emergency Center).

SIMULATOR AMD RESEARCH JUNE 14, 2015

HYCU SCOM Management Pack for F5 BIG-IP

NEXT DST CHANGE SERVICE

Quest Access Manager 1.6. Quick Start Guide

Upgrading MYOB BankLink Notes (desktop)

BCDC 2E, 2012 (On-line Bidding Document for Stipulated Price Bidding)

Microsoft Dynamics GP. Extender User s Guide

SafeNet Authentication Service

FONT SOFTWARE END USER LICENSE AGREEMENT. We recommend that you print this Font Software End User License Agreement for further reference.

x10data Smart Client 7.0 for Windows Mobile Installation Guide

Open Standards for Vision and AI Peter McGuinness NNEF WG Chair CEO, Highwai, Inc May 2018

AT03262: SAM D/R/L/C System Pin Multiplexer (SYSTEM PINMUX) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

USB Personal Video Recorder. USB Hybrid TV Tuner. (USB2.0 / 1.1 PNP TV Capture Box) UAD-880 User s Guide

BlackBerry Enterprise Server Express for Microsoft Exchange

One Identity Starling Two-Factor Authentication. Administration Guide

SafeNet Authentication Client

MySonicWall Secure Upgrade Plus

Toad Edge Installation Guide

SafeNet Authentication Service

Cloud Access Manager SonicWALL Integration Overview

QUARTZ LEGAL TERMS AND CONDITIONS

Installation and Configuration Manual. Price List Utilities. for Microsoft Dynamics CRM Dynamics Professional Solutions Ltd 1 / 14

ARM CoreLink DPE-400 Data Parity Extension for NIC-400

NEXT GENERATION FIREWALL. Tested Products. Environment. SonicWall Security Value Map (SVM) JULY 11, 2017 Author Thomas Skybakmoen

Transcription:

The OpenVX Classifier Extension The Khronos OpenVX Working Group, Editors: Tomer Schwartz, Radhakrishna Giduthuri Version 1.2.1 (provisional), Wed, 15 Aug 2018 06:03:09 +0000

Table of Contents 1. Classifiers Extension...................................................................... 2 1.1. Acknowledgements................................................................... 2 1.2. Background and Terminology.......................................................... 2 1.3. Kernel Names........................................................................ 2 2. Module Documentation................................................................... 3 2.1. Group_object_classifier_model......................................................... 3 2.1.1. Typedefs......................................................................... 3 2.1.2. Enumerations..................................................................... 3 2.1.3. Functions......................................................................... 4 2.2. Scan Classifier........................................................................ 5 2.2.1. Functions......................................................................... 5

Copyright 2013-2018 The Khronos Group Inc. This specification is protected by copyright laws and contains material proprietary to Khronos. Except as described by these terms, it or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast or otherwise exploited in any manner without the express prior written permission of Khronos. This specification has been created under the Khronos Intellectual Property Rights Policy, which is Attachment A of the Khronos Group Membership Agreement available at www.khronos.org/files/member_agreement.pdf. Khronos Group grants a conditional copyright license to use and reproduce the unmodified specification for any purpose, without fee or royalty, EXCEPT no licenses to any patent, trademark or other intellectual property rights are granted under these terms. Parties desiring to implement the specification and make use of Khronos trademarks in relation to that implementation, and receive reciprocal patent license protection under the Khronos IP Policy must become Adopters and confirm the implementation as conformant under the process defined by Khronos for this specification; see https://www.khronos.org/adopters. Khronos makes no, and expressly disclaims any, representations or warranties, express or implied, regarding this specification, including, without limitation: merchantability, fitness for a particular purpose, non-infringement of any intellectual property, correctness, accuracy, completeness, timeliness, and reliability. Under no circumstances will Khronos, or any of its Promoters, Contributors or Members, or their respective partners, officers, directors, employees, agents or representatives be liable for any damages, whether direct, indirect, special or consequential damages for lost revenues, lost profits, or otherwise, arising from or in connection with these materials. Khronos and OpenVX are trademarks of The Khronos Group Inc. OpenCL is a trademark of Apple Inc., used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners. 1

Chapter 1. Classifiers Extension 1.1. Acknowledgements This specification would not be possible without the contributions from this partial list of the following individuals from the Khronos Working Group and the companies that they represented at the time: Radhakrishna Giduthuri - AMD Frank Brill - Cadence Design Systems Thierry Lepley - Cadence Design Systems Tomer Schwartz - Intel Victor Eruhimov - Itseez3D Jesse Villarreal - Texas Instruments Xin Wang - Verisilicon 1.2. Background and Terminology Classification in computer vision is the process of categorizing an image into a finite set of classes or labels. The process normally involves recognition of the dominant content in an image scene. The dominant content should get the strongest confidence score irrespective of the transformation of that content such as scaling, location or rotation. In this extension we enable the usage of classification methods on an image as a specific class detector. Possible methods can be cascade, SVM, etc. We do not standardize each of these methods, but rather enable their deployment in a standard way. We add to OpenVX a method to import an abstract model: vx_classifier_model. The classifier model can be any kind of classifying technology, and the import API can import any kind of file format. As an example, a vendor can implement in vximportclassifiermodel a parser of the OpenCV cascade XML, and create a cascade classification model similar to the one used in OpenCV. 1.3. Kernel Names When using vxgetkernelbyname the following are strings specifying the Classifier extension kernel names: org.khronos.clasifier_extension.scan_classifier 2

Chapter 2. Module Documentation 2.1. Group_object_classifier_model An Opaque object that contain a classifier model. The model can be cascade model or SVM model or any other machine learning model. The Object is created by importing data from a binary format. The specification will not define such a format. Extensions to the specification will be added in order to define such binary formats. Typedefs vx_classifier_model Enumerations vx_classifier_model_format_e vx_classifier_type_e Functions vximportclassifiermodel vxreleaseclassifiermodel 2.1.1. Typedefs vx_classifier_model classification model to be used in vxscanclassifiernode. The classification models are loadable by undefined binary format see vximportclassifiermodel. Extensions will be added to the specification, to support a defined binary format. typedef struct _vx_classifier_model *vx_classifier_model; 2.1.2. Enumerations vx_classifier_model_format_e Classifier model format enums. In the main specification only undefined binary format is supported. Extensions to the specification will be added in order to support specific binary format. enum vx_classifier_model_format_e { VX_CLASSIFIER_MODEL_UNDEFINED = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_CLASSIFIER_MODEL ) + 0x0, }; Enumerator 3

VX_CLASSIFIER_MODEL_UNDEFINED - Undefined binary format. Using this enumeration will result in an implementation defined behaviour. vx_classifier_type_e The type enumeration lists all classifier extension types. enum vx_classifier_type_e { VX_TYPE_CLASSIFIER_MODEL = 0x02C, }; Enumerator VX_TYPE_CLASSIFER_MODEL - A vx_classifier_model type. 2.1.3. Functions vximportclassifiermodel Creates an opaque reference classifier model This function creates a classifier model to be used in vxscanclassifiernode. The object classifier object is a read-only constant object. It cannot be changed during graph execution. vx_classifier_model vximportclassifiermodel( vx_context vx_enum const vx_uint8* vx_size context, format, ptr, length); Parameters [in] context - Reference to the context where to create the ClassifierModel. [in] format - The binary format which contain the classifier model. See vx_classifier_model_format_e. Currently only undefined binary format is supported. Extensions will be added to the specification, to support a classification model defined binary format. [in] ptr - A memory pointer to the binary format. [in] length - size in bytes of binary format data. Returns: A ClassifierModel reference vx_classifier_model. Any possible errors preventing a successful creation should be checked using vxgetstatus. vxreleaseclassifiermodel Releases a reference of an ClassifierModel object. The object may not be garbage collected until its total reference and its contained objects count is zero. After returning from this function the reference is zeroed/cleared. 4

vx_status vxreleaseclassifiermodel( vx_classifier_model* model); Parameters [in] model - The pointer to the ClassifierModel to release. Returns: A vx_status_e enumeration. Return Values <tt> - 2.2. Scan Classifier Scans a feature-map (input_feature_map) and do the classification for each scan-window. This function scans a feature-map. Each window in the feature map is classified by a classification model. The classification models are loadable by undefined binary format see vximportclassifiermodel. Extensions will be added to the specification, to support a defined binary format. Classification models can be any machine learning classification method. Examples are Cascade, SVM, and Neural Networks. Functions vxscanclassifiernode 2.2.1. Functions vxscanclassifiernode [Graph] Scans a feature-map (input_feature_map) and detect the classification for each scanwindow. vx_node vxscanclassifiernode( vx_graph vx_tensor vx_classifier_model vx_int32 vx_int32 vx_int32 vx_int32 vx_array vx_array vx_scalar graph, input_feature_map, model, scanwindow_width, scanwindow_height, step_x, step_y, object_confidences, object_rectangles, num_objects); Parameters 5

[in] graph - The reference to the graph [in] input_feature_map - The Feature-map, example is the output of vxhogfeaturesnode. [in] model - The pre-trained model loaded. Loaded using vximportclassifiermodel [in] scan_window_width - Width of the scan window [in] scan_window_height - Height of the scan window [in] step_x - Horizontal step-size (along x-axis) [in] step_y - Vertical step-size (along y-axis) [out] object_confidences - [Optional] An array of confidences measure, the measure is of type VX_TYPE_UINT16. The confidence measure is defined by the extensions which define classification model with defined binary format. This output can be used as class index as well. In case we detect several different classes in single execution. The output will be an array of indexes of the classes. [out] object_rectangles - An array of object positions, in VX_TYPE_RECTANGLE [out] num_objects - [optional] The number of object detected in a VX_SIZE scalar Note The border mode VX_NODE_BORDER value VX_BORDER_UNDEFINED is supported. Returns: vx_node. Return Values vx_node - A node reference. Any possible errors preventing a successful creation should be checked using vxgetstatus 6