/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠDeep ĠLearning Ġproject Ġcontributors . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġexamples . onnx . object detection . efficient det Ċ Ċ import Ġexamples . transfer learning . getFile From Resource Ċ import Ġorg . jetbrains . kotlin x . dl . api . inference . loaders . ON NX Model Hub Ċ import Ġorg . jetbrains . kotlin x . dl . api . inference . object detection . Detected Object Ċ import Ġorg . jetbrains . kotlin x . dl . api . inference . onnx . ON NX Models Ċ import Ġorg . jetbrains . kotlin x . dl . dataset . image . Color Mode Ċ import Ġorg . jetbrains . kotlin x . dl . dataset . preprocessor .* Ċ import Ġorg . jetbrains . kotlin x . dl . dataset . preprocessor . image . convert Ċ import Ġorg . jetbrains . kotlin x . dl . dataset . preprocessor . image . resize Ċ import Ġorg . jetbrains . kotlin x . dl . visualization . swing . draw Detected Objects Ċ import Ġjava . io . File Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġmodel Hub Ġ= ĊĠĠĠĠĠĠĠ ĠON NX Model Hub ( cache Directory Ġ= ĠFile (" cache / pretrained Models ")) ĊĠĠĠ Ġval Ġmodel Ġ= ĠON NX Models . Object Detection . E fficient Det D 2 . pretrained Model ( model Hub ) ĊĊĠĠĠ Ġmodel . use Ġ{ Ġdetection Model Ġ-> ĊĠĠĠĠĠĠĠ Ġprintln ( detection Model ) ĊĊĠĠĠĠĠĠĠ Ġval Ġimage File Ġ= ĠgetFile From Resource (" datasets / detection / image 3 . jpg ") ĊĠĠĠĠĠĠĠ Ġval Ġdetected Objects Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetection Model . detect Objects ( image File Ġ= Ġimage File ) ĊĊĠĠĠĠĠĠĠ Ġdetected Objects . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Found Ġ${ it . class Label } Ġwith Ġprobability Ġ${ it . probability }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvisual ise ( image File , Ġdetected Objects , Ġdetection Model . input Shape ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġvisual ise ( ĊĠĠĠ Ġimage File : ĠFile , ĊĠĠĠ Ġdetected Objects : ĠList < Detected Object >, ĊĠĠĠ Ġinput Shape : ĠLong Array Ċ ) Ġ{ ĊĠĠĠ Ġval Ġpreprocessing : ĠPre processing Ġ= Ġpreprocess Ġ{ ĊĠĠĠĠĠĠĠ Ġtransform Image Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresize Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Width Ġ= Ġinput Shape [ 1 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Height Ġ= Ġinput Shape [ 2 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Ġ{ Ġcolor Mode Ġ= ĠColor Mode . BGR Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtransform Tensor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre scale Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscaling Coefficient Ġ= Ġ 2 5 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġ( raw Image , Ġshape ) Ġ= Ġpreprocessing ( image File ) ĊĠĠĠ Ġdraw Detected Objects ( raw Image , Ġshape , Ġdetected Objects ) Ċ } ĊĊĊ