This is Traffic Pose Classification AI for Autonomous driving.
Made by Jacob Jisu Kang (Advisor : Prof. Haneol Jang)
contact: [email protected]
Since Tesla autopilot technique went out into the world, The popularity of Autopitot is risng day by day.
According to SAE(Society of Automotive Engineers), Current autopilot level is 2.
Partial automation.
Current Autopilot doesn't care about what people are doing but cares about which direction people are going.
For example, In incident case such as traffic light malfuntion, road construction or car accident, There may most likely be someone who are traffic gestureing. But, in current level, Autopilot may understand 'A person is blocking in front of us'.
So I'm aiming to make Traffic Pose Classification AI for understanding a person deeply.
Note. This project is made with Pytorch. I use only Pytorch so I can't provide tesorflow version.
'AI_learning.py' is about AI learning. You can make your own model. This is basically configured VGG-16 (Transfer learning) and I only modified level 3 of classifer (Fully connected 3). I have my own model (.pth file) but the size is too big to upload github due to github policy.
** Due to personal information, I can't provide dataset. It contains me and my family. XD. **
'AI_Inference_Cam.py' is about infering from camera (Real time). fps speed is 6~7 in 1280 X 960.
Red line box is for important ones like car, motorcycle, truck etc..
Yellow line box is for human who is too small to detect pose or is out of ROI area. But when it comes closer towards camera (getting bigger in camera) at the sametime it's in ROI, it turns green or blue line box.
Green line box means this person is gestureing Left or Right.
Blue line box means this person is gestureing None. (None of left or right). When there are some same results of gesture after recognition in ROI, Then It shows the blue-colored result arrow on middle top.
'AI_Inference_Pictures.py' is inference pictures in 'inference_Pictures' folder.
I already put some picture in that. and there is a result CSV file. You can see 'InferenceResult_Pictures.csv'. and in that file, how much percent did model infer those pictures.
'AI_Model_Loading.py' is about loading AI_model. You can make your own model with 'AI_learning.py' and use it.
'SSD300_Model_Loading.py' is about loading SSD300 model.
To detect object, I used SSD 300. and SSD 300 is one-stage detection. (for futher upgrade to increase speed)
'category_names.txt' is about SSD 300 categories. just to use SSD 300. Not much important.
Due to github policy, over 25Mb files can not be uploaded in github. Therfore, AI model and SSD300 model is not included.
Amd ryzen 7 2700, 16gb ram, Geforce graphic card Gtx 1660 6gb
Anaconda, Python 3.7.1, (JetBrain) Pycharm Community 2021.1.1.
Deep learning framework is Pytorch 1.8.0+cu111 and CUDA 11. Packages is Torchvision 0.9.0+cu111.