Localisation in GPS denied Environment?

Hey guys,
Can anyone tell me is it possible to estimate the position with the help of IMU sensor of pixhawk when there is no GPS available?
If yes, then please tell me how?

Thanks in advance

You need some kind of velocity or position estimation, e.g. using a mocap (indoor “GPS” system) or a sensor like PX4Flow or a vision sensor doing VIO (visual inertial odometry), otherwise you are double integrating small errors of your accelerometer signals over time which usually leads to huge errors within a few seconds.

Thanks JulianOes for replying,

Do I have to write code on my own if I add velocity or vision sensor to pixhawk?
Or does the current firmware have it already?If yes, then how can i implement the same?

Look here for Visual Inertial Odometry:

Basically, I’m building a Rover which can localize in GPS Denied Regions.
So, initially i though this work can be done by using GPS and IMU.
But found that integrating the data of IMU generates errors and it drifts too.
Use of camera-based localisation is not possible since the environment is not known.

So are there any other sensors through which this can be done?
Or is there any other approach for the same?