From Student Innovation Project to Graduation Thesis: How My Research Thinking Evolved
After finishing my graduation project, I kept wanting to write a blog post about it.
I do not want to rewrite my thesis abstract. If I did that, it would be better to just read the thesis. What I want to record is how the project actually grew: at first it did not even have a clear direction. It was only an ordinary attempt to ask my advisor whether there was a suitable project I could join. Later, step by step, it became a student innovation project, a system, an algorithm, and finally my undergraduate graduation thesis.
Looking back now, the most interesting part is not that I eventually built some amazing model or algorithm implementation. It is that I clearly felt, for the first time, that failure in research or engineering is not a full stop. It is a concrete signpost, telling me where to go next.
The Starting Point: A Challenge
In the second semester of my sophomore year, I went to my undergraduate advisor and asked whether there was any project suitable for me to participate in, partly because a senior strongly recommended that I try applying for a student innovation and entrepreneurship project. At that time, I did not have a clear idea of "medical imaging" yet. My understanding of "segmentation" was still roughly: circle out a certain region in an image, just like those classic YOLO examples from introductory computer science courses. My advisor introduced me to the PENGWIN 2024 pelvic fracture segmentation challenge, and asked me to first try exploring around this competition.
PENGWIN's task is very intuitive, and also very difficult: given CT or X-ray data from patients with pelvic fractures, let an algorithm automatically segment the fracture fragments. The public description mentions why this type of task is hard: the pelvis has a complex structure; fracture fragments vary greatly in shape and location; and fracture surfaces often become blurry due to collision, compression, and adhesion. This was already close to the frontier of the field. For a complete beginner like me, it was extremely hard to even get started, not to mention that I still had ambitions to make something "innovative." The training set for PENGWIN Task 1 on Zenodo contains 100 CT cases with labels. The full dataset comes from 150 patients, with 50 cases reserved as the official test set for final scoring. The data clearly annotates the sacrum, left and right hip bones, and their fragments, with detailed descriptions. It was an ideal dataset.
Back then, I did not truly feel the weight of those difficulties. My first reaction was more like: since there is data, a competition, and a task, let's build the system first.
And so the student innovation project that "tortured" me for a whole year began.
That year, several teammates and I built a basic medical management system. The system itself needed to handle data management, model invocation, and result visualization. It sounded like a complete project, and in practice it really did take a lot of time. Frontend, backend, data flow, model APIs: many things were written while searching, rewritten while learning, and overturned while building. Very often we worked until four or five in the morning before realizing we really had to rest. The hardest part of the whole process was team collaboration: explaining task requirements, expected outcomes, and so on. That development experience with teammates also exhausted me quite a lot (maybe I will write another article about that later, but it is not the focus this time). By the midterm stage, the system finally had a basic shape, but my advisor pointed out a more important issue: the system could display results, but our medical image segmentation algorithm also needed innovation. Directly using other people's work was not enough for a student innovation project.
That sentence hurt a bit. After slowly grinding out the system, it is easy to mistakenly believe that most of the work is already done, at least because the visible workload is clear. But in medical image segmentation, the interface only "serves the result." The truly difficult part is where the result comes from. And that hidden workload is much harder to explain clearly to others.
My First U-Net, and My First Failure
That was when I officially started filling in my knowledge of medical image segmentation.
Naturally, the first thing I could not avoid was U-Net. It is a classic encoder-decoder structure in medical image segmentation. One side downsamples to extract semantic information, the other side upsamples to recover spatial details, and skip connections bring shallow texture information back in between. It did not sound too complicated, so I naturally developed a naive confidence: then I will write one myself.
So I hand-wrote my first U-Net.

