CURDNet: Contrastive Ultrasound Report Generation with Diversity-Aware Learning

Blog · Aug 2025 · Ultrasound report generation

TLDR

In this blog we investigate the difference between ultrasound images and x-ray images, and try to train a model for ultrasound report generation.

Introduction

Ultrasound is used across many organs, and the image appearance depends heavily on the operator, view, and clinical setting. That makes the data much less uniform than many chest X-ray benchmarks. A model that performs well on one organ can therefore struggle when the next case looks completely different. As shown in the figure at right hand side, the X-ray image pairs are relatively similar, difference are mainly focused on local; while the ultrasound image pairs are more diverse. So we come up with the idea, instead of modify the transformer model to focus on local difference between different cases, we want the model to identify differences between cases level -- we bring a CLIP task into training a image caption model.

Comparison of X-ray and ultrasound data diversity
Ultrasound cases vary more across organs and acquisition settings than the standardized views common in chest X-ray data.

Method

CURDNet combines three lightweight ideas:

  • EchoDice. We come up with the idea to use a very simple but effective strategy. Instead of training three distinct models for respective subsets, we use one model to train all samples, with high within-batch diversity being able to, encourage the model to learn across organs instead of memorizing one visual style.
  • ReportMatcher. This is the CLIP module adds image-report contrastive learning so matched pairs move closer and mismatched pairs move apart.
  • ReportJudger uses an LLM-based scorer to check whether retrieved reports are clinically and semantically relevant, in order to tell whether our encoder actually learns the case difference.

The system trains a shared model for mammary, thyroid, and liver ultrasound reports rather than maintaining one model per organ.

CURDNet model architecture
CURDNet combines diversity-aware sampling, report-image matching, report generation, and an LLM-based relevance judge.

Key results

On the reported benchmark, the full model achieved BLEU-1 scores of 0.763 / 0.733 / 0.879 on mammary, thyroid, and liver subsets, respectively. The corresponding clinical F1 scores were 0.905 / 0.918 / 0.900. For image-to-text retrieval, the top-1 relevance score improved from 0.27 to 0.71, while the bottom-1 mismatched score fell from 0.22 to 0.05.

The gains are not just about longer text: the clinical precision, recall, and F1 results suggest that the generated reports remain better aligned with the relevant findings.

Main experiment results

SplitMethodB-1B-2B-3B-4METEORROUGE-LAccuracyPrecisionRecallF1
MammaryCNN-RNN0.1140.0930.0780.0670.2210.1850.0000.4960.4980.487
TriNet0.6930.5940.5330.4780.4390.7420.3510.8160.6970.727
R2Gen0.6630.6110.5720.5410.4110.6850.4940.8000.7610.776
Transformer0.6990.6530.6190.5900.4370.7570.4610.8270.6710.702
DeltaNet0.7160.6650.6380.6080.5170.7580.5730.8190.8190.818
R2GenRL0.6720.5950.5310.4790.5000.6510.4240.7930.7540.771
SGF0.7610.7100.6720.6400.4680.7580.5860.8150.8310.822
Ours0.7630.7110.6700.6370.4700.7550.5470.9050.9060.905
ThyroidCNN-RNN0.1310.1050.0860.0690.0690.2070.0000.4480.3480.382
TriNet0.6450.5100.4210.3450.4090.6780.2680.8450.7690.803
R2Gen0.5780.5320.4920.4570.3690.6640.4040.8100.7680.779
Transformer0.7090.6420.5850.5380.4250.7010.2600.7170.7320.724
DeltaNet0.6100.5590.5150.5790.4430.6850.3630.8370.7840.795
R2GenRL0.6160.5950.4640.4140.4700.5990.4340.8340.8190.826
SGF0.7290.6660.6130.5680.4390.7230.5240.8380.8500.841
Ours0.7330.6700.6150.5680.4400.7260.5140.9120.9240.918
LiverCNN-RNN0.0490.0260.0110.0000.1190.1020.0000.1810.0680.070
TriNet0.8680.8210.7850.7500.5310.8610.0390.8980.8090.814
R2Gen0.8660.8420.8220.8050.5370.8690.5300.8750.8800.870
Transformer0.8550.8320.8150.8000.5240.8730.4440.7490.7850.765
DeltaNet0.8730.8460.8250.8080.5930.8620.5680.9000.8780.874
R2GenRL0.8530.8180.7910.7690.5750.8420.4660.8850.8750.879
SGF0.8720.8480.8280.8130.5390.8750.5410.8790.8940.883
Ours0.8790.8510.8280.8100.5440.8740.5790.9010.8990.900

Ablation results

SplitSettingB-1B-4METEORROUGE-L
MammaryTF0.6990.5900.4370.757
w/ Matcher0.7330.5980.4550.736
w/ Dice0.7290.5860.4460.731
Ours0.7630.6370.4700.755
Ours + cls0.7570.6120.4600.755
ThyroidTF0.7090.5380.4250.701
w/ Matcher0.7280.5600.4350.723
w/ Dice0.6900.5290.4160.715
Ours0.7330.5680.4400.726
Ours + cls0.7290.5620.4340.726
LiverTF0.8550.8000.5240.873
w/ Matcher0.8790.8090.5440.866
w/ Dice0.8790.8140.5440.871
Ours0.8790.8100.5440.874
Ours + cls0.8790.8100.5440.871

The extra classification-head experiment was not consistently helpful: Ours + cls slightly decreases the Mammary and Thyroid scores, while Liver remains nearly unchanged.

Case study

Example of a generated ultrasound report
An example comparison between the reference report, a vanilla Transformer, and CURDNet.

Conclusion

Diversity-aware sampling and cross-modal matching complement each other: one changes what the model sees, while the other changes how it checks image-text alignment. The main limitation is that EchoDice uses organ labels, so its generalization to unlabeled or unseen organs is still an open question. The study is also a research prototype, not a clinical decision-making system.

More details regarding this project can be found on: