ログ2 - masuko-shingo/jetson-nano GitHub Wiki
2022/1/18
https://github.com/AlexeyAB/darknet
項目:自作データセットでの訓練
yolov3.cfgの変更
yolo-obj.cfgの作成(yolov3.cfgと同内容)
cuda_yolov3/darknet/build/darknet/x64/dataにmkdir objする
cuda_yolov3/darknet/build/darknet/x64/dataにobj.namesファイルを作成 vi obj.names
obj.namesはラベルの名前を記述する
ラベルごとに改行する(1行に1ラベル)
同ディレクトリに,obj.dataファイルを作成 vi obj.data
同ディレクトリに,train.txtファイルを作成 vi train.txt
train.txtはjpgファイルの名前とそのパスを入力.一行ずつ
cuda_yolov3/darknet/build/darknet/x64/data/objにアノテーションした画像を入れる
frame0000.jpg .....
pascalvocからyolo形式に変換するツールを導入
https://www.codetd.com/ja/article/12791308
$ mkdir vocc2yolo
$ mkdir labels_voc images labels
$ vi classes.names
vi classes.names
:ラベル名を記述(obj.namesと同じ)tb3
vocc2yoloの中で,~/testにある,voc形式のファイルをコピーしてくる
cp -r ~/test ./
labels_vocを消す
rm -r labels_voc
vocc2yoloディレクトリ内にコピーしてきたtestディレクトリの名前をlabels_vocに変更
mv test/ labels_voc
vi pascalVOC2yolov3.py
サイトにあるソースコードをコピペ
python pascalVOC2yolov3.py
で実行
labelsディレクトリの中にyolo形式のファイルが変換されている
frane.xml -> frame.txt
アノテーションした際のframe*.txtファイルをdarknetのどこに格納するのかわからない googledriveのb4研究/写真/yolov3/objにjpgファイル /labels_yoloにtxtファイルがある
2022/1/11
jetson nanoでデータセット作成用の教師画像を取得しようと,bagfileを取得しようとしたが,ストレージ容量が足りなかった.
教師画像の撮影をPCで行おうとしたが,USBカメラが起動できない状態になった.
$ sudo apt install v4l-utils
usbカメラが認識されているか確認
$ lsusb
Bus 002 Device 002: ID 0411:02e6 BUFFALO INC. (formerly MelCo., Inc.)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 045e:076d Microsoft Corp. LifeCam HD-5000
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg
78.696980] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[17833.658636] usb 1-6: new high-speed USB device number 3 using xhci_hcd
[17833.824363] usb 1-6: New USB device found, idVendor=045e, idProduct=076d, bcdDevice= 1.05
[17833.824368] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[17833.824372] usb 1-6: Product: Microsoft® LifeCam HD-5000
[17833.824375] usb 1-6: Manufacturer: Microsoft
$ ls /dev/video*
ls: '/dev/video*' にアクセスできません: そのようなファイルやディレクトリはありません
usbは認識されているが,/dev/video0
がない状態だった
$ cheese
$ ls /dev/video0
/dev/video0
cheeseを起動させたあと,
/dev/video0
を確認したところ,確認できた.
カメラの起動を試す
$ roscore
別端末で
$ cd yolov3
$ rosrun uvc_camera uvc_camera_node
別端末で
$ rosrun image_view image_view image:=/image_raw
起動できた
ログ12/9
CMakelist.txt編集
$ vim ~/workspa/src/CMakelist.txt
nanoで
$ roslaunch usb_cam cam-test/launch
nanoにディスプレイを繋いで
$ roslaunch darknet_ros darknet_ros.launch
変わらずyolov3のウィンドウが開いた瞬間nanoが落ちる。
使っている重みはyolov2-tinyだった
ログ12/8
$ vim ~/.bashrc
追加
source ~/workspace/devel/setup.bash
ros.yamlを編集
$ vim ~/workspa/src/darknet_ros/darknet_ros/config/ros.yaml
以下に変更
subscribers:
camera_reading:
topic: /image_raw
queue_size: 1
PCでroscore
その後
nanoで
$ roslaunch uvc_camera camera_node.launch
nanoにディスプレイを繋いで
$ roslaunch darknet_ros darknet_ros.launch
yolov3のウィンドウが開いた瞬間nanoが落ちる。
使っている重みはyolov2-tinyだった
ログ12/7
roscoreしてもuvc_camera_nodeが通らない
$ rosrun uvc_camera uvc_camera_node
[ERROR] [1638900795.266183164]: [registerPublisher] Failed to contact master at [192.168.0.42:11311]. Retrying...
^Copening /dev/video0
pixfmt 0 = 'YUYV' desc = 'YUYV 4:2:2'
discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x176: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 432x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 544x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 752x416: 1/25 1/20 1/15 1/10 1/5
discrete: 800x448: 1/20 1/15 1/10 1/5
discrete: 800x600: 1/20 1/15 1/10 1/5
discrete: 864x480: 1/20 1/15 1/10 1/5
discrete: 960x544: 1/15 1/10 1/5
discrete: 960x720: 1/10 1/5
discrete: 1024x576: 1/10 1/5
discrete: 1184x656: 1/10 1/5
discrete: 1280x720: 2/15 1/5
discrete: 1280x960: 2/15 1/5
pixfmt 1 = 'MJPG' desc = 'Motion-JPEG'
discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x176: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 432x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 544x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 752x416: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 800x448: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 800x600: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 864x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 960x544: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 960x720: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1024x576: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1184x656: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1280x720: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1280x960: 1/30 1/25 1/20 1/15 1/10 1/5
int (Brightness, 0, id = 980900): 0 to 255 (1)
int (Contrast, 0, id = 980901): 0 to 255 (1)
int (Saturation, 0, id = 980902): 0 to 255 (1)
bool (White Balance Temperature, Auto, 0, id = 98090c): 0 to 1 (1)
int (Gain, 0, id = 980913): 0 to 255 (1)
menu (Power Line Frequency, 0, id = 980918): 0 to 2 (1)
0: Disabled
1: 50 Hz
2: 60 Hz
int (White Balance Temperature, 16, id = 98091a): 0 to 10000 (10)
int (Sharpness, 0, id = 98091b): 0 to 255 (1)
int (Backlight Compensation, 0, id = 98091c): 0 to 1 (1)
menu (Exposure, Auto, 0, id = 9a0901): 0 to 3 (1)
int (Exposure (Absolute), 16, id = 9a0902): 1 to 10000 (1)
bool (Exposure, Auto Priority, 0, id = 9a0903): 0 to 1 (1)
uvc_cameraがないわけではなさそう
jetsonnano@jetsonnano-desktop:/opt/ros/melodic/share/uvc_camera$ ls
cmake launch nodelet_uvc_camera.xml package.xml
pc側でroscore
jetsonnano@jetsonnano-desktop:~$ roslaunch uvc_camera camera_node.launch
... logging to /home/jetsonnano/.ros/log/bc3f2e1c-578d-11ec-a61a-7c7635a4ab69/roslaunch-jetsonnano-desktop-14197.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://192.168.0.59:39225/
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.11
* /uvc_camera/auto_focus: False
* /uvc_camera/camera_info_url: file:///opt/ros/m...
* /uvc_camera/device: /dev/video0
* /uvc_camera/focus_absolute: 0
* /uvc_camera/fps: 30
* /uvc_camera/frame: wide_stereo
* /uvc_camera/height: 240
* /uvc_camera/width: 320
NODES
/
uvc_camera (uvc_camera/uvc_camera_node)
ROS_MASTER_URI=http://192.168.0.42:11311
process[uvc_camera-1]: started with pid [14206]
[ INFO] [1638902687.536160081]: camera calibration URL: file:///opt/ros/melodic/share/uvc_camera/example.yaml
[ INFO] [1638902687.543610623]: Unable to open camera calibration file [/opt/ros/melodic/share/uvc_camera/example.yaml]
[ WARN] [1638902687.543682969]: Camera calibration file /opt/ros/melodic/share/uvc_camera/example.yaml not found.
opening /dev/video0
pixfmt 0 = 'YUYV' desc = 'YUYV 4:2:2'
discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x176: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 432x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 544x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 752x416: 1/25 1/20 1/15 1/10 1/5
discrete: 800x448: 1/20 1/15 1/10 1/5
discrete: 800x600: 1/20 1/15 1/10 1/5
discrete: 864x480: 1/20 1/15 1/10 1/5
discrete: 960x544: 1/15 1/10 1/5
discrete: 960x720: 1/10 1/5
discrete: 1024x576: 1/10 1/5
discrete: 1184x656: 1/10 1/5
discrete: 1280x720: 2/15 1/5
discrete: 1280x960: 2/15 1/5
pixfmt 1 = 'MJPG' desc = 'Motion-JPEG'
discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x176: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 432x240: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 544x288: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 752x416: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 800x448: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 800x600: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 864x480: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 960x544: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 960x720: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1024x576: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1184x656: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1280x720: 1/30 1/25 1/20 1/15 1/10 1/5
discrete: 1280x960: 1/30 1/25 1/20 1/15 1/10 1/5
int (Brightness, 0, id = 980900): 0 to 255 (1)
int (Contrast, 0, id = 980901): 0 to 255 (1)
int (Saturation, 0, id = 980902): 0 to 255 (1)
bool (White Balance Temperature, Auto, 0, id = 98090c): 0 to 1 (1)
int (Gain, 0, id = 980913): 0 to 255 (1)
menu (Power Line Frequency, 0, id = 980918): 0 to 2 (1)
0: Disabled
1: 50 Hz
2: 60 Hz
int (White Balance Temperature, 16, id = 98091a): 0 to 10000 (10)
int (Sharpness, 0, id = 98091b): 0 to 255 (1)
int (Backlight Compensation, 0, id = 98091c): 0 to 1 (1)
menu (Exposure, Auto, 0, id = 9a0901): 0 to 3 (1)
int (Exposure (Absolute), 16, id = 9a0902): 1 to 10000 (1)
bool (Exposure, Auto Priority, 0, id = 9a0903): 0 to 1 (1)
Setting auto_focus is not supported
Setting focus_absolute is not supported
select timeout in grab
jetsonnanoにモニターを繋げて
rosrun image_view image_view image:=image/image_raw
でいけたっぽい
ログ12/1
ログ11/17
https://wooolwoool.hatenablog.com/entry/2021/03/10/235851 環境構築中のエラー pip3,pipはインストールした
root@jetsonnano-desktop:~# apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
python-pip-whl
Recommended packages:
python3-setuptools python3-wheel
The following packages will be upgraded:
python-pip-whl python3-pip
2 upgraded, 0 newly installed, 0 to remove and 87 not upgraded.
Need to get 1767 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 python3-pip all 9.0.1-2.3~ubuntu1.18.04.5 [114 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 python-pip-whl all 9.0.1-2.3~ubuntu1.18.04.5 [1653 kB]
Fetched 1767 kB in 3s (697 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 43404 files and directories currently installed.)
Preparing to unpack .../python3-pip_9.0.1-2.3~ubuntu1.18.04.5_all.deb ...
Unpacking python3-pip (9.0.1-2.3~ubuntu1.18.04.5) over (9.0.1-2.3~ubuntu1.18.04.4) ...
Preparing to unpack .../python-pip-whl_9.0.1-2.3~ubuntu1.18.04.5_all.deb ...
Unpacking python-pip-whl (9.0.1-2.3~ubuntu1.18.04.5) over (9.0.1-2.3~ubuntu1.18.04.4) ...
Setting up python-pip-whl (9.0.1-2.3~ubuntu1.18.04.5) ...
Setting up python3-pip (9.0.1-2.3~ubuntu1.18.04.5) ...
root@jetsonnano-desktop:~# apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython-all-dev libpython-dev libpython2.7
root@jetsonnano-desktop:~# apt update && apt install -y python3-opencv ssh && pip3 install -U pip && pip3 install requests tqdm pyyaml seaborn pycocotools thop
Hit:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [74.6 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88.7 kB]
Fetched 252 kB in 2s (121 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
82 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree
Reading state information... Done
ssh is already the newest version (1:7.6p1-4ubuntu0.5).
python3-opencv is already the newest version (3.2.0+dfsg-4ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 82 not upgraded.
Collecting pip
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl
Exception:
Traceback (most recent call last):
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 346, in _make_request
self._validate_conn(conn)
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 852, in _validate_conn
conn.connect()
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connection.py", line 340, in connect
ssl_context=context)
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/util/ssl_.py", line 332, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "/usr/lib/python3.6/ssl.py", line 407, in wrap_socket
_context=self, _session=session)
File "/usr/lib/python3.6/ssl.py", line 817, in __init__
self.do_handshake()
File "/usr/lib/python3.6/ssl.py", line 1077, in do_handshake
self._sslobj.do_handshake()
File "/usr/lib/python3.6/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/adapters.py", line 440, in send
timeout=timeout
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
[Previous line repeated 2 more times]
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/share/python-wheels/urllib3-1.22-py2.py3-none-any.whl/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 353, in run
wb.build(autobuilding=True)
File "/usr/lib/python3/dist-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "/usr/lib/python3/dist-packages/pip/download.py", line 821, in unpack_url
hashes=hashes
File "/usr/lib/python3/dist-packages/pip/download.py", line 659, in unpack_http_url
hashes)
File "/usr/lib/python3/dist-packages/pip/download.py", line 876, in _download_http_url
stream=True,
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/sessions.py", line 533, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python3/dist-packages/pip/download.py", line 386, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/sessions.py", line 520, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/sessions.py", line 630, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/adapters.py", line 506, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))
ログ11/28
参考:https://qiita.com/MMM-lab/items/04431add6210c80d3462
jetsonnano@jetsonnano-desktop:~$ mkdir workspa
jetsonnano@jetsonnano-desktop:~$ cd workspa/
jetsonnano@jetsonnano-desktop:~/workspa$ mkdir src
jetsonnano@jetsonnano-desktop:~/workspa/src$ git clone --recursive https://github.com/kunaltyagi/darknet_ros.git
Cloning into 'darknet_ros'...
remote: Enumerating objects: 3023, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 3023 (delta 2), reused 0 (delta 0), pack-reused 3010
Receiving objects: 100% (3023/3023), 131.42 MiB | 4.41 MiB/s, done.
Resolving deltas: 100% (1396/1396), done.
Submodule 'darknet' (https://github.com/pjreddie/darknet) registered for path 'darknet'
Cloning into '/home/jetsonnano/workspa/src/darknet_ros/darknet'...
remote: Enumerating objects: 5940, done.
remote: Total 5940 (delta 0), reused 0 (delta 0), pack-reused 5940
Receiving objects: 100% (5940/5940), 6.36 MiB | 3.99 MiB/s, done.
Resolving deltas: 100% (3926/3926), done.
Submodule path 'darknet': checked out '508381b37fe75e0e1a01bcb2941cb0b31eb0e4c9'
jetsonnano@jetsonnano-desktop:~/workspa/src$ cd darknet_ros/
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/alexeyab
remotes/origin/feature/ros_separation
remotes/origin/fix/image_publisher
remotes/origin/fix/ros_buildserver
remotes/origin/master
remotes/origin/opencv4
remotes/origin/release
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ git checkout -b opencv4 origin/opencv4
M darknet
Branch 'opencv4' set up to track remote branch 'opencv4' from 'origin'.
Switched to a new bra
etsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ git branch -a
master
* opencv4
remotes/origin/HEAD -> origin/master
remotes/origin/alexeyab
remotes/origin/feature/ros_separation
remotes/origin/fix/image_publisher
remotes/origin/fix/ros_buildserver
remotes/origin/master
remotes/origin/opencv4
remotes/origin/release
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ git submodule update --recursive
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (16/16), done.
remote: Total 31 (delta 16), reused 16 (delta 16), pack-reused 15
Unpacking objects: 100% (31/31), done.
From https://github.com/pjreddie/darknet
* branch cb82c21fbbaf06177e49ea20660487b1fbe08d54 -> FETCH_HEAD
Submodule path 'darknet': checked out 'cb82c21fbbaf06177e49ea20660487b1fbe08d54'nch 'opencv4'
.bashrcの末尾に
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
を追加
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ cd
jetsonnano@jetsonnano-desktop:~$ vi .bashrc
変更前(末尾)
# export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
source ~/workspace/devel/setup.bash
alias eb='nano ~/.bashrc'
alias sb='source ~/.bashrc'
alias gs='git status'
alias gp='git pull'
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
source ~/catkin_ws/devel/setup.bash
変更後(末尾)
# export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
source ~/workspace/devel/setup.bash
alias eb='nano ~/.bashrc'
alias sb='source ~/.bashrc'
alias gs='git status'
alias gp='git pull'
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
source ~/catkin_ws/devel/setup.bash
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
jetsonnano@jetsonnano-desktop:~$ source ~/.bashrc
CMakeLists.txtを変更
jetsonnano@jetsonnano-desktop:~$ cd workspa/src/darknet_ros/
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ ls
darknet darknet_ros darknet_ros_msgs jenkins-pipeline LICENSE README.md
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros$ cd darknet_ros
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros/darknet_ros$ ls
CHANGELOG.rst CMakeLists.txt config doc include launch package.xml src test yolo_network_config
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros/darknet_ros$ vi CMakeLists.txt
-gencode arch=compute_72,code=sm_72を追加(30行目)
# Find CUDA
find_package(CUDA QUIET)
if (CUDA_FOUND)
find_package(CUDA REQUIRED)
message(STATUS "CUDA Version: ${CUDA_VERSION_STRINGS}")
message(STATUS "CUDA Libararies: ${CUDA_LIBRARIES}")
set(
CUDA_NVCC_FLAGS
${CUDA_NVCC_FLAGS};
-O3
-gencode arch=compute_30,code=sm_30
-gencode arch=compute_35,code=sm_35
-gencode arch=compute_50,code=[sm_50,compute_50]
-gencode arch=compute_52,code=[sm_52,compute_52]
-gencode arch=compute_61,code=sm_61
-gencode arch=compute_62,code=sm_62
-gencode arch=compute_72,code=sm_72
)
add_definitions(-DGPU)
else()
list(APPEND LIBRARIES "m")
endif()
${CUDA_TOOLKIT_ROOT_DIR}/libを変更(142行) 変更前
if (CUDA_FOUND)
link_directories(
${CUDA_TOOLKIT_ROOT_DIR}/lib
)
cuda_add_library(${PROJECT_NAME}_lib
${PROJECT_LIB_FILES} ${DARKNET_CORE_FILES}
${DARKNET_CUDA_FILES}
)
target_link_libraries(${PROJECT_NAME}_lib
cuda
cudart
cublas
curand
)
cuda_add_executable(${PROJECT_NAME}
src/yolo_object_detector_node.cpp
)
else()
変更後
if (CUDA_FOUND)
link_directories(
${CUDA_TOOLKIT_ROOT_DIR}/lib64
)
cuda_add_library(${PROJECT_NAME}_lib
${PROJECT_LIB_FILES} ${DARKNET_CORE_FILES}
${DARKNET_CUDA_FILES}
)
target_link_libraries(${PROJECT_NAME}_lib
cuda
cudart
cublas
curand
)
cuda_add_executable(${PROJECT_NAME}
src/yolo_object_detector_node.cpp
)
else()
ビルドする
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros/darknet_ros$ cd ~/workspa
jetsonnano@jetsonnano-desktop:~/workspa$ catkin_make -DCMAKE_BUILD_TYPE=Release
ビルドwarning吐き始め
[ 47%] Building NVCC (Device) object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/__/darknet/src/darknet_ros_lib_generated_convolutional_kernels.cu.o
Scanning dependencies of target darknet_ros_lib
[ 51%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/src/image_interface.cpp.o
[ 51%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/__/darknet/src/activation_layer.cpp.o
[ 51%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/__/darknet/src/activations.cpp.o
[ 48%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/src/YoloObjectDetector.cpp.o
/home/jetsonnano/workspa/src/darknet_ros/darknet/src/activations.cpp: In function ‘char* get_activation_string(ACTIVATION)’:
/home/jetsonnano/workspa/src/darknet_ros/darknet/src/activations.cpp:12:20: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
return "logistic";
^~~~~~~~~~
/home/jetsonnano/workspa/src/darknet_ros/darknet/src/activations.cpp:14:20: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
return "loggy";
^~~~~~~
/home/jetsonnano/workspa/src/darknet_ros/darknet/src/activations.cpp:16:20: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
return "relu";
^~~~~~
ビルド完了?
中略
[ 98%] Linking CXX shared library /home/jetsonnano/workspa/devel/lib/libdarknet_ros_lib.so
[ 98%] Built target darknet_ros_lib
Scanning dependencies of target darknet_ros
[ 98%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/src/yolo_object_detector_node.cpp.o
[100%] Linking CXX executable /home/jetsonnano/workspa/devel/lib/darknet_ros/darknet_ros
[100%] Built target darknet_ros
実行方法がわからない 試行錯誤
rocalhostでroscore roslaunch darknet yolov3.launch
rocalhostでroscore
$ roscore
$ rosrun uvc_camera uvc_camera_node
$ roslaunch darknet_ros yolo_v3.launch
以下のコマンドのみ実行
$ roslaunch darknet_ros darknet_ros.launch
エラー出る
jetsonnano@jetsonnano-desktop:~/workspa/src/darknet_ros/darknet_ros/yolo_network_config/weights$ roslaunch darknet_ros yolov3.launch
RLException: [yolov3.launch] is neither a launch file in package [darknet_ros] nor is [darknet_ros] a launch file name
The traceback for the exception was written to the log file
usbカメラから画像をキャプチャすることはできた ※ひとつづつ別端末で実行、rosrun image...のみjetsonnanoモニター側端末
jetsonnano@jetsonnano-desktop:~$ roscore
jetsonnano@jetsonnano-desktop:~$ rosrun uvc_camera uvc_camera_node
jetsonnano@jetsonnano-desktop:~$ rosrun image_view image_view image:=/image_raw
参考: http://kazuki-room.com/how_to_detect_objects_by_putting_darknet_ros_in_jetson_nano/#outline__3_6 http://www1.meijo-u.ac.jp/~kohara/cms/technicalreport/ros-melodic-camera http://suzukitakahiro.sakura.ne.jp/tech2/