Looking back now, that was probably one of the most educational pieces of code I have ever written. The model could run, the loss would drop, and the results could be visualized. Seeing my GPU fully occupied, the terminal reporting a new round of training information, and the loss curve slowly going down was honestly a very happy thing. But the results were still poor. Later, I tried adding small modules such as depthwise separable convolutions, spatial-channel dual attention, and SE blocks. At that stage, I had read very few papers. More often, I picked things from existing modules that "looked possibly useful," stuffed them into the network, and then listened to AI's flattery, feeling that I had done a decent job.
The results did not suddenly improve just because there were more modules. There was some improvement, but still not enough.
What was more brutal was that it still could not beat the competition baseline.
That hit me hard. I had spent a year building the system, modifying the model, staying up late for months, and even abandoning fitness (I was genuinely afraid of sudden death), but the final algorithmic effect was not ideal. That was the first time I realized deep learning does not automatically become stronger by stacking a few "advanced modules" together. Especially in medical imaging, data volume, annotation strategy, preprocessing, loss functions, post-processing, and evaluation metrics may each be more important than "adding another attention module."
It was exactly this failure that pushed me toward the real problem of my graduation project: do not rush to invent a complex network. First understand why a strong baseline is strong, and then see where there is still room for improvement.
Relearning from nnU-Net
During the graduation project stage, a senior helped me reproduce nnU-Net.
This step was crucial. What makes nnU-Net powerful is not only its network structure, but the way it systematizes a large amount of "engineering experience" in medical image segmentation. It automatically configures preprocessing, patch size, network topology, training strategy, and post-processing according to the properties of the data. So in many cases, it is not just an ordinary baseline, but a very solid segmentation pipeline. The nnU-Net paper also mentions that it can outperform many specially designed methods across multiple public medical segmentation tasks without heavy manual tuning.
After reproducing nnU-Net, I finally had a more reliable reference. Then I read work related to FracSegNet. Instead of directly segmenting everything inside the full CT volume, it decomposes the task into two steps: first locating the left hip bone, right hip bone, and sacrum, then segmenting major and minor fragments inside the target bone regions. It also introduces a fracture distance map, or FDM, which makes the model pay more attention to regions near fracture contact surfaces.
This idea inspired me a lot.
The most troublesome part of fracture segmentation is often not whether the whole bone can be segmented, but whether a tiny gap between neighboring fragments gets filled, whether small fragments are missed, and whether strange false positives appear near broken ends. The overall Dice score may already look very high, but if two bone fragments that should be separated are stuck together by the model, the spatial relationship in 3D reconstruction and preoperative planning becomes completely different.
In other words, this task does not need "roughly similar." It needs "the local structure must not be messed up."
The New Paper from March
Just after I finished reproducing nnU-Net and FracSegNet, while I was still worrying about how to improve further, my advisor gave me a new paper from March. The method was called SCNP, short for Same Class Neighbor Penalization.
The starting point of the paper is clever: many segmentation models perform well on the overall region, but cannot guarantee accurate topology. For example, thin structures may break, small regions may appear out of nowhere, and originally separated structures may become stuck together. SCNP does not redesign the network. Instead, during training, it performs neighborhood propagation on logits: foreground positions are affected by weaker responses among same-class neighbors, while background positions are affected by more confusing responses among same-class neighbors. Intuitively, it means the model cannot pass by only predicting the center voxel well. It also needs to care about the most error-prone places among nearby same-class neighbors.

This idea immediately matched pelvic fracture segmentation.
The problem of fracture fragments is exactly a local structure problem. A narrow gap being filled, a small fragment being swallowed, or a false positive appearing near a broken end are all typical cases where "the large overall region looks fine, but the local connection relationship is wrong." SCNP also has an attractive engineering property: it mainly changes the logits before loss calculation during training. It does not require changing the inference process, nor does it require redesigning an entire complex network.
However, directly applying SCNP to pelvic CT also carries risks. CT has noise, and there are stable bone regions far away from fracture surfaces. If neighborhood propagation is applied everywhere, it may amplify local errors in irrelevant regions too. So my graduation project made a compromise: combine the FDM idea from FracSegNet with SCNP, using the fracture distance map as a spatial gate so that SCNP acts more strongly near the high-risk fracture contact surfaces.
In one AI-style sentence: do not make the model nervous across the whole bone; make it more serious where things are truly likely to go wrong.
What My Graduation Project Actually Did
In the end, the core of my graduation project can be summarized into three things.
First, I reproduced and organized the baseline pipeline for pelvic fracture CT segmentation. The experiments used nnU-Net as the unified framework, comparing Max-flow, standard nnU-Net, the reproduced FracSegNet baseline, and different SCNP variants. The labels were also reorganized into three semantic classes: background, major fragments, and minor fragments.
Second, I introduced SCNP neighborhood structure propagation before loss calculation. It does not change the inference structure of the network. During training, it makes locally difficult regions participate more directly in optimization, thereby complementing the insufficient constraints of CE + Dice on fragment boundaries, small gaps, and local connectivity.
Third, I combined FDM and SCNP into a gated version. FDM-gated SCNP concentrates structural propagation near fracture surfaces and reduces unnecessary propagation in stable bone regions or noisy areas. In the experiments, I roughly compared different receptive fields and gating thresholds, and finally found that rf = 3, tau = 0.3 was a relatively balanced setting.

