voldemortX / pytorch-auto-drive

PytorchAutoDrive: Segmentation models (ERFNet, ENet, DeepLab, FCN...) and Lane detection models (SCNN, RESA, LSTR, LaneATT, BézierLaneNet...) based on PyTorch with fast training, visualization, benchmarking & deployment help
BSD 3-Clause "New" or "Revised" License
824 stars 137 forks source link

Problem with installation of CULanes dataset #80

Open Wakarox opened 2 years ago

Wakarox commented 2 years ago

Hello, I have a problem with the installation of the CULanes dataset. When i do the "make" command, i have an "error opencv2/core/core.hpp : No such file or directory". I have all the libraries on my computer but i am not using conda. Can someone help me ?

Wakarox commented 2 years ago

Now, i need to put a fixed pre-trained weights in the code, put a fixed config, and do an input and an output in real-time.

voldemortX commented 2 years ago

Now, i need to put a fixed pre-trained weights in the code, put a fixed config, and do an input and an output in real-time.

Which config file would you like to keep? If that is specified. it would be easier to delete redundant codes

Wakarox commented 2 years ago

For the moment, i am using baseline_resnet18_tusimple

Wakarox commented 2 years ago

But i don't find where you do your --config and --checkpoint in the code to have a single config

voldemortX commented 2 years ago

@Wakarox Sorry I can't download your ros project (bad network connection and you have a big checkpoint file in it). I did about all I could for a file-level deletion, hope it would suffice (If you get into errors, try patch up the missing things with the master branch or delete some redundant imports should do the trick). Here: https://github.com/voldemortX/pytorch-auto-drive/tree/resnet18-tusimple

If you want to go deeper, you will have to delete visualization codes, onnx/trt conversion codes, profiling codes, or get into deleting part of some files. What I already deleted are about 20K lines of code.

Wakarox commented 2 years ago

Hello @voldemortX , I am using visualization code because i want to see in real-time the updates. Is this wrong ? I deleted LaneDetVideo because i think LaneDetDir is already taking picture by picture. But for the moment, i didn't delete any files concerning lane detection.

voldemortX commented 2 years ago

Hello @voldemortX , I am using visualization code because i want to see in real-time the updates. Is this wrong ? I deleted LaneDetVideo because i think LaneDetDir is already taking picture by picture. But for the moment, i didn't delete any files concerning lane detection.

That should be correct. But you can mod them to only inference if you don't really need to draw anything.

Wakarox commented 2 years ago

So i can't use prediction ?

voldemortX commented 2 years ago

So i can't use prediction ?

Could you elaborate on this? I don't quite get the meaning.

Wakarox commented 2 years ago

I am using the model baseline_resnet18_tusimple with his pretrained weights. I want to predict the lines in my records with this configuration using my ros records, so in real time.

voldemortX commented 2 years ago

I am using the model baseline_resnet18_tusimple with his pretrained weights. I want to predict the lines in my records with this configuration using my ros records, so in real time.

Well I think this usage aligns more with the visualization codes.

Wakarox commented 2 years ago

And later, with all the points, i will calculate the curvature of the lines. So i want to know where the points are calculated. And i want to delete the args, so i need to add config, input and output in the same file. For the moment, when i launch with rosrun, i have this error : [ERROR] [1652861251.852334]: bad callback: <bound method listener.callback of <main.listener object at 0x7fd4381075b0>> Traceback (most recent call last): File "/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py", line 750, in _invoke_callback cb(msg) File "/home/mokhtarbouain/Documents/work_lane_detection/src/Deep_Learning_detection_lane/scripts/deep_learning_lane_detection.py", line 29, in callback cv2_image = LaneDetDir(LaneDetVisualizer) File "/home/mokhtarbouain/Documents/work_lane_detection/src/common_tools_pkg/src/common_tools_pkg/utils/runners/lane_det_visualizer.py", line 85, in init super().init(cfg) File "/home/mokhtarbouain/Documents/work_lane_detection/src/common_tools_pkg/src/common_tools_pkg/utils/runners/base.py", line 245, in init super().init(cfg) File "/home/mokhtarbouain/Documents/work_lane_detection/src/common_tools_pkg/src/common_tools_pkg/utils/runners/base.py", line 45, in init self.model = MODELS.from_dict(cfg['model']) TypeError: 'ABCMeta' object is not subscriptable

I thought it's because my input is just the picture and not all the configs what i need to launch the detection lane code. Maybe you could help me ?

voldemortX commented 2 years ago

Sorry I don't think I know this kind of error. Maybe there are some problems because of the deletions? If you don't want configs, you can use the Classes yourself by putting in init() args according to the configs.

Rsweater commented 1 year ago

You can see if there is opencv2 under /usr/include, if not, see if it contains opencv4/opencv2, if so, you can use sudo ln -s /usr/include/opencv4/opencv2 /usr/include/ to link it directly to the parent directory. image

shifan-Z commented 6 months ago

The include is now good, i found something like you said yesterday. But now, i have a problem with the shared libraries.

CXX/LD evaluate /usr/bin/ld: build/src/evaluate.o: undefined reference to symbol '_ZN2cv6imreadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi' /usr/bin/ld : /lib/x86_64-linux-gnu/libopencv_imgcodecs.so.4.2 : erreur lors de l'ajout de symboles : DSO missing from command line collect2: error: ld returned 1 exit status make: *** [Makefile:44 : evaluate] Erreur 1

I encountered the same issue, and my solution was to check the installation path of the openCV library files and modify the Makefile's LIBRARY_DIRS to /usr/local/lib.