Giter VIP home page Giter VIP logo

ritwik12 / celestial-bodies-detection Goto Github PK

View Code? Open in Web Editor NEW
83.0 83.0 56.0 219.7 MB

TensorFlow Image Classifier that can be used to classify whether an image is of a Planet (Earth, Mercury, Mars, etc), Galaxy (Spiral, Elliptical, Irregular), Satellites, Comets, Etc.

Home Page: https://celestial-bodies-detection.herokuapp.com

License: GNU General Public License v3.0

Python 79.20% Starlark 0.51% CSS 5.32% JavaScript 1.46% HTML 13.45% Procfile 0.06%
artificial-intelligence convolutional-neural-networks deep-learning linux machine-learning python tensorflow

celestial-bodies-detection's Introduction

Hey, I'm Ritwik ✨

✳️   Working at LinkedIn

✳️   Technical Fields:
     🔹 Backend
     🔹 Distributed Systems
     🔹 Infrastructure
     🔹 Deep Learning
     🔹 Tooling
     🔹 Performance and Scaling

🛠 Tech Stack

Python Java C++ C PHP Linux
Tensordlow Git Elasticsearch Latex

Reach Me:

LinkedIn

celestial-bodies-detection's People

Contributors

aquiline avatar attard-andrew avatar dependabot[bot] avatar henryzerocool avatar jackycodes avatar joshestein avatar kannandreams avatar laukikk avatar mgrinstein avatar prakhar314 avatar priyalekande avatar ritwik12 avatar sadavarterohit avatar sambhavipd avatar satyabrat35 avatar schadalapaka avatar shreya-pathak avatar shubby98 avatar ssahas avatar sudhanshu-chauhan avatar varunpusarla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

celestial-bodies-detection's Issues

Update the README.md

it is showing error while running latest version of python and tensorflow.
some functions are moved to some other library in tensorflow.

Improve GUI (WebApp)

With #70 we now have GUI now which is based on Python and written in Flask. there is a good scope of improvements to the WebApp. Both logical and in frontend.

Change Test data files names

It will be good to have test data the same way we have training data in specific folders with proper numbering like 000, 001 etc

Change Training data filenames

As of now all the files inside the training data are random names and most are the names of the objects which they are like "earth", "mars" etc which makes it look bad as we are classifying images here. Better to have names in numeric order like 01, 02, 03 and so on.

PS: It will require a script to change the names of files, don't do it manually :p

Create GUI

Right now it is simply terminal based. A good GUI will make it a proper software instead of a mere tool.

Add Training Data

There are few data available for Uranus, Mars and others. Having a good amount of training data increases accuracy also. Uranus is having only 20 images and for this model it should be at least 25 for better efficiency.

Classify Satellites

We already have Moon classification. It would be better to have more Satellite.

Deploy current webapp to project site

Need to evaluate different approaches to deploy web app which is a Python-based Flask backend app. The site will be deployed as a project site with gh-pages in the form of github.io

Add test cases

We need more test cases to make our Model better while receiving PRs. Test cases can be then included as part of Travis.

Supress tensorflow warnings

$ python label_image.py test_data/uranus_1.jpg
WARNING:tensorflow:From label_image.py:10: FastGFile.__init__ (from tensorflow.python.platform.gfile) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.gfile.GFile.
WARNING:tensorflow:From label_image.py:13: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.

WARNING:tensorflow:From label_image.py:17: The name tf.GraphDef is deprecated. Please use tf.compat.v1.GraphDef instead.

2019-11-08 14:01:32.473545: W tensorflow/core/framework/op_def_util.cc:357] Op BatchNormWithGlobalNormalization is deprecated. It will cease to work in GraphDef version 9. Use tf.nn.batch_normalization().
WARNING:tensorflow:From label_image.py:22: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.

2019-11-08 14:01:32.664871: I tensorflow/core/platform/cpu_feature_guard.cc:145] This TensorFlow binary is optimized with Intel(R) MKL-DNN to use the following CPU instructions in performance critical operations:  SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in non-MKL-DNN operations, rebuild TensorFlow with the appropriate compiler flags.
2019-11-08 14:01:32.665248: I tensorflow/core/common_runtime/process_util.cc:115] Creating new thread pool with default inter op setting: 8. Tune using inter_op_parallelism_threads for best performance.

Classifying Celestial-bodies

The main purpose of this project when It started was to get as much possible info from a far-sighted image of interstellar space as possible. This project was meant to detect planets, stars, galaxies, etc from a single image.

With the advancement in cosmological science, it is possible to tell a lot from an image using heat signatures, colors of objects, size, etc.

For example:
http://curious.astro.cornell.edu/observational-astronomy/82-the-universe/stars-and-star-clusters/measuring-the-stars/389-what-can-we-learn-from-the-color-of-a-star-intermediate

