Project to define surgical phases for the laparoscopic cholecystectomy (lap chol) procedure.
This project describes the use of the pre-trained EfficientNetB3 model to apply transfer learning on about 24.000 images derived from the lap chol procedure. The trained models can be found in ./Output/models/ and includes three variations, based on the amount of frames considered during training. To retrain the model with your own dataset, use the ./scripts/efficientnetb3.py file.
After predictions are made, you can choose a general or specific optimisation method. The general method (.scripts/post_processing_general.py) uses set rules to enhance performance. These methods are defined by a trail-and-error approach and do not need any further alterations. The specific method (.scripts/post_processing_specific.py) includes a wide range of possible rules, but still need to be applied. This method generally produces better results than the general method, but is more time-intensive.
With these scripts, you can generate predictions for the surgical phase timestamps for the laparoscopic cholesystectomy procedure. In order to do so:
- Clone the repository into your environment
- Install necessary packages with:
pip install -r requirements.txt - Either retrain with your own images with the ./scripts/efficientnetb3.py script
- Or add your videos to the ./Data/videos/testset folder
- Run the ./scripts/video_predictions.py script
- Choose your post-processing method (either general or specific)
Output will be a plot.
Daniël van den Corput
danielvdcorput@gmail.com
This project was created for Incision, see https://www.incision.care/