State-of-the-art Computer Vision with a few lines of codeReport a Bug ยท Request a Feature . Ask a Question
About The Project
Ikomia API is an open source tool to easily build and deploy your Computer Vision solutions. You can mix your preferred frameworks such as OpenCV, Detectron2, OpenMMLab or YOLO with the best state-of-the-art algorithms from individual repos.
No effort, just choose what you want and Ikomia runs everything in a few lines of code.
Getting Started
Installation
pip install ikomia
Usage 1 : Object Detection Example
With Ikomia, when you want to use an algorithm, it's always the same code pattern which is useful when you want to test multiple algorithms effortlessly.
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display
# Init your workflow
wf = Workflow()
# Add YOLO and connect it to your input data
yolov7 = wf.add_task(name="infer_yolo_v7", auto_connect=True)
# Run directly on your image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_fireman.jpg")
# YOLO output image with bounding boxes
display(yolov7.get_image_with_graphics())
And finally, you can also export your results as JSON files.
# Get all object detection
json_results = yolov7.get_results().to_json()
print(json_results)
Usage 2 : Pose Estimation Example
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display
# Init your workflow
wf = Workflow()
# Add YOLO and connect it to your input data
yolov7 = wf.add_task(name="infer_mmlab_pose_estimation", auto_connect=True)
# Run directly on your image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_fireman.jpg")
# YOLO output image with bounding boxes
display(yolov7.get_image_with_graphics())
ik
auto-completion system
Usage with the ik
is an auto-completion system designed to help developers to find available algorithms in Ikomia HUB. See the documentation for more explanations here.
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())
Examples
You can find some notebooks here.
We provide some Google Colab tutorials:
Notebooks | Google Colab |
---|---|
How to make a simple workflow | |
How to run Neural Style Transfer | |
How to train and run YOLO v7 on your datasets | |
How to use Detectron2 Object Detection |
Documentation
Python API documentation can be found here. You will find Ikomia HUB algorithms code source in our Ikomia HUB GitHub.
Contributing
This part is coming soon...:)
License
Distributed under the Apache-2.0 License. See LICENSE.md
for more information.
๐
They like us, we love them
Star History
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}
}
Support
Contributions, issues, and feature requests are welcome!
Give a
Contact
Ikomia - @IkomiaOfficial - [email protected]
Project Link: https://github.com/Ikomia-dev/IkomiaAPI