61 - How to create Gabor feature banks for machine learning

แชร์
ฝัง

ความคิดเห็น • 39

  • @humbertogeologia
    @humbertogeologia 3 ปีที่แล้ว +1

    One of the best tutorials i have ever seen... Good job and please keep the good work. Thanks

  • @masumehoseini8370
    @masumehoseini8370 5 ปีที่แล้ว +2

    your videos are really good. the best in Gabor filters. thanks a lot.

  • @mahrouch
    @mahrouch 4 ปีที่แล้ว +2

    Very instructive video, thank you very much

  • @MithileshDSCS
    @MithileshDSCS 3 ปีที่แล้ว +1

    Hey once the dataframe is created, what should we do to predict the best set of parameters?

  • @cedricvumisa7416
    @cedricvumisa7416 3 ปีที่แล้ว

    many thanks sir! good work!

  • @thunderbolt489
    @thunderbolt489 ปีที่แล้ว

    Thank you for this video.
    I have question on training multiple images. For that do we need to concatenate the data to the df['Original Image'] column itself. Are there any changes needed while generating gabor features.
    Can you please let me know. Thanks in advance for the reply.

  • @engineering_with_motivation
    @engineering_with_motivation 3 ปีที่แล้ว

    Very Informative tutorial. I want to extract Gabor feature from 1000 images and feed the features to CNN. How can I do that? I will appreciate any help.

  • @umairsabir3519
    @umairsabir3519 4 ปีที่แล้ว +1

    Hey Sreeni, your videos are quite knowledgable and productive for others. Just a quick question, can I use the Gabor filter for the detection of ROI regions from images. Suppose I have an image and the mask of the ROI region . Then I use Gabor to extract the features of that particular ROI region using the mask and train ML model. So, if a new image is coming, can I use that ML model to give me that particular ROI region?
    Its like object detection but in my dataset, the ROI instance does not vary. The only variation can be translation, scaling, rotation or affine.

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      Gabor is just a feature extractor, the exact application using gabor needs to be defined by you. In your example, you can use gabor from a small patch of your image to train a model (RF or SVM). But to find similar regions in other images you need to apply the trained model to entire image and then look at the probably map to find regions with high probability. But why go through all the exercise if template marching can do it easily?

    • @umairsabir3519
      @umairsabir3519 4 ปีที่แล้ว

      @@DigitalSreeni I agree that template matching can do the trick. But template maching fails if the new image differs in translation, rotation, scaling, affine warping or shearing.
      I went through your non rigid transformation techniques as well. In the begining it seemed that dense flow is a good option but in my results dense flow is deforming the image after doing the registration. So if a new image has a different colour than reference image. The image is distorted or deformed after registration. But it works well with same color images.

  • @বাউণ্ডুলেঅনুপ
    @বাউণ্ডুলেঅনুপ 4 ปีที่แล้ว +1

    Very Informative tuitorial. God bless you. if I want to extract gabor feature from 1000 images, where i need to modify in this code? I would appreciate any help. :)

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว +1

      Please watch my video 67 to learn how to apply a function to multiple images. In summary, you can put everything into a for loop and keep reading images and applying Gabor. Or, you can define a function for Gabor and apply it to each image that you read.

    • @বাউণ্ডুলেঅনুপ
      @বাউণ্ডুলেঅনুপ 4 ปีที่แล้ว

      @@DigitalSreeni Thank you so much. Stay Safe

  • @alexiscarlier2773
    @alexiscarlier2773 4 ปีที่แล้ว

    Great again !! I have one more questions sorry... but really thanks you for your quick answer. I have some little grayscales images with homogeneous texture. Do you have a way for resume this gabor filters or others kernels into a single feature to be able to compares theses images? For example, I only use the median pixel value for regression analysis. Or in this case, is it preferable to use GLCM matrix for example?

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      What is your goal with this process? Are you trying to classify images based on their texture? If so, you can extract features and classify the entire image rather than segment each pixel. I plan on recording videos to use convolutional network outputs as inputs to Random Forest and I will make a video on classification.

    • @alexiscarlier2773
      @alexiscarlier2773 4 ปีที่แล้ว

      @@DigitalSreeni I want to make a regression based on vegetations indices to predict an amount of nitrogen in this picture representing a field. But I think that adding a textural feature could improve the regression. But I need a single features of texture, but I don't know what kind of statistical feature use? How to sum up a gabor filter for example?

  • @limonhalder3933
    @limonhalder3933 2 ปีที่แล้ว

    What should i do for ultrasound images? What should be the parameters?

  • @nashraraza4324
    @nashraraza4324 4 ปีที่แล้ว

    Can you please demonstrate how to show gabor filtered images with different orientations and wavelengths created in a filter bank?

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      Not sure what your exact question is, is it about displaying images and filters? In that case just plt.imshow() them. If it is about using the filters or machine learning please watch the follow up videos on my playlist.

  • @pacomermela6497
    @pacomermela6497 4 ปีที่แล้ว

    I'm not able to read GeoTiff files using the code in this examble. I supose cv2.imread don't support GeoTiff files. I'm thinking to convert the GeoTiff image in an NumPy array with 3 dimensions... The cv2.filter2D convolute properly with NumPy arrays? Thank you

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว +1

      Almost every image processing library threads images as numpy array. Even if you use any library that reads images as other objects you have to convert them to numpy array for any processing. Therefore, if you manage to read your images as numpy array you can follow the process from this video and also other image processing operations. Geotiff is like regular tiff except it has metadata data embedded. You can use rasterio or georaster library to read those files.

  • @easirarafat7304
    @easirarafat7304 4 ปีที่แล้ว

    sir, would you help me how to define a hyperspectral image(Indian pines dataset CSV file) as an image in this Gabor filtering code?

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      For hyperspectral images you can separate the channel you wish to send through feature extraction. You can use other channels as features during your training. I don't see any special tricks you need to apply, just identify the channel that requires feature extraction and apply Gabor (or other features).

  • @janasstory4974
    @janasstory4974 5 ปีที่แล้ว +1

    how to get feature vector

  • @alexiscarlier2773
    @alexiscarlier2773 4 ปีที่แล้ว

    Can we also use GLCM in the same way for image segmentation?

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      Ground Launched Cruise Missile? :)
      Anyway, GLCM, I guess you mean grey-level co-occurrence matrix can also be used for texture based analysis but I find Gabor to be more efficient.

    • @alexiscarlier2773
      @alexiscarlier2773 4 ปีที่แล้ว

      @@DigitalSreeni yeah okok, but I don't really understand how? Because the matrix comes from a pretty large windows ? So finally, is it applicable at every pixel? and how does it work on the border between two texture?

  • @Camila-fv9qj
    @Camila-fv9qj ปีที่แล้ว

    Cant import getgaborkernal
    Give me an error there is no getgaborkernal in cv2

  • @thorin6172
    @thorin6172 4 ปีที่แล้ว

    How do it for dicom image? Becausse for these special images this code doesn't work for extract features :-(

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      It does work for dicom images and I have used it. Since dicom format can be tricky you just need to find out how to read them into python. I’ve used Pydicom in the past.

    • @thorin6172
      @thorin6172 4 ปีที่แล้ว

      ​@@DigitalSreeni Image in this format is corect read in python but I got this error: "img2 = cv2.cvtColor(ds, cv2.COLOR_BGR2GRAY)
      TypeError: src is not a numpy array, neither a scalar" where ds= dicom.dcmread('image-000001.dcm').

  • @minamohammed1321
    @minamohammed1321 4 ปีที่แล้ว

    Hello, how to use gabor filter and PCA for dimensionality reduction opencv

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว

      I am not a big fan of PCA but if you want to know how to use it then you can just import it from sklearn:
      from sklearn.decomposition import PCA

  • @yurikleb
    @yurikleb 4 ปีที่แล้ว

    Great Tutorials! very clear, detailed and informative! Many thanks for putting those together. I'm learning a lot.
    Do you have any plans making a video about using HOG Feature Descriptor to train a model for object detection/classification?

    • @DigitalSreeni
      @DigitalSreeni  4 ปีที่แล้ว +2

      Gabor is superior to HOG, in my view. If you can create feature banks with Gabor then I don't think you need HOG features anymore for machine learning. In summary, no I do not plan on talking about HOG.

  • @janasstory4974
    @janasstory4974 5 ปีที่แล้ว +1

    how to do it for 40 orientations

    • @DigitalSreeni
      @DigitalSreeni  5 ปีที่แล้ว +1

      Instead of range(2) for theta, change it to define a specific range, for example range(0, 90, 2) changes theta from 0 to 90 in steps of 2.

  • @lee-qk2vk
    @lee-qk2vk 6 หลายเดือนก่อน

    i think plt.subplot would be better to show the three images