I can't recognize Basler USB3 camera, so i can't use imageNet.

Hi Sir

I can’t recognize the Basler USB3 Camera. So I can’t edit imageNet-camera.cpp file (To change the parameter of #define DEFAULT_CAMERA).

I use the TX2 dev kit. But I only can recognize the onboard camera and only can see the video0.

Or do you have other way to recognize Basler USB3 camera and use the imageNet?

*Note :

  1. my camera driver didn’t support V4L2.
  2. Basler USB3 Camera model : daA1600-60uc or acA640-120um

If you have any advice, I will appreciate it!!!

Best regards,
Lilian.lin

Which USB port did you use? The micro-USB port is not capable of USB3, and some cameras do not have slower fallback speeds supported.

I use USB3 port on TX2.

Then you need to ask the Basler people how to use their camera with ImageNet.
NVIDIA can’t help you with proprietary Basler software requirements that only the Basler people would know about.

Does ImageNet can use other method to use it, not use V4L2?

Does TX2 need V4L2 to get the image?
Can I use other way to get the image data to the TX2?

ImageNet, when used as a library, can read images from wherever your code reads the images and provides them to ImageNet. It is, after all, just a software library with some initialization data. You would have to change the ImageNet-camera.cpp code to read the images from somewhere else, rather than from the camera.

If your hardware device implements that “standard” UVC video protocol, then the built-in drivers in the Linux kernel can be enabled to let you retrieve the images.

Your camera is a hardware device. Computers need device drivers to talk to specific hardware devices. V4L2 is typically the way that Linux computers talk to hardware devices for video, so typically a device driver will provide a V4L2 device interface. However, if your vendor has a device driver that does talk to the camera, from a Linux machine running 64-bit ARM (aarch64, like the Jetson TX2,) then you can use whatever API that device driver provides, or whatever SDK that hardware vendor provides, to retrieve the image stream from the camera, and then feed it to the ImageNet library. This obviously requires some software development, and also requires that your hadware device vendor has an available driver/SDK for Linux on AArch64.

Doing a little googling, it appears as if this camera implements the USB 3 Vision protocol.
There is a USB 3 Vision driver for Linux on github: https://github.com/ni/usb3vision
You may be able to compile this driver for the Jetson board using the JetPack kernel sources.
Then you would also have to write additional high level application code in C++ to talk to this driver to actually get images from the camera.