Under unified local post-processing and the same evaluation protocol, FDM-gated SCNP achieved more balanced results compared with the reproduced FracSegNet baseline: All DSC reached 0.990 ± 0.012, All LDSC reached 0.990 ± 0.013, All HD95 was 0.868 ± 3.766 mm, and IoU was 0.883 ± 0.142. Compared with the FracSegNet baseline, HD95 decreased by about 40.3%, and IoU improved by about 3.2%.
Of course, these numbers should not be understood as "the problem is solved." There are no such easy victories in medical imaging. They are more like evidence for a small and specific point: on top of a strong baseline, if the training objective is pushed a little toward local structure, the model can indeed become more stable in boundary distance, local Dice, and fragment separation quality.
Beyond the Results: What I Really Learned
The most useful part of this graduation project was not a certain metric, but the way my understanding of "innovation" changed.
At first, I thought innovation meant adding modules, changing structures, and drawing a more complicated network. Later I realized that in a real task, innovation is sometimes the opposite: explaining the problem clearly. Is the whole segmentation inaccurate, or are local boundaries unstable? Is model capacity insufficient, or does the loss function fail to punish the truly important errors? Do we need a larger receptive field, or do we need to constrain the propagation range?
My first U-Net did not beat the baseline. That is certainly nothing to brag about, but it forced me to admit that my understanding of the task was too shallow. Later, reproducing nnU-Net and FracSegNet showed me that strong methods are not strong out of nowhere. They consider data organization, label design, training strategy, post-processing, and evaluation metrics together. Finally, introducing SCNP was not because it sounded new, but because it happened to respond to the recurring local structure errors in this task.
From the student innovation project to the graduation thesis, this project felt like taking a long detour. At first I wanted to build a system, then I realized the algorithm behind the system was not good enough. I went on to modify the model structure, then discovered that casually adding modules was meaningless. I began reproducing strong baselines, and only then gradually saw the real problem. Finally, I returned to a very small change: during training, let the model look more carefully at the hardest nearby region.
Maybe this is what a graduation project is for. It does not necessarily make you build something that changes the world, but it lets you go through a complete learning process with frustration included. You learn how a result comes into being, and you also learn why it is still not good enough.
Problems That Are Not Over Yet
Of course, this work still has many limitations.
The current label space is still a three-class semantic segmentation of background, major fragments, and minor fragments. It cannot truly output an instance ID for every individual fragment. For complex multi-fragment cases, especially very small fragments, unified post-processing may still miss or merge fragments. FDM gating also depends on task priors. The threshold and receptive field mainly come from experimental selection and have not yet become an adaptive mechanism.
More importantly, improvement in segmentation metrics does not mean clinical value has been fully validated. If this work continues in the future, the results should be put into downstream tasks such as 3D reconstruction, reduction planning, and surgical path design, to see whether improvements in local boundaries can bring real benefits to the workflow.
But at least for me, this graduation project has already completed its most important task: it took me from "can it run?" to "why design it this way?" It also let me truly understand for the first time that the hardest part of an algorithm project is often not writing the network, but finding the errors worth optimizing.
References
References
Public sources and further reading used as background context.
- PENGWIN 2024 Challenge DescriptionPelvic fracture CT and X-ray segmentation challenge, introducing task background, data sources, and challenge goals.
- PENGWIN Task 1 DatasetPublic CT training set and label description.
- PENGWIN 2024 Challenge ReportChallenge report covering multi-team results, CT/X-ray task differences, and uncertainty in fragment definitions.
- nnU-Net PaperA very important self-configuring baseline in medical image segmentation.
- FracSegNet / Multi-scale Distance-weighted Pelvic Fracture SegmentationRelated work on two-stage pelvic fracture segmentation, FDM distance-weighted loss, and public code/data.
- SCNP PaperA training method that improves topological accuracy in segmentation by penalizing the hardest positions among same-class neighbors.
- Author:Mark Xu
- Copyright:All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating otherwise.