Active Learning vs Hard negative mining

Hi Guys,
I would like to understand the difference between active learning and hard negative mining.
Based on my understanding:

  1. Active learning is a way to label data which the model is uncertain about
  2. Hard negative mining is a way to choose the data in which model performance is bad.
    In both technique we are choosing the data where the model finds it difficult right?

Is there any other difference between both technique? Also if my understanding is correct, Active learning requires a base model which is trained on a dataset?

Thanks in advance.