One of the tasks could be to add classifications for:

  • Stars

  • Supernova

  • Nebula

  • Cluster of galaxies

Moon

Add feature to detect moon.

Classify Meteor and Meteorites

Though Meteor, Meteorides, and Meteorites are the same thing and are very similar to Asteroid too, we need to think of a way to classify them.

Meteoroids are lumps of rock or iron that orbit the sun, just as planets, asteroids, and comets do.
When meteoroids enter Earth's atmosphere (or that of another planet, like Mars) at high speed and burn up,
the fireballs or “shooting stars” are called meteors. 

A meteor is a streak of light in the sky caused by a meteoroid crashing through Earth's atmosphere. 
When a meteoroid survives a trip through the atmosphere and hits the ground, it's called a meteorite.

add .gitignore

while cloning the code, I found a .pyc file in the master branch! I feel like we should add a .gitignore file and add pyc file in it! please let me know if it sounds like a good idea, I will raise a PR for the same via separate branch

Irregular Galaxies

Feature request

Support for detecting irregular galaxies also.
Add training data for Irregular galaxies to detect

TensorFlow version in retrain.py

Hello, I am entirely new to TensorFlow, but I am trying to run the retrain script, and it looks like this file is not coded for TensorFlow 2.7.2, which is the version specified in the requirements.txt.

This is the error that I am getting:

Traceback (most recent call last):
  File "retrain.py", line 1062, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
AttributeError: module 'tensorflow' has no attribute 'app'

I was able to update the script using tf_upgrade_v2 (https://www.tensorflow.org/guide/migrate/upgrade) and run it, but this is the error that I am getting after doing that:

Looking for images in 'moon'
Looking for images in 'mars'
Looking for images in 'jupiter'
Looking for images in 'spiral'
Looking for images in 'uranus'
Looking for images in 'venus'
Looking for images in 'neptune'
Looking for images in 'earth'
Looking for images in 'mercury'
Looking for images in 'saturn'
Looking for images in 'asteroids'
Looking for images in 'elliptical'
100 bottleneck files created.
200 bottleneck files created.
300 bottleneck files created.
400 bottleneck files created.
500 bottleneck files created.
600 bottleneck files created.
700 bottleneck files created.
800 bottleneck files created.
900 bottleneck files created.
Traceback (most recent call last):
  File "retrain.py", line 1062, in <module>
    tf.compat.v1.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "retrain.py", line 812, in main
    final_tensor) = add_final_training_ops(len(image_lists.keys()),
  File "retrain.py", line 708, in add_final_training_ops
    bottleneck_input = tf.compat.v1.placeholder_with_default(
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/ops/array_ops.py", line 3341, in placeholder_with_default
    return gen_array_ops.placeholder_with_default(input, shape, name)
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 7013, in placeholder_with_default
    return placeholder_with_default_eager_fallback(
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 7039, in placeholder_with_default_eager_fallback
    _result = _execute.execute(b"PlaceholderWithDefault", 1,
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/eager/execute.py", line 72, in quick_execute
    raise e
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/eager/execute.py", line 58, in quick_execute
    tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
TypeError: Originated from a graph execution error.

The graph execution error is detected at a node built at (most recent call last):
>>>  File retrain.py, line 1062, in <module>
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/platform/app.py, line 40, in run
>>>  File /usr/local/lib/python3.8/dist-packages/absl/app.py, line 312, in run
>>>  File /usr/local/lib/python3.8/dist-packages/absl/app.py, line 258, in _run_main
>>>  File retrain.py, line 779, in main
>>>  File retrain.py, line 254, in create_inception_graph
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/util/deprecation.py, line 552, in new_func
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/importer.py, line 407, in import_graph_def
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/importer.py, line 520, in _import_graph_def_internal
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/importer.py, line 251, in _ProcessNewOps
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/ops.py, line 3847, in _add_new_tf_operations
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/ops.py, line 3848, in <listcomp>
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/ops.py, line 3730, in _create_op_from_tf_operation
>>>  File /usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/ops.py, line 2101, in __init__

Error detected in node 'pool_3/_reshape' defined at: File "retrain.py", line 254, in create_inception_graph

TypeError: tf.Graph captured an external symbolic tensor. The symbolic tensor 'pool_3/_reshape:0' created by node 'pool_3/_reshape' is captured by the tf.Graph being executed as an input. But a tf.Graph is not allowed to take symbolic tensors from another graph as its inputs. Make sure all captured inputs of the executing tf.Graph are not symbolic tensors. Use return values, explicit Python locals or TensorFlow collections to access it. Please see https://www.tensorflow.org/guide/function#all_outputs_of_a_tffunction_must_be_return_values for more information.

Comets

Add feature for comets detection and also add training data for it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.