객체 검출은 위치정보와 분류정보를 지정하는 과정이다?
bounding box는 위치를 지정하고, 다른 건 분류를 한다.
Daedalus논문에서 제시된 적대적인 예는 NMS 이후에 최종 탐지 상자의 수를 크게 늘리고, 잘못된 클래스 판별을 하게 했다.
CNN(Convolutional Neural Network):
DNN에서 이미지를 학습시킬 때, 이미지 데이터가 row로 변환되는 순간 해당 이미지가 가진 연관관계가 제거된다는 문제를 해결하기 위해 등장했다. 한 픽셀과 주변 픽셀들의 연관관계를 유지시키며 학습시킨다.
참고자료: [딥러닝 CNN] 1. CNN이란? :: YoungQ (tistory.com)
이 글의 연구의 목적은 다음과 같다
vision darknet detect 패키지 내의 YOLO에서 NMS 구성요소의 오작동 유발
NMS 깨는 것을 목표로 하는 적대적 공격(기존의 공격들은 단순히 오분류를 목표로 한 것이 대다수였다.)
NMS 사용 목적: 객체 탐지 작업에서 중복 탐지 결과를 필터링하기 위해 사용
vision darknet detect 패키지
사용방식이 아래와 같으므로, launch 파일을 확인해보면, 실행과 관련된 세부사항을 알 수 있다.
- roslaunch vision_darknet_detect vision_yolo3_detect.launch
- roslaunch vision_darknet_detect vision_yolo2_detect.launch
아래 두 가지 명령어를 입력하면, 패키지가 실행된다. 각각 yolo3, yolo2를 이용하여 객체를 탐지한다. 두 launch 파일은network_definition_file과 pretrained_mode_file 설정에서 yolo3와 yolo2을 위한 파일을 설정한다는 점에서 차이를 갖고, 이외의 내용은 동일하다.
공격지점과 관련된 부분은 score_threshold와 nms_thredshold부분이다. 아래의 표와 같이 설정되어있다.
종류 | score_threshold의 값 | nms_threshold의 값 |
vision_yolo2_detect.launch | 0.30 | 0.45 |
vision_yolo3_detect.launch | 0.30 | 0.30 |
공격지점
vision darknet detect 패키지 내에서 공격지점이 될 만한 파라미터는 score_threshold
임계값 ---> 이하가 되도록 공격하기.
차후 공부하면서 추가로 읽어보면 좋을 것 같은 글.
'projects > autonomous driving' 카테고리의 다른 글
[자율주행] 객체검출 (0) | 2021.08.18 |
---|---|
[Autoware] 듀얼 부팅으로 Autoware(with CUDA) 환경 구축 (0) | 2021.08.07 |
[Autoware-AI] vision darknet detect 패키지 이해 (0) | 2021.07.10 |
Ubuntu18.04 + ROS Melodic + Autoware 설치 (0) | 2021.07.10 |
[ROS] 실습 (0) | 2021.06.27 |