I am thinking of running the BeagleBone AI TIDL classification demo described in: https://beagleboard.org/p/175809/tidl-on-beaglebone-ai-1ee263
Two questions:
-
The demo uses the camera “Logitech HD Pro Webcam, C920, 1080p Lens”. Do I need to get exactly that camera? If no, is there a list of supported cameras for Beagle Bone AI and what do I need to change to use an alternative camera?
-
At the demo the board is setup with a fan. Is the fan optional or when the demo is running the board definitely needs it?
I am thinking of running the BeagleBone AI TIDL classification demo described in: https://beagleboard.org/p/175809/tidl-on-beaglebone-ai-1ee263
Two questions:
1. The demo uses the camera “Logitech HD Pro Webcam, C920, 1080p Lens”. Do I need to get exactly that camera? If no, is there a list of supported cameras for Beagle Bone AI and what do I need to change to use an alternative camera?
It should work with any UVC, that's just one Jason has tested with..
If you look into the demo source code, i believe there is a frame
resize done, as the ti-tidl layer needs a specific frame size for
optimal stuff..
On the other hand, i think it would be useful to crowdsouce, which
camera's work and at what framerates, so if you have a usb/uvc camera
today, give a it a test.
2. At the demo the board is setup with a fan. Is the fan optional or when the demo is running the board definitely needs it?
That's coming asap..
Regards,
Getting
Corrupt JPEG data: 56 extraneous bytes before marker 0xd3
Corrupt JPEG data: 14 extraneous bytes before marker 0xd7
error with Logitech, Inc. HD Webcam C910.
Any tips?
Cheers,
A.
Enter code here...Started /var/lib/cloud9/: classification.tidl.cpp File path: /var/lib/cloud9/BeagleBone/AI/tidl File: /var/lib/cloud9/BeagleBone/AI/tidl/classification.tidl.cpp Arguments: File name: classification.tidl.cpp File extension: cpp File base name: classification.tidl Packages: ~.c9/packages Project path: /var/lib/cloud9/ Project name: projectname Hostname: localhost Hostname path: https://undefined/BeagleBone/AI/tidl/classification.tidl.cpp URL: http://localhost Port: 8080 IP: 0.0.0.0 Command: BeagleBone/AI/tidl/classification.tidl.cpp Python: python3 Python path: /usr/lib/python3.7/dist-packages:/usr/local/lib/python3.7/dist-packages /var/lib/cloud9/common/Makefile:27: MODEL=BeagleBoard.org_BeagleBone_AI,TARGET=classification.tidl,COMMON=/var/lib/cloud9/common /var/lib/cloud9/common/Makefile:145: GEN_DIR=/tmp/cloud9-examples,CHIP=am57xx,PROC=tidl,PRUN=,PRU_DIR=,EXE=.so CXX classification.tidl.cpp LD /tmp/cloud9-examples/classification.tidl.o ti-mct-heap-check -c sudo mjpg_streamer -i "input_opencv.so -r 640x480 --filter ./classification.tidl.so" -o "output_http.so -p 8080 -w /usr/share/mjpg-streamer/www" [sudo] password for debian: MJPG Streamer Version.: 2.0 i: device........... : default i: Desired Resolution: 640 x 480 i: filter........... : ./classification.tidl.so i: filter args ..... : Initializing filter loading configuration allocating execution object pipelines (EOP) allocating executors allocating individual EOPs allocating I/O memory for each EOP Allocating input and output buffers Allocating input and output buffers Allocating input and output buffers Allocating input and output buffers num_eops=4 About to start ProcessFrame loop!! http://localhost:8080/?action=stream o: www-folder-path......: /usr/share/mjpg-streamer/www/ o: HTTP TCP port........: 8080 o: HTTP Listen Address..: (null) o: username:password....: disabled o: commands.............: enabled Corrupt JPEG data: 56 extraneous bytes before marker 0xd3 Corrupt JPEG data: 14 extraneous bytes before marker 0xd7 Segmentation fault /var/lib/cloud9/common/Makefile:167: recipe for target 'start' failed make: *** [start] Error 139 rm /tmp/cloud9-examples/classification.tidl.o
Jason was working on a patch for that:
https://github.com/jadonk/libjpeg-turbo/commit/276fbb806b70d79096f2deb5c42d36382b3ecf62
Jason are you ready for me to build libjpeg-turbo, or what was the plan?
Regards,
Unfortunately, I have similar errors (“Corrupt JPEG…”)with the C270 camera even after updating. However, I did see messages every now and then after multiple “Corrupt JPEG…” naming the object in front of the camera.
A lot of the application is working and can identify various objects. I did some online research and found this…
https://elinux.org/EBC_Exercise_39_Setting_Up_tidl_on_X15
The same error message is mentioned and a work around provided but only for their application.
"stream_config_j11_v2.txt
runs but gets the error “Corrupt JPEG data: 2 extraneous bytes before marker 0xd4”. So I send stderr to /dev/null
./imagenet -i camera0 2> /dev/null # Redirect the errors to ignore a message"
Getting
Corrupt JPEG data: 56 extraneous bytes before marker 0xd3
Corrupt JPEG data: 14 extraneous bytes before marker 0xd7
Jason was working on a patch for that:
Hack to disable excessive warnings common with many cameras · jadonk/libjpeg-turbo@276fbb8 · GitHub
Jason are you ready for me to build libjpeg-turbo, or what was the plan?
oh, yes! Forgot that it was only in my local install!
Unfortunately, I have similar errors (“Corrupt JPEG…”)with the C270 camera even after updating. However, I did see messages every now and then after multiple “Corrupt JPEG…” naming the object in front of the camera.
A lot of the application is working and can identify various objects. I did some online research and found this…
https://elinux.org/EBC_Exercise_39_Setting_Up_tidl_on_X15
The same error message is mentioned and a work around provided but only for their application.
"stream_config_j11_v2.txt
runs but gets the error “Corrupt JPEG data: 2 extraneous bytes before marker 0xd4”. So I send stderr to /dev/null
./imagenet -i camera0 2> /dev/null # Redirect the errors to ignore a message"
It is just a work around and a number of cycles are still lost. Better to simply discard the error in the source.
and pushed out to the apt repo..
Regards,
Please explain how to use this patch. Full update still results in the same (Corrupt JPEG data: …, segmentation fault ) errors.
Best Regards,
Myrick Monroe
In theory, you should just run:
sudo apt update
sudo apt upgrade
But i can test tonight and see if we need to rebuild anything
downstream of libjpeg-turbo
Regards,
Thanks you for the “classification.tidl” demo. Very nice one.
The only problem is it kept crashing with segmentation fault.
I had it running only 2 out of 10 runs.
About to start ProcessFrame loop!!
http://localhost:8080/?action=stream
o: www-folder-path…: /usr/share/mjpg-streamer/www/
o: HTTP TCP port…: 8080
o: HTTP Listen Address…: (null)
o: username:password…: disabled
o: commands…: enabled
Segmentation fault
/var/lib/cloud9/common/Makefile:167: recipe for target ‘start’ failed
make: *** [start] Error 139
The “dummy.tidl” demo worked well so far. It ran 5 out of 5.