Some experiments I did when I worked in PRORES AS - not part of company project.
In this project, I implement paper by Skea, 2018 that classified borehole failure mode based on cavings shape. Cavings are classified into Angular, Tabular, Blocky, and Splintery, and each shape correspond to different failure mode.
I developed a real-time segmentation using YOLOv11 on a shaker video, calculated the shape of cavings, and produced real-time plot. The 10-second video is publicly accessed from YouTube. Training data can be found as ZIP file in my Kaggle
Here is the result of the detection:
Cavings_Detected_Clip.mp4
And here is the failure plot animation:
Failure_Animation.mp4
Here is the final plot of all detected cavings. You can see how cavings move from bedding to tensile failure over time.
The notebook explains process as follows:
- Train a YOLOv11 segmentation model with default hyperparams on the data
- Use the pre-trained segmentation model (.pt) to do inference on the video, producing both video result (.avi) and text output on frames
- Read every caving in every frame of the text output as Polygon and calculate roundness and circularity using OpenCV
- Plot the points in the Circularity vs. Roundness plot
- Produce animation using FFMPeg
- Ultralytics==8.3.47
- OpenCV==4.10.0.84
- FFMPeg==0.2.0
- Shapely==1.8.5.post1