Recent posts
June 5, 2019

Execution speed benchmark: CPU/GPU/NVIDIA Jetson deployment

perClass Mira 1.4 brings new perClass Mira Runtime DLL capable of real-time deployment of pixel classification and object detection work-flows. In this benchmark, we measure execution speed on a realistic use-case on three different systems.

We have compared execution speed of the foreign object detector described in this application note on different hardware.The solution, built in perClass Mira, separates three classes, namely the background from product (two types of nuts) and foreign object class (nut shells, wood, leaves and kernels). In deployment the perClass Mira Runtime accepts raw spectral frames (640 spatial pixels x 224 bands) from the Specim FX17 camera. For each raw frame, it performs reflectance correction, pixel classification, segments out connected components for two classes, removes small objects and reports object coordinates, sizes and decisions. We measure per-frame speed by processing 10000 frames using a file-reader and identical raw scan for repeatability. The benchmark was executed five times and we report the best mean per-frame acquisition speed. In each run we exclude the first 500 frames to measure real production speed, not the system worm-up.

Note, that the benchmarked solution is realistic in separating the reflectance correction from the model training. The specific correction information (dark/white references) can be changed at runtime via public API. We stress this point as some solutions available on the market today require retraining of the models when dark/white references change which does not address typical industrial deployment.

The results are summarized in the graph below. The highest speed of 1.45 ms/frame (687 fps) was achieved on a Linux workstation using Intel Xeon CPU and NVIDIA GTX1080 GPU. On Windows 10 laptop with i7 CPU (8 cores), we get 2.36 ms/frame (422 fps). Finally, we include performance on NVIDIA Jetson TX2 embedded board using its GPU: 3.24 ms/frame (307 fps).

Hyperspectral classification benchmark on Linux, Windows and NVIDIA Jetson board.

The benchmark is performed using the relased 1.4 perClass Mira distribution.

We conclude, that perClass Mira Runtime is capable of delivering sustained real-time performance in a non-trivial line-scan application.