Argus with IMX377 and USB Flir Boson

I’m starting to do some work with the IMX377 from Leopard Imaging and a Flir Boson. I’m attempting to use Argus to capture my images from the IMX377, however whenever I have the boson plugged in to the USB port it causes argus to fail. As soon as I unplug it then it launches fine.

Here is a fail with the Boson plugged in.

argus_camera
Executing Argus Sample Application (argus_camera)
Xlib:  extension "GLX" missing on display ":1".
Argus Version: UNKNOWN
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:848 No cameras available
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, Dispatcher:801 (propagating)
(NvCameraUtils) Error InvalidState: Mutex already initialized (in Mutex.cpp, function initialize(), line 41)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function open(), line 54)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error InvalidState: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 212)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 287)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 304)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 315)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 147)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 101)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
(Argus) Error FileOperationFailed: Connecting to argus_daemon failed: Connection refused (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 190)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
(Argus) Error FileOperationFailed: Connecting to argus_daemon failed: Connection refused (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 190)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
(Argus) Error FileOperationFailed: Connecting to argus_daemon failed: Connection refused (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 190)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
(Argus) Error FileOperationFailed: Connecting to argus_daemon failed: Connection refused (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 190)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
(Argus) Error FileOperationFailed: Connecting to argus_daemon failed: Connection refused (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 190)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 129)
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, initialize:840 Failed to create CameraProvider
Error generated. /home/ubuntu/argus/apps/camera/modules/Dispatcher.cpp, getInstance:824 Initalization failed
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Aborted (core dumped)

Success without the Boson

