{"id":31021532,"url":"https://github.com/sisl/perceptionadaptivestresstesting","last_synced_at":"2026-04-02T01:11:11.261Z","repository":{"id":52377893,"uuid":"358700148","full_name":"sisl/PerceptionAdaptiveStressTesting","owner":"sisl","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-29T22:23:08.000Z","size":910,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-13T12:31:02.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sisl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-16T19:29:04.000Z","updated_at":"2025-01-20T11:07:03.000Z","dependencies_parsed_at":"2022-08-24T14:51:04.999Z","dependency_job_id":null,"html_url":"https://github.com/sisl/PerceptionAdaptiveStressTesting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sisl/PerceptionAdaptiveStressTesting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FPerceptionAdaptiveStressTesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FPerceptionAdaptiveStressTesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FPerceptionAdaptiveStressTesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FPerceptionAdaptiveStressTesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sisl","download_url":"https://codeload.github.com/sisl/PerceptionAdaptiveStressTesting/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FPerceptionAdaptiveStressTesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:05:07.454Z","status":"ssl_error","status_checked_at":"2026-04-02T00:56:46.496Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-13T11:23:28.650Z","updated_at":"2026-04-02T01:11:11.236Z","avatar_url":"https://github.com/sisl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Perception Adaptive Stress Testing (PAST)](https://arxiv.org/pdf/2203.14155.pdf)\n\nAdaptive Stress Testing (AST) of Lidar-based perception systems for autonomous vehicles under adverse weather conditions. We formulate [Perception Adaptive Stress Testing (PAST)](https://arxiv.org/pdf/2203.14155.pdf) and validate a sample Lidar-based perception system over the NuScenes driving dataset.\n\n\n![](./media/past_block.png)\n\n**Approach:** Our proposed PAST framework for validation of tracking and prediction stages of an AV perception systems under adverse weather conditions is illustrated above. Red points indicate disturbances to the perception system caused by LiDAR beams reflecting off of airborne particles. Monte Carlo Tree Search (MCTS) controls how sequences of disturbances are added to the system to cause failures in perception tasks that depend on detections aggregated over time, such as object tracking and trajectory prediction. PAST seeks to find the most likely failures in these sequential perception system tasks.\n\n\n\n![](./media/2022_IROS_video_Delecki_Gif2.gif)\n\n**Results** The above animation shows a particular failure event found using our proposed approach. Objecy detections and the top 5 most confident predicted trajectories are shown in blue while ground truth is shown in black. Red points in the lidar point cloud represent the most likely adverse weather disturbance introduced by our method. The failure occurs in the vehicle highlighted in red. The legend to the right shows the final displacement error of each prediction. The ego vehicle is highlighted in green. PAST finds a sequence of disturbances leading to failure. The predicted trajectory incorrectly indicates that the ego vehicle will be cut off in the next six seconds. Such incorrect predictions could cause unsafe behaviors in the ego vehicle, and can even result in accidents. Since our method can detect such possible failures, it can inform future development of robust perception systems for autonomous vehicles.\n\n\n\u003c!-- ## Setup\nThis project requires python 3.6 and pytorch 1.3. In a new `conda` environment, you can install these with:\n\n```conda install python=3.6 pytorch=1.3 cudatoolkit=10.0 cudnn boost mayavi importlib_metadata importlib_resources```\n\nAnd ensure:\n\u003etorch._C._GLIBCXX_USE_CXX11_ABI\n\nis True\n\nNext install the NuScenes python devkit. Follow the instructions here: https://github.com/nutonomy/nuscenes-devkit.\n\nThe nuscenes devkit also includes instructions on downloading the NuScenes dataset. To run this project, you will need the following data:\n* [NuScenes v1.0-mini](https://github.com/nutonomy/nuscenes-devkit#nuscenes-setup)\n* [Map expansion](https://github.com/nutonomy/nuscenes-devkit#map-expansion)\n\n\nNow follow the installation instructions for https://github.com/traveller59/spconv\nNOTE:\nI had to add to the CMakeLists.txt at the top of the file\n\tset(CMAKE_CUDA_COMPILER /usr/local/cuda-10.0/bin/nvcc) \nAnd add this to setup.py:\n '-DCMAKE_CUDA_COMPILER=/usr/local/cuda-10.0/bin/nvcc', \nright after the line with '-DPYBIND11_PYTHON_VERSION={}'.format(PYTHON_VERSION)\n\nNow follow the installation instructions for: https://github.com/open-mmlab/OpenPCDet/tree/0642cf06d0fd84f50cc4c6c01ea28edbc72ea810\n\nand download the PV-RCNN_8369.pth pre-trained model located: https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view\n\nMake a directory within OpenPCDet and save the model to \"OpenPCDet/Models/pv_rcnn8369.pth\" --\u003e\n\n\u003c!-- Now everything should be ready to run. Run the following\npython ObjectDetect.py --data_path PATH/TO/KITTI/DATA/velodyne_points/data/ --\u003e\n\n\u003c!-- This will create input images in a directory InputImages/ --\u003e\n\n\u003c!-- # Trajectory prediction\nAfter the input images are created they are in the format needed for trajectory prediction on covernet: \nhttps://github.com/nutonomy/nuscenes-devkit/blob/master/python-sdk/tutorials/prediction_tutorial.ipynb\nThe link above is to a tutorial on how to predict trajectories. Covernet expects a map layered onto the input images of cars, however we do not have\nthat data so we have elected to create an empy map representation which will eliminate the map on nuscenes data.\n\nFor the agent state vector that information can be pulled from the oxts/ files in the ego vehicle. --\u003e\n\n```\n@article{delecki2022,\n  title={How Do We Fail? Stress Testing Perception in Autonomous Vehicles},\n  author={Delecki, Harrison and Itkina, Masha and Lange, Bernard, Senanayake, Ransalu and Kochenderfer, Mykel J.},\n  journal={arXiv e-prints},\n  pages={arXiv--2203},\n  year={2022}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Fperceptionadaptivestresstesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsisl%2Fperceptionadaptivestresstesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Fperceptionadaptivestresstesting/lists"}