Using Tetra3 database for star recognition

Hi everybody, thank you all for sharing so much knowledge. This are my first computing steps with Python and AI in general and it is much fun so far.
I am using a setup with a Raspberry Pi and a M.2 hat with the Hailo 8-L Chipset.

My project is a simple “can it be done?” project and has the following task:

1.) I want to take a picture of the night sky (Camera Module attached), check
2.) Let the Hailo Chipset compare the taken picture with the data from the Tetra3 catalogue, can it be done?
3.) Label the picture with the names of the recognized stars, should be easy after task 2 was a success :slight_smile:

There are similar projects without AI. I was curious if it could be done by using the Hailo chipset. Thank you, if you have any general thoughts.

Hi @staycurious ,

Welcome to the Hailo Community!

Your project idea is amazing! Let’s explore the feasibility of your goals using the Hailo-8L chipset and your setup:

1. Taking a Picture of the Night Sky

This step is straightforward with a camera module connected to your Raspberry Pi.

2. Comparing the Picture with the Tetra3 Catalogue

Using the Hailo-8L for this task is technically possible, but there are important considerations:

  • Preprocessing the Catalogue: The Tetra3 catalog data would need to be converted into a format suitable for deep learning. For example, you could preprocess it into labeled data representing star patterns and positions.
  • Model Training: A custom deep learning model would need to be trained to recognize star patterns, taking into account rotational variance and atmospheric conditions. The Hailo-8L does not come with pre-trained models for this specific use case, so training and fine-tuning a model will be required.
  • Hardware Optimization: After training, the model would need to be compiled and optimized for the Hailo chipset using its tools, such as the Hailo Model Zoo and SDK.

Challenges:

  • Recognizing star patterns is non-trivial due to factors like rotational variance and atmospheric distortion.
  • Preprocessing the Tetra3 catalog to align with your AI model’s input format will require additional work.

3. Labeling Recognized Stars

Once the stars are detected, labeling them is relatively straightforward. You can use Python libraries like OpenCV to overlay text or markers on the image with the names of the recognized stars.


General Thoughts

While the Hailo Model Zoo doesn’t have a ready-made solution for this specific task, adapting general-purpose AI models could make it feasible. Here are a few suggestions:

  • Pre-Trained Object Detection Models:

    • YOLO (You Only Look Once): Efficient for real-time detection and lightweight enough for edge devices like the Hailo-8L. It can be fine-tuned with night sky images annotated with star locations.
    • Faster R-CNN: Highly accurate for small objects like stars but more computationally intensive than YOLO.
    • SSD (Single Shot MultiBox Detector): A balanced option for accuracy and efficiency.
  • Specialized Models:

    • Keypoint Detection Models (e.g., OpenPose, HRNet): Ideal for identifying specific points (like star positions) in an image.
    • Unsupervised Feature Extractors (e.g., DeepCluster, SimCLR): These can help in clustering and matching star patterns without explicit labels.

Can It Be Done?

Yes, it’s possible with the right combination of preprocessing, model training, and optimization. However, the complexity lies in preparing the Tetra3 catalog for training and ensuring your model can handle the nuances of astronomical data. This would be a great learning experience in Python, AI, and hardware optimization.

Let me know if you’d like more guidance or details about any specific part of the process. It’s an exciting project, and I’m happy to help!

Best Regards,
Omria

Thank you so much for your thoughts. I will keep you updated in this post.
It could take a while for me to figure it all out but I am sure to finish the project with this strong community support :slight_smile:

1 Like