argus_camera
Executing Argus Sample Application (argus_camera)
Xlib:  extension "GLX" missing on display ":1".
Argus Version: 0.96.2 (multi-process)
Error generated. /home/ubuntu/argus/samples/utils/EGLGlobal.cpp, initialize:97 Could not initialize EGL display
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, initialize:92 (propagating)
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, getInstance:78 Initalization failed
Error generated. /home/ubuntu/argus/samples/utils/EGLGlobal.cpp, initialize:97 Could not initialize EGL display
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, initialize:92 (propagating)
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, getInstance:78 Initalization failed
Error generated. /home/ubuntu/argus/samples/utils/EGLGlobal.cpp, initialize:97 Could not initialize EGL display
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, initialize:92 (propagating)
(Argus) Error NotSupported: Failed to initialize EGLDisplay (in src/eglutils/EGLUtils.cpp, function getDefaultDisplay(), line 75)
Error generated. /home/ubuntu/argus/apps/camera/renderer/Composer.cpp, bindStream:132 Invalid stream
Error generated. /home/ubuntu/argus/apps/camera/modules/tasks/StillCapture.cpp, start:132 (propagating)
Error generated. /home/ubuntu/argus/apps/camera/ui/capture/AppModuleCapture.cpp, start:154 (propagating)
Error generated. /home/ubuntu/argus/apps/camera/ui/camera/Main.cpp, onModuleChanged:344 (propagating)
Error generated. /home/ubuntu/argus/samples/utils/Observed.cpp, registerObserver:62 (propagating)
Error generated. /home/ubuntu/argus/apps/camera/ui/camera/Main.cpp, start:282 (propagating)
Error generated. /home/ubuntu/argus/samples/utils/gtk/Window.cpp, logHandler:243 Gtk: CRITICAL, gtk_container_remove: assertion 'GTK_IS_WIDGET (widget)' failed
Bus error (core dumped

hello tracyaf_2,

may I have more details about your use-case.
is Flir Boson receive the output of IMX377?
thanks

Flir and imx377 have no interaction. I’m using argus to capture images from the 377, the flir is being captured independently from a buffer.

hello tracyaf_2,

is you Flir Boson register as another video node?
could you please try to access the camera with specify the camera device.
for example,

./argus_camera --device=INDEX

besides, are you able to access your IMX377 with v4l2 standard controls
for example,

v4l2-ctl -d /dev/videoX --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

Trying to access the device via its index number gives me the same error. The IMX377 is dev/video 0, and the Boson is dev/video 2.

I can capture from the IMX377 using v4l2 or gstreamer without any issues regardless of whether the boson is plugged in.

I output a log file of a successful run vs a failed run.

SUCCESSFUL RUN

-- Logs begin at Thu 2016-02-11 16:28:00 UTC, end at Wed 2018-07-18 18:51:13 UTC. --
Jul 18 18:29:00 VPro-0001 systemd[1]: Started Argus daemon.
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: PCLHW_DTParser
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:49:33 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:49:34 VPro-0001 argus_daemon[1171]: PowerServiceCore:handleRequests: timePassed = 792
Jul 18 18:49:45 VPro-0001 argus_daemon[1171]: (Argus) Error EndOfFile:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, fu
Jul 18 18:49:45 VPro-0001 argus_daemon[1171]: (Argus) Error EndOfFile:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, fu




FAILED RUN

Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvPclHwGetModuleList: No module data found
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: PCLHW_DTParser
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFil
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 594: Error: Invalid isp config attrib
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3177: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "common.cfg" Line 3178: Error: Invalid isp config attri
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: NvCameraIspConfigFileLoad: Config file "isp4.cfg" Line 333: Error: Invalid isp config attribut
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: LoadOverridesFile: looking for override file [/data/nvcam/settings/usb@video3.isp] 6/16LoadOve
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: initializeDevNode: Failed to open dev node '/dev/camera/video3'; No such file or directory, tr
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (NvOdmDevice) Error BadParameter: Control 10094858 not found (in dvs/git/dirty/git-master_linu
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (NvOdmDevice) Error BadParameter:  (propagating from dvs/git/dirty/git-master_linux/camera-par
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: initialize: focus query failed
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter: Unknown sensor pixel type (in src/common/Utils.cpp, function translat
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureServiceDeviceSensor.cp
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureServiceDeviceSensor.cp
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function 
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByInde
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), li
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (Argus) Error BadParameter:  (propagating from src/api/CameraProviderImpl.cpp, function initia
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (Argus) Error BadParameter:  (propagating from src/api/GlobalProcessState.cpp, function create
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (Argus) Error EndOfFile:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, fu
Jul 18 18:51:09 VPro-0001 argus_daemon[1171]: (Argus) Error EndOfFile:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, fu
Jul 18 18:51:10 VPro-0001 systemd[1]: argus-daemon.service: Main process exited, code=killed, status=11/SEGV
Jul 18 18:51:10 VPro-0001 systemd[1]: argus-daemon.service: Unit entered failed state.
Jul 18 18:51:10 VPro-0001 systemd[1]: argus-daemon.service: Failed with result 'signal'.
Jul 18 18:51:10 VPro-0001 systemd[1]: argus-daemon.service: Service hold-off time over, scheduling restart.
Jul 18 18:51:10 VPro-0001 systemd[1]: Stopped Argus daemon.
Jul 18 18:51:10 VPro-0001 systemd[1]: Started Argus daemon.
lines 52-74/74 (END)

hello tracyaf_2,

seems Argus application recognize you Boson device as another camera sources, it crashed during initial stage since not support pixel type.
we will investigate this internally, may I know which JetPack release you’re working on?
thanks

Its 28.1. I’m not sure if it has to do with the pixel issue or the device tree. I’m using leopard imaging’s carrier board and it has 3 dev/video devices that show even if there is nothing plugged in to them.

The reason I think that it may be a dev tree issue is the topic below. The solution ends up being having extra unused items in the dev tree like my dev/video1 and video2.

https://devtalk.nvidia.com/default/topic/1035627/jetson-tx2/nvodmdevice-modulenotpresent/

Is there any way to make argus not search for USB Cameras? That would fix my issue too as my IMX377 is a CSI camera.

After doing some more testing I tried with a Logitech c170 usb webcam plugged in. I can successfully load argus with the IMX377 camera plugged in.

The pixel format must be the issue. What formats does argus recognize?

The IMX377 formats are RGGB, RG10, BG10, RG12
The Boson formats are YU12 and Y16
The C170 formats are YUYV and MJPG

hello tracyaf_2,

we had a workaround for this issue.
could you please have a testing by replacing the libargus.so in the attachment,
you should perform warm-reboot to make the library update takes effect.
thanks
Jul31_Topic1037593_libargus.tar.gz (221 KB)

I have replaced the libargus.so file in my /usr/lib/aarch64-linux-gnu/tegra folder and now I get ther error

Executing Argus Sample Application (argus_camera)
Argus Version: 0.96.2 (multi-process)
Error generated. /home/ubuntu/Downloads/argus/apps/camera/modules/Dispatcher.cpp, onDeviceIndexChanged:911 No sensor modes found
Error generated. /home/ubuntu/Downloads/argus/samples/utils/Observed.cpp, registerObserver:62 (propagating)
Error generated. /home/ubuntu/Downloads/argus/apps/camera/modules/Dispatcher.cpp, initialize:858 (propagating)

Its a step in the right direction though because it now finds the argus version when the flir is plugged in.

We have a similar architecture–MIPI cameras and FLIR Boson–and to get it to work, we removed the uvcvideo driver from the kernel. We use a customized libuvc library to access the Boson, which originated here: https://github.com/groupgets/GetThermal

Are you also using libargus with your configuration? our underlying issue is that we want to use libargus because of its ability to change digital gain for us to process in hdr. Because of the bosons unsupported pixel type it causes it to crash. Can you run Argus on your setup with the boson plugged in?

We don’t process the Boson through Argus, although we do with the other cameras. Removing the uvcvideo driver essentially causes Argus to not recognize the Boson, so it will start up without complaining. If you need the Argus pipeline for the Boson, I’m afraid this technique won’t work for you.

I don’t need Argus for the boson, I was just interested if you were using argus for you mipi. I know gstreamer/v4l2 still work with the boson attached.

I think your idea will work. I’m trying to understand exactly how it works. did you install the getthermal app or only the libuvc portion?

Just the libuvc portion. We just grab frames from the Boson, compress them, and send them over the wire.

Great, I will give it a try and post back my results!

We ended up with another work around unloading and reloading uvcvideo with modprobe. We still have an occasional issue with initialization of the thermal camera. We still are looking for a solution based on libargus because we may have to enable and disable 50+ times based on our process.

I am not sure if my problem is related bit I am not getting the FLIR Boson to disaply without an error. I think the UVC drivers are trying to use to the wrong type of video stream.
I am getting:

libv4l2: error set_fmt gave us a different result then try_fmt!
VIDEOIO ERROR: libv4l unable convert to requested pixfmt

If I use:

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
   # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

It does display, but when I try and use it in a object detection program is gives the same error but the program crashes.

https://github.com/naisy/realtime_object_detection

Any ideas?