Fine-tuning MobileNet SSD network (2)
Budget: €250 – €750 EUR
Need an experienced deep learning expert for fine-tuning MobileNet SSD network and deliver Caffemodel.
On my DL server I have generated *.caffemodel using this network: https://github.com/chuanqi305/MobileNet-SSD. It is MobilenetSSD VERSION ONE I think.
Five classes of vehicles have to be recognized: car, van, truck, bus, tram INCLUDING people as well.
Input images were taken from 3 locations, let's call it "A", "B" and "C" - photo examples are attached.
Complete dataset contains 3998 photos in total.
Dataset summary:
Location A + Location B =>11027 cars, 1095 vans, 869 trucks, 1024 buses, 1200 trams (cca. 20% are night scenes)
Location C (accuracy is much worser than loc. A and B) => 915 cars, 142 vans, 166 trucks, 41 buses
HOW I PERFORMED TRAINING
-------------------------
I have set Caffe to train in res. 512x512. Most of the images went into Caffe training process in resolution 800x600 px or 600x800 px (notice that "location-C" camera is oriented vertically).
But 267 images (e.g. complete daily set from "location-C") have resolution 1200x1600 px (maybe that contributes to problem also???). Nigtly have 600x800 px.
My training log is attached, note that my training's accuracy has usually not exceeded 70% and final result for Location-C was very poor!
TASKS
---------
1.) Deliver the new model by optimizing network so I don't need to perform more image-collecting for "location-C" (which accuracy is much worse than previous two).
New model should be accurate for each camera's location where scene is similar to these 3 locations from dataset.
New Caffemodel should not be slower in inference than my old one measured at Nvidia Jetson Nano (100 ms per frame).
REQUIREMENTS HOW TO PERFORM TASK
----------------------------------
- All learning should be done on my deep learning server (server specs are below). I prefer you use MobileNet V2 or V3 along with Caffe. My server's Caffe + MobileNet ver.1 installation is fully functional but I got "out-of-memory" errors when attempting it with ver.2 (but note: I'm far from expert in DL).
If you cannot use Caffe then you need to install Pytorch and train with Mobilenet V2 or V3. But in that case generated model should be converted to *.caffemodel and provide me instructions/scripts how to do the conversion.
If you can't use MobileNet SSD ver.>1 or you can't use my server at all then I need to reconsider for which price should I continue the project.
MY Ubuntu 20.04 LTS SERVER DETAILS:
--------------------------------------
CPU and RAM: Intel I5, 8GB system RAM (8GB RAM can be increased if needed)
GPU: GeForce 1050 Ti (4GB)
CUDA 10.1 ; CuDNN 8.0.2 ; Python 3.8
Plz do not change above versions unless really needed (it might break existing Caffe installation and scripts). If you really need to then discuss with me first.
WHEN TASK WILL BE CONSIDERED AS DONE
------------------------------------
1.) After you finish new Caffemodel I will provide you with 3 short videos from "location-C".
Caffemodel should function inside my QT/C++ program that detects objects from videos. Its inference part is based on this (OpenCV) code: https://gist.github.com/yiling-chen/7d36389192d54f89a5fe0b810ac7bdf3
If you want we can also test with this code snippet alone too.
2.) From video: caffemodel should not mix vehicle types and should not fail to recognize a vehicle, at least not after it has passed the first quarter of the scene when vehicle is driving towards the camera. Vehicles are always driving TOWARDS the camera in 3 lanes and must be recognized in all of them.
3.) In case you used Pytorch: after I have generated caffemodel from Pytorch model using the scripts you provided.
IMPORTANT
--------------
The complete payment is done after task would be tested from me and evaluated as done.
TRANSLATION OF CLASS-NAMES:
-------------
osoba = person
auto = car
kombi = van
kamion = truck
autobus = bus
tramvaj = tram
QUESTION: How fast could you deliver described requirements?
On my DL server I have generated *.caffemodel using this network: https://github.com/chuanqi305/MobileNet-SSD. It is MobilenetSSD VERSION ONE I think.
Five classes of vehicles have to be recognized: car, van, truck, bus, tram INCLUDING people as well.
Input images were taken from 3 locations, let's call it "A", "B" and "C" - photo examples are attached.
Complete dataset contains 3998 photos in total.
Dataset summary:
Location A + Location B =>11027 cars, 1095 vans, 869 trucks, 1024 buses, 1200 trams (cca. 20% are night scenes)
Location C (accuracy is much worser than loc. A and B) => 915 cars, 142 vans, 166 trucks, 41 buses
HOW I PERFORMED TRAINING
-------------------------
I have set Caffe to train in res. 512x512. Most of the images went into Caffe training process in resolution 800x600 px or 600x800 px (notice that "location-C" camera is oriented vertically).
But 267 images (e.g. complete daily set from "location-C") have resolution 1200x1600 px (maybe that contributes to problem also???). Nigtly have 600x800 px.
My training log is attached, note that my training's accuracy has usually not exceeded 70% and final result for Location-C was very poor!
TASKS
---------
1.) Deliver the new model by optimizing network so I don't need to perform more image-collecting for "location-C" (which accuracy is much worse than previous two).
New model should be accurate for each camera's location where scene is similar to these 3 locations from dataset.
New Caffemodel should not be slower in inference than my old one measured at Nvidia Jetson Nano (100 ms per frame).
REQUIREMENTS HOW TO PERFORM TASK
----------------------------------
- All learning should be done on my deep learning server (server specs are below). I prefer you use MobileNet V2 or V3 along with Caffe. My server's Caffe + MobileNet ver.1 installation is fully functional but I got "out-of-memory" errors when attempting it with ver.2 (but note: I'm far from expert in DL).
If you cannot use Caffe then you need to install Pytorch and train with Mobilenet V2 or V3. But in that case generated model should be converted to *.caffemodel and provide me instructions/scripts how to do the conversion.
If you can't use MobileNet SSD ver.>1 or you can't use my server at all then I need to reconsider for which price should I continue the project.
MY Ubuntu 20.04 LTS SERVER DETAILS:
--------------------------------------
CPU and RAM: Intel I5, 8GB system RAM (8GB RAM can be increased if needed)
GPU: GeForce 1050 Ti (4GB)
CUDA 10.1 ; CuDNN 8.0.2 ; Python 3.8
Plz do not change above versions unless really needed (it might break existing Caffe installation and scripts). If you really need to then discuss with me first.
WHEN TASK WILL BE CONSIDERED AS DONE
------------------------------------
1.) After you finish new Caffemodel I will provide you with 3 short videos from "location-C".
Caffemodel should function inside my QT/C++ program that detects objects from videos. Its inference part is based on this (OpenCV) code: https://gist.github.com/yiling-chen/7d36389192d54f89a5fe0b810ac7bdf3
If you want we can also test with this code snippet alone too.
2.) From video: caffemodel should not mix vehicle types and should not fail to recognize a vehicle, at least not after it has passed the first quarter of the scene when vehicle is driving towards the camera. Vehicles are always driving TOWARDS the camera in 3 lanes and must be recognized in all of them.
3.) In case you used Pytorch: after I have generated caffemodel from Pytorch model using the scripts you provided.
IMPORTANT
--------------
The complete payment is done after task would be tested from me and evaluated as done.
TRANSLATION OF CLASS-NAMES:
-------------
osoba = person
auto = car
kombi = van
kamion = truck
autobus = bus
tramvaj = tram
QUESTION: How fast could you deliver described requirements?