Ikomia-dev / IkomiaApi

Deploy Computer Vision solutions with a few lines of code.
https://ikomia-dev.github.io/python-api-documentation/
Apache License 2.0
226 stars 13 forks source link
computer-vision computer-vision-ai computer-vision-algorithms computer-vision-opencv computer-vision-tools computervision deep-learning detectron2 human-pose-estimation image-processing machine-learning object-detection opencv openmmlab pose-estimation python pytorch tensorflow yolo

Logo

Ikomia: Simplifying Computer Vision Deployment


Stars Website OS Python GitHub GitHub tags
Discord community

Welcome to Ikomia, where we transform intricate research algorithms into user-friendly, deployable solutions for computer vision enthusiasts and professionals alike.

๐ŸŒŸ Why Choose Ikomia?

๐Ÿš€ Getting Started

Installation

pip install ikomia

Quick Examples

Object Detection

from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display

wf = Workflow()
yolov7 = wf.add_task(name="infer_yolo_v7", auto_connect=True)
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_fireman.jpg")
display(yolov7.get_image_with_graphics())

Pose Estimation

# ... [similar imports]
wf = Workflow()
pose_estimation = wf.add_task(name="infer_mmlab_pose_estimation", auto_connect=True)
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_fireman.jpg")
display(pose_estimation.get_image_with_graphics())

Discover with 'ik'

Our auto-completion system, 'ik', is designed to assist developers in discovering available algorithms in Ikomia HUB. Dive into our detailed documentation to explore its capabilities.

from ikomia.dataprocess.workflow import Workflow
from ikomia.utils import ik
from ikomia.utils.displayIO import display

wf = Workflow()

yolov7 = wf.add_task(ik.infer_yolo_v7_instance_segmentation(), auto_connect=True)

# wf.run_on(path="path/to/your/image.png")
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_dog.png")

display(yolov7.get_image_with_graphics())
display(yolov7.get_image_with_mask())
display(yolov7.get_image_with_mask_and_graphics())

๐Ÿ“ฆ Exporting Your Workflow

With Ikomia, sharing your crafted workflows is a breeze. Whether you want to collaborate with peers or integrate with Ikomia STUDIO, our export feature has got you covered.

from ikomia.dataprocess.workflow import Workflow
from ikomia.utils import ik

wf = Workflow("Instance Segmentation with YOLOv7")
yolov7 = wf.add_task(ik.infer_yolo_v7_instance_segmentation(), auto_connect=True)
filter_task = wf.add_task(ik.ik_instance_segmentation_filter(categories="dog", confidence="0.90"), auto_connect=True)
wf.save("path/to/your_workflow.json")

Once you've exported your workflow, you can easily share it with others, ensuring reproducibility and collaboration.

๐Ÿงช Notebooks

You can find some notebooks here.

We provide some Google Colab tutorials: Notebooks Google Colab
How to make a simple workflow Open In Colab
How to run Neural Style Transfer Open In Colab
How to train and run YOLO v7 on your datasets Open In Colab
How to use Detectron2 Object Detection Open In Colab

๐Ÿ“š Comprehensive Documentation

For those who love details, our comprehensive documentation is a treasure trove of information. From basic setups to advanced configurations, we've got you covered.

๐Ÿค Contributing

We believe in the power of community. If you have suggestions, improvements, or want to contribute in any way, we're all ears! Stay tuned for our detailed contribution guidelines.

๐Ÿ“œ License

We believe in open-source. Ikomia is licensed under the Apache-2.0 License, promoting collaboration with transparency.

๐Ÿ’– Support & Feedback

Your feedback drives our progress. If you find Ikomia useful, give us a :star:! For queries, issues, or just to say hi, drop us an email at team@ikomia.com or join our discord channel.

They like us, we love them :heart_eyes:

Stargazers repo roster for @Ikomia-dev/IkomiaApi

Star History

Star History Chart

Citing Ikomia

If you use Ikomia in your research, please use the following BibTeX entry.

@misc{DeBa2019Ikomia,
  author =       {Guillaume Demarcq and Ludovic Barusseau},
  title =        {Ikomia},
  howpublished = {\url{https://github.com/Ikomia-dev/IkomiaAPI}},
  year =         {2019}
}